Upgrade Drupal from 5.x to 6.x
Continuing on from 'Upgrading a Drupal 4.7.x site to 5.x' below are some notes after upgrading the same install from 5.x to the latest 6.x version of Drupal. Most of what I did followed the instructions found in this screencast by greggles - watch it from start to finish, making notes where possible!
- For all 3rd party modules, first make sure a Drupal 6.x version exists! (if it doesn't, see the next point).
- If you have any custom themes or modules you've developed, you're going to need to re-write some parts of them. The quickest way to do this, is to install the coder module, which (when instructed) will scan your source code and tell you exactly what needs to be changed and directs you to the relevant section in the Drupal 6.x API changes doc. It's a pretty sweet module and the documentation there rocks too!
- If the site you're upgrading was at one stage version 4.x of Drupal, and you get an error in the initial run of update.php about "Unknown column 'language' in 'where clause'" - this is normal, just manually correct the table, as per the following drupal.org thread: Upgrading from D5 -> D6 url_alias field errors prevent upgrade, manual bootstrap necessary.
- When you've finished re-writing your custom Drupal theme to be compatible with 6.x, make sure you Clear the Drupal internal cache, either from the menu option 'Flush tables' provided by the admin_menu module, or by truncating the contents of the cache_* tables.
- If you use the nice_menus module, and use a custom css file, you'll need to reset the custom path location of the css file (set in Site Building->Themes->Configure->Global Settings).
- If you have some custom menu groups, by default they are set not to expand - if your themes were expecting them to show all the contents simply set them to expand via the Site Building->Menu's section.
As you can see, it's a lot easier upgrading from 5.x to 6.x then 4.x to 5.x!
So what's next then? Drupal 7.0 of course! It's due out in early 2010 and will feature major improvements in usability, automatic module updates, a fields api and much much more. The development version is due to be frozen in a week's time, leaving a good 5-6 months of bug fixing (see webhick's twitter profile - the honourably D7.0 co-maintainer). For more info about the 7.0 features, also checkout the D7UX.org website!