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.
--
New to KDE Software? - get help from
http://userbase.kde.org