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
  • Installing Varbase Updater
  • Varbase Updater Process
  1. Developers
  2. Updating a Varbase Site

Understanding Varbase Updater Package

PreviousUpdating a Varbase SiteNextHandling Patches When Updating

Last updated 1 year ago

The Varbase Updater () package was made to make updating Varbase as easy as possible. It's a set of scripts and tools that will help you to update to the newer versions of Varbase.

Installing Varbase Updater

Varbase Updater comes pre-installed with Varbase if you install Varbase through the Composer-based project template .

However, if you're using Varbase 8.6.2 and older, you will have to manually add the package by running this command: composer require vardot/varbase-updater

Varbase Updater Process

Varbase Updater process is outlined in the rudimentary flowchart below:

The process relies on a configuration file that is used as rules for updating from one version to another. The configuration file can be found in config/update-config.json and is described as below:

  • “composer-project-json-url”: the composer.json file that will be used in as the new file to process the update.

  • Each version pattern is treated as the detected version to be updated, and is defined in the JSON file with its own rules which are:

    • “from”: is the detected version.

    • “to”: is the target limit version to upgrade to.

    • “packages”: can include:

      • “crucial”: determines the packages that must be required/re-downloaded even if the target version no longer requires them.

      • “skip”: determines the packages that won’t be updated and remain on its old version.

    • “enable-after-update”: defines the modules will be enabled after the code update, and before the drush updatedb command.

Example:

{
  "profile": "varbase",
  "package": "vardot/varbase",
  "versions": {
    "8.4.*": {
      "from": "8.4.*",
      "to": "8.4.28",
      "final_target_version": "8.4.28",
      "composer-project-json-url": "8.4.28"
    },
    "8.4.28": {
      "from": "8.4.28",
      "to": "8.6.3",
      "final_target_version": "8.6.3",
      "composer-project-json-url": "8.6.3",
      "packages": {
        "crucial": {
          "drupal/varbase_carousels": "6.0",
          "drupal/entity_browser": "2.0",
          "drupal/video_embed_field": "2.0",
          "drupal/varbase_media": "6.2",
          "drupal/media_entity": "2.0-beta3",
          "vardot/entity_browser_generic_embed": "8.1.x-dev",
          "drupal/panelizer": "4.1"
        }
      },
      "skip":[
        "media_entity_document",
        "media_entity_image"
      ],
      "enable-after-update":[
        "entity_browser_generic_embed"
      ]
    },
    "8.5.*": {
      "from": "8.5.*",
      "to": "8.5.5",
      "final_target_version": "8.5.5",
      "composer-project-json-url": "8.5.5"
    },
    "8.5.5": {
      "from": "8.5.5",
      "to": "8.6.3",
      "final_target_version": "8.6.3",
      "composer-project-json-url": "8.6.3",
      "packages": {
        "crucial": {
          "drupal/varbase_carousels": "6.0",
          "drupal/entity_browser": "2.0",
          "drupal/video_embed_field": "2.0",
          "drupal/varbase_media": "6.2",
          "drupal/media_entity": "2.0-beta3",
          "vardot/entity_browser_generic_embed": "8.1.x-dev",
          "drupal/panelizer": "4.1"
        }
      },
      "skip":[
        "media_entity_document",
        "media_entity_image"
      ],
      "enable-after-update":[
        "entity_browser_generic_embed"
      ]
    },
    "8.6.*": {
      "from": "8.6.*",
      "to": "8.6.13",
      "final_target_version": "8.6.13",
      "composer-project-json-url": "8.6.13"
    },
    "8.6.13": {
      "from": "8.6.13",
      "to": "8.7.1",
      "final_target_version": "8.7.1",
      "composer-project-json-url": "8.7.1",
      "skip":[
        "media_entity_googledocs"
      ]
    },
    "8.7.*": {
      "from": "8.7.*",
      "to": "8.8.4",
      "final_target_version": "8.8.4",
      "composer-project-json-url": "8.8.4"
    },
    "8.8.0": {
      "from": "8.8.0",
      "to": "8.8.4",
      "final_target_version": "8.8.4",
      "composer-project-json-url": "8.8.4"
    },
    "8.8.1": {
      "from": "8.8.1",
      "to": "8.8.4",
      "final_target_version": "8.8.4",
      "composer-project-json-url": "8.8.4"
    },
    "8.8.2": {
      "from": "8.8.2",
      "to": "8.8.4",
      "final_target_version": "8.8.4",
      "composer-project-json-url": "8.8.4"
    },
    "8.8.3": {
      "from": "8.8.3",
      "to": "8.8.4",
      "final_target_version": "8.8.4",
      "composer-project-json-url": "8.8.4"
    },
    "8.8.4": {
      "from": "8.8.4",
      "to": "8.8.5",
      "final_target_version": "8.8.5",
      "composer-project-json-url": "8.8.5",
      "skip":[
        "slick_media"
      ]
    },
    "8.8.5": {
      "from": "8.8.5",
      "to": "8.8.6",
      "final_target_version": "8.8.6",
      "composer-project-json-url": "8.8.6"
    },
    "8.8.6": {
      "from": "8.8.6",
      "to": "8.8.7",
      "final_target_version": "8.8.7",
      "composer-project-json-url": "8.8.7",
      "skip":[
        "event_log_track",
        "event_log_track_auth",
        "event_log_track_file",
        "event_log_track_media",
        "event_log_track_menu",
        "event_log_track_node",
        "event_log_track_taxonomy",
        "event_log_track_user"
      ]
    },
    "8.8.7": {
      "from": "8.8.7",
      "to": "8.8.11",
      "final_target_version": "~8.0",
      "composer-project-json-url": "8.8.11"
    },
    "8.8.8": {
      "from": "8.8.8",
      "to": "8.8.11",
      "final_target_version": "~8.0",
      "composer-project-json-url": "8.8.11"
    },
    "8.8.9": {
      "from": "8.8.9",
      "to": "8.8.11",
      "final_target_version": "~8.0",
      "composer-project-json-url": "8.8.11"
    },
    "8.8.10": {
      "from": "8.8.10",
      "to": "8.8.11",
      "final_target_version": "~8.0",
      "composer-project-json-url": "8.8.11"
    },
    "8.8.11": {
      "from": "8.8.11",
      "to": "8.8.12",
      "final_target_version": "~8.0",
      "composer-project-json-url": "8.8.12"
    },
    "8.8.12": {
      "from": "8.8.12",
      "to": "9.0.3",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.3",
      "packages": {
        "crucial": {
          "drupal/varbase_layout_builder": "~9.0"
        }
      },
      "skip":[
        "vartheme",
        "vartheme_admin",
        "adminimal_admin_toolbar",
        "libraries",
        "libraries_ui",
        "smtp",
        "media_library_theme_reset",
        "color_field",
        "features",
        "l10n_client",
        "tour_builder",
        "webform_analysis",
        "mail_edit"
      ]
    },
    "9.0.0": {
      "from": "9.0.0",
      "to": "9.0.3",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.3"
    },
    "9.0.1": {
      "from": "9.0.1",
      "to": "9.0.3",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.3"
    },
    "9.0.2": {
      "from": "9.0.2",
      "to": "9.0.3",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.3"
    },
    "9.0.3": {
      "from": "9.0.3",
      "to": "9.0.4",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.4"
    },
    "9.0.4": {
      "from": "9.0.4",
      "to": "9.0.6",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.6"
    },
    "9.0.5": {
      "from": "9.0.5",
      "to": "9.0.6",
      "final_target_version": "~9.0.0",
      "composer-project-json-url": "9.0.6"
    },
    "9.0.6": {
      "from": "9.0.6",
      "to": "9.0.7",
      "final_target_version": "~9.0",
      "composer-project-json-url": "9.0.7"
    },
    "9.0.7": {
      "from": "9.0.7",
      "to": "9.0.10",
      "final_target_version": "~9.0",
      "composer-project-json-url": "9.0.10"
    },
    "9.0.8": {
      "from": "9.0.8",
      "to": "9.0.10",
      "final_target_version": "~9.0",
      "composer-project-json-url": "9.0.10"
    },
    "9.0.9": {
      "from": "9.0.9",
      "to": "9.0.10",
      "final_target_version": "~9.0",
      "composer-project-json-url": "9.0.10"
    },
    "9.0.10": {
      "from": "9.0.10",
      "to": "9.0.10",
      "final_target_version": "~9.0",
      "composer-project-json-url": "9.0.10"
    }
  }
}

At the end of the update process, two log files are useful to troubleshoot your update:

  • varbase_update_error.log: a log of all errors that occurred during the update process.

  • varbase_failed_patches.log: a log of all patches that failed to apply during the update process.

varbase-updater
varbase-project