Tibor Uittenbogaard | 22 maa 2019
The benefits of Drupal
It’s no secret that here at One Shoe, we’re a fan of Drupal. Drupal is an extremely versatile Content Management System (CMS) and can be used for all types of websites. Because of the many modules that are available, you can endlessly combine modules together to create new functions. Drupal is open source software and therefore available for free and no permission is needed to (further) adjust the software to fit your business needs. Thanks to Drupal’s large community and it’s own security team, Drupal is completely safe, up to date and protected against security risks at all times.
'When is the right time to upgrade your Drupal 7 website?'
As stated, the newest version of Drupal, Drupal 9, will be released in 2020. This also means that the official support for both Drupal 7 and 8 will end in November 2021. So when you have a Drupal 7 website, you have decide whether to upgrade or not.
Having the newest version of Drupal means being completely up to date. However, not all Drupal 7 projects should immediately upgrade. Holding back on a Drupal upgrade now, might be the best choice for you because:
- The costs for upgrading to Drupal 8 now will be similar to upgrading to Drupal 9 in the future. If your situation allows you to postpone the development of new features and the implementation of (significant) changes in your current Drupal 7 website, then migrating now to Drupal 8 will theoretically cost the same as migrating it to Drupal 9 in 3+ years.
- It is unsure whether your Drupal project is capable of following the same timeline of upgrading from Drupal 8 to Drupal 9 that the Drupal Community envisions. Only if the Drupal 8 to Drupal 9 upgrade is indeed as applicable to your project and project architecture, then will your Drupal 8 website and CMS be able to move seamlessly into the future without rebuilding or refactoring large parts.
When you do wish to upgrade your Drupal 7 website, we come back to our second question of this article:
‘Do I upgrade to Drupal 8 or should I wait for Drupal 9?’
It is safe to say that up until to Drupal 7, upgrading to a new version of Drupal was not just simply implementing a core or module update. Upgrading meant a rebuild and migration. Every new Drupal version was based on an almost completely refactored architecture and way of thinking. As a consequence, there was no clean or easy upgrade path, as the structure was totally incomparable.
How did it come to that? Why wasn’t upgrading Drupal as simple as the one-click press of a button like, for example, Wordpress does already? The best explanation I can give is that the Drupal community made a conscious decision not to let legacy architecture and past decisions hold back the progress of Drupal. And this course of action has attributed greatly to the success of Drupal as a relevant CMS.
Another reason why Drupal has been so successful is because of big and forward-looking changes. But because of these changes, the adjustment of some of the major releases of Drupal have not all been smooth. The upgrade path from Drupal 7 to 8 was a challenge but has made the Drupal Community more determined to create a smooth upgrade path for Drupal 8 tot 9.
A smooth upgrading path from Drupal 8 to Drupal 9
To create a smooth upgrade path from Drupal 8 to 9, the new features and backwards compatible changes will continuously be released in Drupal 8. During that process it is sometimes necessary to deprecate the old systems. These old systems will be kept in place so that modules and custom code will continue to work while the module maintainers are encouraged to update to the new systems. Because of the continuous innovation, at some point there will be to much deprecated code in Drupal 8. the deprecated systems will then be removed and the remaining system is released as Drupal 9.
Upgrading Drupal 7 to Drupal 8 now
Based on the upgrade path that the Drupal Community has planned, Drupal 9.0 should be almost identical to the last Drupal 8 release. So, it might be beneficial to upgrade your Drupal 7 website first to Drupal 8 and later to Drupal 9. Simply because the upgrade from Drupal 8 to 9 is easier. So there are (business) cases in which you should upgrade your Drupal 7 project now. But if we view a business case as being strictly economical by nature, you should ask yourself: how much do I expect to de-invest by upgrading now, vs upgrading in the future?
The underlying idea here is: upgrading now costs money. The longer you can postpone that, the more return on investment (ROI) you’ll get from the investment you’ve already done in your Drupal 7 project. And at the same time, investing more in the Drupal 7 project now, means de-investing more in the future.
You have a Drupal 7 project and need a new feature or plan to refactor something. In this situation you have a choice between implementing this new feature now (on your Drupal 7 project), or upgrading to Drupal 8 first, and including that new feature development in the upgrade project. Let’s take a look at the following hypothetical and simplified financial analysis of this business case;
In the analysis above we make some assumptions:
- The new feature will cost less to develop as part of an upgrade project, than as a stand alone project because it’s easier to include new features in a new build.
- The upgrade to Drupal 8 now means upgrading less features and migrating less content, assuming the website / platform will continue to grow and evolve the coming years. So upgrading now is cheaper than upgrading Drupal 7 to Drupal 9 later.
- There are business needs that push for investments in new feature development.
- Maintenance is an ongoing process and comparable on all Drupal versions.
- Upgrading from Drupal 8 to Drupal 9 will be similar to a (very big) maintenance update.
Conclusion: upgrading to Drupal 8 is a good idea when you have a significant investment planned for your Drupal 7 project now, and if you foresee that you will need to continue developments in the coming years. That means that upgrading from Drupal 7 to Drupal 8 will be your last significant upgrade investment and any future development on Drupal 8 will be an investment with a long(er) lifespan than would be the case on Drupal 7.
Wait for Drupal 9
There are business cases in which it would be better to wait for Drupal 9. For example, you can do this when new feature developments aren’t immediately necessary. Let’s take a look at the following hypothetical and simplified financial analysis of this alternative business case;
Although it may not be realistic to assume that no new features will be implemented in between now and the upgrade, if there are indeed no new features, the cost difference between upgrading now and upgrading then should be € 0.
Conclusion: by upgrading Drupal 7 to Drupal 8 now, you may end up paying for an upgrade now and for a significant and equally costly upgrade to Drupal 9 in the future. It all depends on your specific business case.
Checklist to decide whether to upgrade your Drupal 7 CMS
We’ve summarized the ideas behind this article into this one handy flowchart, that doubles as a step-by-step checklist that you could apply for your project evaluation.
About the author
Tibor Uittenbogaard is Digital Consultant at One Shoe since January 2010. Tibor consults and guides our clients in determining goal-oriented strategies and optimal practices for project cooperation, software development and digital communications strategies. Feel free to contact Tibor if you’re curious to learn more about brand strategy, user experience, development of websites, apps and software, or other topics relating to communication and digital marketing.