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(a)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(a)lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l