[Mediawiki-l] case insensitive links

Rowan Collins rowan.collins at gmail.com
Fri Feb 4 15:22:53 UTC 2005

On Fri, 4 Feb 2005 06:50:16 -0800 (PST), Rich Holton
<rich_holton at yahoo.com> wrote:
> How about the following resolution:
> 1. Use some newly defined markup for the page title, if present
> 2. Search the first paragraph/n words for a match to the link name
> ignoring case, in bold. If found, use that as the page name.

Not an easy step, but possible I guess. Of course, it assumes, as does
the rest of this, that you can guarantee a clean case-insensitive
search (think different character encodings, etc) - and also that the
title as written in the page is *punctuated* identically to that of
the title. Of course, a page like [[acid]] would end up with its title
displayed in all lowercase that way, which isn't necessarily a good
thing, but it would lend some degree of consistency I guess.

> 3. Default to the case of the link name (including redirect links).

Note that there is no way of knowing what *link* you came in by, only
what *URL* - it might not have been an internal link at all. But yes,
you could use that. Again, things like "acid", referred to in the
middle of sentences, wouldn't become "Acid" as they do atm.

> I don't yet know enough about the guts of the code to say if this is
> easy, hard, or impossible. But it seems like it could work
> conceptually.

An additional thought to throw into the ring is how to deal with the
title in *generated* text, like Special:Watchlist,
Special:Recentchanges, etc. Perhaps the 'display title' would have to
be stored in the database, and updated whenever the page was edited.
Come to think of it, that would make the checks a lot more efficient,
too, because they could just be skipped on most views.

And that all assumes that Brion's comment about assumptions inherent
in the code doesn't prove too huge an obstacle.

> One question is how to deal with already existing pages where the name
> differs only in case.

That would be a problem if, say, the English Wikipedia switched to
using the feature, but I think that's unlikely to happen for all sorts
of reasons (it would have such far-reaching consequences, that pages
with only case difference would the least of our worries). For smaller
existing installations, it should be possible to craft a SQL query to
find the titles which need changing, and then follow the backlinks to
change references to them too.

Rowan Collins BSc

More information about the MediaWiki-l mailing list