Skip to main content

Comprehensive Guide to Drupal 10 Upgrade Resources

20 min read
Larvy Mortera
By Larvy Mortera
Drupal 10 upgrade icons

Drupal 9's November 2023 end of life stands likely to catch a lot of Drupal 10 developers and site owners by surprise. 

At this point, a very slim percentage of Drupal sites are on Drupal 10. Even though a Drupal 9 to Drupal 10 upgrade can sometimes be completed within a matter of hours, planning to do so needs to be viewed as an immediate imperative for ensuring the site security and integrity.  

For sites that are still on Drupal 8, an upgrade is long overdue, as that version was end of lifed in November of 2021.

 

Why Drupal 10?

If it feels like the Drupal version release timeframe has been accelerated lately, the overarching explanation stems from the fact that Drupal versions from 8 onward are built on top of Symfony. When a version of Symfony reaches end of life, the version of Drupal that it was built upon is also end of lifed. Drupal 9 is based on Symfony 4 and CK Editor 4, both of which are slated for end-of-life in November of 2023.

So the next question: Why the Symfony dependency?

Here are five important drivers that sparked Drupal’s Symfony alignment. 

  • The use of Symfony components and conventions in Drupal makes the codebase more organized and consistent, which makes it easier to maintain and extend.
  • Symfony provides a set of well-documented, reusable components and tools that can be leveraged by developers to build Drupal sites more quickly and efficiently.
  • Symfony components are designed to be lightweight and efficient, which helps to improve the overall performance and scalability of Drupal.
  • Symfony's use of modern web development techniques, such as HTTP caching and routing, makes it easier to integrate Drupal with other systems and services.
  • Symfony is a widely used PHP framework, and thus has a large community of developers who can contribute to and support Drupal.

In many respects, Drupal 10 reflects the future of Drupal, with a range of new features and advantages that have caused it to be described as the best-ever version of the CMS. 

As for Drupal 7, the full-scale architectural overall that accompanies migrating a Drupal 7 site to current versions has driven several Drupal 7 end-of-life date extensions. The Drupal Community announced a third and final end-of-life extension -- to January 5, 2025 -- at DrupalCon Pittsburgh in 2022.

After Drupal 7, the term "migration" no longer applies, as subsequent upgrades to new versions are just that -- upgrades that can be accomplished within a matter of hours or days, vs. weeks or months, which is the case of Drupal 7 migrations. 

 

Tools, Training, Modules, and More

Here at Promet Source, we're committed to helping the Drupal Community to navigate the next few months, upgrading as many sites as possible by the November 2023 Drupal 9 end of life date. From value-added migrations and upgrades, to webinars, training, community outreach and more, we’re focused on ensuring the security and integrity of Drupal sites

We've assembled a comprehensive guide to information, insights, expert perspectives, modules, tools, systems and more. 

Here are our top picks for insights and expertise. 

 

Expert Perspectives

What? So Drupal 9 and Support Ends Before Drupal 7 Support?

It's complicated and a bit counter intuitive. In this blog post published on the week of Drupal 10's release, Promet's Steve Zipfel, explained the dependencies that are driving the Drupal upgrade schedules in the current environment, along with a top 10 list need-to-know list concerning Drupal 10 features. 

10 Reasons to Love Drupal 10

Small steps forward and new directions distinguish Drupal 10 from previous versions, and when adeptly leveraged, subtle differences make a big difference. In this recent blog post,  Promet's John Lutz cites 10 features that have raised the bar for the Drupal CMS -- especially for government clients.

How to Prepare Your Team

So often, the focus is on how to prepare a site for the next version of Drupal, but few talk about preparing the team. Solid planning and new perspectives need to accompany successful upgrades and Drupal Training Program Manager, Danita Bowman offers advice on how to do just that.

Upgrading to Drupal 10 Using the Migrate API 

This 50-minute recording from a DrupalCon Pittsburgh 2023 presentation provides straightforward and solid information concerning a Drupal 10 migration path, leveraging the Drupal Migrate API. Drupal instructor Mauricio Dinarte, covers recommended tools to facilitate upgrades, pitfalls, and best practices. 

Drupal 10: What's New and Why its Best to Start Now

This comprehensive overview from the Drupal Association covers is an essential synopsis of what sets Drupal 10 apart from previous versions, along with overview of Drupal 10, and a description of the capabilities chasm between Drupal 7 and Drupal 10. 

 

Due to Symfony 4 and CK Editor 4 dependencies -- both of which are reaching end of life November 2023 -- Drupal 9 is facing a forced end of life, at the same time. End of life means a hard stop for Drupal 9 security fixes and community support. End of life for Drupal 7, however, which is not built on Symfony, has been extended to January 5, 2025. 

 

Checklists

Sometimes, a single oversight that could have been easily addressed at the start of a project can set a migration off course and spark undue setbacks. This Drupal Migration Planning Checklist provides eight essential pointers that can set a Drupal migration or upgrade up for success right from the start.

 

Assessment Tools 

Upgrade Status

The Upgrade Status module, tailored for Drupal 7, is a crucial starting point. It now evaluates your installed projects and their compatibility with Drupal 8, 9, or 10, providing valuable insights into potential issues.

Drupal Module Upgrader

The Drupal Module Upgrader is a command-line script designed to streamline Drupal 7 migrations. This tool not only identifies elements of Drupal 7 module code that need adjustments for Drupal 10 compatibility, but also aids in automatic code conversion where possible.

 

Core Modules

Migrate
A robust cornerstone API that facilitates the migration of configurations and content, not just from within the Drupal ecosystem, but from external systems, as well. This module sets the foundation for a versatile migration process tailored to Drupal 9 and beyond.
 

Migrate Drupal
Tailored for smooth transitions, this module empowers the movement of configurations and content from Drupal source sites to the latest Drupal version. It serves as a powerful bridge for ensuring your data's integrity throughout the upgrade journey.


Migrate Drupal UI
The user interface counterpart for Migrate Drupal. This browser-based interface guides users through the process of migrating from Drupal 7 to the current Drupal 10. 

 

Contributed Modules

Since the release of Drupal 8, the Migrate module has been moved to Drupal Core. However, for complex migrations, supplementary contributed modules remain pivotal.

Migrate Plus
Migrate Plus serves as a versatile toolkit, extending capabilities through plugins and extensions. It introduces the option to group migrations, particularly useful for projects requiring multiple migration types. Moreover, Migrate Plus includes instructive example modules, facilitating hands-on learning of migration dynamics.

Migrate Tools
Migrate Tools offers an essential migration asset, delivering Drush commands and a user-friendly interface. It enables you to seamlessly execute, revert, and refine migrations. 

Migration Tools
Migration Tools serves as a comprehensive repository of plugins, catering to challenging migrations, notably those originating from HTML sources. 

Migrate Manifest

Migrate manifest provides a Drush command for running migrations using a manifest format. Originally this functionality lived in Drush. It was briefly maintained in Migrate Tools as part of Migrate Plus but it has now been split into a standalone project.

Migrate Scanner
Migrate Scanner streamlines migration file management through a recursive directory scanner, helping to make migrations for sites with sub-directories efficient.

 

Source-specific Modules

Source-specific modules such as Migrate Silverstripe and WordPress Migrate, are designed to guide transitions from other CMS platforms. 

 

Entity-specific Modules

Tailored solutions such as Bean Migrate, Field Collection to Paragraphs, Location Migration, Media Migration, Migrate File Entities to Media Entities, Migrate Files, Migrate Media Handler, Migrate: Views, and Webform Migrate simplify the migration of distinct entities while maintaining their integrity.
 

Data Transformation with Process Plugins

A range of process plugins such as Migrate Conditions, Migrate Directory, Migrate Process Array, Migrate Process Markdown to HTML, Migrate Process Regex, Migrate URL2Link, Smart SQL ID Map, and other migrate process plugins, can be leveraged manipulate and convert data during migration.

 

Source Data Handling with Source Plugins

Migrate Source CSV, Migrate Source Directory, Migrate Source HTML, Migrate Source RSS Scraper, and other migrate process plugins can be leveraged to extract data efficiently from diverse sources

 

And there you have it. The above findings present a solid overview of information and resources for getting current with the latest version of Drupal. The collective brainpower of the worldwide Drupal Community translates into a vast collection of resources that can be leveraged to meet specific needs.

If you find that anything is missing from the list that we've compiled, please let us know! We'll be sure to include it. 

At Promet Source we approach every engagement with a deep dive into the details and a determination to understand big-picture perspectives, as well as all of the smaller details that also matter a lot.

Looking for insight or consultative support on any aspect of a Drupal migration from Drupal 7 or upgrade from Drupal 8 or 9? We can help! Contact us and we'll be in touch. 

 

subscribe information

Larvy Mortera
By Larvy Mortera

Larvy is a strong team player who takes pride in his determination and logical approach to problem solving. He is a very versatile developer with a tremendous passion for learning. With a decade of software engineering experience, he started his career as a web developer in 2011 and currently specializes in building web applications using Drupal.