Overslaan en naar de inhoud gaan

Features en Drush

De features module kan bepaalde configuraties en componenten opslaan in aparte feature modules. Deze feature module is een echte module met bestanden die in een VCS gezet kunnen worden, hierdoor is het extreem makkelijk om configuraties op te slaan in een VCS en door te voeren op verschillende omgevingen.

Het maken van een nieuwe feature via Drush

Ik neem hier als voorbeeld alle rechten die ingesteld zijn op de een site.

drush fe site_rechten user_permission (drush fe [feature-naam] [component(:sub-component)])
  1. Dit maakt een nieuwe features module die site_rechten heet. Deze naam is belangrijk en kies hier een simpele, doeltreffende naam voor. Het maakt een map aan in je sites/all map met de naam die je gekozen hebt. In dit geval sites/all/site_rechten. drush fe Exporteerd standaard naar sites/all/modules (dus in het onderstaande geval: sites/all/modules/site_rechten). Maarrrrr je kan met een –destination vlag een eigen locatie opgeven. Zie drush fe –help voor meer documentatie.
  2. Zet de map in een VCS. En voer hem door op andere omgevingen om je configuraties mee te nemen. Dit doe je door simpel het vinkje te zetten in de features configuratie van je site. site_rechten zou daar dan tussen moeten staan.

Het updaten van een bestaande feature via Drush

Je hebt nu je configuratie doorgevoerd op een testomgeving en op je eigen omgeving voer je wijzigingen door aan het rechtensysteem. Hoe update je je feature die je al gemaakt had?

De volgorde waarop je features aanmaakt heeft ook invloed. Voorbeeld is een vocabulaire die je koppeld aan een node middels een reference field. Als je nu een feature maakt van het type waaraan de vocabulaire gekoppeld is zal de vocabulaire meegenomen worden in de feature. Maar alleen de vocabulaire, aanpassingen aan deze vocabulaire (denk aan velden) worden niet meegenomen.

De beste manier is dan om eerste een feature te maken van de vocabulaire en daarna een feature te maken van de node. Op deze manier wordt de vocabulaire feature afhankelijk van de node features maar voert wel alle wijzigingen door aan de vocabulaire mocht je die gemaakt hebben.

BELANGRIJK is om GEEN nieuwe feature te maken van hetzelfde onderdeel. Het updaten van een feature doe je door dezelfde feature bij te werken.

  1. drush fu site_rechten
    Je krijgt dan de melding om je bestaande bestanden te overschrijven, doe dit. Nu heb je een nieuwe versie van je feature met je nieuwe wijzigingen
  2. Voer de updates door in je VCS. En bij een update van de testomgeving zal de nieuwe module meekomen en automatisch ook de nieuwe configuratie-instellingen. Extra hipheid

Installeer de Diff module om buiten je VCS om te zien wat er veranderd is aan je feature.

Naslagwerk