Forutsetningene er at du har Drush og Features installert, har terminalen oppe, benytter Git, og hører på Rebecca Black.
Hvordan få innholdstypen min under versjonskontroll
Jeg ønsker å legge til et par nye felter i innholdstypen Artikkel. Fra før har jeg feltene Tittel og Body, og nå ønsker jeg å legge til et bildefelt, samt et kategorifelt. Siden jeg selvfølgelig gjør themingen lokalt, er det helt på sin plass også å gjøre noen endringer i innholdstypene lokalt.
Legg funksjonalitet inn i en Feature
Gå til admin/structure/features, og opprett en Feature med et kort navn, f.eks "front". Velg deretter hva som skal inn; dersom eneste formål er å holde innstillinger under versjonskontroll (og ikke å skru funksjonalitet av og på, som typisk vil kreve flere features), legg inn smitt og smule. Et godt utgangspunkt, er å markere alle innholdstyper, kategorier, kontekster og views. En herlig spagetti!
Last ned din nye Drupal-modul
Klikk for å laste ned din nye Feature ved navn "front". Den har allerede fått et versjonsnummer m.m. som føres inn i en .info-fil; du har egentlig laget en modul. Følgelig skal denne plasseres i sites/all/modules/ (alternativt sites/all/modules/custom/ e.l.). Kjør "drush en front" som med en hvilken som helst annen modul, og du er i gang!
Gjør endringer lokalt og oppdatér
Legg til dine nye felter, sett opp image styles og stå i. Men hva så; må jeg gjenta prosessen med å laste ned featuren igjen? Det frister ikke å rett som det er laste ned pakkede filer og flytte disse inn i mapper manuelt. Det er her Drush kommer inn i bildet! Straks du har endret noe som er i pakket inn i en Feature, vil denne vises som Overstyrt. For å oppdatere din feature-modul til å speile endringene, kjøre følgende "drush fu front" (egentlig: "drush features-update [feature-name]"). Og vips! Kjør en "git status" for å se hva som faktisk er endret. En fest! Add, commit, push og gi naboen hi five i ren begeistring.
Hent inn endringene på live site
Som ved oppdateringer ellers, kan du nå kjøre "git pull origin master" på siten. Du har selvfølgelig testet grundig lokalt så dette kan umulig skjære seg :) Men, denne handlingen utretter svært lite alene. Dine artikler vil fortsatt ha de samme gamle feltene...helt til du finner fram terminalen igjen og skriver "drush fr front" (egentlig: "drush features-revert [feature-name]"). Denne kommandoen sier til Drupal at oppsettet i databasen skal forkastes til fordel for gjeldende innstillinger i modulen...hva disse konfigurasjonene angår, altså. Og vips: Din workflow er endret for alltid. Features ftw!
