Werken met configuraties met behulp van de Drupal-gebruikersinterface
Hier is een eenvoudig voorbeeld dat laat zien hoe je de sitenaam in één omgeving kunt instellen en vervolgens in een andere omgeving kunt implementeren. Dit voorbeeld omvat het handmatig downloaden en uploaden van gecomprimeerde configuratiebestanden (tar.gz), maar het is ook mogelijk om de synchronisatiemap van je site onder versiebeheer te plaatsen en op die manier te synchroniseren.
1. Installeer Drupal 8. We zullen deze site “Productie” noemen.
2. Maak een kopie van deze site op een andere URL — dit wordt de “Ontwikkeling”-site. Maak de kopie met dezelfde broncode, bestandsmap en database-dump van de productiesite. Onthoud dat het configuratiesysteem bedoeld is om instellingen te synchroniseren tussen kopieën van dezelfde site — dit betekent dat de UUID’s moeten overeenkomen. Daarom moet je altijd eerst een volledige kopie van de site en database maken (hoewel dit niet nodig is voordat je begint met het toevoegen van inhoud aan je site). In Drupal 7 had je alleen een database-dump en geüploade bestanden nodig, maar in Drupal 8 zijn ook andere delen van de bestandsstructuur belangrijk, inclusief configuratie- en PHP-bestanden.
Zodra dit proces voltooid is, kun je een nieuwe site installeren op basis van een bestaande configuratie, zodat het klonen van een site net zo eenvoudig wordt als het installeren van een nieuwe site met geëxporteerde configuratie. Totdat dit probleem volledig is opgelost, heb je echter nog steeds een volledige kopie van de site nodig.
3. Nadat je de kopie hebt gemaakt, bewerk het bestand settings.php
in de nieuwe kopie (Ontwikkeling) en stel de MySQL-gegevens in via $database.
4. Controleer het eigendom en de toegangsrechten van de bestanden/mappen (Drupal kan klagen dat je synchronisatiemap niet beschrijfbaar is).
5. Wis of herstel de cache.
6. Laten we nu een configuratiewijziging simuleren. Op de Ontwikkeling-site ga je naar admin/config/system/site-information en wijzig je de sitenaam.
7. Exporteer de volledige configuratie van de ontwikkelsite via admin/config/development/configuration/full/export. Dit maakt een gecomprimeerd bestand aan met de naam config-site-domain-name-2017-01-10-15-38.tar.gz.
8. Op de productiesite ga je naar admin/config/development/configuration/full/import en upload je het gecomprimeerde bestand.
9. Na het uploaden van het bestand word je doorgestuurd naar het tabblad “Synchronisatie”. Hier kun je een lijst zien van YAML-bestanden die zullen worden gewijzigd, toegevoegd of verwijderd. Als je op “Verschillen bekijken” klikt, zie je een gedetailleerde vergelijking tussen de “Huidige” (actieve) instellingen en de “In te voeren” (staging) instellingen.
10. Klik op Alles importeren om de configuratiewijzigingen te importeren. Je zou een bericht moeten zien dat de configuratie succesvol is geïmporteerd, en in de tabel verschijnt dan: “Geen configuratiewijzigingen om te importeren.”
Nu is de sitenaam ook op de productiesite gewijzigd. Hoewel je idealiter alle wijzigingen in de ontwikkelomgeving aanbrengt en vervolgens naar productie implementeert, kan het soms nodig zijn om wijzigingen rechtstreeks op de live site aan te brengen — bijvoorbeeld door gebruikers. (Naast gebruikersrollen en -rechten kun je met de module Config Readonly voorkomen dat gebruikers configuraties aanpassen.)
Als je naar /admin/config/development/configuration
gaat, zal Drupal je waarschuwen voor wijzigingen met het bericht:
De volgende elementen in je actieve configuratie zijn gewijzigd sinds de laatste import en kunnen verloren gaan bij de volgende import.
Om deze wijzigingen van productie terug te exporteren naar de ontwikkelomgeving:
- Exporteer de volledige configuratie van de productiesite via
admin/config/development/configuration/full/export
. Dit zal een nieuw tar.gz-bestand genereren. - Ga op de ontwikkelsite naar
admin/config/development/configuration/full/import
en upload het zojuist geëxporteerde bestand. Bekijk de wijzigingen en klik op Alles importeren.
Je kunt vervolgens verdere wijzigingen aanbrengen op de ontwikkelsite en ze naar productie exporteren zodra je tevreden bent met de resultaten.
Als je een complexe, interactieve site hebt met een redelijk verkeer, overweeg dan om de onderhoudsmodus in te schakelen op de productiesite tijdens het importeren van een volledige set configuratiebestanden. Dit voorkomt conflicten tussen configuratiewijzigingen en acties van gebruikers. Bovendien kun je als beheerder controleren of de bijgewerkte site correct werkt voordat je deze weer online zet.