I remember when I first submitted a patch to Mediawiki on Gerrit. It was a +12 -4 line patch and it probably took me at least half a day to figure everything out and get my change up! There is a tutorial on mediawiki.org but it is far too wordy and over complicated. In this post I try to explain things as basically as possible. Enjoy!
MediaWiki
MediaWiki CRAP – The worst of it
I don’t mean Mediawiki is crap! The Change Risk Anti-Patterns (CRAP) Index is calculated based on the cyclomatic complexity and code coverage of a unit of code. Complex code and untested code will have a higher CRAP index compared with simple well tested code. Over the last 2 years I have been tracking the CRAP index of some of Mediawikis more complex classes as reported by the automatic coverage reports, and this is a simple summary of what has been happening.
Misled by PHPUnit at() method
So it turns out the at() method doesn’t quite do what I had initially thought….
I have recently been working on some tests for the new Newsletter extension for Mediawiki, specifically to test the NewslettterTablePager class. This thing extends the TablePager class in Mediawiki which is designed to make displaying information from a database table on a special page on a MediaWiki site easy, and also easily enable things such as sorting.
The code interacts with the database and gets a ResultWrapper object, and the Pager uses the numRows(), seek() and fetchObject() methods, all of which I thought would be incredibly simple to mock.
Removing use of Mediawiki’s API ‘rawmode’ in Wikibase
Rawmode was a boolean value used to determine if an API result formatter in Mediawiki needed extra metadata in order to correctly format the result output. The main use of said metadata was in the XML output of the Mediawiki API. How hard can removing it be? This is the story of the struggle to … Read more
MassAction Mediawiki extension
2019 EDIT: This extension has been archived as I didn’t actually maintain it. I still think there might be room for a more flexible version of this extension in the future. MassAction is a Mediawiki extension that allows users to perform mass actions on targets through a special page making use of the job queue. Its development … Read more
Wikimedia Hackathon 2015 (Lyon)

The hotel (Valpre-Lyon) was absolutely beautiful with large grass areas, great architecture and a place for you weather you wanted to have a large or small discussion, sit quietly or sit outside. As well as Pétanque, table tennis was also available as well as plenty of people to meet!
Quick overview of Orain
Orain is a community-driven, not-for-profit wiki network that I help to maintain.
It runs Mediawiki and has been around for the past couple of years. Over the years it has been hosted on VPSs from multiple different providers and its technical layout has changed massively from each provider. Below I will try to summaries it’s current layout! This will include:
- The machines / VPSs – ( how many there are, what they are doing and why )
- The management of these – ( using ansible )
- The configuration of Mediawiki – ( how Orain is running the ‘wikifarm’ )
Mediawiki Developer Summit 2015
The MediaWiki Developer Summit is an invitation-only event with an emphasis on the evolution of the MediaWiki architecture and the Wikimedia Engineering goals for 2015.
It took place on Monday, January 26 and Tuesday, January 27, 2015 in the Mission Bay Center, San Francisco, California.
Overall it was very interesting and a lot of good discussion happened. Again I am writing this post months after the event so sorry for the lack of content.
Wikimania
Wikimania 2014 was a 2000+ person conference, festival, meetup, workshop, hackathon, and celebration, spread over five days in August 2014, preceded and followed by fringe events. Wikimania is the official annual event of the Wikimedia movement, where one can discover all kinds of projects that people are making with wikis and open content, as well … Read more
Mediawiki Hackathon Amsterdam
The Mediawiki Hackathon in Amsterdam was my first ever Mediawiki or Wikimedia hackathon, and it was great! Unfortunately I am actually writing this post in 2015, so I don’t remember many of the details and will instead link to other places! Wikimedia blog post reflecting on the hackathon Wikimedia Netherlands, Wikimedia Germany, and the Wikimedia Foundation … Read more