Werken met configuratie op basis van het bestandssysteem
Let op dat Drupal standaard configuratiebeheerinformatie in de database opslaat. Om de workflow op basis van het bestandssysteem te laten werken, moet je de bestanden settings.php
en services.yml
wijzigen.
Dit moet worden gedaan vóór de installatie van Drupal, omdat het moeilijk is om terug te schakelen naar databasegebaseerd configuratiebeheer nadat je bent overgestapt op het bestandssysteem. Als je bestandsconfiguratie wilt inschakelen nadat de site is geïnstalleerd, moet je eerst je configuratie exporteren en een kopie opslaan in de actieve configuratiemap voordat je de bestandsconfiguratie inschakelt.
Opmerking: je moet verschillende actieve en staging-mappen hebben (volgens de onderstaande configuratie) – de configuratie-importstap is nog steeds vereist voor een bestandsgebaseerde workflow. Zie dit probleem – de workflow op basis van het bestandssysteem installeert/verwijdert modules niet correct zonder de configuratie-importstap.
1. Open het bestand settings.php
en zoek de sectie “Active configuration settings”.
2. Haal het commentaar weg bij de regel die begint met $settings['bootstrap_config_storage']
om bestandsgebaseerde configuratieopslag in te schakelen.
Controleer ook of de regel juist is ingesteld:
$settings['bootstrap_config_storage'] = array('Drupal\Core\Config\BootstrapConfigStorageFactory::class', 'getFileStorage');
3. Voeg de volgende code toe aan settings.php
(aangepast van https://www.drupal.org/node/2291587#comment-10426135):
$config_directories[CONFIG_ACTIVE_DIRECTORY] = 'PATH_OUTSIDE_WEB_ROOT/config/active/'; $config_directories[CONFIG_STAGING_DIRECTORY] = 'PATH_OUTSIDE_WEB_ROOT/config/staging/';
Sla het bestand op.
Open vervolgens het bestand services.yml
in sites/default
en voeg de volgende code toe (code afkomstig van https://www.drupal.org/node/2291587#comment-10567238):
services: config.storage: class: Drupal\Core\Config\CachedStorage arguments: ['@config.storage.active', '@cache.config'] config.storage.active: class: Drupal\Core\Config\FileStorage factory: Drupal\Core\Config\FileStorageFactory::getActive
5. Kopieer de configuratiebestanden (.yml
) van de active-map van de bronsite naar de staging-map van dezelfde site.
6. Gebruik een tool (rsync
, git
, ftp
, scp
) om de inhoud van de staging-map van de bron naar de staging-map van de doellocatie te kopiëren.
7. Ga op de doelwebsite naar admin/config/development/configuration
.
8. Klik op “Alles importeren”.