The code in trunk now has all the basic features. I encourage people
to test it by setting $wgExperimentalCategorySort = true;, applying
the patch in maintenance/archives/patch-categorylinks-better-collation.sql,
and running maintenance/updateCollation.php. Note that:
* The code is not stable or well-tested. It needs preliminary testing
right now; testing it on a production site is probably a bad idea.
* The entire architecture will probably be changed significantly in
the near future based on feedback.
* To reverse the changes, you need to disable the config option,
manually reverse the SQL patch, and then run refreshLinks.php. When
things change, I'll probably include instructions in my commit
messages for how best to convert your schema to the new version, but
it will not be done automatically as long as the feature is unstable.
Obviously, once this is enabled by default everything will be
automatic.
Things that currently work:
* Uppercase and lowercase letters are sorted identically. (This is my
proof-of-concept collation function, it just uppercases everything.)
* Categories, files, and other pages all page separately, and you get
the first 200 of each independent of the others.
* When you specify the same custom sort key for multiple pages,
they'll sort amongst themselves according to what their default sort
key would have been, not more or less randomly as it used to be.
But probably there are bugs and such. I've made a wiki page to track my work:
http://www.mediawiki.org/wiki/User:Simetrical/Collation
I don't have any further changes planned until I get feedback on my
approach from Tim, other than fixing specific problems people point
out to me (please do!).