Upgrading to Drupal 8: A Planning Guide
Co-written by: Jess Snyder, Senior Manager, Web Systems at WETA
A year ago, Andrew wrote that the Drupal 8 decision was coming, and advised folks to plan. Around that time, he talked to folks about their plans, many replied, “my plan so far has been to put my fingers in my ears and say, ‘la, la, la, la…’” Well, it’s time to remove your fingers from your ears and kick your strategic planning into high gear. Drupal 8 is officially released this week!
While there’s no reason to panic (unless you are Drupal 6, then it is time to get into gear), you do need to plan. Although Drupal 7 will be officially supported for quite some time, developer enthusiasm and attention is already shifting to Drupal 8. While security updates will continue, new features and innovation are definitely going to be focused on Drupal 8, and in time, fewer and fewer developers will be adept at maintaining or improving a Drupal 7 site.
In short, unless you are an early adopter, our recommendation is to begin planning your upgrade now, so you are prepared to move Drupal 8 as soon as late 2016. That means that you should get your house in order and prepare your budget requests now.
What does a Drupal 8 plan look like?
A solid plan includes a consideration of the following:
Let’s consider each one in turn.
Step 1: Consider Your Context
Before you even think about software, consider where your organization or project exists in your world.
Is your organization considering a re-branding? Are you planning a new communications campaign? Are you about to seek a new round of funding? All of these questions affect how and when and how you should move to Drupal 8.
Too often, organizations consider a technical change outside of the broader context of their overall communications plans. Ask yourself: “What do I want my website to achieve?” – in real terms, not simply in terms of what will impress your boss or board. You should have goals that are more mission-focused that simply “make the site easier to use” or “work better on mobile.”
If you are considering updating your project or organization’s visual expression, you should make sure that this is established before you start the project. Drupal 8 has a new Twig-based templating engine, so you will need to re-theme the entire site even if you wish to retain your site’s existing design. This means that fonts, page headings, page footers, color assignments, form stylings, mobile-friendly styles – everything about your site’s overall “look and feel” – will need to be re-created as part of a Drupal 8 migration. Don’t make the mistake of coding in your old style only to have to re-theme it again later.
Considering your organizational priorities will also make it easier to make the case that the upgrade is necessary. If you are a Drupalist or technical staffer, you already know in your heart that a Drupal 8 upgrade is the right move for your organization. But chances are, you will need to convince non-technical decision-makers who won’t be swayed by all of Drupal 8’s cool new features. Being able to align the technical upgrade with your organization’s overall strategy can help you avoid potential delays or derailments.
If you do your homework, you will be in a good place to argue for an upgrade. Here’s a checklist to jump-start your digital project.
Step 2: Catalog Your Content
An upgrade to Drupal 8 also represents an opportunity to re-think your content. When you move to a new house, it’s best practice to go through your belongings and separate them into piles: “keep,” “donate,” “trash,” and “repair.”
Take a similar approach when planning your upgrade project. As my colleague blogged, you need to ask yourself four questions: How much content do I have? How good is it? What’s missing? Who can fix it?
A content audit will provide you a clear view of which content types are in use, which ones are valuable, and which ones could be deprecated. Next, evaluate your content’s quality by checking the data. To determine what’s missing, talk to your stakeholders – department heads, content owners, and perhaps even your audience. Finally, assign missing or poorly-written content to the appropriate experts or copywriters.
Pruning your content will save time and money during the upgrade. For instance, perhaps your communications department has decided that it no longer needs press releases listed on the site. By eliminating that type of content, that’s one less content type to migrate and one less view to be re-created.
Likewise, ask yourself, “are my content types still getting the job done?” For example, a process or workflow that was required when you originally launched your site may no longer be current practice. Ask your content editors whether there are pain points when they edit and update your existing site. Is there a way to improve their authoring experience during the upgrade?
This is also an opportunity to break apart a large site into smaller, more manageable chunks. For instance, on Jess’s site, weta.org, she is considering whether she might rebuild the WETA Press Room separately from the main Drupal instance. This will isolate that subsite’s special functionality and give her practice building a Drupal 8 site before tackling the larger project, while at the same time making that larger project less complex.
This is also the time to consider whether there are pieces of functionality that had been incredibly important, but may no longer make sense. For example, there are incredibly complex rules that govern how playlists are displayed on weta.org. Before rebuilding that functionality in Drupal 8, Jess plans to confirm with her legal department that those rules are still in effect. If your site has similar bits of legacy functionality that are no longer relevant, put those in the recycle bin. There’s no sense in bringing low-value functionality into your new D8 site.
Step 3: Evaluate Your Platform
On modern smartphones, you can tap an “upgrade” button, set it down, and return to a fresh interface and new features in less than an hour.
Your Drupal 8 upgrade will be nothing like this.
Make no mistake, a move to Drupal 8 is more of a re-build than a simple upgrade. While your content, users, and other elements can be systematically moved over cleanly, you still will need to re-create your themes, install and configure modules, reconfigure views, and much more. The complexity of an upgrade is determined by the complexity – and quality – of your existing Drupal instance.
In addition, if your site is using any custom programming, those pieces will need to be ported manually to be compatible with Drupal 8’s new API.
Therefore you need to evaluate the state of your specific technical configuration. This will help with your budgeting. Here are some questions to ask:
- Is your CSS is compiled?
- Which modules you are using? Which ones are now in core? Which ones can be retired?
- Do changes in best practices necessitate different modules or different approaches?
- Are you using any custom programming?
- Is your theme responsive, or will the design need to be adapted to work well within a responsive theme?
- Are your analytics installed and configured correctly and usefully?
- Are there any technical integrations between Drupal and other systems that will need to be re-established?
Consider whether your current Drupal solution is weighed down by complex functionality that serves just a portion of your site? For example, might you have a large number of community-focused modules simply because it needs to support community functions for a small slice of your audience? For example, Jess’ site supports moderated user authentication due to the requirements of just two small, low-traffic features. As part of the Drupal 8 upgrade, it may make sense to break these features into their own mini-site.
And here’s a more frightening question: Are your security patches current? If not, there is a high likelihood that your site has been compromised. Not only should you take steps to plug those holes immediately, you will want to use the upgrade process to redouble your efforts keep things locked down.
If you can’t answer these questions on your own, consider getting a Technical Audit by a qualified consultant. We can help audit your site!
Step 4: Consider Your Resources
As we’ve said, it’s important to frame this to your peers as a rebuild, not an upgrade. This is the first step to making sure you have the resources you need.
Depending on your situation, a move to D8 will require the following capabilities (among others):
- Audience Research
- Content Strategy
- Front-end Development
- Back-end Development
- Information Architecture
Take an honest look at your staff. Consider how many of these capabilities are available to you in house. In addition, think hard about the weight of the task. A team that is capable of supporting and improving an existing solution may not be able to continue that support while taking on the sometimes substantial task of a major upgrade.
If your resources are not sufficient, you will need to find a partner in the form of skilled independent contractors or a trusted agency.
Step 5: Plan Your Budget
Budgets are prepared annually at most organizations, and this is not a small project that can be slipped into another line item. You should be thinking now as to whether your D8 upgrade will hit your 2016 budget or 2017 budget.
Budgeting for a technical project such as this is a challenging, multi-faceted exercise in the best of circumstances. Upgrade projects are even trickier because, at this writing, virtually no one has prior D8 upgrade projects to reference as a baseline. Still, budgets must be planned, so plan we must.
Here are a few things to consider in your budgeting:
- How many outside consultants will you need to engage and at what levels? (See step 4.)
- How much strategic work must precede the migration?
- How much creative work must precede the migration? (Do you have brand and visual identity guidelines?)
- Which custom applications must be migrated?
- How many content types must be migrated? The types of content are often more critical than the volume of content. (That is, knowing your site has content types for, say, press releases, blogs, and videos is more useful indicator than the actual quantity of each type.)
- Which integrations are needed?
- Have you budgeted for ongoing security patching?
- How will the upgrade affect your hosting costs?
And with all these questions, the answers are easier if you are able to break larger projects into smaller ones.
Listening and Learning
Unfortunately, the fingers-in-ears strategy is not a viable solution. The tips in this article provide you a framework for your planning so you can get your organization in a good position to upgrade to Drupal 8 when it makes sense for you. In the meantime, there is a lot we can learn from each other. Keep your eyes and ears open!
If you have further questions about the Drupal 8 release and where your existing site fits into this, please get in touch and we’d be happy to talk it through with you. And for information on how to upgrade from Drupal 6, check out What’s Your Drupal Upgrade Path?