All this excited talk of Drupal 8 has a lot of people dreaming of the day they get to start working with it. Some people get to build new sites from scratch all the time, but a lot of Drupal work out there is maintaining and upgrading existing sites. How will the Drupal 8 upgrade path work, and will it be as shiny as Drupal 8 itself? Well, upgrades will be radically different in Drupal 8, and I'd say it has all the shiny you could possibly want.
What Is This Migrate You Speak Of?
The classic Drupal upgrade method, good ole update.php, will no longer be used for major upgrades (e.g. 7.x to 8.x). That handy little script is only going to work on minor version updates for Drupal 8 (e.g. moving from 8.0.0 to 8.1.0). In place of that script, we now have the Migrate module in Drupal core. Instead of "updating" the site, you will now "migrate" to the next major version. Now, that could sound scary if you've never migrated a Drupal site before, but trust me, this is a great innovation for core.
More and more sites, ours included, have moved beyond the old update.php script. When we upgraded our site from Drupal 6 to 7, we wanted to change a lot of things at the same time. We wanted to take advantage of Drupal 7's new features and apply things we had learned since we built the original site. It made a lot more sense for us to build a new Drupal 7 site the way we wanted it, and then just move our content and users to their new home. We used Migrate module to do this, and more and more people have been using this tactic for big upgrades. (You can learn more about the contributed Migrate module in our Importing Data with Migrate and Drupal 7 series.)
Now, with Migrate moved into Drupal 8, this growing best practice is baked into core. You can use the new core Migrate API to not just upgrade your Drupal 6 or 7 sites to Drupal 8, but you can also use it to create your own migrations from other sources. You could, say, write a migration to move a Wordpress site to Drupal. Or you could even build a new Drupal site, and then fill it up with data from a spreadsheet. The Migrate API gives us a lot more flexibility when working with data we want to pull into our new site.
What's the Current Status?
As with all things Drupal 8, not everything about Migrate in core is complete yet. The Migrate API is in core, as the Migrate module. Additionally there is a Migrate Drupal module, which has the mappings you'll need to upgrade your site to Drupal 8. Currently most things are in place for a Drupal 6 to 8 migration, and the community is looking for people to help by testing it out and seeing where things still need to be tweaked. There is also ongoing work on the Drupal 7 migration as well, but it isn't in core yet. The current plan is to release Drupal 8.0.0 with the Drupal 6 to 8 migration ready to go, and then the Drupal 7 migration will be released with Drupal 8.1.0 or 8.2.0.
Why are we starting with Drupal 6 migrations instead of Drupal 7? Well, it has to do with community support for old versions. When Drupal 8 is released, Drupal 7 will still be supported until Drupal 9 comes out. Drupal 6, on the other hand, is going to lose support (i.e. security updates) three months after Drupal 8 is released. This means that creating a path for folks to move off of Drupal 6 as quickly as possible is a more pressing issue than Drupal 7.
There are a lot of resources popping up on the web for Drupal 8 migrations. You can get the basic picture in the Drupal.org handbook pages for Upgrading from Drupal 6 or 7 to Drupal 8. There is actually a lot more useful information right now in the Introduction to migrate D6 to D8 subpage.
To get your feet wet, start playing around, and help with testing, here are a few good resources to get you started:
- The IMP (Import API in Drupal 8) group has instructions, and some videos on their Getting ready to help out with Migrate in Core page.
- Metal Toad series of Migrate posts, covering both the current core Drupal 6 upgrade, and how to write your own Drupal 7 migration.
- Code Drop has a video (with no sound) that shows you what the Drupal 6 to 8 upgrade process actually looks like.
And, last but not least, if you'd like to get more involved with this effort, you should join the IMP group.