Introducing Config Filter

Fabian Bircher
27 Feb 2017
2 Comments
Fabian Bircher
27 Feb 2017
2 Comments
Fabian Bircher, 27 Feb 2017 - 2 Comments

Introducing Config Filter

A new structure and new possibilities for Config Split

Our solution for advanced configuration management workflows has just become more powerful! The core of what makes Configuration Split work so nicely with drush and the Drupal UI has been split off in a new module: Config Filter! Config Filter exposes a ConfigFilter plugin and swaps the sync storage applying all the active ConfigFilters to it. This means it is no longer necessary to manually swap the service as we recommended to do in the past and it works also when installing a site, as the swapping happens only when the module is installed. As of drush 8.1.10 this works with the default config import and export commands.

Update Config Split

For current users of the Config Split module it means that they should remove the custom service swapping as part of the update and then apply the database updates which will install Config Filter (you already downloaded it with composer update, right?).

New command-line options and new workflows

With the re-factoring we also changed the options of the drush and console commands. We added a new option for specifying a split and then export to and import from only that split directory; this supersedes the previous options to specify separate export destinations and import sources - they are not needed for the simple work flow we advocate for, and the behaviour can easily be achieved by modifying settings.php as needed.

With the addition of the single split export, a new workflow becomes possible: export only the "production" split, before importing the whole configuration which will have it merged back in.

Improved Graylists

In addition to the new architecture the graylist feature has been improved so that dependencies can be graylisted as well and optionally only items that differ from the sync storage are split off. More details and more documentation will come in future.

Roadmap

The ultimate goal is to improve the export API in Drupal 8 core so that more advanced workflows are possible. Config Filter is our proposal for a solution in contrib, but we feel that this functionality should belong to Core.

On the way to Core, here are some more immediate steps:

  • Clean up after the big refactoring, adding automated tests for some special cases.
  • Improve the documentation.
  • Integrate with Config Readonly to allow locking the site except for the configuration defined in splits.
  • For those that want to do configuration management without seatbelts, integrate Config Ignore with Config Filter so that it can work smoothly next to Config Split.
  • ...and eventually propose Config Filter for inclusion in Core!

More information and acknowledgments

The re-factoring started during the Drupal Mountain Camp in Davos and I would like to thank the organizing committee for the great event. On Friday I gave a presentation about my favorite topic in Drupal: Configuration Management, attached here are the slides based on the Nuvole presentation at DrupalCon Dublin 2016.

For any further information see the module pages for Config Split and Config Filter and their issue queues.

ConfigurationManagement_no-problems_davos17.pdf (1.15 MB)Download

Comments

Comments

Frederick Henderson
30 May 2017

I saw your presentation at Drupal Mountain Camp in Davos. I just setup Config Split on a project and it helps provide a common workflow in having different configuration on the development and live sites.

I saw your presentation at Drupal Mountain Camp in Davos. I just setup Config Split on a project and it helps provide a common workflow in having different configuration on the development and live sites.

Frederick Henderson, 30 May 2017

I saw your presentation at Drupal Mountain Camp in Davos. I just setup Config Split on a project and it helps provide a common workflow in having different configuration on the development and live sites.

Frederick Henderson, 30 May 2017
Andrea Pescetti
26 Feb 2018

Comments on this post are closed. Please follow the Config Filter project page for updates.

Comments on this post are closed. Please follow the Config Filter project page for updates.

Andrea Pescetti, 26 Feb 2018

Comments on this post are closed. Please follow the Config Filter project page for updates.

Andrea Pescetti, 26 Feb 2018

Get your project started today!

Contact us