Configuration management is the task of tracking and controlling changes in a website. Site owners often want to have deeper visibility and control over configuration changes for maintaining integrity and traceability throughout the lifecycle of a website.
Configuration Management in Drupal 8
The Configuration Management Initiatives in Drupal 8 basically include:
- Move configuration management into core
- Allow storage of configuration in files
- Allow the transfer of configuration between environments
- Create an API to allow custom configurations
- Integrate UUID into core so that certain configurations can be given machine names
The configuration management has been absorbed into Drupal 8 core. The idea behind the Configuration Management Initiative was to build Drupal from the ground up to be better at configuration management. This is to combat the haphazard formats in which modules are stored configuration in Drupal 7, making it hard to decipher where relevant configuration was stored. In Drupal 8, the configuration is stored in the form of human readable text files in the YAML (.yml) format.
The configuration Manager module in Drupal 8 provides a user interface for importing and exporting configuration changes between a Drupal installation in different environments, such as development, staging and production so that changes can be made and tested away from the live environment. This allows for deployment of a configuration from one environment to another, provided they are the same site (cloned instances of the same site). The site is identified using a Universally Unique Identifier (UUID).The site UUID must match the target site to allow importing of configuration files on that site.
Default configuration of modules, distributions and themes is imported into the active configuration store when the respective projects are enabled. So the active configuration store is the complete set of live configuration at any given time.The active configuration is stored in the database by default. However, it does allow websites to easily switch to file-based storage or key-value storage.
The two kinds of configuration in Drupal 8 are:
Simple configuration API: used where there can be only a single instance of the configuration.
Configuration Entity API: used to store multiple sets of configuration like views, fields.
What's in store for you?
Drupal 8 terminates the risk associated with configuration settings being stored with the content database. Also, most of the features in the configuration system exist to support multilingual sites. This enables Drupal-powered sites to reach a wider audience especially in European and Asian countries where multilingual sites have a distinct advantage.
Zyxware Technologies has long been associated with Drupal development and has been an active participant in the Drupal community. To migrate to Drupal 8 or to learn more about how Drupal 8 has been geared towards multilingual sites using configuration management,please get in touch with us.