Advertising sustains the DA. Ads are hidden for members. Join today

Contributed modules documentation

Configuration Management in Drupal 7

For Drupal 8, see https://www.drupal.org/documentation/administer/config

The Configuration Management module enables the ability to keep track of specific configurations on a Drupal site, provides the ability to move these configurations between different environments (such as local, development, quality assurance, and production), and also move configurations between completely different sites (i.e. migrate configurations) without the use of modules with all configuration being owned by the site.

For the most part, this module provides the same functionality as a subset of the Features module. The Features module is currently the 'go-to' tool for moving configuration from environment to environment and site to site. While it does a great job doing this, "configuration management" was never really what the Features module was intended to do. The goal of the Features module was to group configurations together to satisfy a certain use-case. Instead, most people use the Features module to export configuration to code to ease deployment between environments. Many of us have experienced the shortcomings of using the Features module for configuration management and have found cases where it doesn't quite allow us to easily manage configuration. A couple of other modules have spawned off of the Features module to help with some of these shortcomings: Features Override, Features Plumber, Features Tools.

The Configuration Management module takes some concepts from the Drupal 8.x core configuration management initiative, specifically the concept of the activestore and datastore architecture. Read up on how Drupal 8.x will manage configurations to get an idea of how this module manages configuration between the activestore and datastore.

The Configuration Management module knows what configuration was changed and allows users to either activate a configuration that was changed in the datastore, or write to datastore if a configuration was changed in the activestore. If you enable the Diff module, you can then see a comparison between the contents of the activestore versus the datastore.

The granularity level goes down to each specific config, rather than an entire group of them (as the Features module does). This makes it easier to activate or write to file-specific configurations, without having to features-update or features-revert an entire group of configurations.

Basic Concepts

Correct usage of the Configuration Management module requires understanding some key concepts:

Configurations You Should Probably Exclude from Being Tracked

The following configurations are things you should probably exclude from being tracked. They will always have different values in different

Disabling Specific Handlers

You have the ability to disable a specific configuration handlers in case you need to. This could be useful if you want to deal with a

Drush commands for Configuration Management for Drupal 7

Implementing own handlers

Each configuration managed by the Configuration Management module is controlled by a handler. For example, the content types configurations

Moving Configurations between environments

The most common model of development these days will include at least 3 environments: dev, test and live (A -> B -> C). Perhaps, if you are

Supported configurations

The Configuration Management module currently supports the following components:

Guide maintainers

dagmar's picture