Lee Daniel Crocker wrote:
(Ryan Rempel rgrempel@gmail.com): I'm starting a new intranet-style wiki, and I'd like to make the wiki links fully case-insensitive.
You should be able to get away with only changing a few things in Title.php, to make the DB form, display form, and URL form all case folded.
If you want to force all titles to all-lowercase that might work well enough. Search for instances of $wgCapitalLinks for the code that does the first-letter normalization to find places you'd want to change to do it this way.
This wouldn't be sufficient to get a decent user experience in general (eg for any of Wikimedia's sites); titles pulled from the database would only be available in the folded (eg lowercase) form, but most people wouldn't be too happy about article titles like "washington, d.c." and "ibm".
Making it work well would require storing the display form as well in a few places, which would require schema changes, and some additional provsions for changing the display form, etc.
Ryan Rempel wrote:
From what I've read, it may be that the chief technical problem is dealing with existing pages whose title differs only in case. Since I'm starting from scratch, that wouldn't be a concern for me.
No, that's a one-time conversion issue which would just require some brute force.
The chief technical problem is getting unique case-insensitive matching *while* preserving the given case of page titles in a sane, consistent way.
Adding a title display form field to the page table probably would get partway there, but not all; dealing sanely with pages that don't exist yet may take additional work.
-- brion vibber (brion @ pobox.com)