Articles

Three great options for upgrading Drupal 7

By Patric Ojala

Drupal 9 is launched 3rd of June, 2020 and support for Drupal 7 and Drupal 8 will end at the end of 2021. At the first glance this might appear to be a burden, or at least something not too welcome. But this actually is the turning point which allows the development of your digital in more ways than before. And the sooner you start dealing with it, the wider the selection of options will be.

Drupal9 rocket that has launched from the Drupal7 box

What is Drupal 7?

Drupal is one of the most popular open-source content management systems (CMS) in the world. Drupal has been around for 20 years already and has evolved into a very powerful platform for web services utilized by thousands of companies and other organisations around the world. Wikipedia tells us that 2.3% of all websites on the internet utilize Drupal. Open source means that there is no license fee for utilizing it, but it does not mean that the platform would not evolve or lack timely security updates.

There are over a million developers contributing to Drupal regarding security updates and evolving the platform into improved versions. Wunder participates in this work. There are additionally thousands of free extension modules, and the system has been translated into a hundred languages. And Drupal is actually a high-end web service platform, serving large corporations and organisations, even though enthusiasts have set up their personal blogs and other simpler sites using it.

And what is this D9 upgrade?

Drupal is great as stated above and Drupal 7 is a very popular version of it. But it is an older version launched in early 2011. The next major version Drupal 8 has already been around since 2015, and Drupal 9 was launched on 3rd of June, 2020. Drupal 7 is still widely utilized, but around the time it gets 10 years old at the end of 2021, its support will end. There will thereby be no further security updates, meaning that no respected company or organisation will be able to rely on it anymore.

It gets a bit more complicated by the fact that support for Drupal 8 will also end in late 2021. But the key here is that Drupal 8 can be upgraded to Drupal 9 with minimal effort. Drupal 9 pretty far just cuts out legacy code that has improved compatibility with earlier versions. But the upgrade from Drupal 7 is something that takes more effort and resources. Whether you upgrade to D8 or to D9, the needed actions are remarkable. But so are the benefits of the upgrade. And that is the whole point of this blog post.

How should you deal with this upcoming compulsory upgrade from Drupal 7? I would like to tell you about the three great options that Wunder offers its clients. And as always, if you wish to know more, do not hesitate to contact us. To get the best picture of the options for Drupal 7 upgrade one must first know the benefits and possibilities of Drupal 8 and Drupal 9, and that is coming up next.

What is good about Drupal 8 and 9?

Drupal 8 and 9 have much refined responsiveness. Just using what comes out of the box, you can create a truly unified experience making just a single web service that will work as well on desktop as on mobile devices.

Multi-language support comes out of the box. Creating and maintaining numerous language versions of your web service and its content is now handled by built-in modules.

Drupal 8 and 9 have lots of site speed improvements. This improves both the user experience (UX) of web service and search engine optimization (SEO). SEO means that Google and other search engines are more likely to give search engine users a search result of a faster responding web service than of a slower responding one.

The more advanced web services become, the more likely it is that there are integrations of some external systems. One example could be a web shop that often integrates with an enterprise resource planning (ERP) system and customer relationship management (CRM) system. Drupal 8 and 9 improve the capabilities of integrating other systems.

Editing content is made easier in Drupal 8 and 9. You can now edit your content directly on the actual web page that your website visitors see. And the rich text editor has been greatly upgraded to more correspond to industry standard text editors like MS Word.

Accessibility has been improved, which is very important at this age of requirements globally.

And last but not least Drupal 8 and 9 enable decoupled web services. The topic of why you would want to build decoupled structures is extensive. We will look at that a bit more closely next.

What is good about decoupled services?

Decoupled structure is a very simple implementation of microservices architecture. Here the web service is often split only into different applications for front-end, the user interface, and backend, the CMS. These two are communicating using some application programming interface. Backend in this case would be a Drupal CMS working headless, meaning that only its backend is utilized, and no Drupal frontend would be implemented. The frontend would instead be implemented as a separate application using some other technology than Drupal, often React javascript (JS). Wunder has a separate blog post on this subject, but we’ll quickly list some of its benefits here too:

React is a JS library focused on enabling a superb UX. Toolkits like Drupal front-end have their limitations despite numerous extension modules. React and JS as a whole gives the developer practically unlimited opportunities in user interface implementation.

A decoupled React frontend can be implemented to make the data pull for drawing the UI just a bunch of file reads. This makes the response time to user inputs seem instant, and super fast even compared to the highly optimized front-end functionality of Drupal 8 and 9. This light data retrieval is additionally more environmental.

A decoupled web service can also be made super secure, as the frontend connected to the public internet only contains public data, while the backend with the restricted content and functionalities can be completely isolated from the internet.

Integrations are another thing that was improved in Drupal 8 and 9, but can be even easier and more cost-efficient to implement in a decoupled structure as they don’t necessarily need to be integrated to the CMS, where the imported data needs to be duplicated to the database of the CMS.

Three great options for upgrading D7

Now that we have stated the benefits of D8 and D9 and also what a decoupled structure can add, let’s continue to the main course. The three great options for updating Drupal 7 they are:

  1. A direct copy of the Drupal 7 site now implemented in Drupal 8 or 9.
  2. An ideal rebuild of the Drupal 7 site as a no trade-off decoupled web service.
  3. The same old Drupal 7 site now isolated from the public internet, but with a brand new frontend implemented in React.

1. A direct copy in Drupal 8 or 9

If you simply wish to upgrade your Drupal 7 web service as is to Drupal 8 or later to Drupal 9, we have a maximally cost-efficient solution for you.
This is a turnkey solution, and from the client’s perspective the project will be kicked off and some months later the completed Drupal 8 or 9 web service will be ready for replacing the old Drupal 7 application.

Cost efficiency is enabled by the longer schedule and possibly non-fixed teams to replace Drupal 7 with Drupal 8 or 9. If your web service feels perfect for your needs and only the Drupal upgrade is needed, this might be the right solution for you.

2. An ideal rebuild

This is where the opportunity truly comes in, as promised in the topic of this post. As the site will have to be close to rebuilt anyway, why not take advantage of this fact and create exactly the web service your organization needs while at it?

Your Drupal 7 application is most likely a so-called monolithic service, while web services are these days increasingly built as decoupled systems due to the benefits listed earlier in this article. Option 1. might come at a somewhat lower price. But looking a few years down the line, a rebuild into a decoupled system should be a very strong alternative also looking at costs and return on investment.

The solution for such an ideal rebuild is in many cases a Drupal 8 or 9 CMS as backend and a React frontend. This brings benefits of both the later Drupal versions and the decoupled structure as listed above. The resulting web service will be genuinely modern and remain relevant and cost-efficient for years to come.

3. Keep the same old Drupal 7 as backend

This is a bit of a surprising solution. I wrote earlier in this article about how Drupal 7 must be upgraded and now I claim that you can keep using it after all. The thing is that it must be changed as security updates will cease to be released and your application will be in increasing danger of getting hacked. But if your Drupal 7 application is isolated from the public internet, then it will become so much harder to hack that you should be able to keep sleeping your nights without a worry – about this at least.

A web service still needs a frontend – a user interface. The solution is to make a decoupled web service out of it and add a frontend created with React. I did claim earlier that Drupal 8 or 9 is needed to enable decoupled web services. This is basically true, but there are ways to decouple also Drupal 7, even though the proper support for it arrives only in version 8.

It is strongly recommended to eventually upgrade also that Drupal 7 backend of such a system as the evolution opportunities of that Drupal 7 application will remain limited as it will no longer evolve or get new modules, and the amount of skilled Drupal 7 developers will decrease. But such a decoupling procedure will extend your Drupal 7 application’s lifetime and it will no longer expire at the end of the year 2021. And when you finally wish to upgrade that backend, very little need to be changed regarding that React frontend application, if it has been built as it should.

This approach could be seen as a split investment. Short term you will primarily get away with just rebuilding your frontend. The frontend should naturally be improved if needed while at it. And when you later upgrade that backend including improvements, you will end up with what was proposed in solution 2. – an ideal rebuild.

How to choose between these options?

Please get in touch with us and we will figure out which solution would suit your needs best. After all, every web service is somewhat unique and we are more than happy to help you to find the optimal solution for your digital needs.

Is your digital service built with Drupal? Want to discuss more about the development possibilities or wish to know how Drupal 9 ready your digital service is? We are more than happy to help, so contact us today!

More info about this

Patric Ojala

Account Manager

+358 40 565 8801

patric.ojala@wunder.io