Book Review: Working with MediaWiki

Working with MediaWiki by Yaron Koren : WikiWorks Press: 227 pages. Paperback ($35), ePub ($25), and PDF ($20). .  ISBN: 978-0615720302.

Working With MediaWiki Cover
Working With MediaWiki Cover

Working with MediaWiki is the latest MediaWiki (MW) book to be released since March 2010, when MW1.15 was current (today in November 2012 Wikipedia uses 1.21). The text is split into two logical and spiritual halves. The first is a from-scratch guide to setting up and tuning MediaWiki in the style of the classical wiki we are used to seeing on the web today. That treatment covers best practices, as well as where two put the right type of brackets for the impatient coder. Although not in it’s title, the latter half of the book is dedicated to Semantic MediaWiki (SMW), the only book to be published on the topic yet. Denser and more demanding in attention, this sector takes a more theory of semantic data approach.

If followed sequentially from the front cover you’ll be led through a tour of the MediaWiki ant colony, only exploring when ready the ill-lit underground veins. The audience is assumed to be those who are unafraid copying mark-up snippets (even if they don’t know exactly what it means) and are tasked with creating a Wiki from fresh installation. Yet this ‘from nothing’ format is not too painful for more advanced users as the explanations are concise without being cursory.  By page 11 you are into the example-driven world of MW-specific issues in a parade-march that is imaginiative yet infomrative – akin to some kind of stylistic cross between National Geographic, and a Math textbook.

Starting with chapters such as Setting up-,  Editing in-, and Organization of-, MediaWiki, you can have a tangible website at toaster oven, if not microwave speeds. By page 179, when you’ll have finished User Management, Extensions, and Running a Successful Wiki,  your historical Pinball Machine wiki (or whatever it is that you’re building) will be indistinguishably on par with any other that you’ll have come across as a netizen.

Yet this isn’t just a walkthrough. Read as a random access referrence manual, each two page long subsection of the 23 chapters is as easy to navigate via the Table of Contents as it to digest as modicum of help. In fact, however arcane it seems to look something up in the ToC for a piece of software whose official documentation is stored in a Wiki itself, there are some invaluable upshots to this seemingly outdated search methodology. The foremost of which is that unlike the free online documentation, or other books which take as a template the online documentation, having a curated index is as much of a discovery tool as it is a finding aid. Even as someone who builds MediaWikis professionally, skimming int the ToC gave me the answers to long standing questions that search never returned; how to display outside images, and the scene of social extensions. Koren often stops midway through abstract technical discussions to say “typically this feature is used as […],” or  “on Wikipedia this works like […],” which again speaks to the fact that this book is not just about MediaWiki, but how exactly others have worked with it.

Then in the second half, you encounter Semantic MediaWiki. Probably you have never used., or heard of SMW.  Koren acknowledges its relative obscurity and builds a compelling argument for its usage throughout its explanation’s unfolding. But first, what is it? “In conjunction with its extensions, SMW can transform a regular wiki into a kind of  collaborative database.” SMW is, roughly,  about pages and bits of pages having properties. As the canoncial example goes Berlin’s population being 3.5 million people, really means that subject Berlin, predicate has population of, object 3.5 million humans. Here you can see a more theoretical leaning in SMW than MW. Whether or not this is caused by Koren’s  ‘nose being too close’ to the matter, the tutorial becomes less example-driven and more of an academic and technical treatise. That is hardly surprising as Koren was heavily involved in the SMW extension programming scene.

The change in approach is not necesarily a bad thing. Although wikis have their standard uses as encyclopedias of varying scopes, there are some creative examples of their usage: blogging, study forums, and fan clubs to name a few. MW has thus been explored as a software many times more than SMW. This fact combined with the greater extensibility of SMW means that SMW is fertile for unimagined projects and uses. Koren’s treatment in gradually growing more abstract can serve the purpose of allowing the readers’ neurons fire more freely – especially coming after the varied, but static examples in the first half.

In fact that motif of universal expression, the complex but large degree of freedom in semantic mark-up is the overarching theme there. The lesson that Koren expounds about Semantic MediaWiki is that since SMW structures can become some infinitely and obsessively detailed, that presenting a user with a blank text editor will be greeted with a blank stare. Thus for a successful SMW, the onus of development is firstly on the administrator, to make a skeleton which users can flesh out. The chapter on Semantic Forms here does describes the solution.  Likewise, building a SMW will mean that you will manufacture freight containers of machine-readable data. In the chapters of Semantic Queries, Drilldown, and RDF and SPARQL, Koren provides an manual on how to write the right punctuation characters to get machines to read and elucidate the data.

The books’ ending does duty in touching on a list of remaining topics which Koren deems indispensible. Collecting miscellaneous details on technical, but practical matters of debugging, multi-language concerns, and data migration among others, there is a sense that Koren is imparting notes kept during his own journey with MW. Lastly you can feel Koren’s earnest passion in the ultimate chapter titled MediaWiki development: a guide for the accidental developer, a map he discovered himself in the field, after his own 6 addicted years as a (S)MW developer, and author of 12 extensions. That is precisely the selling point of Working With MediaWiki: you are not so much reading a book, as sipping diet cokes while sitting cross-legged next to Koren in the back of a lecture hall with a laptop at a developer convention – a private tutorial from the geek himself.