And it’s here! The latest version of Drupal – version 9 – has launched, marking the start of a new era for the open source platform. We’re excited as we’ve been waiting for this for some time and can now start to migrate our clients on to the new version.
It also means we’re updating our advice on the strategy for any organisation that hasn’t yet planned its migration path. Given that Drupal 9.0 is effectively the same as the latest version of Drupal 8 (apart from a couple of aspects), there is no longer any benefit for Drupal 7 users to upgrade via the latest version of Drupal 8. You'll need a complete rewrite either way. Drupal 8 users, on the other hand, will still need to upgrade to at least version 8.8 (the latest version is Drupal 8.9) and then to version 9, for reasons we explain below.
But the launch of Drupal 9 doesn’t mean that upgrading is now without any potential pitfalls. There are still issues you need to be aware of to ensure the upgrade is painless and you can reap all the benefits that Drupal 9 promises.
Missing the deadline to upgrade to Drupal 9
The most obvious pitfall for any organisation using an older version of Drupal is missing the deadline of November 2021 for Drupal 8, and November 2022 for Drupal 7. If you haven’t upgraded by then, you can access support via a paid service. But this means you are both paying for the privilege and also missing out on the many benefits introduced in the various minor releases of version 8. Yes, you'll have to rewrite your Drupal 7 applications, but a good agency will know how to do this effectively and efficiently.
You’re also putting your organisation at risk if you don’t upgrade, as there will no longer be security updates and bug fixes, other than critical ones. You can sign up for security updates with an approved Drupal 7 extended support vendor or a Drupal 6 long term support vendor – but again, why not put this money towards an upgrade instead?
Finally, if you don’t upgrade by the time support ends, third party software scans may flag your applications as being insecure. And nobody wants to lose business because of this.
Not being prepared
Just like a good Scout, you should be prepared before doing any upgrade. And that means doing a complete site audit – or getting one done by an experienced third party – to understand the extent of what you’re working with, and also creating a clear upgrade plan. If you don’t do a full audit, you won’t know how much work the upgrade will involve, which will have implications for your budgeting and mean you are unaware of the likely timescales involved. You may also miss modules or code that needs upgrading, which later on could result in features or whole applications that don’t work.
Remember, this is a one-way path – once your site has moved to Drupal 9, there’s no going back. So it’s important to get everything right. Your upgrade plan therefore needs to include testing on a separate copy of your site before going live. We can’t emphasise this enough – a thorough testing plan is important.
You also need to assess which features you need to keep and whether there are any you want to add. Without doing this, you may spend money updating features users don’t want or care about. Just as importantly, you could miss the opportunity to add features users do want or that would make your application more attractive, as well as ones that could make your team’s jobs easier and more efficient. Doing only what you need and doing everything at the same time is the most time- and cost-efficient approach.
This aspect is particularly important to get right if you are upgrading from the older version 7, as the upgrade is a bigger task than from version 8. But it will still save you time and money overall if you are upgrading from older minor releases of version 8.
One final point here is that your audit should look at the hardware as well as the software. The underlying system requirements for Drupal 9 have moved on. So if your website is running on an older hosting platform, that may need upgrading to work efficiently – or at all. The upgrade status module will check this for you along with everything else.
Not doing the job properly
For those who have already upgraded to the latest version of Drupal 8 – either as a stepping stone to 9 or simply because you’ve been keeping up with each minor release – the route to version 9 has been heralded as straightforward. And it is, but it still requires more than just a direct upgrade.
The most important thing is to run the module that will check for deprecated code that has been removed in version 9 and any third party dependencies that will impact performance after the upgrade, or may even stop it working altogether. This is why Drupal 8.7 users and below need to upgrade via Drupal 8.8 or 8.9.
Among the things you will need to do are upgrade contributed modules and themes to the latest versions and check your templates. And you will also have to address any changes due to any prior customisation work, the extent of which may vary enormously. If you don't do this properly, there may be code that simply doesn’t work after the upgrade, limiting functionality and causing site users to get frustrated, potentially damaging your credibility.
A good agency will work through all of this with you to ensure nothing gets missed and takes the most efficient route to get to where you want to be. Our aim is always to let you focus on your business while the upgrade work happens in the background.
Once you have upgraded to 8.8 or 8.9, it would be pointless to then not continue and upgrade to version 9. Using the latest version of 8 – which is now 8.9 – gives you all the security patches, as does version 9.0 of course.
Another potential pitfall is not migrating content properly if you are upgrading from version 7 (this won’t be an issue if you are upgrading from version 8). It is possible that you could lose content if this happens, but with a good plan this shouldn’t happen.
Running out of time and money
Every upgrade takes time and costs money. And in the current climate, we appreciate that you could run out of one or the other before the upgrade is complete.
This is why planning is so important. And also why we recommend an agile approach that would enable you to safely complete enough of the upgrade work to go live with a reduced feature set at least before the Drupal 8 deadline of November 2021 or Drupal 7 deadline of November 2022.
The agile approach also means that if you are upgrading from older versions of Drupal 8, you can stop at version 8.9 for a while if you need to, with minimal work needed to take the final upgrade step when you have the budget.
Asking the wrong questions
Few organisations will do a Drupal upgrade themselves, so it’s important that you choose a capable partner to work with on your upgrade. The potential pitfalls we’ve already mentioned will give you ideas of what to check for if you're looking for an upgrade partner.
We also suggest asking for examples of recent Drupal 8 sites a partner has worked on and their experience with preparing sites for Drupal 9 (given that few will actually have completed any Drupal 9 upgrades just yet), along with references. Some agencies that cut their teeth on Drupal 7 sites seem to write Drupal 8 sites in what we would call a ‘Drupal 7 way’, which could cause you problems later on.