WebOps

Design & Strategy

We start with your goals and how your team works, then design the platform to match.

Website Builds

Custom Drupal, WordPress, and headless builds that perform from day one and stay easy to run.

Migrations

High-stakes CMS migrations from virtually any source onto a platform we support, with content and uptime protected.

Maintenance & Support

Proactive, senior-led care that keeps your platform secure, fast, and ready for what comes next.

AI Integration

Practical, native AI features built by the team contributing to Drupal’s AI core.

WebOps Audits

A clear, prioritized picture of your platform’s health and exactly what to fix first.

RevOps

CRM Implementation

HubSpot implementation built around how your team sells. We scope what is actually needed, configure what your team can operate, and hand off a system that works on day one.

CRM Migrations

Marketo, Eloqua, Pardot, and Salesforce moves into HubSpot. We treat every migration as a risk mitigation project, because for the VP who owns the pipeline, it is.

CRM Architecture

The structural decisions that shape everything downstream: object relationships, data governance, integration strategy, and managed data migration. Designed for how your team actually works.

Insights

Articles

Practical thinking on WebOps, RevOps, and running platforms that cannot fail.

Newsletter

Occasional, useful notes from the people doing the work. No noise.

Events & Talks

Where to find our team, from DrupalCon to industry meetups and webinars.

Our Work

About

Our Story

Why Digital Polygon exists, and the through-line behind every engagement.

Team & Leadership

The senior, global team you actually work with, named and accountable.

Careers

Join a senior team that builds the platforms and revenue systems people depend on.

Open Source

The modules we maintain, the initiatives we lead, and Polymer, our WebOps product.

Upgrading from Drupal 8 to Drupal 10 – Your Step by Step Guide

Making Complex Upgrades Simple

Upgrading from Drupal 8 to Drupal 10 - Your Step by Step Guide

Drupal 8 hit its end-of-life in November 2021. Drupal 9 is slated to end-of-life in November of 2024. If you are still running a Drupal 8 or Drupal 9 website, it is important that you upgrade to Drupal 10 as soon as possible to stay protected, reduce risk, and be able to take advantage of new features.

Planning for your Drupal 8 to Drupal 10 Upgrade

Upgrading from Drupal 8 to Drupal 10 is an essential step to ensure your website stays secure, functional, and competitive. Proper planning not only provides a clear roadmap for the upgrade but also helps estimate the level of effort (LOE) required, making it easier to communicate effectively with stakeholders. Follow these steps to plan your Drupal upgrade efficiently:

  1. Understand Site Functionality: This step may be trivial if you are upgrading your own applications, but for those of you planning to use a partner, this is a critical step. This enables the team doing your upgrade to understand key functionality (customizations) made to your application and will ensure they can effectively test the upgrade. This step will greatly reduce bug counts and keep your upgrade running smoothly. 
  2. Run Your Site Upgrade Audit: Leveraging tools like the Upgrade Status module to analyze which of your current Drupal 8 modules and themes are compatible for Drupal 10. This tool helps identify any code that has been deprecated or needs to be updated for the next major version of Drupal. Developer Note: You will likely need to plan/run your upgrade audit in 2 phases. Once for Drupal 8 to Drupal 9, and once for Drupal 9 to Drupal 10. There are dependencies/compatibility issues if you try to do it all at once.
  3. Develop a Timeline: Based on the complexity identified in the initial assessments, draft a timeline for the upgrade. Include key milestones such as completing module updates, theme migration, content auditing, and final testing.
  4. Engage with Stakeholders: Keep stakeholders informed about the timeline and potential impacts. Regular updates can help manage expectations and ensure necessary resources are allocated.

Your Drupal Upgrade Audit Report : 

In the Drupal Upgrade Audit, we look at the current application and analyze the existing state to prepare for the upgrade. This involves an audit of core, contributed and custom code on the website. 

Example Drupal Application Upgrade Status Overview

    Upgrade Path Available.   Needs Development Work.   Not Used – Should Remove.     Total    
Modules
 Contrib2011426241
 Custom033033
Themes
 Contrib0101
 Custom0101
Profiles
 Contrib0101
 Custom0000

 

Example Effort/Timelines: 

Now that you understand what needs to be done, you can generate effort estimates and start to get an idea of the timelines required to upgrade your application. Of course there are a lot of factors to consider here, but generally these are the types of estimates we come across for sites with a moderate level of custom code. 

Since there are two major Drupal upgrades required (8.x-9.x and 9.x-10.x) the upgrade paths will require the work be done in phases and each phase will need to be deployed through production in order to align to the upgrade paths provided. This will require multiple iterations of full regression testing across the websites. 

Estimated Level of Effort to Upgrade D8 to D9.5: 180-250 Hours

Estimated Timeline: 4-5 weeks

Estimated Level of Effort to Upgrade from D9 to D10: 80-100 Hours

Estimated Timeline: 2-3 Weeks

Full Estimated Timeline: 6-8 Weeks

Upgrading the Application

Based on the review of the existing application and the results of your audit, you will need to develop an upgrade plan for your Drupal 8 website. In most cases, we see the need to take a phased approach to this upgrade process because the site is so far behind. You will likely need 2 or 3 phased releases in this process – some nested dependencies get tricky between Drupal 9.4 and Drupal 9.5 and we often see an additional release needed here. 

Here is an example upgrade process from a recent upgrade we performed.

Release 1: Update PHP 7.4 to 8.1 and upgrade Drupal 8.9 to 9.4

  • Update PHP version from 7.4 to 8.1
  • Upgrade the Drupal Core from 8.9 to 9.4
  • Upgrade the Module to support Drupal 9.4
    • Drupal Contrib Modules
      1. Disable/uninstall unused modules
      2. Upgrade Drupal modules that have upgrade paths
      3. Apply community patches to Drupal modules not fully ready for upgrades
      4. Write custom patches for Drupal Modules that need upgrade paths (+ contribute the patches back!)
    • Drupal Custom Modules
      1. Upgrade custom code to remove deprecations and leverage new approaches.
  • Upgrade the Theme & Libraries to support Drupal 9.4

Release 2: Upgrade Drupal 9.4 to Drupal 9.5

  • Upgrade the Drupal Core from 9.4 to 9.5
  • Upgrade the Module to support Drupal 9.5
    • Drupal Contrib Modules
      1. Disable/uninstall unused modules
      2. Upgrade Drupal modules that have upgrade paths
      3. Apply community patches to Drupal modules not fully ready for upgrades
      4. Write custom patches for Drupal Modules that need upgrade paths (+ contribute the patches back!)
    • Drupal Custom Modules
      1. Upgrade custom code to remove deprecations and leverage new approaches.
  • Upgrade the Theme & Libraries to support Drupal 9.5
  • Fix undefined user permissions – https://www.drupal.org/node/3193348

Release 3: Drupal 9.5 to Drupal 10

  • Upgrade the Drupal Core from 9.5 to 10.1
  • Update PHP version from 8.1 to 8.2
  • Upgrade the Module to support Drupal 10.1
    • Drupal Contrib Modules
      1. Disable/uninstall unused modules
      2. Upgrade Drupal modules that have upgrade paths
      3. Apply community patches to Drupal modules not fully ready for upgrades
      4. Write custom patches for Drupal Modules that need upgrade paths (+ contribute the patches back!)
    • Drupal Custom Modules
      1. Upgrade custom code to remove deprecations and leverage new approaches.
  • Upgrade the Theme & Libraries to support Drupal 10
  • Upgrade CKeditor 4 to CKeditor 5: https://www.drupal.org/docs/core-modules-and-themes/deprecated-and-obsolete#s-ckeditor
  • Remove Lightning Profile

With all of this information, you are now prepared to create a schedule and communicate it to your stakeholders. Be sure to include quality assurance and user acceptance testing time into your schedule for each release to ensure the site is performing as expected. 

Are you looking to put your Drupal upgrade on the fast track? Contact us for a free consultation or visit our Drupal Upgrades Made Easy page to learn more about how we can help.

Some more useful information for your Drupal 10 Upgrade:

Drupal 9 and Drupal 10 Version Release Notes

  1. Drupal 9 release log – https://www.drupal.org/project/drupal/releases/9.5.11 
  2. Drupal 10 release log – https://www.drupal.org/project/drupal/releases/10.0.0

Risk Factors for not upgrading your Drupal 8 or Drupal 9 website:

  1. Drupal 8 is already in End of Life – https://www.drupal.org/psa-2021-06-29
  2. Drupal 9 will reach End of life in November 2024 – https://www.drupal.org/blog/drupal-10-target-release-date-and-drupal-9-end-of-life 

Filed under

Keep reading

More from the field.

For projects that cannot fail

When it has to work. We deliver.

Tell us what you are working on. We will tell you honestly whether we are the right fit, and what a strong engagement looks like.