(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/fc5b86835e7b942d7d95bd61fd3927f52c84ece1/Erudite.skin.php

_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to