Hi all,
MediaWiki's skin system has been quite a mess for some while. I decided to try rewriting it and you can see the end result on [1]. It's quite a big patch, which is why I want to encourage all developers to test it and report (or maybe even fix? :) any and all issues they stumble across. There is also an example extension on [1] which I've been wanting to do for a long time but which hasn't been possible with the old skin system. To be exact, it was partially possible, as I noted on the MediaWiki.org page, but the implementation was too buggy to be put live on any site IMHO.
What does this patch change exactly? When writing a new skin, you no longer need to override SkinTemplate and write a class that utilises QuickTemplate, you can just extend Skin class directly. Old SkinTemplate-based skins will however continue functioning. I wrote a couple things about writing a new skin with this new system on MediaWiki.org[2], feel free to check it out.
There are some changes which may cause problems, though. For example, SkinTemplateToolboxEnd and MonoBookTemplateToolboxEnd hooks both take two arguments instead of one and the hooks are in Skin.php instead of SkinTemplate.php. I was also thinking that this could be a great opportunity to add some new hooks to Skin.php, besides the SkinAfterSidebar hook. See [3] for my thoughts about what could be improved.
I haven't ported Vector skin to use this new system because it's currently under development. Because this change is quite a big one, I thought that I'll commit it to SVN once MediaWiki 1.16 has been released so that it'll make into the 1.17 release.
What are your thoughts and suggestions for this new skinning system?
[1] http://www.mediawiki.org/wiki/User:Jack_Phoenix/SkinSystemRewrite [2] http://www.mediawiki.org/wiki/User:Jack_Phoenix/SkinSystemRewrite/Documentat... [3] http://www.mediawiki.org/wiki/User:Jack_Phoenix/SkinSystemRewrite/Notes_and_...
Thanks and regards, -- Jack Phoenix MediaWiki developer