To those who don't know me yet, hi! I'm Jack Phoenix, and I've been a
MediaWiki developer since May 2008.
One of the major third-party users of the MediaWiki software is wikiHow (
http://www.wikihow.com/), a free how-to manual.
In my opinion, wikiHow rocks! (No, I don't work for wikiHow and I never
have.) However, wikiHow has one rather big problem. You can see it on their
Special:Version. Yep... the site's running MediaWiki 1.12 (!), which is
four years old.
In software development, four years is an eternity. However, wikiHow's
technical team is rather small and their codebase is full of custom
extensions, patches and hacks -- as a result, they don't really have time
for gigantic projects, such as upgrading the MediaWiki engine, let alone
managing an open source project.
Fortunately wikiHow publishes their source code at
http://src.wikihow.comand a new dump will be generated each Monday.
Inspired by this, a fellow developer and a friend of mine, Lewis Cawte
(User:Lcawte) created a Google Code repository for the project.
You can see the project page at
http://code.google.com/p/wikihow/
Basically, the goal of this cleanup project is to update, fix, tweak and
patch wikiHow extensions and related things created by wikiHow and make
them work on the most recent stable release of MediaWiki (which is
currently 1.18.1).
In addition to that, the project provides a web-based viewer to see diffs
between these weekly code releases.
Upon a code release, the older source code dump is deleted from
src.wikihow.com and there's no way to see what changed between two
releases, if you don't have both source code dumps and GNU diff or some
other diffing utility available.
We hope that in time, when the project is complete,
wikiHow.com can switch
to this codebase and abandon the one based on MediaWiki 1.12.
Right now we're managing the official code releases like this:
*each Monday, when a release has been done, a new folder in tags directory
is created (
http://code.google.com/p/wikihow/source/detail?r=30),
*the diff generated by "diff -ur older_release newest_release" is applied
against the newly created tag (
http://code.google.com/p/wikihow/source/detail?r=31),
*and eventually these changes are applied against trunk as needed (
http://code.google.com/p/wikihow/source/detail?r=39); right now this is
very easy since most extensions haven't been cleaned up, but in time this
will take more developer time, as the changes need to reviewed more
carefully
We're inviting anyone interested in MediaWiki development, wikiHow or both
to join the project!
There's /a lot/ of things to do and right now there are only two people
working on it (me and Lewis); it's going to take a while for us to fix
everything and still something might slip by us, so we're hoping to have
more eyeballs on the code.
The code repository is a SVN repo at
http://wikihow.googlecode.com/svn/trunk/ and we're very liberal with commit
access, just ask one of us for commit rights and you'll get 'em right away!
(For those wondering why SVN and why Google Code, the answer is pretty
simple: both of us are more familiar with SVN rather than any distributed
version control system, and given that the Wikimedia Foundation is phasing
out SVN in favour of git, we didn't want to use it to host this project.)
If you have any questions, please don't hesitate to ask!
On behalf of the wikiHow codebase cleanup project,
Jack Phoenix & Lewis Cawte