User:MarkAHershberger/Weekly reports/2010-W26

This update is a little late since I was traveling to Gdansk. I'll include some work earlier today in this report so that next week's report can be about Gdansk.l

Warning Handling
While working on the CLI installer, I ran into the problem of returning non-error information from each step of the installer. Specifically, this was a problem for the SQLite installer since I had no way of telling the controller what had happened with the full-text installation.

As Tim pointed out, there is a warning method for adding warnings to Status objects, but there didn't seem to be an clear, easy way to get this information out of a Status object.

My solution, in addition to making warnings accessible, also provides bulk wikitext translations for easily outputting the messages.

Installation steps
While tracking down a problem ("Why is an error occurring in the constructor for MySQLInstaller when I specified SQLite?"), I discovered that the database installation objects are instantiated before checking that the necessary extensions are installed. Making the extension checks static fixed this problem and gave a little bit cleaner code.

But I also noticed that MySQLInstaller was modifying the parent's installationSteps data even if it was never used. While its reasonable to alter the installation steps depending on what is acttually being installed, mucking with other people's data, even your parent's, is a problem.

Fixing that provided me with my first chance to toggle the revert bit in CodeReview. Yay!

Misc
I just realized I hadn't actually written the promised documentation on writing maintenance scripts this past week. I'll do that now.