When you link to other pages, your links are used for backlinks searches. For example, if we put here a link to FrontPage, then go to FrontPage and click on the page title, this page will appear on the list of pages.
However, MoinMoin also uses implicit linking, when a link to other page is implied by using some macro on the page. For example, if we use here a search macro:
[[FullSearch(HelpOnLinking)]]
We have now a list of pages matching the search, as if we did write a list of links on the page, and those links are used in backlinks searches. Try to go to one of the pages in the list and do a backlinks search.
Implicit linking is great
Look at MoinMoinBugs - using few search macros we link to all bug pages. Those bugs will not be considered as OrphanedPages, even if no other page is linking to them. We use same system for FeatureRequests.
Implicit linking suck
Look at MissingPage. It uses [[LikePages]] macro to show a list of pages like MissingPage. This page is used when you create new page to find similar pages. All the pages on MissingPage will not appear on OrphanedPages, although they may be orphaned unused junk pages. This was not the intention of the page author.
Create a new page with a [[PageList]] macro. All pages will show on the page. Now go to OrphanedPages - empty! All the orphaned unused junk pages are hidden by that [[PageList]] macro. This was not the intention of the page author.
Solution
We need to change this so it works in an expected way, but without breaking existing wikis.
Don't create backlinks in [[PageList]] macro, it does not make sense
- Or use a linkto flag with default of 0?
Don't create backlinks in [[LikePages]] macro, unless explicit linkto flag is used:
[[LikePages()]]
Will not create links, will be used on MissingPage.
[[LikePages(linkto=1)]]
Will create links. This is new 1.3 undocumented macro, and probably not used in many pages, so the chance of breaking exiting pages it very low.
Generally each macro that create links should be checked. If there is a chance that those links will create unexpected and unwanted results, the macro should use a linkto flag to control link creation.
Backward compatibility
To make sure existing pages will not break, the default for each macro should create the same behavior of previous versions, unless the old behavior considered as a bug. In 1.5 or 2.0 we may change the default.