User:Bawolff/collation

Scratchpad for thoughts on collation:
 * We should have different first-letters-root.ser files for different icu versions. While there is code to minimize version differences, and the fallout is minor, it would still be more correct (43799)
 * There should be a cl_collation_version. the collation name is quite different from the version, particularly because the version can vary with php version. At the very least, things should slowly auto-correct themselves slowly as people edit articles if someone updates their version of php (Obviously we can't magically make it all fix itself all at once). People should not have to run updateCollation.php --force when they update php. A normal updateCollation.php should be sufficient. See also related 40462
 * Should have magic tailoring code that works at least reasonably well with any language if possible 30673
 * Support natural number sorting. I beilieve this is supported by icu lib - 6948
 * Integrate with sortable tables (30674. Presumably would be accomplished by adding a data-sortkey attribute), extension:Sort, anywhere else we can. Perhaps convenience method to sort an array of items
 * Pass the collation object a Title object. This is a little hacky as code assumes things only depend on user sortkey and page title, so if things made use of this parameter, they would have to take care of caching themselves. Specific use case - make a collation that sorts thing by file size if item happens to be a file.40870