A few random points:
We should get some basic structure conventions in place before stuff goes wild.
I like the idea of installing a Skin as an extension, but placing it in the core skins directory feels wrong because it currently does auto-discovery to some degree, and of course it means wgExtensionAssetsPath can't be used as skins as it is outside that directory view.
The way the skins in mediawiki/extensions/skins.git do it is by simply being installed as a completely valid extension.
Another problem I found in the current setup is that its a bit counter-intuitive how to manage the directory structure for developers. I mean, most of us probably have this:
- mediawiki - /core (clone mediawiki/core.git) - /extensions (directory with clones of individual extensions or clone of mediawiki/extensions.git tracking repo)
* Set $wgExtensionAssetsPath accordingly * Use require_once( "$IP/../extensions/Foo/Foo.php"); (whether or not via a tmp variable) instead of require_once( "$IP/extensions/Foo/Foo.php");
But then, where to clone a skins repository (or mediawiki/skins.git tracking repo)?
Wherever it is, it needs to be scalable to more complex installations. A directory "skins" next to "extensions" next to "core" is not feasible as the paths would be incorrect (it wouldn't be in wgExtensionAssetsPath, nor in wgStylePath).
I think it'd be a lot easier if skins were installed as extensions, not as a (currently, unhandleable) hybrid.
Maybe as proper extensions in mediawiki/extensions/SkinName.git (and drop mediawiki/skins/*.git). That would be the easier, though it is also nice to keep extensions and skins separate enough in that anything that adds preferences, special pages etc. is in a separate optional repository.
Or perhaps agree that skins should be installed from mediawiki/skins/*.git repositories, but clones inside mediawiki/extensions/skins/*. That would mean in module definitions and require's, we just add an extra /skins/.
In that case we should get rid of mediawiki/extensions/skins.git to avoid clashes.
-- Krinkle
On Sep 26, 2012, at 1:44 AM, Daniel Friesen daniel@nadir-seen-fire.com wrote:
Skin pages on MW.org (and repos in Gerrit) are now ready.
MediaWiki.org is now ready for modern skins (ones NOT using old QuickTemplate and skins/Foo.php patterns) to have pages about them just like extensions do.
Relevant links: https://www.mediawiki.org/wiki/Category:All_skins https://www.mediawiki.org/wiki/Template:Skin
Some examples that currently exist: https://www.mediawiki.org/wiki/Skin:Erudite https://www.mediawiki.org/wiki/Skin:Vector
Gerrit can also handle your skin repos. Ask for a mediawiki/skins/{skinname} repo. So your skins can now have proper review and be updated with the various improvements that get made to MediaWiki's skinning system.
When you do introduce a skin here please do follow the file layout patterns I used in my tutorials: http://blog.redwerks.org/2012/02/08/mediawiki-skinning-tutorial/ http://blog.redwerks.org/2012/02/28/mediawiki-subskin-tutorial/ I don't want to see any non-core skins using the outdated skins/TheSkin.php pattern in the new skins area.
-- ~Daniel Friesen (Dantman, Nadir-Seen-Fire) [http://daniel.friesen.name]
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l