Links come in 3 flavors: 1/ HREF_REL_ABSOLUTE - starting from the top level e.g. ":foo" 2/ HREF_REL_FLOATING - relative to the source namespace, or parents, e.g. "foo" 3/ HREF_REL_RELATIVE - below the source page, e.g. "+foo"
If the target page does not exist, a "placeholder" is created for this page.
Floating links are resolved to existing pages in parent namespaces therefore they may need to be recalculated when pages of the same name are created or deleted. This is done by the 'anchorkey' field in the links table. To avoid circular dependencies between the existance of placeholder pages and links, floating links do /not/ resolve to placeholders, but only to existing links. (Else we would need to drop all placeholders and re-calculate all links on every page index to ensure the outcome.)
Class | IndexLink |
Class used to represent links between two pages |
Class | LinksIndexer |
Undocumented |
Class | LinksView |
No class docstring; 0/1 instance variable, 1/9 method documented |
Constant | LINK_DIR_BACKWARD |
Undocumented |
Constant | LINK_DIR_BOTH |
Undocumented |
Constant | LINK_DIR_FORWARD |
Undocumented |
Variable | logger |
Undocumented |