Migrating Drupal on Cloud9

I decided to revive my old website and upgrade it from Drupal 7 to Drupal 8 in order to see how the migration process was coming along. I want to automate the process in order to help my clients and discovered a real shortcut by using  Cloud 9. Cloud 9 is a company that sells Ubuntu development server instances and offers a free account that allows you to create one private server and as many public sites as you want using the dashboard:

dashboard
You can create and delete as many public servers as you want and, as well, set up one private server. And each one has  a web based Integrated development environment (allowing you to edit, test and debug software), access to a command line shell and facilities for sharing access and collaborating on projects.

c9ide

Spinning up servers on demand for migrations and upgrades has a number of advantages:

  • You get a full LAMP stack immediately – no need to configure Apache etc.
  • You can easily create multiple instances for each stage of your migration process so that backend, frontend, graphics teams etc. can work in parallel.
  • If something gets irretrievably messed up the overhead for starting again is a few clicks on the dashboard to create a new server and a checkout from your version control system.

In addition to using C9 I use the drush (DRUpal SHell) utility, the Swiss Army knife of Drupal administration. No one attempting a Drupal migration should be without it. It allows you to perform tasks difficult or impossible to perform via the web interface via short command line commands. For example a drush command to download a copy of Drupal 8:

 

drush dl drupal-8 –select

 

Is considerably less effort than locating a download site, downloading, extracting and copying the files to your web root. Drush commands can be stacked up in bash shell scripts and you can also create new drush commands making it possible to automate large portions of your migration.

 

Let’s take a look at how my conversion went. This is my starting site, a Drupal 7 install using the Koi theme as well as Panels and Views.

startingsite

Using drush I downloaded Drupal 8 and then opened the site url and went through the web based install process. At the end of it I had an empty Drupal 8 install to which I added the following modules:

  • Layout_plugin
  • Migrate_plus
  • Migrate_tools
  • Page_manager
  • Ctools
  • Migrate_manifest
  • Migrate_source
  • Migrate_upgrade
  • Panels

I also enabled the Drupal Upgrade UI module:

drupalupstart

And then proceeded to upgrade.

Here’s the pre-upgrade report produced by Drupal – ‘available upgrade path’ means I can deal with this stuff and ‘missing upgrade paths’ means I can’t deal with this stuff. I’d assume this will be typical of a small, Panels using Drupal site.


Are you sure?

Home

17 available upgrade paths 42 missing upgrade paths

Upgrade analysis report

 

Missing upgrade paths

The following items will not be upgraded. For more information see Upgrading from Drupal 6 or 7 to Drupal 8.

SOURCE                                DESTINATION

admin_devel                        Missing

Admin_menu                       Missing

admin_menu_toolbar        Missing

blog                                           Missing

bulk_export                            Missing

ckeditor                                     Missing

Color                                           Missing

Contextual                                Missing

Ctools                                          Missing

SOURCE                                    DESTINATION

ctools_access_ruleset            Missing

ctools_ajax_sample                Missing

Ctools_custom_content        Missing

dashboard                                   Missing

Easy_social                                 Missing

Field_sql_storage                     Missing

field_ui                                         Missing

help                                                 Missing

list                                                    Missing

number                                           Missing

options                                             Missing

overlay                                              Missing

page_manager                                Missing

panels                                                 Missing

panels_ipe                                         Missing

panels_mini                                      Missing

panels_node                                      Missing

pathauto                                              Missing

rdf                                                          Missing

social_media_links                          Missing

standard                                              Missing

stylizer                                                 Missing

system                                                 Missing

term_depth                                        Missing

token                                                   Missing

variable                                              Missing

variable_admin                                Missing

variable_realm                                  Missing

variable_store                                   Missing

variable_views                                  Missing

views                                                    Missing

views_content                                  Missing

views_ui                                             Missing

AVAILABLE UPGRADE PATHS

SOURCE                                             DESTINATION

Block                                                     block block_content

comment                                              comment

contact                                                   contact

dblog                                                       dblog

field                                                          field

file                                                            file

filter                                                         filter

image                                                        image

Menu                                                        menu_link_content

                                                                   Menu_ui

                                                                   system

node                                                          node

path                                                            path

search                                                         search

A number of modules I was using have no Drupal 8 versions and so their data can’t be converted. The ones that concern me are the Chaos Tools, Views (this is in core now but not converted?) and Panels modules which are, IMHO, the best thing about Drupal. You’ll still have to pick a new theme and customize a base / build from scratch as well. And although the migration info form asks for the path to the files directory it didn’t move the contents.  

The conversion seems to do a good job on content nodes though so I’d say it’s probably worth using. In the end, this is what I got:

afterupgrade

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s