User:MarkAHershberger/Weekly reports/2010-W30

This week I fixed a bug I introduced into LiquidThreads, added libicu warnings to the new-installer code, and resumed work on the testing and continuous integration server.

In related, but not WMF, work, I also introduced open source developers at a USAID-funded non-profit to translatewiki.net and Siebrand.

In the coming week, I plan to spend less time on directly on the code and focus a bit more on the testing and continuous integration server. I also plan on documenting the libicu/Unicode “gotchas” on MediaWiki.org.

LQT Bug
The week started off with werdna reverting all of my LQT changes from the previous week because they introduced a bug that damaged the AJAX updating in newly modified threads.

After tromping through the code a bit more (and with werdna's help) I found that I had used the wrong call signature (fix). The AJAX problem was still unresolved, though, until I added a way to force the order in which JS files were loaded.

I'm not satisfied with the code since the added loop makes it measurably slower than the old code, but I couldn't figure out a better way to handle it.

It looks like the hook problem with the call signature may have caused Nikerabbit to add some error handling (and write an essay) for situations like the one I created.

LibICU checking
After some hints on IRC about the usefulness of such warnings, I added checks to the new-installer code for outdated versions of the ICU Project's libicu.

I considered also adding run-time checks and using the slower PHP fallback if an up-to-date lso adding run-time checks and using the slower PHP fallback if an up-to-date libicu-wrapper was not available, but others on IRC said the warnings were sufficient.

I recall a few months ago that Norman Walsh (@ndw on Twitter) was having problems with Wikipedia dumps and Unicode characters. I don't know how or if he resolved it, but it could have been due to libicu problems — on his end or on Wikipedia's.

Testing and Integration server
Late in the week, I resumed work on the continuous integration server. While I had been using Continuum before, I re-examined the focus of PHPUnit's development and saw that the author there was targeting CruiseControl with |phpUnderControl instead of Continuum (as he had in the past). As a result, I set up CruiseControl and began working with it instead of Continuum.

A large part of the renewed focus on a testing server is the result of a meeting last week about for Selenium testing. In the long term it would be best to have Selenium tests as part of a set of regression tests that the testing server could run as part of automated testing.

Since the Usability team is focusing on Selenium testing, now is time to start getting an automated framework in place.

Not WMF: iHRIS and Translation
After starting work on MediaWiki, I was impressed with the vibrant community at translatewiki.net. When I met Siebrand at Wikimania, I became really enthusiastic about introducing the open source developers at IntraHealth who are working on the iHRIS Suite to the translation services at translatewiki.net.

(Background: I was working on open source projects at IntraHealth before working with the WMF.)

This past week, I made those initial introductions. It looks like the translatewiki.net community might be able to help provide much-needed Arabic and Spanish translations. I'm hopeful that some of the experience Siebrand and others have with l10n and i18n will be useful to the iHRIS developers as well.