The Migrate module provides a flexible framework for migrating content into Drupal from other sources (e.g., when converting a web site from another CMS to Drupal). Out-of-the-box, support for creating Drupal nodes, fields, comments, url aliases, users+profiles and roles are included. Hooks permit migration of other types of content.

The combination of the Table Wizard and Migrate modules is designed to support a migration process along these lines:

  1. Import - Table Wizard can be used to import external data into tables in your Drupal database. Any tables in your Drupal database, or in other databases on the same server, can be made available to views for review and migration.
  2. Analysis - Table Wizard performs analysis of table data (ranges, sizes, etc.), and supports collaborative documentation of table fields.
  3. Content sets - Create Views which represent the different source records that you wish to migrate. The Views utilize the Vies integration you just created with Table Wizard.
  4. Migration - Migrate takes rows from the content sets creates Drupal objects from them. Migration is reversible - migrated data can be quickly backed out and migrated again. A dashboard is provided to easily manage the process. Background processing via cron is supported for large migrations.
  5. Auditing - Errors and other conditions flagged during migration are flagged and can be reviewed in Views). Also, Migrate maintains mapping tables from the source data to the resulting Drupal objects, enabling the creation of comparison views.

Status

Migrate is nearly ready for official release. There is currently some discussion in the Content migration, import, and export group on future directions for the various migration and import/export-related modules which may affect the design of the migrate module.

Finally, I consider a suite of simpletests a prerequisite to release.

Acknowledgements

Much of the Migrate module functionality was sponsored by GenomeWeb and The Economist. The original code was based on node_import.