As every software developer knows, especially ones like me who obey the 'hack it and run' rule, it's quite unusual for software to 'just work' out of the box. Tonight was a surprising exception as I took the brave decision to upgrade the Drupal software which powers this blog site.
Some people might ask why? Well, for a whole heap of reasons really.
- I was receiving an increasing number of spam messages which were somehow getting past the CAPTCHA mechanism that I have in place. I suspect some security loophole had been discovered in v5.1 which was then exploited.
- If you want to explore and play with pushing software to its limits or seeing what else is possible, often you need to be running the latest version of the software to access the compatible modules and plugins.
- I've learnt from previous experiences of not upgrading software versions that quite often you can get 'left behind' with future upgrade paths. This one is a real gotcha as you start to regret having not applied the last 3 upgrade scripts. As you spit through gritted teeth, you begin a long night of incremental software upgrading through each version, i.e 3 --> 4, 4 --> 5, 5 --> 6 etc. It's a miserable experience.
- Not upgrading your Drupal installation is like not finishing the tiling in the kitchen - you won't get the full user experience of all the features and when you prepare to move house, you kick yourself indefinitely for not having finished it sooner.
Rather delightfully, the upgrade to v6.0 was straightforward and painless. Drupal coders write a fantastic migration script - well done guys.
I do wish you could solve some of the issues with having to re-apply customisations to 'themes' however. I'm now wise to this headache and despite my inner most desires, refrain from making too many customisations. On the other hand, the template files haven't changed much between versions and I'm getting pretty good at predicting where line 503 is in a 2000 line template file and making the odd code edit. Thanks guys.
Some of the really nice features of v6.0 includes:
- automatic checking of module updates.
- better versioning control for compatible modules.
- AJAX drag and drop feature for arranging 'block' and menu order (at last!)
- custom notifications for any Drupal event - this could be really useful.
- support for OpenID, ready for when single-sign on gets sorted (pig flies overhead)
and finally, finally!!!
- a fix for broken or chopped HTML in comment posts.
Hurrah! So it's a pretty worthwhile upgrade. Back to the tiling then....