Last week we became aware that "What links here" searches were missing some items. Evidence appeared to point to interference by the Special:myLanguage links that we are using (according to Nikerabbit WhatLinksHere should not find pages containing such links), so we set out to find ways around this, starting with a DPL query. Gradually other factors became clear - some links had a space in the name and others had an underscore. Finally, links were not always on the same namespace. At that point a template was made:
<quote> Finding all pages linking to {{{1}}}: <code><nowiki>{{LinksTo</nowiki>{{!}} {{{1}}}<nowiki>}}</nowiki></code>
{{#dpl: | namespace = Main | nottitleregexp = .*(/..(-..)?{{!}}_[(].*[)])$ | include = * | includematch = @[[([Ss]pecial:[mM]y[lL]anguage/)?{{{1}}}(]{{!}}{{!}} {{!}}#)@ | includemaxlength = 0 | format = ,\n* [[%PAGE%|%TITLE%]],, }} {{#dpl: | namespace = User | nottitleregexp = .*(/..(-..)?{{!}}_[(].*[)])$ | include = * | includematch = @[[([Ss]pecial:[mM]y[lL]anguage/)?{{{1}}}(]{{!}}{{!}} {{!}}#)@ | includemaxlength = 0 | format = ,\n* [[%PAGE%|%TITLE%]],, }} {{#dpl: | namespace = Talk | nottitleregexp = .*(/..(-..)?{{!}}_[(].*[)])$ | include = * | includematch = @[[([Ss]pecial:[mM]y[lL]anguage/)?{{{1}}}(]{{!}}{{!}} {{!}}#)@ | includemaxlength = 0 | format = ,\n* [[%PAGE%|%TITLE%]],, }} <noinclude> ---- Finds all English pages linking to the page given as argument. Usage <nowiki>{{LinksTo|</nowiki>'''''page name'''''<nowiki>}}</nowiki>, where '''''page name''''' is the name of the page. Note, that any space characters or underscores in the name should be replaced by <nowiki>[_ ]</nowiki> — that is: 'open square bracket', 'underscore', 'space', 'close square bracket'. This is because the links are found by a string search of the text of pages. In wiki format names can be written with either space or underscore, and for many pages both form occur. The search covers the namespaces Main, User and Talk.
As an example, <nowiki>{{LinksTo|Getting[_ ]Help}}</nowiki> gives<br /> {{LinksTo|Getting[_ ]Help}} [[Category:Template]] </noinclude> </quote>
At that point we thought we had cracked it - we were getting the results we expected - or we thought we were.
Recently we found at least one example, when neither Special:WhatLinksHere og our LinksTo template works: The page http://userbase.kde.org/Plasma links to http://userbase.kde.org/Plasma/Panels, but is not found by either method. Both methods find the page http://userbase.kde.org/User:Claus_chr/ToDo which also links to the Panels page.
We are now tearing hair. Has anyone any ideas as to why our efforts are falling down? We have some pages that should be deleted, and without a reliable search we are reluctant to proceed.
mediawiki-l@lists.wikimedia.org