What is Drupal 7

See you Drupal 7, welcome Drupal 9!

Drupal 7 was released back in 2011. After serving the Drupal community and its users for over 8 years, it was planned that Drupal 7 would reach its End of Life (EOL) in November 2021. At this point it should be noted that due to the effects of COVID-19 on the budgets of companies, the Drupal community has announced that this date will be postponed by one year: The new EOL date for Drupal 7 is therefore onNovember 28, 2022. The EOL date for Drupal 8 is still onNovember 2, 2021. You can find out what this means for you as a website operator in our blog article.

Drupal 9 will be released in 2020. This raises a huge number of questions for users with websites based on the two soon-to-be-retired versions.

A translation of So long Drupal 7, welcome Drupal 9 by Gabriele Maira

What does Drupal End of Life mean for website operators?

If you haven't switched to Drupal 8 yet, now is the right time! The development of Drupal 8 has consistently improved the framework and made the migration of websites easier. Although the change from D6 / D7 to D8 is well known, it is not that easy.

Since Drupal 8 is almost a complete rewrite compared to previous versions of our popular CMS, your content as well as your code, designs and templates will need to be migrated. So there is a lot to do, but don't worry! There is plenty of documentation as many companies and organizations have already gone through this process. There are some links and tips in this blog post to make this task easier.

Let's start by pointing out that Drupal 8 (and Drupal 9) comes with a migration framework by default. This means that the migration of content from previous versions - as well as from other systems - is a simple (and often also) non-technical task.

This also applies to your code, as the community has created its own page for “Converting Drupal 7 modules to Drupal 8”, which covers all common scenarios and problems. We also have a few more links and tips for you to make a painless transition between D6 / D7 and D8.

After moving to Drupal 8 - do I have to do all of this again for Drupal 9?

No!

The Drupal community has decided to stop publishing websites after each major release by introducing more detailed publishing processes and guidelines. For this reason, Drupal 9 code will be exactly the same as the last version of Drupal 8, but with no outdated code that will be removed.

This means that if you follow Drupal best practices and don't use outdated code under Drupal 8, your website can be converted with zero development time. The same should apply to all subsequent major version updates.

What does this mean for maintainers of modules, profiles and themes?

Either you have a module (or profile or design) hosted on Drupal.org, or you have created custom modules for your organization. You need to check that your code is compatible with Drupal 9. Otherwise, the code will no longer be used during the migration.

Below are some scenarios and best practice suggestions for website and module owners. If you need more information, please do not hesitate to contact us.

... by Drupal 6

Well, the version is very old. We strongly recommend switching directly to Drupal 8 as soon as possible. Although the change from 8 to 9 will be easy, Drupal 8 includes migration facilities for Drupal 6 that are likely not included in Drupal 9. Chances are these are available as contrib modules, but it's better to be sure. Again, we strongly recommend that you upgrade to Drupal 8 as soon as possible!

… From Drupal 7

You have around 2.5 years to migrate to Drupal 8 or Drupal 9. However, it is highly recommended that you start planning your migration to Drupal 8 now to ensure you have enough time to do the necessary work and testing.

With the release of Drupal 9 planned for June 2020, with the decision to jump straight to D9, you can only have 12 months between the release and the end-of-life date of Drupal 7. In addition to the other links in this article to help you migrate your code and content, "Drupal Module Upgrader" may be very useful.

If upgrading to D8 is really impossible for your website, there is another way to keep that version by using one of their trusted long-term support providers. There may be additional fees to stay on these programs, but it worked very well with D6. Find out more here to learn more and stay up to date.

... From Drupal 8

Very good! If you are already working with Drupal 8, you are lucky that you can possibly switch to the next major version with little effort.

Since the big difference between the last D8 version and the first for D9 is that it removes all of the deprecated code, all you need to do is check that your modules, themes, and profiles do not have any deprecated code. So you don't have to worry about migrating your content at all!

Don't worry about the code either, as the community has already created some tools and procedures to make this work easier.

For example, if you manage some Contrib modules on Drupal.org, you can already test whether the code is D9-capable. The task is as simple as uploading a really small patch in one issue and waiting for the results of the test bot. I did this for the Chatbot API module: look at "Issue" and "Results" for yourself. There are only four stale messages for the chatbot API, which is not a bad thing. Almost D9 ready!

If you'd like to test your module's code directly, you can now download and use Matt Glaman's Drupal Check. Follow the steps to download and run the tool on the modules you created or used for your website and see if they are ready for D9.

Drupal API also shows outdated code. You can use this web page to find the error message, review the code, and find out how to correct the error.

And of course, it is best if you keep an eye on the Drupal Change Records. However, since this website is a user interface for the actual Drupal code, you can always find the same information in your Codebase files.

You now know what to change to make your website compatible, but you still don't know how. The messages about outdated information should always support you with helpful suggestions.

For example, take the first bug in the Chatbot API:

"\ Drupal \ Component \ Utility \ Unicode :: strtolower () is deprecated in Drupal 8.6.0 and will be removed before Drupal 9.0.0. Use mb_strtolower () instead. See https://www.drupal.org/node/2850048. "

It shows exactly what is going on and the link further explains the problem and the reason for the change, and gives you some examples. I just have to search my code for "Unicode :: strtolower" instances and replace them with "mb_strtolower".

Related Links