Working with MediaWiki
2nd ed., HTML version


"How to Succeed in Business Without Really Trying" was a 1961 Broadway musical, and a 1952 book (thanks, Wikipedia), that parodied corporate life. But the phrase could just as well serve as a description of MediaWiki's history. MediaWiki is best known as the software that powers Wikipedia; but it is also likely the most popular application for internal, corporate wikis. And on public wikis, those wikis whose name often ends in "pedia" or starts or ends with "wiki", MediaWiki is unquestionably #1.
But the interesting thing is that all this happened without any real involvement from MediaWiki's creators. MediaWiki is managed by the Wikimedia Foundation, and developed by a large group of programmers around the world, many of whom work for the Wikimedia Foundation. And, as far as the development of MediaWiki is concerned, the main goal of the WMF, and most of the developers, is to create a stable platform that Wikipedia, and the WMF's other sites like Wiktionary and Wikiversity, can run on. MediaWiki's developers generally do take the idea of MediaWiki as a standalone application seriously, but at the same time, most (though not all) of MediaWiki's developers see that as a secondary issue, with the primary issue remaining improving Wikipedia. So, with MediaWiki, we have the rare situation where a software application becomes extremely successful despite being, at heart, a byproduct of another project. (Though it's not a unique situation – the bug-tracking software Bugzilla has a similar status, and there are probably others.)
It should be noted that the MediaWiki available to companies and organizations is quite a bit more powerful than the MediaWiki in use on Wikipedia and the like, and that's due to a number of extensions that Wikipedia and the rest do not use, most notably Cargo and Semantic MediaWiki. With these extensions, you can store the wiki's text as data, and then query that data elsewhere. Beyond that, these extensions provide an entire framework for structuring data that makes MediaWiki not just a more powerful tool, but, in my opinion, helps to make it the most powerful, flexible knowledge-management tool on the market. This book covers Cargo, SMW and related extensions to a great extent.
I first got involved with MediaWiki in 2006, developing various MediaWiki extensions. Since then I've devoted my career to improving the software ecosystem, and helping companies, organizations and communities make good use of MediaWiki. Around 10 of the extensions covered here, out of over 60 mentioned in the book, were created by me, and two of them, Cargo and Page Forms, each get a chapter (or most of a chapter); so I could be accused of using this book to market my own technology. To that I would respond that this book represents my view of the best ways to use MediaWiki; I created those extensions because I thought they were features that were missing. Years of working with clients have helped to solidify my views on the most useful configurations. And, well, it's my book – any author writing such a book is bound to favor the tools that have worked for them.
This book will be useful to some extent to average users of MediaWiki-based wikis – Wikipedia and many others – especially the early chapters on MediaWiki syntax and structure. However, the primary intended audience is for administrators: people who are running, or helping to run, or thinking about running, an instance of MediaWiki, and could benefit from a general reference guide.
The book is called "Working with MediaWiki", because it's meant for people who are trying to do real work with MediaWiki – whether it's for their company, for an organization, for a user community, or for themselves. Wherever possible, I try to offer a pragmatic approach, and straightforward answers to the common issues that people experience.