On Sun, 25 May 2014 00:11:28 +0200, Daniel Friesen <[email protected]> 
wrote:

However $wgValidSkins isn't
something should become case insensitive, attempting that for array keys
is asking for bugs. Same for putting non lowercase keys in the database
and trying to make them case insensitive.
The easiest way to make &useskin=, $wgDefaultSkin, and $wgSkipSkins case
insensitive is to normalize all skin keys from them to lowercase (which
is actually only a few lines in Skin.php) and then as a "breaking
change" say we're forbidding non-lowercase keys to $wgValidSkins (which
should be rather simple since I haven't seen a single skin yet doing
that which would actually be broken by such a change).

Hmm. Yeah, this actually sounds very sensible. Let's make it so.

To summarize:

* 'skin file name' (='skin directory name' and 'skin repository name'):
  * "pretty" (that is, usually CamelCased, unless the skin name would
    for some reason be lowercase)
  * may not contain non-ASCII characters
* 'skin name':
  * a lowercase version of 'skin file name', which would also provide
    any future skin loading/installation/management mechanism with a
    simple way to map the file/directory/repository name to the 'skin
    name'
  * user inputs (useskin, $wgDefaultSkin) are accepted with any
    capitalization and normalized to lowercase

The requirements above are technically breaking changes, but are very
unlikely to actually break anything.

Right?

--
Matma Rex

_______________________________________________
Wikitech-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to