Friday, 24 April 2009

Demoing the Wikiation Extension Testing Environment

Yesterday I had the pleasure of presenting the extension testing environment to people of the Wikipedia Usability Initiative (UI). It was a pleasure because many of the requirements for the UI can be met by our environment.

What we discussed and/or demoed:
  • the motives for the Wikiation Extension Testing Environment
  • testing on different operating systems and (LAMP) configurations
  • the need for the creation and duplication of test environments
  • the need for testing environments with different configurations for instance with and without flagged revisions
  • the installation of extensions and its problems
  • the ability to script tests and installations in bash or in python
  • why integrating Selenium makes sense (remote control and grid)
  • we demoed the installation of an en.wikipedia lookalike and talked about the need for both internal and external testing
  • the need for sharing the test cases as widely as possible
What I liked in this conversation was the priviledge of having a look into the "UI kitchen", I got the impression that the Wikipedia Usability Initiative is progressing nicely.

Sunday, 12 April 2009


I am building he WikiEducator test environment and as I mentioned in a previous blog, several of the extensions exist as a text source somewhere on a Wiki. This was also true for WikiArticleFeeds. I am really happy that the developer of WikiArticleFeeds has submitted it to the WMF SVN.

Having WikiArticleFeeds in the WMF SVN, is the first step of Open Source magic. I asked on IRC, the mediawiki-i18n for support and half an hour later an intenationalisation file had been added by IAlex. It is now ready to be supported on

I have asked other WikiEducator developers to help me out. The response so far has been great. I love such Open Progress.

Saturday, 11 April 2009

The WikiEducator environment

WikiEducator is where the Commonwealth of Learning has an excellent project for free e-learning content; I rate it as best of breed. As the Commonwealth of Nations consists of many countries in all parts of the world, WikiEducator has to take into account the many different cultures in order to provide quality education.

WikiEducator has invested in the development of its Open Source educational environment and this makes it a challenge to build an environment in the Wikiation Extension Testing Environment.

Many of the MediaWiki extensions are not in a code repository system. They are included as a text in a Wiki, sometimes they are just available to be downloaded. This has several drawbacks;
  • the installer cannot load the code
  • the code is not internationalised and localised at
  • it is not clear if there have been modifications to the code in the past
Even though it is not that hard to create a new extension in the WMF SVN, it is best when this is done either by the developers or by the people behind WikiEducator. When asked typically there is a positive response.

A special case is the LiquidThreads extension. This extension is broken in its latest revision. The testing environment makes it really easy to establish this or to find what effect other extensions have. The COL and Unicef are collaborating, it is fairly trivial to install and test the Uniwiki extensions in a combined environment as well.

The current incarnation of the WikiEducator testing environment can be found here.

Thursday, 9 April 2009


Jmol is an extension I blogged about in the past. What Jmol does is show what chemicals, proteins look like. It does not only do a good job visualising, it really lightens up pictures that are otherwise rather dull.

Installing Jmol proved to be interesting, it has a prerequisite called StubManager. This is a tool that is essential for a whole range of extensions and it is required to be installed before all the tools that make use of it.

Jmol itself was interesting as well; it installed itself in a directory called MediaWiki and ia directory with java stuff. For the Wikiation Extension Testing Environment, we are looking for a standard way of installing the stuff because that also allows for clean un-installs. Everything is now in the Jmol directory, we now only have to make it work.

Tuesday, 7 April 2009


When you test an installer, you need to test the installation of extensions. I made the choice to build copies of MediaWiki environments. My assumption is that the functionality of great environments is what would be of interested to many people.

Referata provides a best practice environment for Semantic MediaWiki. Yaron, the man who runs Refarata is also behind many of the Semantic MediaWiki extensions. Obviously the secret sauce of Referata is Yaron's ability to fix whatever comes his way.

I informed Yaron about the test environment, we found some issues and he fixed them for us.


The Wikiation Extension Testing Environment has so far concentrated on  server side issues. How do we install MediaWiki, how do we install extensions, how do we run tests serverside. The tests we currently run are parser tests and tests run using the pywikipedia framework.

This is all really nice but the proof of the pudding is in the eating and this is done with browsers. Given our values, tools to do the testing need to be freely licensed as well.

The great thing about Selenium is that it already has many add ons to do serious testing. It allows for automated testing for multiple browsers. It allows for using a grid of systems to do the testing. To me it looks exactly right. I asked MinuteElectron to look at it as well; he is really entheausiastic, he started to convert his work on Uniwiki into Selenium already.

The question is what do you think?

Monday, 6 April 2009

Berlin meeting

The Berlin conference was over before I realised it. I had prepared a presentation, not many people saw it because there was no beamer and, people were more interested in a demo and in discussing what the testing environment is all about.
I demoed the testing environment, I scratch installed the Wikipedia environment many times. I explained the benefits of a shared testing framework, why the ability of installing an environment is so crucial, how we can run the tests the extensions that are installed. Most importantly I explained who the interested parties are.
  • A developer spends 70 to 90% of his time testing and debugging, quality testing cuts down on that number
  • Brion needs to do the same tests, so when he has the tests he will be more efficient
  • Many people run their own MediaWiki installation, they need to know if an extension works for them
For me the most important take home message is what Brion told me: "People want me to look at code, if this code comes with testcases I can run, I am much more likely to have a look".  When you consider the number of extensions that are waiting for Brion to look at, extensions that have community support, it is clear that testing and sharing the test-cases is an essential tool in the battle for Brion's attention.