Blog Insights
Which Version of Drupal Should I Be Using?
Since D7 still powers roughly 800,000 sites compared to D8’s 240,000, the Drupal upgrade question is top of mind for many organizations that are in the process of making plans for 2019 and beyond.
D8’s relatively-slow adoption rate to date has caused heartburn for many who wonder if they should just skip it altogether in favor of D9, comparing D8 to another product release that struggled with adoption, Windows 8. The criticism and comparison is fair, since D8 has had a stable release for more than three years, yet only has about a third of D7’s market share.
There are two main reasons that have contributed to this slow adoption:
- Drupal’s pivot to enterprise in an effort to compete with large, complex proprietary products like SiteCore and Adobe Experience Manager has left some organizations wondering if Drupal is right for them long term.
- The slow availability of D8 releases of popular D7 community-contributed modules. Since D8 was a essentially a rewrite of the entire application, this has placed a large burden on volunteer module maintainers to port their projects, and many simply never did.
So, three years in, many find themselves worrying about D8’s future and wondering when D9 might be ready.
Firming up the release schedule
At Drupal Europe in September, Drupal project lead Dries Buytaert provided some specific milestones and dates intended to help answer the “which Drupal” question. In short, Drupal is planning for a D9’s stable debut sometime in 2020, and it will grant “end-of-life” status to D7 and D8 simultaneously in late 2021. This amounts to an extension of D7’s lifecycle, and pegs D8’s early(ish) demise to Symfony 3 reaching “end-of-life” status, which is a D8 dependency.
Organizations are faced with two options:
- Stay on D7 until 2020, and complete a yearlong transition to D9 by late 2021.
- Move immediately to D8, and then upgrade to D9 by late 2021.
Major version upgrades in Drupal have long required a high level of effort. I began working with Drupal in 2007, so I’ve lived through the releases of D6, D7 and now D8. I have yet to upgrade a Drupal site between major versions that was not a ground-up rebuild. So, I can understand the hesitation of those who wonder if upgrading to D8 now, then D9, would amount to two costly redesigns in just a few years.
To those who share that concern, Dries said: “Drupal 9 will be released in 2020, and it will be an easy upgrade.” The reason for this statement is that the D9 release is planning to include backward compatibility to D8 for both the core application and contributed modules. This should substantially lower the effort for those migrating between those two major versions.
There are skeptics, of course. This is the first time Drupal has attempted backward compatibility, so as always, the devil will be in the details. Dries has promised more information at Drupalcon Seattle in April 2019.
The bottom line
Before offering an opinion on whether an organization should immediately transition to D8 or wait for D9, I ask the following questions:
-
Are you happy with your overall digital strategy? Rethinking your organization’s overall digital strategy takes time and often includes a number of stakeholders. If there is work to do at this fundamental level, it would be prudent to start it right away rather than try to address it along with a complex redesign effort in 2020 when you will be on a tight timeline to get off of D7.
-
Is your content in good shape? Aging CMS applications often contain a lot of “cruft,” old, outdated content that sticks around in a forgotten corner under dust and spiderwebs. Again, my advice is to start the effort of updating and reorganizing your content, since trying to complete that on a tight timeline down the road may prove difficult.
-
How is your code quality? Does your D7 site rely on any contributed modules that have no D8 release? How much custom code does your site use? Have you updated your site to run on PHP 7? This last question is key since PHP 5.x will reach “end-of-life” status in just a few weeks.
If your site relies on D7 modules for which there are no D8 releases (Organic Groups might be one example), but your site is updated to run on PHP 7, and your custom code is in decent shape, I would recommend waiting for D9, or at least for more information about D9. However, you should think about going to D8 in the near-term if updating to PHP 7 will require a lot of effort, or if your custom code is in bad shape and is largely unmaintained. In my opinion, it would be best to make the transition to D8 now, rather than one to D9 under a lot of time pressure. -
Do you need features that are only available in D8? D8 modernized Drupal, and it has a lot of features D7 doesn’t. It is also where current innovation efforts are focused; the latest and greatest is going to get a D8 release before a D7 one (if it gets a D7 one at all). If you want configuration management, core multilingual or workflow features, built-in web services, flexible layouts, etc, it will be a long wait to 2020 to get them.
Similarly, if you are thinking about a complex new feature for your D7 site that is going to require a large custom development effort, I could make a case for holding off on that work in the short-term and getting over to D8 first.
If you don’t have an immediate reason to migrate to D8, it makes a lot of sense to focus in 2019 on strategy, content and code quality of your D7 site. The work you do in these areas will pay off no matter what CMS platform you ultimately transition to.