Tuesday, December 30, 2008

Upgrade from Drupal 5 to Drupal 6

The module provides full upgrade scripts for a smooth transition to Drupal 6. However, due to some multilanguage features provided now by Drupal core and that the i18n package has been fully reworked, there are some special considerations. So please, read all this page before doing anything.
Drupal 6 upgrade notes

* To upgrade from 5.x, first upgrade to the latest 5.x stable release. To upgrade from 4.x, first upgrade to 5.x, then to 6.x
* Note that some old features and behaviors have been dropped and replaced by new Drupal 6 multilingual features. This module won't pretend to replace Drupal core available features but to build on them and provide extended ones.
* While the upgrade scripts already work for nodes and taxonomy, there's other data that is simply deleted by the main Drupal 6 core upgrade, like the menu items language.
* Other parts like the multilingual block system have been completely reworked and will need manual reconfiguration. Existing normal blocks won't be lost but the language settings will need manual reconfiguration.
* The module layout, dependencies and names have important changes, so it is advised to take your time, read the new modules descriptions, and decide on which ones you new enabled, that may be different from the Drupal 5 ones.

The upgrade process

1. As with any other upgrade, make a full back up of your database before and set the site in off-line mode.
2. Disable all i18n modules (Disabling all contributed modules is always recommended) before upgrading to Drupal 6.
3. Upgrade your codebase and run the Drupal 6 standard upgrade
4. First, enable Drupal 6 core Translation module. Internationalization now relies on it.
5. Go through the Inernationalization package module list and enable the ones you need.
6. Run the update script again (update.php) so i18n modules can update their data properly
7. Review *all* the language settings (Drupal 6 core settings have also changed), and reconfigure your multilingual menus, blocks and path aliases.

After upgrading

* If you are using multilingual variables, some variable names have changed in Drupal 6. Review and update your settings.
* Language prefixes in path aliases are not supported anymore. Instead use the new language setting for path aliases. You'll need to update them manually

No comments: