Planning for a Drupal 6 to 7 Migration
A simple site with only a few modules is a snap to upgrade. But if you have site with numerous modules, customizations and a custom theme, going from Drupal 6 to Drupal 7 requires a lot of thought and planning.
Many contributed modules that you added to Drupal 6 are now part of the core, so you don't have to move them. Some modules or your personal customizations may not have an upgrade path, in which case you can't upgrade. There are many decisions and some research involved in accomplishing a smooth upgrade.
You may also want to view these tutorials related to migrating from Drupal 6 to 7.
Step 1: Take an inventory of modules and themes
Identify the modules that are installed (including ones that are installed and not enabled).
To do this, you can either look at the listed modules on the Modules List page (Administer > Site building > Modules), or in your sites/all/modules directory.
Identify which theme is active on the site by looking at the Themes page (Administer > Site building > Themes), which shows all installed themes, and which ones are enabled.
Write down the complete list of modules and themes installed on your site. You can use this as a checklist when upgrading contributed modules as well as when you disable and re-enable modules during the actual Drupal upgrade.
Or, an alternate method for taking inventory is to use FTP to look in your sites/all/modules and your sites/all/themes directories for modules and themes installed. You'll be deleting the unused and unwanted ones from Drupal 6 before doing the core upgrade.
Step2 : Document module settings, then disable and uninstall any unused modules
These modules are now part of the core, and can be disabled, uninstalled, and deleted from the sites/all/modules in Drupal 6, before you do the core upgrade.
Before you disable or delete them you might want to open any configuration pages and take some screen shots or notes so you can configure Drupal 7 after the upgrade.
If you find any of the above modules in your Drupal 6 installation, you can safely inactivate them and delete them from your installation before upgrading to Drupal 7.
Checklist for module upgrade
First perform the core upgrade as described in our tutorial "Migrate Drupal 6 to Drupal 7" or the UPGRADE.txt file. Then you can update and re-enable your non-core modules by following these steps:
- Check your notes, and the UPGRADE.txt files inside each module, to see if any special upgrade instructions apply
- Fully remove the old module directory inside sites/all/modules/
- Download, unpack and move the new module directory to sites/all/modules/ on your Drupal 7 installation.
- Enable the module in Drupal 7 and configure it.
- Run update.php again (you should have run it once already when upgrading core) and check for any message output.
- Back up your database and files again, between each module update, so that if there is a problem, you can revert to the most recent update.
Step 3: What about modules not on the list?
Go to the module's page on http://drupal.org and see if it's a contribution. Look for upgrade instructions on the site, or download and uncompress the module and see if there is an UPGRADE.txt file available.
If there is an upgraded version, you can continue by installing the upgrade in the new Drupal 7 installation and going through the process as if it's a new installation. (See Drupal 7- uploading modules and themes or How to Update a Drupal Module)
After installing each new module, run install.php which will update the data base and integrate any information from Drupal 6 to Drupal 7.
Some of the upgraded modules may have new dependencies, in which case, you will need to search for additional modules to support them, and install them. You can see what's missing on the Module List page when you view it.
Step 4: What if there is no upgrade path?
If you've checked and there is no path already available you have some choices to make.
- Abandon the upgrade and don't attempt it if your site is highly dependent on a particular module.
- Look for an acceptable alternative. There may be a module that does the same thing.
- Contact the author or maintainer of the module and find out what the upgrade plans are.
- Write it yourself if you know how.
Step 5: Plan for the upgrade of your theme
You can see the installed themes by going to Administer>Site building>Themes. You can also check via FTP as described above.
When you upgrade a site from one version of Drupal to another, you must take specific steps to make your theme compatible with the new version. Always test the modifications on a separate development server before moving to a production site.
If you are using a commercial template, check with the manufacturer about an upgraded version or instructions on upgrading.
There is help on drupal.org at http://drupal.org/theme-guide/6-7 , but its a not simple to follow, and requires knowledge of html and css.
Step 6: Identify core modifications or custom modules
In some cases you may have inherited a site that was created by a predecessor. If that person modified any of the core modules, or made modifications to the theme, they will be lost when you upgrade.
If you had a developer write a module just for you, the module will not be translated during upgrade and you will need a programmer to make the module compatible with Drupal 7.
Decide whether you need to keep these modifications, or can do without them.
When you're ready, here's a summary checklist:
- Create test site and do all your experimentation there.
- Inventory all modules and themes
- Prepare Drupal 6 by deleting unwanted modules and themes.
- Search for updates or replacements or decided to drop anything that can't be updated.
- Migrate to Drupal 7
- Install all new modules. Run update PHP after each one.
- Make sure your theme is compatible with D7. Upload and enable your themes.
- Test it on the development site.
- Move it to the production site only if everything is working.