FAQ - PaaS Drupal 8

GovCMS Drupal 9 upgrade FAQs


The following FAQs provide information related to upgrading your GovCMS PaaS Drupal 8 site to Drupal 9

A list of all D9 FAQ topics can be found at GovCMS Drupal 9 upgrade FAQs.

1. What are your upgrade options?

You should only consider one option: upgrade to Drupal 9 as-is. Drupal 9 is backward compatible with Drupal 8, meaning the upgrade path from D8 to D9 is ‘relatively’ easy. 

This means you should run the Drupal 8 to Drupal 9 upgrade procedure and resolve any upgrade issues you identify during the process.

If you’ve used the GovCMS Drupal 8 distribution with your PaaS subscription then you may consider the following: The Dept of Finance is designing and building upgrade scripts for all SaaS D8 sites. As part of this process, it will determine how to best map deprecated Drupal 8 distribution modules/features onto Drupal 9. 

Given this, it may be possible/beneficial to leverage these scripts to support your upgrade process when ready.

2. What are your upgrade responsibilities?

Since you’re PaaS, it’s your responsibility to upgrade your Drupal 8 site to Drupal 9 on the GovCMS platform. The table below shows a summary of the key activities involved.

Activity Description

Update dependencies

Before you begin your upgrade you need to ensure all software dependencies (such as PHP, nginx MySQL, etc.) are on the latest versions. You’ll also need to ensure your Drupal core and contrib modules are on the latest patch levels.


Upgrade for Drupal 8 sites require you to run the upgrade procedure to Drupal 9.


Full regression testing involves validating all site functionality and identifying issues.


Remediation involves fixing all issues identified.


Enhancements are optional and can involve either refactoring existing features or designing, building and theming new features.

GovCMS will deploy your site live once it’s upgraded and approved by the Agency product owner.

3. What influences upgrade complexity?

Drupal 9 is backward compatible with Drupal 8 and therefore the upgrade path is relatively easy.
However PaaS customers that have unique, non-standard site configuration or custom functionality will face greater complexities during the upgrade.

The main complexity lies around the use of Drupal 8 contrib modules. Specifically:

  1. Contrib modules that have been baked into Drupal 9 core

  2. Contrib modules that have been deprecated (not ported) with alternative options

  3. Contrib modules that are deprecated (not ported) but have no known alternatives

  4. Any custom modules — this is the most influential factor for upgrade complexity

Other upgrade complexities may come from:

  1. Outdated software dependencies, such as PHP, Nginx, MySQL, etc., that are not on latest software versions and patch levels

  2. Outdated Drupal core or contrib modules that are not on the latest patch levels

  3. Theme layer references to deprecated functions or minor incompatibilities 

Salsa offers a free GovCMS D9 readiness workshop to help you identify upgrade complexities.

4. What's involved in upgrading from D8?

At a high level, upgrading from Drupal 8 involves first updating dependency software, including updating to the latest Drupal 8 patches, then running the Drupal 9 upgrade process, and then resolving incompatibilities or conflicts. This is then followed by a formal regression as part of UAT and remediating any final issues identified before deploying your upgraded site live.

The illustration and table within provides a summary of the eight key steps involved in upgrading from Drupal 8 to Drupal 9.

Salsa has designed and made publicly available our entire upgrade project delivery process. 

Stage name Activity

1. Onboard

Validation of current software versions and patch levels across PHP, Nginx, MySQL, Drupal core and contrib modules.

Familiarisation of site features, content structures, modules, UI templates, views, search, webforms and integrations.

Test environment setup, technical developer website onboarding and tooling.

2. Dependency updates

Update to latest versions of PHP, Nginx and optionally MySQL/PostgreSQL.

Update Drupal 8 core and contrib modules to latest Drupal 8.x patch levels.

3. Upgrade

Run Drupal 9 upgrade and report on known technical upgrade conflicts.

4. Resolve conflicts

Resolve upgrade conflicts including refactoring of incompatible/deprecated contrib modules and custom modules.

5. Regression

Visual regression to validate frontend user experience and UI.

Functional regression to validate backend content manager experience and site functionality.

Optional automation of visual or functional testing.

6. Remediation

Fix any visual or functional regression issues identified and reported.

7. Deploy

Go-live deploys your site and delivers supporting documentation and training.

8. Support

Support is optional and available to provide minor enhancements, issue investigations, bug fixes, content support and general enquiries, all via our service desk.

5. Where and how do you start?

GovCMS recommends all Drupal 8 sites upgrade to Drupal 9 by the end of August 2021.

Agencies with Drupal 8 PaaS website(s) are responsible for upgrading their site. 

See FAQ PaaS Drupal 8 - What are your responsibilities? for more details.

The first step we recommend for agencies on Drupal 8 PaaS is to start planning - this involves understanding your upgrade complexity, options, costs, risks and timelines.

If you want to start planning and need assistance then you may consider one of the following two free resources:

  1. Free GovCMS Drupal 9 upgrade price guide: Our price guide helps you self-assess and understand your costs and timelines for upgrading, testing, identifying, and resolving bugs for your PaaS Drupal 8 upgrade.

  2. Free GovCMS Drupal 9 readiness assessment: Our free readiness assessment allows us to conduct a lightweight audit of your PaaS Drupal 8 site to identify any known upgrade complexities, risks and issues, and then provide you with a high-level overview of upgrade and support options, high level costs and timelines.

If you require further support or direction with your PaaS Drupal 8 upgrade planning, then consider our Drupal 9 assessment or advisory services:

  • GovCMS Drupal 9 site assessment:  A deep dive of your Drupal site to determine upgrade complexities, viable options, project risks and mitigations, accurate costs and timelines, and formal recommendations, to support budgeting and approvals.

  • GovCMS Drupal 9 upgrade technical advisory and support:  Access to Drupal expertise to give your upgrade project delivery team technical advice and/or ad-hoc support.

Once you’ve completed your planning (or decide to skip it altogether) then you’re ready to jump straight into the upgrade process and begin to upgrade your PaaS Drupal 8 site. If so, see FAQ PaaS Drupal 8 - What’s involved in upgrading from D8? for step-by-step details on what you need to do to upgrade your site.

If you require help with your upgrade project, then you may consider our Drupal 8 upgrade to Drupal 9 service, and we’ll upgrade your PaaS Drupal 8 site on your behalf. With this service we’ll prepare and execute the upgrade, resolve any incompatibilities including deprecated modules, help identify and remediate any other issues, and deliver your upgraded Drupal 9 site to production.

More information can be found on our GovCMS Drupal 9 upgrade services page.

6. What resources do you need?

For GovCMS PaaS Drupal 8 websites, agencies are responsible for the entire upgrade project including testing and remediation. Refer to FAQ PaaS Drupal 8 - What are your responsibilities? for more details. 

The typical roles for a Drupal 8 to Drupal 9 as-is upgrade project are outlined below. The roles can often be fulfilled by the same person. The allocation for each role depends on the size and complexity of your upgrade.

Role Responsibility

Product Owner

Responsible for representing the business benefit of proposed solutions. Responsible for approving and ranking the user story backlog, accepting work achieved in sprints, and signing off on development milestones.

Project Manager

Project coordination and management of risks, issues, timeline, budget, resourcing and  stakeholder communications.

SCRUM Master / Business Analyst

Provide expert advice on the functional specification. Responsible for refining and grooming the requirements and acceptance criteria as part of discovery and throughout the project. SCRUM Master will also facilitate agile ceremonies including sprint planning, demos and retros.

Solution Architect

Solution architecture design. Facilitates technical decisions and alignment with all key stakeholders. Responsible for overall solution direction and roadmap, as well being the technical client liaison. Typically only required for complex upgrades where new/revised solution architecture is involved.

Technical Lead

Provides implementation blueprint and technical solution direction, technical governance and engineering process. Responsible for user story estimations, code reviews, peering, coaching, and troubleshooting.

Backend developer(s)

Backend Drupal development, integrations and content migrations, user story estimations, peering, coaching and troubleshooting. 

Frontend theme(s)

Frontend Drupal theme development, user story estimations, peering, coaching and troubleshooting. 


Design and execute test cases (including automation if/as required), collaborate and verify fixes, etc.

Design Lead

Overall visual strategic direction, representing client’s brand while ensuring user needs are front-and-centre. Creating individualised designs while leveraging design systems for usability, accessibility and cost savings. 

UI/UX Designer

Drives user-centred design, including creative workshops. Responsible for taking the client’s website design from low-fidelity wireframes to high-fidelity mockups for user testing. Works with the Design Lead to leverage relevant design system components, focusing on the user experience and user interface.

7. Costs and timeline

Upgrading from Drupal 8 requires a ‘relatively’ simple upgrade process. See FAQ PaaS Drupal 8 - What are your upgrade options? for more details. 

For PaaS sites on Drupal 8, upgrade costs are informed mostly by: 

  1. The number and complexity of contrib modules that are no longer supported or available in Drupal 9.

  2. Level of outdated software and patch levels of tech stack dependencies including PHP, Nginx, MySQL/PostgreSQL, Drupal core and contrib modules. 

Section FAQ PaaS Drupal 8 - What influences complexity? covered this in detail.

The number and complexity of contrib modules is typically correlated to the site build complexity of your current site, i.e. 

  1. Out-of-the-box theme with basic functionality vs 

  2. Extended theme with moderate functionality vs 

  3. Custom theme with complex/custom functionality.

The table below provides a price guide to upgrade your GovCMS Drupal 8 site.  It provides a range of block hours to upgrade your site and remediate any issues identified.

Upgrade options, costs and timelines Suitability and summary of inclusions

Basic site: Out-of-the-box theme

Hours: 40 to 80 block hours
Cost: $7K to $14K (ex-GST)

Timeline: 1 to 3 weeks
Sprints: 1 to 2 sprints

For basic sites with out-of-the-box features, theme templates and basic backend configuration. Software dependencies including PHP, Nginx, MySQL/PostgreSQL, Drupal core and contrib modules, are all up to date with latest versions and patch levels.

Validation of current software versions and patch levels. Drupal 9 upgrade execution. Reporting and resolution of upgrade conflicts and incompatibilities including deprecated modules.

Moderate site: Extended theme

Hours: 80 to 160 block hours
Cost: $14K to $28K (ex-GST)

Timeline: 2 to 5 weeks
Sprints: 1 to 3 sprints

For moderately complex sites, with out-of-the-box UI theme templates with moderate extensions, and moderate backend configuration. Software dependencies including PHP, Nginx, MySQL/PostgreSQL, Drupal core and contrib modules, are all up to date with latest versions and patch levels

Validation of current software versions and patch levels. Drupal 9 upgrade execution. Reporting and resolution of upgrade conflicts and incompatibilities including deprecated modules.

Complex site: Custom theme

Hours: 160 to 280 block hours
Cost: $28K to $49K (ex-GST)

Timeline: 4 to 8 weeks
Sprints: 2 to 4 sprints

For complex sites with custom features and UI built using custom themes, and custom backend configuration. Software dependencies PHP, Nginx, MySQL/PostgreSQL, Drupal core and contrib modules are on outdated versions and patch levels.

Update all software dependencies to latest versions and patch levels including Drupal 8.x core and contrib modules. Run Drupal 9 upgrade. Report on and resolve upgrade conflicts and incompatibilities including deprecated modules.  Refactor customisations as required.

Self-assess to qualify your costs further or take up our free D9 readiness assessment

Salsa has created a free, comprehensive GovCMS Drupal 9 upgrade price guide that allows you to self-assess your upgrade costs and prepare your upgrade budget. Our price guide provides greater granularity on what is represented above, including an explicit and clearly defined set of inclusions, and is designed to allow you to self-assess based on your Drupal 8 site’s current configuration.  

You can request this price guide here: GovCMS D9 price guide registration.

Alternatively Salsa has designed a free D9 readiness assessment service that gives you a high level overview of your upgrade options, costs and timelines. With this service we take you through our four-step process to get you ready for Drupal 9.  

You can register for this service here: GovCMS D9 readiness assessment registration.

Can’t find the answers you’re looking for?

Ask us. We love tough questions. Contact us for the answers you seek.

Is your GovCMS site ready for Drupal 9?

Ensure your GovCMS website will remain current and secure with our Drupal 9 readiness assessment. Know your upgrade pathways and options, potential costs and timeframes. Find out more about Salsa’s D9 readiness assessment

Register for readiness assessment