Crystal Lee
Author Crystal Lee
Drupal Wordsmith
Posted in Software Development , Video , Drupal
March 21, 2016
Back to blog

How Drupal 8 Solves Configuration Management Conundrums

You’ve spent two months tweaking a whole series of configuration settings in your staging environment to get things working just right. And hallelujah, the last piece of the puzzle just fell into place. Now all you need to do is transfer the changes to the live site.

But therein lies the rub. Because while you’ve been slaving away in staging, people have been interacting with your live site: they’ve filled out contact forms, left comments, completed transactions. You can’t just copy the whole staging database over without overwriting some critical data.

With earlier versions of Drupal, your only option was to redo all the work you did in staging on the live site. Which is exactly as much fun as it sounds. And even if you wrote down every single step you followed in staging (you carefully documented everything, right?), there was a better-than-even chance of something getting screwed up.

Introducing configuration management

Drupal 8 makes site configuration so much easier. It allows you to export all your configuration changes (for one section or for the whole site) to a file, which you can then move around to different sites.

When you import the file to your live site, you get a side-by-side list of the changes being imported as well as the current state of those settings on the live site. A developer or site administrator can then go through and choose if they want to go ahead with each change or leave the setting as it is.

There’s still some manual work involved, but at least you can see all the changes and decide how to handle them. As opposed to having to remember and manually make every single change. Or unknowingly overwriting a key change no one told you about.

And we’re not just talking about email settings. It could be anything that can be stored in configuration management — which in Drupal 8 means almost all the display and layout settings for most of your site.

Site configuration made simple

You can also set site-specific overrides. For example, you can say that in the dev environment, all customer service emails should be sent to your test account, while in the live environment those emails should actually go to customer service. That saves you from accidentally sending a bunch of fake test data to a real CS rep. And it doesn’t matter if you download a new database — the override is written right into your dev settings file.

Organized configuration entities

Also new in Drupal 8 are configuration entities. Similar to content entities, which have attached attributes like title, description, price, etc., configuration entities are self-contained groupings of individual parameters that can be moved around as a unit. Rather than just having one big long list of every individual configuration variable, you can now put them in logical units and keep things a bit more organized.

To learn more, check out our High Five episode “The Best Features of Drupal 8 — Configuration Management.”




Subscribe to our YouTube Channel for more Drupal Commerce goodness!</p

Video: Checkout in Drupal Commerce 2.x is Configurable for any Order Type

    A checkout is a pretty fundamental part of a commerce system. So the fact that Commerce 2.x has a checkout is not really news. But it’s what you ...
Keep Reading »

Drupal Commerce 2: How to Set up Taxes

Setting up taxes in Drupal Commerce 2 is a snap. The component comes bundled with some predefined tax rate plugins, such as Canadian sales tax and ...
Keep Reading »

Comments, Reviews and Content Moderation Workflows

The Urban Hipster Drupal Commerce demo site was built to showcase what Drupal 8 and Commerce related modules can do. While the main focus has been ...
Keep Reading »

Fields marked with * are required.