Wagtail - ett hållbart CMS för ditt innehåll

Jakob StasilowiczUtvecklarejakob.stasilowicz@frojd.se

Här på Fröjd är vi stolta över att kunna kalla oss plattformsoberoende - med andra ord är vi inte låsta till en specifik plattform eller ett specifikt språk/ramverk - utan arbetar med (och älskar att arbeta med!) en drös olika. Vi anser att det här sättet att jobba på gör störst nytta för våra kunder, eftersom vi genom att hålla oss plattformsoberoende kan välja rätt verktyg för rätt uppgift och har större möjligheter att skräddarsy de tjänster vi tar fram.

Oavsett om det är en tjänst, en sajt, en app eller ett api vi bygger behövs det nästan alltid någon form av redaktionell kontroll över innehållet som ska presenteras. Med andra ord handlar en stor del av vardagen hos oss (och förmodligen en del av vardagen hos dig också, eftersom du läser det här) om olika CMS, d.v.s. Content Management Systems eller innehållshanteringssystem.

Om du inte riktigt vet vad ett CMS är, eller bara vill läsa mer om CMS, ramverk och relaterade termer, rekommenderar vi att du läser vår artikel Ramverk vs. CMS – vad är det och vilket ska jag välja? innan du fortsätter.

På Fröjd har vi byggt CMS-drivna sajter i allt från WordPress och Drupal till Optimizely och Orchard. Men den CMS-plattform som har gjort våra kunder (och utvecklare!) gladast är däremot det kanske lite mindre kända Wagtail CMS. Här nedanför kan du läsa om varför.

Vad är Wagtail CMS?

Wagtail är ett open source-CMS ursprungligen utvecklat av digitalbyrån Torchbox för det välrenommerade brittiska universitetet Royal College of Art. Plattformen är en påbyggnad på det populära webbramverket Django och utkom i en första öppen version år 2014. Wagtail har alla funktioner som en kan förvänta sig av ett modernt CMS idag:

  • Genomgående intuitiv UX och ett responsivt, användarvänligt gränssnitt för redaktörer
  • Smärtfri bildhantering och redigering
  • Ett system som anpassar sig efter ditt innehåll istället för att du anpassar innehållet
  • Headless-funktionalitet (möjlighet att hämta in ditt innehåll via ett api, t.ex. in i en mobil-app)
  • Kraftfullt integrerat sök genom open source-sökmotorn Elastic Search
  • Kodstandarder och praktiker som minimerar teknisk skuld

Relativt andra CMS-lösningar, som exempelvis WordPress som varit med sedan början av 2000-talet, är Wagtail ganska ungt. Men trots sin blygsamma ålder har plattformen på kort tid byggt upp ett blomstrande community med många meetups, utvecklarkonferenser och bidragande utvecklare runt om i världen (däribland Fröjds egna Martin Sandström, Andreas Bernacca och Mikael Engström!). Detta är kanske inte helt oväntat, då Wagtail är utvecklat i det snabbast växande programmeringsspråket sedan flera år tillbaka: Python.

Att vara ung i detta sammanhang för med sig andra positiva aspekter: ett system som WordPress som har varit i drift under 20 års tid innehåller “förlegade rester” och en kakofoni av programmeringsparadigm som gör koden svårare att underhålla - en naturlig konsekvens för populära mjukvaror som måste hålla bakåtkompabilitet. Här briljerar Wagtail med ett modernt angreppssätt som inkluderar de lärdomar som hunnits dras under de 15 år som skiljer de båda CMS:ens begynnelse åt och den erfarenhet Torchbox har samlat på sig på vägen mot beslutet att skapa Wagtail.

Många framstående företag och organisationer använder idag Wagtail, däribland: NASA, Google (Google Blogs), Apple (intranät), Mozilla, Eventbrite, NHS (Brittiska Landstinget), Columbia University, m.fl. För sin ålder är plattformen alltså väldigt mogen och testad i stora skala. Vår egen sajt, där du läser det här, är också byggd i Wagtail.

En dröm för redaktörer

Wagtails främsta fokus ligger på användarvänlighet för redaktörer (och utvecklare - men mer om dem senare). Som redaktör får du tillgång till en hierarkisk sidstruktur med innehållstyper som bestäms helt av dina behov och ditt innehåll.

Du får också arbeta i en mycket kompetent och flexibel innehålls-editor som innehåller verktyg för att bygga upp sidor på ett modulärt och modernt sätt. Istället för 15 olika sidmallar finns 2 sidmallar och 10 block/moduler (på Wagtailianska heter dessa “stream fields”) som går att ordna på olika sätt.

Resultatet är en sajt där du som redaktör har mycket större makt i att utforma ditt innehåll samtidigt som hela systemet blir lättare att underhålla och utveckla. Moduler kan enkelt mappas mot en modulär design, läggas till eller tas bort och skapar stor flexibilitet för innehållstunga sajter. Så här skriver Fröjds Technical Director Mikael Engström om modulär design/utveckling:

“Modulär design innebär att man sätter upp fundament som t.ex. färger och typografisk skala som i sin tur bygger upp komponenter (knappar, inputfält, formulär) och sedan pusslar ihop dessa till större moduler. Genom att kombinera moduler i flera led får man en sidmall.”

Wagtails infrastruktur är väldigt väl lämpad för detta sätt att arbeta på. Genom att använda stream fields kan en redaktör enkelt sätta ihop en sida bestående av mindre delmoduler, t.ex. en video-modul, en text-modul, en bildpuff-modul, en citat-modul, en filväljar-modul, en chattruta-modul, o.s.v.

På Fröjd är vår filosofi inte att riva ut och bygga nytt var tredje år, utan att bygga hållbara lösningar som är lätta att underhålla och vidareutveckla; med sitt modulära tänk är det något som Wagtail lämpar sig väl för. Läs gärna hela Mikaels artikel kring hållbar webb här.

Förutom större redaktionell makt över innehållet kan redaktörer också dra nytta av den dugliga bild-editorn (här kan du t.ex. ange vilken del av bilden som innehåller relevant information - Wagtail beskär sedan bilden automatiskt åt dig när du behöver det och ser till att det viktiga i bilden ligger i fokus), integrerade A/B-tester, m.m.

Om du inte tidigare har jobbat redaktionellt med just Wagtail bör du inte oroa dig - när Fröjd har byggt stora Wagtail-lösningar för t.ex. VisitSweden har det inte helt oväntat funnits en oro bland redaktörer med erfarenhet av EpiServer eller WordPress. Denna oro har snabbt försvunnit (och utbyts till glädje!) när redaktörerna väl har fått prova på att redigera innehåll i systemet.

Läs gärna vad Wagtail själva skriver om plattformen här.

Mindre teknisk skuld och gladare utvecklare

Wagtail är byggt med ambitionen att vara ett CMS. Därför görs inga antaganden om hur du vill strukturera din data eller vad din tjänst/sajt är - detta lämnas istället åt utvecklarna. “Mer jobb och fler utvecklingstimmar”, kanske du tänker nu, men då har du nog aldrig riktigt reflekterat över skillnaden mellan sidor och inlägg eller kring en sajts hierarkiska struktur i t.ex. WordPress (men det har utvecklarna, vi lovar!).

Wagtail gör det lättare för utvecklare att förhålla sig till dina behov, och gör att det går snabbare för dem att omsätta behoven till modulär kod som är enkel att underhålla. Plattformen bråkar dessutom inte med det underliggande systemet Django, utan är ett isolerat verktyg som kopplas på. Fröjds Wagtail-lösningar innehåller oftast tre delar: Django, Django REST framework och Wagtail. Django är det underliggande systemet som har hand om databasförfrågningar m.m, Wagtail står för CMS-biten, och externa integrationer görs busenkelt via Django REST. Kort sagt en helhetslösning för modern webb! (eller app!)

Kort sagt om tekniken

  • Open source och stort community!
  • Wagtail gör inga antaganden om hur du vill presentera ditt innehåll. Via en klassisk webb? Via React eller annat modernt front-end-ramverk? In i en app via ett api? Spara ner allt i Excel-filer? Kör på!
  • Moderna standarder och ramar som minimerar mängden “ful kod” och gör det lättare för utvecklare att orientera sig och bygga på existerande lösningar. Med andra ord: hållbart.
  • Skrivet i världens snabbast växande språk: Python. Ett språk som vuxit enormt mycket, förmodligen tack vare att det är AI-revolutionens främsta verktyg.

En framtidssäker lösning

Vi förstår att valet av CMS-plattform är ett stort beslut. Vi förstår också att det är lätt att välja det “alla andra använder”. I Sverige är det, tyvärr, oftast inte Wagtail. Men! Tänk på att de andra plattformarnas popularitet ofta är en produkt av deras ålder, och/eller slumpen, inte nödvändigtvis av deras duglighet. Wagtail är mycket dugligt, växer ständigt och har redan gått om äldre Python/Django-baserade CMS som Django CMS i popularitet.

Utvecklare som kan Python och webb (vilket är väldigt många och som nämnts ovan blir de bara fler, i rask takt) bör inte ha några problem med att sätta sig in i hur Wagtail fungerar och kan komma igång med arbetet på kort tid (jag är en av dem!).

Faller ditt CMS-val på Wagtail vågar vi nästan lova att nöjda redaktörer och utvecklare blir en av biprodukterna till ett mer lättarbetat, arbetseffektivt och hållbart system för ditt innehåll.

Case

Spana gärna in följande case - samtliga sajter är byggda i Wagtail!

Bröstcancerförbundet

Medborgarskolan

Veidekke Bostad

VisitSweden Edible Country

Psst! Men det allt detta sagt finns vi naturligtvis tillgängliga för att bygga lösningar i WordPress eller EpiServer eller någon annan plattform - Wagtail är förstås inte alltid rätt verktyg. Men när det är rätt verktyg vågar vi nästan lova att både kunder, redaktörer och utvecklare blir glada!