Home / Comment permalink

Getting your site ready for Drupal 8

Note: Last update April 28, 2014

The drumbeat has started. On an almost daily basis, I'm asked How do I get my site ready for Drupal 8? Here is my best answer. If you go dutifully through this list, your site will be in peak condition when Drupal 8 is released.

Start giving your administrators a taste of D8 now

Significant parts of Drupal 8 are already available for Drupal 7. These modules are not quite as strong as their D8 counterparts, but they are a great investment you can make today.

  1. Get your admins excited about their future by installing Navbar module. This is a mobile-friendly administration toolbar. It replaces the toolbar module that comes with Drupal 7.
  2. The Ember theme works nicely with Navbar, and will be available immediately when D8 is released.
  3. Install ckeditor, the WYSIWYG editor for Drupal 8. Start learning the authoring system that has been greatly improved in Drupal 8. All your customizations should migrate smoothly when you upgrade.
  4. The Edit project brings in-place editing to Drupal 7. In-place editing radically simplifies and accelerates simple edits to existing content.
  5. URL field and Telephone are Field modules which let you collect URLs and Telephone numbers in your content forms. The modules also format those items in an HTML5 compliant manner when viewing content.
  6. The RESTful Web Services project (restws) for Drupal 7 is a worthy ancestor of Drupal 8's REST API. If you build on restws, your applications will need minimal updating for Drupal 8.
  7. Administration Views lets your admins experience D8's flexibility now, with custom dashboards for managing content, comments, etc.

Start giving your developers a taste of D8 now

Upgrading to Drupal 8 is non-trivial. The more your developers know about Drupal 8, the smoother it will go. Encourage them to:

  1. Subscribe to Drupal Planet. This RSS feed has lots of blog and long form articles from all around the Drupal community.
  2. Subscribe to Drupal Watchdog. This print magazine always features terrific, deep articles about Drupal 8.
  3. Start studying the Migrate module which has been moved to core in Drupal 8. This will be your lifeline to bring content along from your existing D6 or D7 site.
  4. Drupal 8 has embraced PHPUnit for a large portion of its tests. We are also considering using Behat for system tests. Consider using these when testing your own sites.
  5. Drupal 8 ships with many PHP libraries and Javascript libraries. Building upon those insures that you don't have to make significant changes later.
  6. Setup a Drupal 8 environment just for learning and experimenting. Step through a simple request (e.g., example.com/node/add) in a debugger to visualize all that's changed in page construction.
  7. Once RC1 is available, consider launching a small event site, or a marketing campaign site on Drupal 8. This experience smoothes the path for migration of your primary sites.
  8. Attend DrupalCon or a DrupalCamp. Drupal 8 is a major topic at nearly every camp.

Prune your structures

A tidy Drupal site is far easier to upgrade than one that has cruft lying around. Get rid of unused or duplicate structures such as

  • Views
  • Content types and fields
  • Panels
  • Feeds
  • Vocabularies and terms
  • Blocks
  • Rules
  • Organic groups
  • Themes
  • Features

Several of these items also allow for overrides such that the most recent code is in the database instead of your version control system. Now is a great time to move those overrides back to code.

Inventory and remediate contributed modules

Review the list of enabled modules on your site. Each module has to be dispositioned for Drupal 8:

  1. If the module is no longer needed, disable and uninstall it. Done. Otherwise....
  2. Is the module available for Drupal 8? The Upgrade Status module answers quickly this question for all your modules. If available, you are done.
  3. Otherwise, consider porting the module to Drupal 8. This helps you and the entire Drupal community.
  4. If the module has been superseded by a better module, consider using new shiny one in Drupal 8. Migrate module makes it relatively easy to move data to a new module.
  5. Another alternative is to look for a third-party service to replace an unavailable module. For example, one could move mapping to Mapbox, spam blocking to Mollom, and search to Acquia Search.

Remove code hacks

Most Drupal sites eventually hack core or contrib files. That can be a reasonable remedy for a pressing bug or missing feature. However, hacks can lie around in a codebase long after they are needed. For example, you are now an older and wiser Drupal dev and you know how to accomplish your change without a hack. Go ahead and do that, so that you can cleanly upgrade your module and not lose your "improvements." Contribute back useful hacks to drupal.org so you can run a clean module again.

Review your theme

Themes can be a convenient place to do all sorts of unholy things. Move code that belongs in page building to an alter hook or similar. Simplifying your theme in this way will make the upgrade to D8 Twig easier.

Carve out some budget

The upgrade to Drupal 8 requires hours of development, QA, infrastructure, etc. Allocating budget ahead of time lets you move quickly later.


Posted on by John (not verified).

Hi, I am thinking about migrating my current Wordpress site to Drupal. The site is http://www.tourintotibet.com. I am wondering if this is difficult to do, and is it worth the trouble?

Posted on by mweitzman.

Many people migrate from Wordpress to Drupal when their sites grow bigger so I do think this can be "worth the trouble". A colleagues from Acquia contributed a module to help with this migration. If are interested in a full solution, please consider hiring our Migration Practice to migrate your site.

Posted on by Devin Carlson.

I'd also suggest the Administration Views module which transforms the Drupal 7 admin listings into views, as they are in Drupal 8.

When upgrading from D7 to D8 you should just be able to uninstall the module and get all of the same benefits.

Posted on by Dave Reid.

There are both https://drupal.org/project/ ckeditor and https://drupal.org/ project/wysiwyg_ckeditor. The latter was used to actually develop the WYSIWYG integration in Drupal 8. Which one should people actually use?

Posted on by Lars Olesen (not verified).

It seems that the referenced project for upgrade status only have versions for 5.x and 6.x?

Posted on by mweitzman.

That is correct. This module needs to be ported to Drupal 7. Please help in its issue queue.

Posted on by Jesus Manuel Olivas (not verified).

Configuration Management
https://drupal.org/pro ject/configuration

Entity Translation
https://drupal.or g/project/entity_translation

Administration Views (mentioned below)
https://drupal.org/proje ct/admin_views

Posted on by shanethehat (not verified).

I think this is a really good list. I would add that whilst developing the SensioLabsUK site I found that getting involved on the Drupal IRC channels and attending the core mentoring office hours was also really beneficial. Learning about the Drupal core and how it's changing in D8 makes porting your own themes and modules much easier.

Posted on by John (not verified).

New at Drupal and wanting to be prepared for D8

There are two type of translation schemes for ML in D7: Content and Entity. I am confused when reading the initiative for ML as to how I should set up a ML site and be ready to migrate to D8.

Can you clarify?


Posted on by Cas (not verified).

Some what of an open question I guess but I wonder if it advisable to replace AIS with the Picture Module for images at this stage?

Posted on by Bruno De Bondt (not verified).

Are there any recommendations for going from D6 to D8? E.g., steps one could take to make it easier to move to CMI, to make the migration easier, ... A lot of the advice could be translated to D6, but I'm wondering if you have any tips specifically for D6.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Filtered HTML

  • Use [acphone_sales], [acphone_sales_text], [acphone_support], [acphone_international], [acphone_devcloud], [acphone_extra1] and [acphone_extra2] as placeholders for Acquia phone numbers. Add class "acquia-phones-link" to wrapper element to make number a link.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <h4> <h5> <h2> <img>
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.