Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DX][D8] CMI: Add config_exclude functionality to core #4079

Open
klonos opened this issue Sep 23, 2019 · 1 comment
Open

[DX][D8] CMI: Add config_exclude functionality to core #4079

klonos opened this issue Sep 23, 2019 · 1 comment

Comments

@klonos
Copy link
Member

klonos commented Sep 23, 2019

Drupal contrib module merged in 8.8.x core: https://www.drupal.org/project/config_exclude

Config Exclude allows you to exclude modules and their configuration from being exported. It is an easy way for developers to enable development modules without the risk of accidentally exporting the enabled-state or their dependent config.

Respective d.org issue: https://www.drupal.org/project/drupal/issues/3077504 ...and change record (Drupal 8.8.x): https://www.drupal.org/node/3079028

Modules can be excluded from the configuration synchronization

Introduction

Some modules help with developing a drupal site but are not intended to be deployed to production.
Up to Drupal 8.8.0 developers had to rely on contrib solutions such as Config Split to separate the development configuration. But sometimes it is not necessary to share the development configuration and instead it is more important to guarantee that development modules can not be included in the configuration export. This is precisely what the lesser known Config Exclude contrib module did and its functionality is now available to everyone.

How to use the new feature

in settings.php:
$settings['config_exclude_modules'] = ['devel', 'stage_file_proxy'];

Effects

Excluded modules and all the configuration that directly and indirectly depends on them are not exported through in the tarball and through tools using the config.storage.export service to export the configuration.
When importing the configuration the excluded modules and their configuration are not removed.

It is possible to exclude required modules, which means that the exported configuration can not be imported any more.

This is an advanced feature and using it means opting out of some of the guarantees the configuration synchronisation provides.

@klonos
Copy link
Member Author

klonos commented Sep 23, 2019

...the only difference (and perhaps blocker) is that in D8 whether a module is enabled/disabled is based on what's inside core.extension.yml, whereas in Backdrop we still store this in the db (hence not exported with config).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant