Upgrading to Drupal 8 using Drush

So, perhaps you've been reading Upgrading to Drupal 8 using the UI and thinking "hey, what about us cool kids who use Drush for everything?". Or, maybe you just know drush is better than a UI for running long processes like migrations. Well, this blog post is for you... We do have drush commands for running and rolling back upgrades, currently in the migrate_upgrade module (but which should land in Drush itself by Drupal's 8.1 release at the latest).

Upgrading to Drupal 8 using the UI

Now that the second Drupal 8 release candidate (RC2) is available (with a significant fix for those upgrading from Drupal 6), it's time to start planning for your upgrade from Drupal 6 or Drupal 7. As I previously wrote, the migration system is "experimental" in 8.0, and at this time (mid-October 2015) the tools for upgrading are in a contributed module, Drupal Upgrade. The plan is that the upgrade path will be fully supported in core for Drupal 8.1 - to reach that goal, however, we need the path to be tested on a wide variety of sites in the meantime. So, we encourage everyone with a Drupal 6 or Drupal 7 site to start testing the upgrade path today - you don't want Drupal 8.1 to come out and only then discover your site has some quirk that's not fully accounted for. Even better, you might fight the upgrade path works just fine for your site and you can upgrade in the Drupal 8.0 timeframe! The current documentation for performing your upgrade from Drupal 6 or 7 to Drupal 8 is on drupal.org - I'll walk through the process as it exists today, but should you be referring to this blog post after October 2015, be sure to review the official documentation for any changes. This post explains running the upgrade process through the Drupal 8 web interface - if you'd prefer to use Drush, please see Upgrading to Drupal 8 using Drush.

Update on migration in Drupal 8

It's been a breathless past several weeks in Migrateland - with the core committers as a whole focused on trimming the criticals list for Drupal 8 to zero, Angie "webchick" Byron has given quality time to help the Migrate team get unblocked, triggering a flurry of activity. All along I've meant to post a status update, but things have been moving so fast it's been "well, after this next commit..." Let's review where we stand at the moment, as of September 18, 2015.

Upgrade path

From the initial decision to replace the traditional update-in-place (update.php) approach to major version upgrades with a migration-based (import into a fresh site) approach, it was made clear that the initial Drupal 8 release would not be blocked on the upgrade path. If the upgrade path was not "ready", Drupal 8.0.0 would release without it and be available for building new sites only. The plan was as Drupal 8 approached RC status the decision would be made over migration support in 8.0.0. That decision has been reached and published. By all means go ahead and read the official policy as well, but tl;dr: the migrate API and the Drupal 6 upgrade path (and possibly the Drupal 7 upgrade path as well) should be part of the Drupal 8.0.0 release, but marked as "Experimental".

Update on migration in Drupal 7

A quick update on where the migration-related modules I maintain on Drupal 7 (migrate, migrate_d2d, and wordpress_migrate) stand now, to help set people's expectations of the level of support they can expect in the issue queues. There are two main points:
  1. I am now officially working full-time on migration in Drupal 8, for the time being (I'll have a blog post with details on that work shortly).
  2. I feel that the Drupal 7 migration modules are pretty much functionally complete.

Migration contribution catch-up plan

Well, what with an increase in client work and a move halfway across the country (Somerville Mass to Murphysboro Illinois), I'm afraid I've fallen further behind on the issue queues for migrate, migrate_d2d, and wordpress_migrate. It's been a bit of struggle to triage the queues, so to somewhat automate the which-issue-to-work-on-next process, I'm reducing it to an algorithm (each step of which will be applied to migrate, migrate_d2d, and wordpress_migrate in that order).
  1. Bug reports with patches (needs review, rtbc), oldest to newest
  2. Other bug reports, oldest to newest
  3. Other issues with patches (needs review, rtbc), oldest to newest
  4. Triage of support requests to make sure no bugs are lurking there
At that point, I plan on cutting release candidates for all three modules. Hopefully at that point I'll be able to start doing a better job of responding to new issues as they come in. Hard to say when I'll have a chance to review and respond to older support and feature requests, though, it'll depend on my workload (but of course I'm not the only one in the community capable of helping out with support requests - hint hint). Thank you. Edit: Let's keep track of where I am... I'll also note that not all issues will necessarily get committed/closed, there will be some triage as I go along and not everything will make the cut for Migrate 2.6 and the corresponding migrate_d2d/wordpress_migrate releases.
  1. Bug reports with patches, migrate

Drupal 6 to Drupal 8 migration completed! (mostly)

Just had to share this major milestone - 10 minutes ago (as I type this, not as I publish it) I performed the first complete* migration of my Drupal 6 site into my Drupal 8 development environment (running the ui_poc branch of the IMP sandbox, plus a few patches to be submitted/committed). * "Complete" meaning all user accounts, nodes, comments, and files (including image references within nodes) were migrated - plenty of details yet to be worked out. Here's a shot from the D8 homepage: Yes, clearly there's a timezone issue to deal with in importing the dates...

Updates on Migrate and my site

I've been quiet for a while, so some updates. First off, this site. As part of the IMP initiative to add the Migrate framework to core in Drupal 8, supporting the upgrade process from 6 and 7, I plan on spinning up a Drupal 8 version of this (currently Drupal 6) site and start running migrations from my live site into it. I will also try to increase my frequency of posts here to help provide some more content for that migration - while my more formal and substantive Drupal-related posts will continue to appear on acquia.com, I'll be adding more personal posts (vacation photos! Everyone loves those!) and maybe some lower-bandwidth Drupal commentary (in particular updates on the migration effort for mikeryan.name). Speaking of IMP (and vacation photos) - I was off on a 2-week vacation with my wife in mid-March, and naturally have been catching up on customer projects since returning, so haven't contributed for a few weeks. chx and team have continued to make great progress, in particular getting a massive update of the sandbox work on the underlying API committed to core. I should be more active in the IMP effort in the coming months.

Soft launch - Colloquy customization

It's been a good long time, but I will be ramping up the activity here shortly as I work on IMP (Migrate in Drupal 8 core). I'm spending more time in #drupal-contribute and decided to finally go back to Colloquy as my client. The first thing I wanted was to shut up the enter room/leave room/change nick messages, but it's not something customizable through the UI - didn't take long to find it in the FAQ, a little CSS goes a long way. The next thing was to make the scrollback mark more prominent. It took a little digging, but I found the foundational CSS for Colloquy at Colloquy.app/Contents/Resources/default.css. Here's what I added to My Variant.css to get a mark I couldn't miss:
hr#mark {
	width: 95%;
        height: 2px;
	border-color: #ff0000;
        background: #ff0000;

Drupalcon summary

This may be slightly out of order, since I've still got a ways to go in blogging my notes on the specific sessions I attended at Drupalcon, but I want to get my overall thoughts and impressions out as quickly as possible.

First, expanding on my comment on Drupal.org - I'm re-entering the Drupal community after some time away, and it feels so right... There are some acknowledgements I need to make:

First and foremost, my significant other SIGNIFICANT Other, Sarah Richards, has been supportive above-and-beyond of the time I've spent Drupaling on top of my day job (and of the constant whining over how little time I have left to do all the other things I want to do). I hope her patience continues, because I have a lot of catching up to do in the Drupal world. And I hope some non-profit working on progressive change out there can use an anthropologist with project management experience (contact me if you can...).