User:MarkAHershberger/Weekly reports/2010-W33

This week I finally got the CruiseControl instance “into production” – by which I mean it is now reporting build errors into IRC — and did some work on the PostgreSQL new-installer code.

IRC notifications
Initially, I had CruiseControl trying to replicate all the functionality of other phpUnderControl instances. However, I kept running into memory issues that kept it from making a full run. After working with Ryan Lane to grow the memory on the VM to an adequate size and fiddling with the Java heap size there were still problems with the build.

At this point, I decided “Less is more” and, instead of using some of the more complex code analysis tools, I trimmed the functions run down to
 * Linting the code (php -l) to detect any really obvious syntax errors
 * Running the PHPUnit tests
 * Running PHPDocuementor to produce documentation and (later) flag problems.

Finally, I worked with MZMcBride to get the codurr bot to read irc-publish.txt and notify the #mediawiki channel when the contents of the file change (indicating a break in the build).

PostgreSQL installer
After reading about the DumpHTML extension failing on Postgres, I decided to try and track down the problem.

The first thing I noticed was that DumpHTML hasn't been updated to the new maintenance script framework, so I decided to work on that. I should have some commits there this week.

After that, I tried using the new-installer code to set up a PostgreSQL database. While I'm not very familiar with PostgreSQL, I couldn't manage to set up a database without hacking the code to create tables and set up the PLPSQL language. I committed my fixes with a request for review in the commit. I also tried to ping OverlordQ on IRC.

Javascript and Mobile devices
During the discussion of Wikipedia on mobile devices, I discovered that Javascript was being used to grep User-Agent strings for mobile devices and redirect to the mobile site if needed. Brion's reply explains all the detail of why this is messed up, and it looks like Mark Bergsma is handling the proxy-side fix. I'm interested in the proxy config, though, so I'll follow up on this.

Upcoming week
I will be spending most of my time working on getting some basic Selenium tests running — hopefully so that I can have something to report at this Friday's Selenium meeting.

I'll probably also spend some time working on the PostgreSQL installation.