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).

  1. composer require drupal/config_installer
  2. 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';
  3.  exporter la conf, par ex avec un  drush config-export
  4. 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_split
composer 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.

  1. vérifier qu'on n'a pas de surcharge de conf avec un drush config:status
  2. sur l'env de dev, activer config_split
  3. exporter la conf, la déployer en prod avant de configurer sa version de dev (activation des modules, conf...)
  4. 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
  5. créer le dossier
  6. 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'

 

logo drush