(Firstly, apologies for breaking threading, and not quoting things
as fully as I normally would. I only just subscribed to this list,
so don't have previous mails in my mail client.)
I'm the main author of the Erudite skin[0], which Daniel Friesen
helped a good deal with when shepherding it into the gerrit git
system. So consider me biased to prefer the way that skin does
everything ;)
I think Bartosz' proposal to clean this stuff up is good and
important. In particular, making the official skins use their own
directories (and not skinname.php & skinname/*) is nice for several
reasons, not the least being to provide a good model for others
developing skins to follow.
Bartosz' second proposal, "$IP/skins/SkinName/ for both assets and
PHP files" is a good one I think. I agree with Tyler and Bartosz'
points regarding the extensions/ vs. skins/ directories; namely that
the skins/ directory is a sensible place for skins, and the fact
that they in practise aren't fundamentally different to extensions
is largely irrelevant.
To Tim Starling's point about making skin installation / upgrading
automatable; that shouldn't be much more challenging at all using
skins/ if they're in a separate directory to extensions; it can't
really be a code reuse issue, unless it's really bad code ;)
To Tyler Romeo's point about how skins are needlessly complex, and a
templating system would be much nicer, I don't really agree. Being
regular PHP gives a lot of flexibility, and in practise the vast
majority of a skin can already be just HTML with <?php tags for
inserting the appropriate content. Have a skim of the Erudite code
to see what I mean[1]. Granted I'm probably a bit code-blind from
having spent a long time with that bit of PHP, but to me it feels
really clean and straightforward. I'm sure there is some work that
could be done to reduce boilerplate code a bit (as Daniel
mentioned), but beyond that I think it's quite a good system.
As for the upper vs lower vs camel case issues, I'd like them to
magically go away, but I don't have a good suggestion for that.
Well, my suggestion would be lowercase everywhere, but that
conflicts with general mediawiki style. So, again, I personally am
inclined to generally agree with whatever Daniel says on the issue
;)
Nick
0.
https://www.mediawiki.org/wiki/Skin:Erudite
1.
https://git.wikimedia.org/blob/mediawiki%2Fskins%2Ferudite/fc5b86835e7b942d…