LogoLogo
9.0.x
9.0.x
  • Overview
    • About Varbase
    • Roadmap
    • Release Cycle and Supported Versions
    • How to Get Support
  • Developers
    • Getting Started
    • Installing Varbase
      • Requirements
      • Installing Varbase with DDEV
      • Installing Varbase with Lando
    • Understanding Varbase
      • Basic Concepts
      • Core Components
        • Varbase Core
          • Varbase Admin
          • Varbase Page
          • Varbase Security
          • Varbase Webform
          • Varbase Default Content
          • Varbase Tour
        • Varbase Media
        • Varbase Editor
        • Varbase Email
        • Varbase SEO
        • Varbase Workflow
        • Varbase Layout Builder
          • Varbase Landing page (Layout Builder)
          • Varbase Heading Block
          • Varbase Rich Text Block
          • Varbase HTML Code Block
          • Varbase Media (Image/Video) Block
          • Varbase Gallery Block
        • Varbase Total Control Dashboard
        • Vartheme Claro
        • Vartheme BS4
      • Optional Components
        • Varbase API
        • Varbase Internationalization
        • Varbase Media Hero Slider
        • Varbase Carousels
        • Varbase Blog
        • Varbase Search
        • Varbase Social Single Sign-On
        • Varbase Media Twitter
        • Varbase Media Instagram
        • Varbase Content Planner
        • Varbase Bootstrap Paragraphs
          • Varbase Bootstrap Paragraphs Text and Image
        • Varbase Landing Page (Paragraphs)
      • Additional Components
        • Varbase Media Header
        • Varbase FAQs
        • Varbase Reports
        • Varbase Commerce
        • Varbase YouTube Import
      • Development Components
        • Varbase Development
        • Varbase Style Guide
        • Reroute Email
        • Varbase Updates Helper
    • Configuring a Varbase Site
      • Navigation
        • Defining Active Menu Trail Using Menu Position
      • Using View Modes Inventory
      • Content Moderation and Workflows
      • URL Aliases in Varbase/Drupal
        • Configuring URL Aliases
        • Managing URL Aliases
      • Managing URL Patterns for Multilingual Websites
      • Managing Date and Time Formats to Display Across the Site
      • Using Varbase Layout Builder
        • Creating a Landing Page With Varbase Layout Builder
        • Activating Varbase Layout Builder for Content Types
      • Configuring Pathologic When Going Live
      • Configuring SEO Features
        • Disallow Oembed Media Links
      • Configuring Security Features
        • Spam Protection
        • Password Policies
        • Other Security Kits
        • Flood Contorl
        • Enable HTTP Password Authentication
      • Configuring JSON:API Features
      • Configure Varbase Media Hero Slider
      • Configuring Varbase Media Header
      • Configuring Varbase Mailer Settings
        • Configure Symfony Mailer
        • Configure Swift Mailer
        • Switch From Swift Mailer to Symfony Mailer
      • Entity Definition Update Manager Class
      • Module Installer Factory Class
    • Theme Development with Varbase
      • Understanding The Vartheme Base Theme
      • Creating Your Own Theme
      • Local Tasks and Moderation Sidebar
      • Add Preloaded Fonts in Vartheme
      • Switch From Node SASS to Dart SASS for Old Sub-Themes
    • Launching a Varbase Site to Production
    • Updating a Varbase Site
      • Understanding Varbase Updater Package
      • Handling Patches When Updating
      • Handling Configuration Updates
      • Updating Varbase to work with Composer 2.0
      • Updating Drush to the Latest Stable Version
      • Version Update Guides
        • Updating Varbase ~9.0 to Drupal 10
        • Switch from CKEditor 4 to CKEditor 5 in Varbase ~9.1.0
        • Updating from Varbase 8.x to 9.x
    • Varbase Patches
    • Frequently Asked Questions (FAQs)
    • Extending Varbase
      • Overriding Varbase
      • Creating Your Own Feature
      • Creating A Sub Profile From Varbase
        • Varbase Sub Profile Generator
        • Varbase Sub Profile Basic Template
        • Varbase Sub Profile Basic Project Template
      • Install Needed YARN and Gulp Tools
      • Compiling Provided Component Styles
      • Check Standards/Practice Coding And Linting
  • Content Designers
    • Terminology
    • Accessing the Administration Area
      • Website Environments
    • User Management
      • Allow Email/Username Login & Registration
      • Default Roles and Site Personas
        • Edit Roles' Permissions
        • Managing Roles
      • Add User
      • Edit User
      • Masquerading as another user
    • Dashboard
      • Reports
    • Content Structure
      • EntityQueues
      • Menu Management
        • Add Menu Items
        • Update Menu Items
        • Adding a Page to the Menu
      • Taxonomies
        • Manage Vocabulary
        • Edit Vocabulary
        • List Terms
        • Add Terms
        • Reorder and Edit Terms
      • Webforms
        • Setting up Emails Handler Conditions
        • Setting up Confirmations Message Settings Types
    • Content Management
      • Create Content
        • Add a Basic page
        • Add a Landing page
        • Add Blog
        • Add Media
          • Image
          • Remote video
          • Video
      • Modify Content
      • Delete Content
      • Preview Content
      • Bulk Edit Content
      • Content Moderation
      • Publish Content
      • URL Alias
    • About Layout Builder
      • Section
      • Custom Blocks
        • Heading Block
        • Basic Block
        • Media Block(Image/Video)
        • Rich-Text Editor “WYSIWYG”
      • Managing Blocks
    • Search Engine Optimization
      • XML Sitemap
      • Meta Tags in Varbase
      • URL Redirects
      • Domain Redirects
      • Prevent a Single Content From Being Indexed
    • Site Configuration
      • System
        • Clearing Varbase Cache
        • Google analytics
        • Mail templates
      • User interface
      • Development
      • Varbase settings
      • Web services
    • Common Error Handling Tips
  • Contributing
    • Contributing to Documentation
Powered by GitBook
On this page
  • Read First Before Updating
  • 1. Change Composer Version Before Updating
  • Varbase 8.8.7 and Older
  • Remove the not Needed Drupal Library Installer Plugin
  • Varbase 8.8.8 and Newer
  • 2. Add Drush
  • 3. Uninstall All Removed Components
  • Modules Had Been Removed
  • Themes Had Been Removed
  • 4. Check All Required Contrib Modules in the Project
  • 5. Check All Custom Modules in the Project
  • 6. Check All Required Libraries
  • 7. Run the Update Varbase Command
  • 8. Steps to Do After the Command
  • 9. Remove Drush Before Deployment to Production
  • 10. Set Composer Exit on Patch Failure to True
  • If Varbase Layout Builder ~8.0 or ~9.0 were not Enabled in Old Sites
  1. Developers
  2. Updating a Varbase Site
  3. Version Update Guides

Updating from Varbase 8.x to 9.x

PreviousSwitch from CKEditor 4 to CKEditor 5 in Varbase ~9.1.0NextVarbase Patches

Last updated 1 year ago

Read First Before Updating

Check the Upgrading a Drupal 8 site to Drupal 9

Check the How and why we deprecated code on the way to Drupal 9

Check the What changes are there for third-party dependencies?

1. Change Composer Version Before Updating

Varbase 8.8.7 and Older

Make sure that Composer version ~1 is in use in the development environment.

sudo composer self-update --1

Later in the steps of upgrade, when the Varbase version reaches 8.8.8 or newer.

Be sure to switch the composer.json file to work with Composer ~2

Remove the not Needed Drupal Library Installer Plugin

Remove "drupal/drupal-library-installer-plugin": "^0.3", from the composer.json file.

Varbase 8.8.8 and Newer

Make sure that Composer version ~2 is in use in the development environment.

sudo composer self-update --2

2. Add Drush

composer require "drush/drush:~10.0 || ~11.0"

3. Uninstall All Removed Components

A number of modules, themes, and libraries was removed from Varbase 9. That for Drupal 9 compatibility, or for change of selection to use better tools, and newer and better UI/UX themes.

Check that all used modules in the project are Drupal 9 Compatible!

Modules Had Been Removed

drush pm:uninstall libraries

Drupal 9 Compatible but no longer in Varbase Core

drush pm:uninstall libraries_ui

Not Compatible with Drupal 9 yet

drush pm:uninstall mail_edit

Not Compatible with Drupal 9 yet

drush pm:uninstall webform_analysis

Not Compatible with Drupal 9 yet

drush pm:uninstall tour_builder

Not Compatible with Drupal 9 yet

drush pm:uninstall smtp

Drupal 9 Compatible but no longer in Varbase Mail

drush pm:uninstall media_library_theme_reset

Not Compatible with Drupal 9 yet

drush pm:uninstall color_field

Drupal 9 Compatible but no longer in Varbase Core

drush pm:uninstall features

Drupal 9 Compatible but no longer in Varbase Core

drush pm:uninstall adminimal_admin_toolbar

Drupal 9 Compatible but no longer in Varbase Core

Keeping Admininimal? Add the following to the composer.json file In case of choosing to keep the Adminimal - Responsive Administration Theme as the default back-end theme.

"drupal/vartheme_admin" : "~6.0"

"drupal/adminimal_admin_toolbar": "~1.0"

Make sure to clear cache and all functional behaviors are working well

drush cr

Themes Had Been Removed

Uninstall the Vartheme Admin Theme and the Adminimal - Responsive Administration Theme

Drupal 9 Compatible but no longer used by Varbase

drush theme:enable vartheme_claro

drush config:set system.theme admin vartheme_claro

drush theme:uninstall vartheme_admin

drush theme:uninstall adminimal_theme

Keeping Admininimal? Add the following to the composer.json file In case of choosing to keep the Adminimal - Responsive Administration Theme as the default back-end theme.

"drupal/vartheme_admin" : "~6.0"

In case of not uninstalling them and starting the update, the following issue will show up in the database update process.

  • adminimal_theme

  • vartheme_admin

Make sure to clear the cache and all functional behaviors are working well

drush cr

4. Check All Required Contrib Modules in the Project

Check the Drupal 9 Compatibility for all used module.

Projects may or may not use this module. If it was required and used, check the following in the project page.

In case the module was not compatible with Drupal 9 yet, Follow with issues and the maintainer to make the module have a Drupal 9 Compatibility.

5. Check All Custom Modules in the Project

Check deprecation on all custom in-house modules.

6. Check All Required Libraries

Make sure that any used library has no conflict with any Drupal 9 core asset libraries.

7. Run the Update Varbase Command

bash ./bin/update-varbase.sh

Facing issues? Do the steps to do after the commands. next step.

8. Steps to Do After the Command

Do not abort the update process.

Type no then press the enter key. In order not to abort and restore backups. To keep all work up to that point.

For sure the update will face errors while switching from Symfony 3 to Symfony 4

On the step of updating from Drupal ~8 to Drupal ~9, a number of duplicate key "services" detected in YamlSymfony.php and Parser.php.

Drupal 8 is using Symfony 3 and Drupal 9 is using Symfony 4

Make sure to have the following in the composer.json file.

  "config": {
    "bin-dir": "bin/",
    "secure-http": false,
    "optimize-autoloader": true,
    "preferred-install": {
      "drupal/core": "dist"
    },
    "allow-plugins": {
      "composer/installers": true,
      "cweagans/composer-patches": true,
      "oomphinc/composer-installers-extender": true,
      "drupal/core-composer-scaffold": true,
      "drupal/core-project-message": true,
      "dealerdirect/phpcodesniffer-composer-installer": true,
      "vardot/varbase-updater": true
    }
  },
  

And the following in the extra, as having patches is a critical to have the right logic and complete working site.

Enable patching and composer should exit on patch failure. Not to miss any functionality or fixes after the update.

"enable-patching": true,
"composer-exit-on-patch-failure": true,

The root composer.json file should look like the Varbase 9.0.x project template composer.json file at the following link. Plus all added modules, themes, libraries, and needed patches for the project.

It should look like the composer.json file .. not the same exact copy of it

keep the work of the automated updater. Do not do any manual copy and replacing for the outcome composer.json file. Only edit the the same file.

It is better to remove the composer.lock and vendor/ folder. Then do a composer install

sudo rm -rf bin/ composer.lock vendor/ docroot/modules/contrib docroot/themes/contrib  docroot/profiles/varbase docroot/core ;
composer install -vvv

Run Database update number of times. Until no updates are needed.

drush updb
drush cr

9. Remove Drush Before Deployment to Production

Remember to remove Drush from the composer before deploying to the live site.

composer remove drush/drush

10. Set Composer Exit on Patch Failure to True

Please, DO NOT set the following in the composer.json for projects

    "composer-exit-on-patch-failure": false,

It should be

    "composer-exit-on-patch-failure": true,

On wanting to ignore any patch, please use patches-ignore

Have a look at Ignoring Patches a link for how to do this in the right way

If it was changed in any way or the Varbase Updater had it changed. Please change it back to

    "composer-exit-on-patch-failure": true,

A module could have a security patch or a functional feature patch. If the patch did not apply. That means the project has a security issue, some expected behaviors will be lost or a bug will show up in the project.

If Varbase Layout Builder ~8.0 or ~9.0 were not Enabled in Old Sites

  • Only remove it from the root composer.json file for the project and do a composer update

  • The Varbase Layout Builder ~10.0 and all needed modules will be required in the default Varbase ~9.0 profile

  • Enable Varbase Layout Builder and Varbase Landing (Layout Builder) modules.

Uninstall the Module

Issue : Removed Libraries API module as much of its functionality had been moved to Drupal 9 core

Uninstall the Module

Issue : Removed Libraries UI module from Varbase Development

Uninstall the Module

Issue : Removed Mail Editor module from Varbase Core

Uninstall the Module

Issue : Removed Webform Analysis module from Varbase Core

Uninstall the Module

Issue : Removed Tour Builder module from Varbase Core

Uninstall the Module.

Issue : Removed Smtp module

Issue : Removed enabling the smtp module as we have switched to use swiftmailer ~1.0 and Varbase emailing configs switched to Varbase Email module.

Uninstall the Module

Issue : Removed Media Library Theme Reset module

Uninstall the Module.

Issue : Removed Color Field module

Uninstall the Module.

Issue : Removed Features module

Uninstall the Module

Issue : Removed Adminimal Admin Toolbar module

Issue : Removed Vartheme Admin theme

Varbase switched to use and Claro from Drupal Core.

Issue : Removed Vartheme Admin theme

First change the default admin them to

[1] ) [error] (Currently using Missing or invalid themes The following themes are marked as installed in the core.extension configuration, but they are missing:

Search for the " is here!" notice in the Drupal project page for each required module in the root composer.json file for the project. Look for "Requires Drupal:" In the project page for the module in Drupal.org.

Example Module:

It was sat true in the for the following rezone.

Updating a Varbase Site
Understanding Varbase Updater Package
https://www.drupal.org/docs/upgrading-drupal/how-to-prepare-your-drupal-7-or-8-site-for-drupal-9/upgrading-a-drupal-8-site
https://www.drupal.org/docs/understanding-drupal/how-drupal-9-was-made-and-what-is-included/how-and-why-we-deprecated-code
https://www.drupal.org/docs/understanding-drupal/how-drupal-9-is-made-and-what-is-included/what-changes-are-there-for-third
Updating Varbase to work with Composer 2.0
Check contributed modules.
Check custom in-house developed modules.
Libraries API
#3170653
Libraries UI
#3168664
Mail Editor
#3168674
Webform Analysis
#3175839
Tour Builder
#3176580
SMTP Authentication Support
#3143148
#3047359
Media Library Theme Reset
#3174423
Color Field
#3145737
Features
#3145744
Adminimal Admin Toolbar
#3145709
#3145720
Vartheme Claro
#3145720
Vartheme Claro
https://www.drupal.org/docs/8/update/troubleshooting-database-updates
Drupal 9
Webform Mautic
https://www.drupal.org/docs/updating-drupal/how-to-prepare-your-drupal-7-or-8-site-for-drupal-9/deprecation-checking-and
What changes are there for third-party dependencies?
https://github.com/Vardot/varbase-project/blob/9.0.10/composer.json
Extending Varbase
Vardot/varbase-project/composer.json