Developing with 
Configuration 
Management 
Ryan Szrama, DrupalCamp Asheville 2014
Why do configuration management? 
Configuration management improves: 
1. The stability of a production website. 
2. The reliability of feature deployment to a 
production website. 
3. The speed of feature deployment to a 
production website.
Manage configuration in code. 
● Baseline for dependable feature development 
and deployment in Drupal. 
● Commit it to your repository so it can be moved 
between environments; typically more useful 
than sharing features between sites. 
● Do it manually, use Features, or use 
Configuration Management.
What’s Configuration Management? 
The Configuration Management module treats 
your entire site as a Feature. 
● Backport of Drupal 8 “CMI” work. 
● Lets you track configurations, export them 
from the active store (database) to the data 
store (file system), and synchronize the 
active store with the data store.
What isn’t it good for? 
1. Overriding default configurations. 
2. Managing menu items. 
3. Managing environment specific configuration 
or sensitive configuration (e.g. API keys). 
a. Fortunately, you can exclude any configuration you 
want through the settings form.
How does it work on Platform.sh?
How does it work on Platform.sh?
How does it work on Platform.sh?
How does it work on Platform.sh?
How does it work on Platform.sh?
How it works on Platform.sh: 
1. Track a collection of configurations. 
2. Write them to the data store using a writable 
files directory. 
3. Export them and copy the tracked.inc and 
configuration .inc files to /config in Git. 
4. Commit and push to rebuild the environment. 
5. Merge commits upstream 
6. Synchronize from sites/default/config.
What’s next? 
Check out the results of the Configuration 
Management Initiative in Drupal 8: 
https://austin2014.drupal.org/session/introducing-drupal-8- 
configuration-system

Developing with Configuration Management on Drupal 7

  • 1.
    Developing with Configuration Management Ryan Szrama, DrupalCamp Asheville 2014
  • 2.
    Why do configurationmanagement? Configuration management improves: 1. The stability of a production website. 2. The reliability of feature deployment to a production website. 3. The speed of feature deployment to a production website.
  • 3.
    Manage configuration incode. ● Baseline for dependable feature development and deployment in Drupal. ● Commit it to your repository so it can be moved between environments; typically more useful than sharing features between sites. ● Do it manually, use Features, or use Configuration Management.
  • 4.
    What’s Configuration Management? The Configuration Management module treats your entire site as a Feature. ● Backport of Drupal 8 “CMI” work. ● Lets you track configurations, export them from the active store (database) to the data store (file system), and synchronize the active store with the data store.
  • 13.
    What isn’t itgood for? 1. Overriding default configurations. 2. Managing menu items. 3. Managing environment specific configuration or sensitive configuration (e.g. API keys). a. Fortunately, you can exclude any configuration you want through the settings form.
  • 15.
    How does itwork on Platform.sh?
  • 16.
    How does itwork on Platform.sh?
  • 17.
    How does itwork on Platform.sh?
  • 18.
    How does itwork on Platform.sh?
  • 19.
    How does itwork on Platform.sh?
  • 20.
    How it workson Platform.sh: 1. Track a collection of configurations. 2. Write them to the data store using a writable files directory. 3. Export them and copy the tracked.inc and configuration .inc files to /config in Git. 4. Commit and push to rebuild the environment. 5. Merge commits upstream 6. Synchronize from sites/default/config.
  • 21.
    What’s next? Checkout the results of the Configuration Management Initiative in Drupal 8: https://austin2014.drupal.org/session/introducing-drupal-8- configuration-system