Vi letar ständigt efter nya sätt att förbättra vår arbetsprocess och deployprocess. Efter att ha nosat på Trellis-stacken ett tag så gjorde vi slag i saken och bytte från vårt egna tema till Sage och Trellis-stacken, tillsammans med Bedrock-boilerplate. Så här har det gått.
Största fördelarna med Sage
Trellis-stacken kändes som ett bra nästa steg eftersom vi på ett enklare sätt kunde strukturera vår kod och separera presentation och logik. Stacken underhålls av företaget Roots som är ett känt namn i WordPress-communityt. I januari 2019 skedde bytet och vi såg direkt flera positiva aspekter.
- Vi slipper nu underhålla vårt egna tema (en tidskrävande syssla om man vill hålla sig uppdaterad med nya teknologier)
- Vi kan separera logik och användargränssnitt tack vare MVC-lik struktur
- Vi får modernare frontendverktyg (webpack)
- Vi får modernare backend (kan jobba mer med klasser, traits, namespaces, Laravel collections)
- Vi får Blade-templates
Vi har även skapat en fork av Sage som gör att vi kan jobba mer effektivt. Vi adderade då ny funktionalitet, dock tillräckligt lite för att fortfarande lätt kunna uppdatera till nya Sage-versioner i framtiden.
Säkert och smidigt med Bedrock
Vi har även implementerat Bedrock som då separerar WordPress och “wp-content” på ett bättre sätt än en vanlig wp-installation. Här används också composer för att uppdatera WordPress men också plugins eller andra tema-specifika php-bibliotek. Vi har även fått enklare miljöspecifik konfiguration med dotenv och säkrare webbplatser då konfigurationsfiler inte ligger i webbroten
Sparar tid med Trellis
Att deploya med Trellis har även det underlättat en hel del. Nu kan vi enkelt och smidigt deploya saker lokalt från terminalen.
Ett år senare – det har vi lärt oss
Att gå från eget tema till Sage och Trellis har varit, och är, en spännande utmaning. Lärdomarna har haglat tätt men här är de främsta.
Sage:
- ställer högre krav på php-kunskaper än vårt tidigare tema. Det är mer objektorienterat, har ett mvc-tänk och använder sig av modernare php-funktionalitet generellt
- har ett mer komplext deployförfarande, men som också på sikt gör det smidigare
- har gjort vårt jobb roligare, främst tack vare en bättre struktur i projektet men också på grund av mer modern teknik
Summa summarum? Vi är riktigt nöjda med skiftet och ser att vi kommer använda Trellis/Bedrock/Sage ett bra tag framöver.