Drupal Migration D10 -> D11
Type
Project
Status
Current
Timeline
April 2026
Project Contributors
  • Kevin Finkenbinder
  • Sruthin Gaddam
  • Joshua Sanchez
  • Austin Deneau
  • Shel Vilag
  • Shelby Kroske

Drupal 11 Upgrade

Definitions

CMS

A Content Management System (CMS) is software that enables users to create and modify web pages without needing extensive HTML coding knowledge. A CMS provides a user-friendly interface for building and maintaining websites, apps, and other digital platforms.

Drupal

Drupal is the content management system (CMS) used by the MSU Libraries to build and manage its primary websites. Drupal is known for its modular design, allowing users to add and remove features using modules, and to customize the look and feel with themes.

Module

A Drupal Module is a piece of software that extends the Drupal built in functionality to add additional capabilities and features. Modules which come packaged with the primary Drupal system are known as Core Modules. Modules which have been created outside of the core project but released as open source to the world are known as contrib modules. For example, the ability to submit forms from the website is added by the webform module. Modules that are created in house and not publicised to the wider world are known as custom modules. For instance, the module that interacts between the Libraries' staff database and Drupal has no applicability outside the Libraries and so is maintained as a custom module.

Theme

A Drupal Theme is the framework that unifies the visual and usability characteristics of a website. Drupal comes with built in themes, these can be extended to make customized themes. A customized theme made open source and available to the community is called a contrib theme, while customized themes maintained in house are considered custom themes. Custom themes can be based on either core or contrib themes. The MSU Libraries use custom themes based on the Bootstrap 4 (Intranet) or Bootstrap 5 (Main website and TIC website) contrib themes.

EOL

EOL stands for "End of Life". This signifies that a technology has reached the final stage of its lifecycle, meaning it's no longer being actively supported by the developers. When software reaches EOL, it can still be used, but it will no longer receive updates or critical security patches.

Introduction

In 2013, the MSU Libraries' moved its main website from a system based on JavaServer Pages to the Drupal 7 CMS (D7). This move allowed the Libraries' staff to update their own website content which would then be reviewed for accessibility by the technical staff. As a result of this change, the average update to the website could take place in 2-3 days instead of previously taking several weeks.

In 2021, D7 was scheduled to go EOL soon, so the Libraries started the process of migrating to Drupal 8 (D8), a massive task as the underlying technology of D8 was a radical change from previous versions of drupal. This task was so massive worldwide that the Drupal Association extended the EOL for D7 to January 2025. By the time the intranet, main website and tic website were migrated from D7, the current version of Drupal had advanced to Drupal 10 (D10). Thankfully the upgrades from 8→9 and 9→10 were both relatively painless as they maintained the same underlying technology. (See Drupal release milestones.)

Simultaneous to the upgrade of Drupal versions, the User Experience and Web Services team also gave the sites a complete redesign and visual upgrade. This redesign also simplified many aspects of site maintenance and improved the usability of the site for those maintaining the site, for those editing pages on the site and for the end users of the site.

Drupal 11 (D11) has now been released and is quickly maturing. Drupal 10 will go EOL in mid-2026, corresponding with the release of Drupal 12 (D12). Because it takes time for modules written for an earlier version of Drupal to be migrated to the new version, it is our team's goal to upgrade to the latest version of Drupal just before the next version is released, thus maximizing the time to live before the version reaches EOL while simultaneously ensuring the version we are using is mature enough to support our systems without errors. (Both D11 and D12 continue using the technology introduced in D8; although the new release includes significant refinements, upgrades should not be complex).

Process

Current update preparedness status and statistics

Determining when our site is ready for upgrade to Drupal 11 is an ongoing process. Our primary tool for this process is the Upgrade Status module. Based on this tool, we have the current statistics regarding our websites (as of May 5, 2025):

  • Main Website
    • Overall migration readiness: 71%
    • Database update: not needed but desirable
    • Total contrib modules enabled: 180
    • Total custom modules enabled: 14
    • Contrib modules needing major upgrades: 5
    • Contrib modules needing minor upgrades: 1
    • Contrib modules with D11 compatible upgrade unavailable: 20
    • Custom modules needing major updates to D11 compatibility: 1
    • Custom modules needing minor updates to D11 compatibility: 17
  • Intranet
    • Overall migration readiness: 76%
    • Database update: needed (for compatibility, not security)
    • Total contrib modules: 177
    • Total custom modules: 4
    • Contrib modules needing major upgrades: 5
    • Contrib modules needing minor upgrades: 4
    • Contrib modules with D11 compatible upgrade unavailable: 17
    • Custom modules needing major updates to D11 compatibility: 1
    • Custom modules/theme needing minor updates to D11 compatibility: 4
  • TIC Website
    • Overall migration readiness: 80%
    • Database update: not needed but desirable
    • Total contrib modules: 109
    • Total custom modules: 2
    • Contrib modules needing major upgrades: 3
    • Contrib modules needing minor upgrades: 0
    • Contrib modules with D11 compatible upgrade unavailable: 9
    • Custom modules needing major updates to D11 compatibility: 0
    • Custom modules/theme needing minor updates to D11 compatibility: 2

Next steps

  1. Upgrade approximately 20 custom themes and modules (there are some overlaps between the sites).
  2. Upgrade contrib modules that have updates available.
  3. Evaluate contrib modules and classify as:
    1. Functionality no longer needed - should be removed
    2. Functionality needed and work is being done on the modules - continue to monitor module
    3. Functionality needed and work is NOT being done on the modules, alternate module available - switch modules
    4. Functionality needed and work is NOT being done on the modules, NO alternate module available - evaluate creating custom module to maintain in-house or taking over maintenance of existing module to create upgrades.
  4. Upgrade custom modules/themes
  5. Upgrade/switch contrib modules/themes as upgrades/alternates become available
  6. Monitor other modules/themes to determine if they need reclassified

Timeline Goals

  1. Complete upgrade of custom themes and modules: November 2025
  2. Upgrade where module upgrades are available: July 2025 and ongoing
  3. Modules being monitored: revisit regularly and reclassify as needed
  4. Unmaintained contrib modules - bring in house or take maintenance role: February 2026
  5. Final D11 upgrade April 2026