Archive for June, 2011

WebWorld 2011 – wrap-up

Monday, June 6th, 2011

Unfortunately my time machine is broken, so instead of telling what cool features are coming you have to bear with summary of what I did during the WebWorld sprint.

As you know UserBase Wiki uses the Translate extension to translate the wiki content. I can now cross off a common feature request from my todo list: moving and deleting translated pages. Since each language has its own page and the system uses even more pages behind the scenes, the normal move and delete actions of MediaWiki were insufficient. With some hackish code I was able to hijack those actions and replace them with my own. It is now possible to move or delete a page with all of its translations with few clicks. You can also choose to delete only one translation, which is useful if the translator accidentally used a wrong language.

For those who are addicted to stats, Special:LanguageStats now has a row which states the overall translation coverage. The number can be off a small amount for a reason unknown to me. I have to investigate why and fixit, since statistics never lie :)

And there is one more nicety regarding Special:MyLanguage, which takes care of redirecting users to their preferred language translation of a page, assuming such a translation exists. If the given page does not exist at all, the link using Special:MyLanguage is now red just like normal links to non-existing pages are.

The sprint itself was  productive. There were problems that needed to be solved, and I think we all did a good job tackling the many issues. We also managed to create some new problems: Ingo needs to learn how to not have toys stuck in inconvenient high places :) And I like the logo very much :)

Webworld 2011 – MediaWiki and UserBase

Friday, June 3rd, 2011

Greetings to the Planet KDE readers, where this should be my first blog post. My nickname on the net is Nikerabbit. I’ve been developing MediaWiki for many years, and I’m the author of the Translate extension. The Translate extension is used at translatewiki.net which is a wiki site and community that does open source software translation. Translate extension can also be used to translate wikipages, which is the way it is used on userbase.kde.org.

That is also the reason why I am now here at the KDE WebWorld sprint. I have updated the Translate extension on UserBase and fixed a number of bugs in it. Mostly minor things that can confuse normal users – they are no longer automatically directed to pages that are of no use to them. And UserBase now has its own translation memory. It’s the same kind we use in translatewiki.net: a very simple one provided by the translate toolkit. Currently those two are independent of each other, but maybe in the future we can find a way to use each others translations.

While working on UserBase issues here, I realized some problems in MediaWiki. First of all the Translate extension is supposed to be compatible with two MediaWiki versions: the latest stable version (1.16, used on UseBase) and the latest development version (1.19alpha, used on translatewiki.net). I am not going to talk about why there are two unreleased versions and third one being in development. Anyway, a lot of development has happened between those versions, including major new features and big rewrites. I’m spending a considerable time keeping Translate extension compatible with 1.16 when developing new features for it. It also makes the code more complex and doubles the testing required. It is not made easier by the fact that not all changes are documented in appropriate places. For example there is no mentions in hooks.txt that the parameters for SkinSubPageSubtitle hook have been changed at some point.

Another thing is that MediaWiki has so many ways to tweak it, most of them undocumented and not easily discoverable. For example all the messages in MediaWiki: namespace, some of which may even be empty by default. There is no way you can find a suitable message unless you already know that such message exists and how it is called. The same applies to configuration variables. They are at least documented in DefaultSettings.php and some also in mediawiki.org, but again it is hard to find some specific thing that could help you (if it even occurs to you that such thing might exist).

This means that people can’t really find out everything you can do with MediaWiki and they either end up not doing some things at all or creating something new from scratch.

Luonnon helmassa

Thursday, June 2nd, 2011

Kaksi kissaa maleksii pihalla. Aurinko kuumottaa ihoa. Vaihdan istuinpaikkaani pöydän toiselle puolelle, jota varjostaa suurehko puu. Seurassani istuu ihmisiä Saksasta, Briteistä, Transkasta, Ruotsista ja Hollannista. Keskelle pihaa on rakennettu pienoisrautatie, jossa tosin ei ole junaa. Takanani seisoo metrin korkuinen hymyilevä pingviini. Pihaa reunustaa kaksi vanhahkoa rakennusta ja läjä puita. Silloin tällön linnunlaulun peittää alleen jonkin matkan päässä menevä juna. Samalla suunnalla on myös joki. Joen nimi on Ruhr. Istun Linuxhotellin pihalla Essenissä. Meneillään on KDE:n verkkotiimin WebWorld2011 -tapahtuma. Tavoitteena on kehittää ja ratkoa KDE:n verkkosivujen ongelmia laidasta laitaan. Oma roolini on auttaa MediaWikin kanssa sekä korjata ongelmia kirjoittamastani laajennoksesta, joka mahdollistaa wikisivujen kääntämisen muille kielille.

Eilen oli barbeque-ilta. Paikallisissa kaupoissa ei näemmä ole mitään muuta kuin porsasta – ei kalaa tai nautaa. Lihaa ja hedelmiä grillattiin riippuvalla grillillä, joka toimi yllättävän hyvin yhdeksän nörtin käytössä. Juomia saa ilmaiseksi hotellin juomakaapista – täytyy tosin mainita, että hiilihappokammoiselle tarjonta on kovin vähäistä. Tänään ruuaksi oli pitsaa, joiden hinnat olivat halvimmillaan käsittämättömät kaksi ja puoli euroa. Syy pitsaruokaan ole muuten se, ettei kukaan muistanut eilen käydä kaupassa!

Hotelli on varsin hulppea – löytyy niin kuntosalia kuin saunaakin. Joissaikin huoneissa on keittiö. Pihalle on piilotettu kaiuttimia sinne tänne, joista voi soittaa musiikkia sisäänkäynnin lähellä olevasta hallintapaneelista. Ovissa on elektroniset lukot, joista kuuluu kovaääninen pärinä, kun niihin heilauttaa avainta. Taidonnäytteinä on saksalaisesta insinööritaidosta on pistorasia, jonka ollessa käytössä ovi ei mahdu avautumaan tai sulkeutumaan. Lisäksi valokatkaisimet ovat aina vessan ulkopuolella. Omassa huoneessani on kaksi sänkyä ja niitä kookkaampi sohva. Huoneessa on tietysti telkka ja hyvinvarustettu kylpyhuone ammesuihkulla. Kesti hiukkasen aikaa löytää miten itse suihkun saa päälle, sen verran erilaisia liikkuvia namskoja ja vilkkuvia valoja ammeessa oli.

Vaikea päättää onko tämä enemmän lomaa vai työtä, sen verran rentouttavaa täällä on. Toisaalta pieni yhdeksen hengen kokoonpanomme on saanut jo kahden päivän aikana paljon aikaan ja se jatkuu vielä sunnuntaihin.

Vaikea kuvitella, että Suomessa olisi samankaltainen pelkästään Linuxiin ja avoimeen koodiin erikoistunut hotelli.

-- .