Modules config_
Il existe une foule de modules en config_ Cf https://assos.centrale-marseille.fr/ftorregrosa/blog/la-configuration-en...
config_partial_export
date de 2016 (drush cpex --help)
https://www.drupal.org/project/config_partial_export
Un profil d'installation, config_installer
https://www.drupal.org/project/config_installer
Installer un drupal 8 à partir de conf existantes. C'est n'est pas un module, mais un profil d'installation, qui charge une conf depuis un dossier install pour installer un site (ce dossier devrait etre en /profiles/contrib)
.
-
composer require drupal/config_installer
-
Installer un drupal 8, via le profil minimal (évite de futurs conflits lors d'imports de conf). Dans son
sites/[yoursite]/settings.php
vérifier (et les droits sur le dossier) le$config_directories['sync'] = '/path/to/folder/with/configuration';
-
exporter la conf, par ex avec un
drush config-export
-
réinstaller le site
drush site-install --verbose config_installer config_installer_sync_configure_form.sync_directory=/path/to.../configuration --yes
config_devel
https://www.drupal.org/project/config_devel
config_split
https://www.drupal.org/project/config_splitcomposer require 'drupal/config_split:^1.4'
Note : config_filter ressemble à config_split, mais sans faire d'action (donne juste l'API).
Aide à la conf prod/dev, car permet de définir des ensembles de conf (par ex, devel actif en dev pas en prod...). On aura divers dossiers de conf, lors de l'export de conf ; à l'import, chaque ensemble de conf est fusionnée. Il est aussi possible, via le settings.php, d'indiquer quel ensemble (de conf) sera active (et dc exportable/importable).
Ce module ne modifie pas la conf active (le CMI), il agit plutot comme un filtre lors des imports/exports.
Doc à https://www.drupal.org/docs/8/modules/configuration-split surtout cette pace-ci https://www.drupal.org/docs/8/modules/configuration-split/creating-a-sim...
En pratique
https://www.drupal.org/docs/8/modules/configuration-split/creating-a-sim...
Conf 1
On va créer un nouvel Configuration Split Setting pour l'env de dev.
-
vérifier qu'on n'a pas de surcharge de conf avec un
drush config:status
- sur l'env de dev, activer config_split
- exporter la conf, la déployer en prod avant de configurer sa version de dev (activation des modules, conf...)
-
Créer une conf : via les menus (Administration » Configuration » Development » Synchronize » Configuration Split Setting » Add configuration split setting)
- Machine name garder le meme nom que le nom du Folder.
- Folder est relatif à la racine du site (souvent mis à ../config/sync => alors plutot mettre ici ../config/dev)
- cocher Active
- plus bas, sélectionner ceux qu'on ne veux pas dans la conf principale
- créer le dossier
- exporter la conf
Conf 2 (en dev seul)
A propos du "cocher Active" : c'est ce qui active le split des confs. Mais on veux avoir des env différents (prod et dev avec modules sup), il faut modifier d'abord le settings.php (config_dev
doit etre votre nom machine)
// Use development config in dev environments.
if (/* Some logic to determine that the current environment is staging or production */) {
$config['config_split.config_split.config_dev']['status'] = FALSE;
}
else {
$config['config_split.config_split.config_dev']['status'] = TRUE;
}
thèmes liés
doc à https://www.drupal.org/docs/8/api/configuration-api/configuration-overri...
https://www.drupal.org/docs/8/modules/configuration-split/complete-split
https://www.drupal.org/docs/8/modules/deploy
config_token
https://www.drupal.org/project/config_token https://www.drupal.org/docs/8/modules/config-token/instructions-0
fonctionne avec https://www.drupal.org/project/token_filter composer require 'drupal/token_filter:^1.1'