Thursday, 26 February 2009

258 out of 359 extensions can plausibly be installed with the naive installer

We are developing a test environment for MediaWiki. In order to test MediaWiki and its extensions we have to be able to install them. The "naive extension installer" makes a good faith approach to installing an extension. At this stage we call an installation a success when the install does not break MediaWiki.

NB We have installed the latest version of an extension on the latest version of MediaWiki at the time of testing.

When 72% of the extension can be plausibly installed, a lesser percentage will still need all kinds of things done before it is functional. All kind of other things may need to be addressed like configurations and what not. We already support the Configure extension for that ...

In all this info glut about installing extensions there is one other really important point: this is the first automated test of all extensions. This is the very start were we start to inform you with test results.

PS Is _your_ extension part of the 258 installable ones ???

Tuesday, 24 February 2009

New main page

We have updated the [[Main page]] of the Wikiation Extension Testing Environment Wiki. It is now more of a portal to the information that we provide on our wiki.

Please let us know what needs to be clarified. Please let us know what is missing. Obviously it is very much a work in progress, when we get a lot input from you, we do not need to repeat the message that we want you to be involved that often. :)

Installing with Configure present - Edittools fun

I am really pleased announcing Configure support for the installation of extensions. Now when you install an extension, it will leave the enabling and the configuration to Configure. I asked for it, it is important and now I have to come to grips with it.

One of the things that it has is a button to enable an extension.. That is good. It does not necessarily help me understand how things work. The Edittools is one of my favourites and it needs CharInsert. So I enabled it and it does not give me my drop down box that should be there..

One of the friendly people at IRC told me about the existence of Edittools.js but is was not clear if this was what I had to install.

So it seems that there is functionality that needs all kinds of components, there is the message, there is the Edittools message, There is the Edittools.js and there is the CharInsert extension.

So how do I activate the Edittools.js and what to do with: "the dropdown is added by Edittools.js if document.getElementById('specialchars'). This is a bit inefficient though, and it is rather outdated code". I know for a fact that it is used on LOADS of MediaWiki servers..

Monday, 23 February 2009

More extensions installed

We have made some great progress with the testing software.. Yesterday, the Babel extension failed to work properly. Some research showed that the current virtual machine runs an older version of PHP. Now that it works, we learned that the Babel extension needs some changes to the CSS.

It may sound odd, but working with the code, testing and learning what more needs to be done works well for us. We have made a lot of progress.

Over the weekend MinuteElectron and Denny have worked on an install script for Semantic MediaWiki. This is basic Semantic MediaWiki only. It installs clean and it uninstalls clean.

The next thing to get on-line is the Configure extension; we hope that this will give us even more possibilities in our testing environment.

Sunday, 22 February 2009

First iteration of a naive extension installer

In the Wikiation Extension Testing Environment, we want to test extensions. These extensions have to be installed. To install an extension, you have to have a script to install a script ... Hmmm, that sound like work. Who is going to do that... Hmmm, we could write a "naive installer", that would solve 60/80% of the required scripts.

So Kim wrote a naive installer and it just does do a naive install. In the environment I abused the Brion wiki and installed the InputBox and the Babel extension. One of the two worked, both should have worked. Testing is nice.

Thursday, 19 February 2009

The Wikiation extension testing environment is getting ready for business

The Wikiation extension testing environment has been made available in the WMF SVN.This is good news because more people can see what we are actually doing and what we already achieved.

At FOSDEM we demonstrated the environment to Brion. We promised him that an environment would be made available for testing. The environment has now been made available to him at It is a virtual server where MediaWiki and extensions to MediaWiki can be installed and tested.

The objective of the environment is to have a way to determine if an extension works well on a specific platform. and in combination with a specific MediaWiki release. It is not been clear at all what extension works well with what stable release of MediaWiki.

In order to be able to test, we have to be able to install MediaWiki and its extensions. We are getting good at installing MediaWiki. We are now working on getting better at installing extensions. We need a generic script for the installation of extensions, then we need to be able to install a particular version from a particular branch and then we also want to be able to install a "stable" version.

Our idea of a stable version is that it does not crash MediaWiki and that it passes the tests we have for the extension and the system. This means that when an extension does nothing, it is acceptable ...  Now as I understand it, it take an agile mind to appreciate why this is a good idea.

When I have time, when I am not blogging, or doing admin, or sleeping, I am also working on documentation. I documented how to install the Wikiation Installer ... I used bash for that. :) who needs documentation, the code makes it obvious :)


Sunday, 15 February 2009

Why perform functional tests

When you are in a test environment, you can expect that things are not completely functional. It does not mean that the environment is completely broken.

pecific behaviour can be expected from an extension. From Liquid Threads it can be expected that you can reply to a thread. It is possible to create a test for this.

The benefits are obvious; no broken code goes live in the test environment, the test environment does not get corrupted and the people who test are not bothered by functionality that is broken. Essentially some time needs to be invested to write a test up front. The return on investment is huge because it is not only the developers time that is saved, no need to restore the test environment, but also the time of the people who test.

The time of the people who test is typically not valued. It is however a sign of respect to the testers that obvious tests are performed first before they are exposed to new functionality.

Wednesday, 4 February 2009

Fosdem 2009

FOSDEM, the Free and OpenSource Software Developers' European Meeting

Brion will be one of the speakers at FOSDEM. It is great to meet Brion at FOSDEM. What I find really exciting is that we will demonstrate our ExtensionTesting environment to him. Let me know what we are currently testing:

  • Installation routines for MediaWiki
  • Installation routines for MediaWiki extensions
  • Setting up test cases for testing HTML output for MediaWiki or extensions
  • Running automated test cases
  • Uninstall routines for MediaWiki
  • Uninstall routines for MediaWiki extensions
When you get the impression that most of this can be run in a batch from a script, that is exactly our intention. When you get the impression that an installation routine can be used in a production environment, that should be possible as well.

We are working hard to have a live demonstration for Brion. My main worry at the moment is the availability of Internet.
FOSDEM, the Free and OpenSource Software Developers' European Meeting