Explore the key concepts of Drupal 11 before upgrading
Note: The topics on this page are not directly related to migrating configuration or content to Drupal 11. They are included to help site developers preparing for an upgrade to Drupal 11 understand these areas and choose the most appropriate approach.
Drupal 8 Configuration Management System
One of the most powerful new features in Drupal 11 is its enhanced configuration management system, which can be used to deploy an entire site's configuration from one environment to another, such as DEV - STAGING - PROD.
In Drupal 11, every configuration change you make through various admin forms can be exported to a YAML text file and imported into another environment. You can define a "sync directory" where the site configuration is exported and from where it is imported. It's recommended to version-control this directory (e.g., with Git) to manage configuration changes in a structured way.
This means one possible upgrade strategy is to migrate configuration such as content types, fields, etc., into a DEV environment and complete site configuration manually. The full site configuration can then be deployed to STAGING and PROD. Site content can then be migrated to STAGING and PROD after deploying the configuration.
Learn more about choosing an upgrade approach.
Learn more about Drupal 8 configuration management
Composer Can Be Used to Install Core, Modules, and Themes in Drupal
Traditional Way to Manage Drupal, Modules, and Themes
The traditional way to manage a Drupal site was to download the core tarball or zip file, extract it, and do the same for contributed modules and themes. Some modules require third-party libraries to be manually downloaded into specific directories (typically sites/all/libraries). While this traditional approach is still supported for Drupal 8 core and many modules, more and more modules require Composer for installation.
Drupal 8 Can Be Installed and Updated Using Composer
Modern PHP applications are typically built using reusable libraries or components. Drupal 8 follows this trend, leveraging Symfony platform components and other third-party tools. Contributed modules increasingly depend on external libraries. Composer is a PHP dependency manager that resolves component dependencies and downloads the correct versions for you.
Managing and updating a Drupal site can become difficult if the core was initially installed using the traditional tarball/zip method but later requires modules that must be installed via Composer. Some example modules with third-party dependencies:
- Address depends on the commerceguys/addressing library
- Geofield depends on the phayes/geoPHP library
- Simple FB Connect depends on the facebook/graph-sdk library
If you know you’ll need contributed modules that must be installed with Composer, it’s highly recommended to install Drupal 8 core with Composer as well. Switching to Composer management after a traditional installation can be quite complex. Avoid this by using Composer to build your entire site from the start. In practice, this means NOT downloading and extracting tarballs/zips manually, but instead using Composer to install the Drupal 8 core, contributed modules, and themes.
Learn more about managing Drupal 8 and contributed modules with Composer
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.