I’ve been bad about keeping this journal up to date lately because I’ve been neck deep in running through acceptance tests for the latest H2O release for the past few days. As important as testing is, it’s boring as all hell. We have a lot of unit tests for individual parts of the backend, but something has to test the overall processes from the user point of view. I’ve tried to script these sorts of tests in the past, but I’ve always ended up spending way more time writing those test and then keeping them up to date than it would take just to run them manually. So for H2O we decided just to write up the acceptance tests and run through them manually before each release. It’s been a good trade off, I think, since it only takes a few days every few months when we make a release. And it also gives all the developers a good opportunity to take a comprehensive tour of all the features each release. It’s still boring as hell, though.
After all the hard work, though, we’ve finally deployed the latest release. As always, kudos to Juliet Armstrong for doing the vast majority of the development work. Mostly we’ve just fixed a lot of small bugs, but we’ve added some features as well. Most importantly, the new project based routing feature allows the system to route posts within cross project rotisseries such that participants will always get a response from a user in a different project when possible. So with the Rotisserie Ring discussions, for example, we can now make a best effort to get students talking to students from classes other than their own (instead of just throwing all the students into a big pot and hoping they get mixed up well). We’ve also got about 75% of the work done for a SOAP API to the system, but we decided to go ahead and make this release now without the SOAP stuff functional so that we could get the project based routing stuff in before the Rotisserie Ring discussions start.