Even though it was a slow and painful process (and one I said I wouldn’t bother to endure), I moved the blog over to the latest Movable Type templates in the course of yesterday.
The hardest part was getting the three column look that I favour to work properly. Even though Movable Type’s styles-site.css stylesheet contains styles whose name suggest that everything should just fall into place, that’s not the case; or, at least, not for me, as I don’t know how to apply them properly.
In fact, whilst Movable Type’s site is definitely not short on reasons why you should upgrade to the latest version, it falls down on telling you how to actually do so. All of the instructions are aimed at first-time installers. The only upgrade instructions refer to migrating from the standard version to the Enterprise product.
Apart from twiddling with the stylesheet, the biggest debugging headache was trying to figure out why the archives wouldn’t rebuild. Apache kept returning HTTP 500 errors. I debugged this by removing chunks of MT tags from the archive templates until they could successfully be rebuilt.
However, once I’d found what I thought was the culprit, starting afresh with an archive template and removing just that one tag no longer fixed the build problem. It was starting to seem as if the quantity of MT tags, not the type, was the issue.
I suspected some kind of time-out problem, possibly with mod_fcgid, so I turned to Google and eventually came across documentation that mentioned the IPCCommTimeout configuration directive. This controls the time-out when waiting for a response from a fastcgi application. Since the archive build process takes longer than this directive’s default setting of 20 seconds, mod_fcgid abandons the task, causing Apache to return an internal server error.
Simple, once you’ve localised the problem, but it was actually quite a bit of work to turn that up.
The next step will likely be to move the blog’s data from Berkeley DB files to MySQL, which should considerably improve its performance.