If you have visited this site before you might have noticed that things are looking a little bit different around here. There is a new look and also the software that the site runs on has been upgraded. Since the site started it has run on an installation of Drupal 5, which is of course part of history now and no longer supported. It was great to get three and a half years service out of that version of Drupal but the time had come to move on and upgrade to Drupal 7 in order that the site will have the features it needs going forward. Upgrading was an interesting experience though and maybe a little time consuming!
This was quite a big upgrade, and a chance to tidy things up a bit. Drupal 7 is quite new and there are only a restricted range of modules available for it. However I took the decision to go for this version as I wanted software that would last and that I could build on. I feel that Drupal 7 is an exciting piece of software. The features it provides such as being able to add fields to content types, the easier theming and the easy RDFa production made it worth choosing this version and it had got to the point where most of the modules I needed were now available.
The upgrade process wasn't very straightforward. I was jumping two versions so this meant I had to upgrade the site to Drupal 6 and then upgrade the site to Drupal 7. The latest version of Drupal also has a couple of bugs, for example I had to patch it to stop it showing file attachments in pages when it wasn't supposed to. Additionally I wanted to give the site a makeover and remove the Activity Stream (a function in the old site that would aggregate my activity on various sites). I felt that this function had become unnecessary and got in the way a bit. Over 17,000 activity stream pages had been created and any search on the site for content would tend to show these results instead of the articles.
An added complication was that some activity stream pages had comments and I didn't want to lose these. So I wrote a custom module that generated a page with the items and their comments (which can be found on the Activity Stream Archive page) then the module deleted the other activity stream nodes. Writing a custom module is useful in upgrade work. It would have been possible to do all of this without a module, but it would have taken far longer.
My upgrade path followed the steps of plan, practice, revise, implement. So first I decided how to perform the upgrade and all of the steps required. Then I practised the steps on a copy of the website on my laptop. After this step I thought about what would have made the upgrade a bit smoother and then implemented it. Of course more practice runs are always possible. The key point is not to rush!
I have been thinking about having a modified theme for a while too. The new theme is two column, rather than three to make things a little less cluttered. It will be developed a little further over the summer, but I started by adapting a core Drupal theme as these display very well across browsers. The rounded corners are done using one of the new properties in CSS3 (border-radius) so they won't work in older browsers, instead they will get square corners. Markup wise the site uses XHTML+RDFa which hopefully means that the site will make more sense to machines with areas being semantically marked up. I want to learn much more about the semantic web, so these features may improve.
The site now has much better integration with social websites. You can share a page on Twitter or Facebook at the click of a button, other services are provided too. I have a few ideas for additional features too such as enhancing how different types of content are represented in the site, e.g. product reviews might have fields for model name and price. I've leant a lot about upgrading Drupal and how Drupal 7 works through this exercise and am looking forward to working more with the software in future. I hope you all like the new look and the new features. Thanks, as always, for reading the articles on this site.