We craft digital
connections
in sports

Craft CMS: the New Kid on the Block

We craft digital
connections
in sports
Jerome Anker
Jerome Anker
Back-end Developer

Of je nu een developer, marketing professional of ICT-manager bent; het kiezen van het juiste content management systeem (CMS) is een flinke uitdaging. Zelfs wij - als digitaal bureau - hebben er een dagtaak aan om op de hoogte te blijven van alle mogelijkheden. We willen het hele landschap overzien en flexibel blijven. Maar hoewel we op het CMS-gebied niet geloven in monogamie is het toch tijd voor een digitale liefdesverklaring.

Het was maart 2017 toen we via verschillende blogs op het Craft CMS stuitten. Inmiddels hebben we er meer dan 30 projecten op ontwikkeld.
Maar voordat we aan onze lofzang beginnen, willen we even stilstaan bij de populairste jongens uit de klas: Wordpress en Drupal. Twee prima CMS systemen, waar wij ook regelmatig mee werken en voor veel vraagstukken ook een prima oplossing. Vaak wordt Wordpress gepositioneerd als een CMS voor 'doe-het-zelvers'. Drupal geldt als CMS met meer maatwerk mogelijkheden voor developers, maar met een vrij complexe interface voor de eindgebruiker. In onze ogen brengt Craft die twee werelden op dit moment samen: gemak voor de eindgebruiker en vrijheid voor developers. In beide onderdelen nemen we je in dit blog graag mee.

Content first
Veel van de projecten van onze klanten draaien om content. Het primaire doel van een CMS is over het algemeen dan ook de intuïtieve usability om content te creëren, organiseren en publiceren. Op dit gebied doen we dan ook onze eerste shout-out naar Craft:

  • De live-preview is één van de killer features van Craft. In deze split-screen modus (zie de afbeelding hieronder) definieer je aan de linkerkant van het scherm je content en zie je aan de rechterkant een preview hoe dit getoond zal worden aan de bezoeker.
  • De user-interface van het systeem is zo gebruiksvriendelijk, dat wij gestopt zijn met het geven van CMS trainingen. Het is simpelweg niet nodig met Craft.
  • Craft is snel. Extreem snel. Zowel voor de bezoeker van de site als voor de beheerder in het Control Panel. Wel zo prettig wanneer je meer tijd doorbrengt in het CMS van je werkgever dan met je geliefde ;)
  • Craft heeft een zeer geavanceerd systeem voor gebruikersrollen en het management hiervan. Dit heeft tot gevolg dat op eenvoudige wijze onderdelen afgeschermd kunnen worden, ook over verschillende websites heen (later meer over de multi-site functionaliteit van Craft).
  • Content binnen Craft is gebaseerd op matrixblokken. Een voorbeeld van een dergelijk blok is een Instagram post embed, een tekstblok of een quote. Het prettige van deze matrixblokken is dat ze te gebruiken zijn over alle inhoudstypes van jouw website en je hier dus modulair alle content mee op kan bouwen. In het geval van TDE hebben we als inhoudstypes bijvoorbeeld cases, nieuws en tekstpagina's om meer over TDE te vertellen. Wanneer je in de backlog en designfase van een project de tijd neemt om hier goed over na te denken, dan kan het development budget zeer efficiënt ingezet worden;
  • Tot slot heeft Craft een geweldige image editor waarin je afbeeldingen kunt roteren, resizen, bijsnijden en zelfs het focus point voor het automatisch bijsnijden van afbeeldingen en transformaties kunt bepalen.

Halleluja! Craft multi-site CMS...
De afgelopen jaren hebben we enorm vaak de vraag gehad of we een project zo konden realiseren dat meerdere sites vanuit één CMS beheerbaar zijn. Sinds maart 2018 hebben we via Craft de mogelijkheid om deze wens te vervullen via haar multi-site opzet. En dit brengt naast gebruikersgemak ook een flink aantal andere voordelen met zich mee:

  • Efficiëntie. Binnen de multi-site omgeving kan op eenvoudige wijze functionaliteit worden gedeeld over de sites binnen deze omgeving. Uiteraard moet deze functionaliteit nog wel gestyled worden voor de verschillende websites, maar op back-end development uren kan zeker bespaard worden.
  • Maandelijks is er maar één plek waar CMS updates moeten worden doorgevoerd.
  • Wanneer er na livegang nieuwe elementen worden ontwikkeld (denk bijvoorbeeld aan een contentblok waarin een YouTube video embed kan worden), dan kunnen deze direct beschikbaar worden gemaakt voor alle websites binnen de multi-site omgeving.
  • Ook qua onderhoud werkt dit op dezelfde efficiënte manier. Stel dat Instagram haar embed functie aanpast, dan hoeft dit in de multi-site omgeving slechts op één plek aangepast te worden.
  • In de multi-site omgeving is het via de rollenstructuur zo te regelen dat gebruikers verschillende rechten hebben voor de websites binnen deze omgeving.
  • De multi-site omgeving zorgt voor een native manier voor meertaligheid, waardoor dit op een 'schone' wijze in de code geïmplementeerd wordt en hier geen afhankelijkheid is van een plugin.

Dit jaar hebben we een aantal Craft multi-site omgevingen opgeleverd, waaronder de volgende websites:

Maar andere CMS systemen hebben zich toch al veel langer ontwikkeld?
Om je een idee te geven in leeftijdsverschillen tussen CMS systemen: Wordpress is in 2003 als blog platform geïntroduceerd en Drupal is zelfs in 2000 al gelanceerd in de begintijden van het internet (toen je modem nog zo'n mooi geluidje maakte). Craft is pas 6 jaar oud (introductie in 2012), waardoor het 3x zo jong is als Drupal.

Je zou wellicht denken, hoe 'ouder' een CMS is des te meer tijd er is geweest om zaken te verbeteren en des te verder is het in zijn ontwikkeling. De realiteit is echter dat 'ouderdom' vooral technische bagage met zich meebrengt. Er zijn van oudsher bepaalde keuzes gemaakt ten aanzien van architectuur die niet altijd overeenkomen met de hedendaagse mogelijkheden. Daarnaast moeten oudere CMS systemen zorgen voor zogenaamde 'backwards compatibility'. Dit houdt in dat verschillende oudere versies van het CMS systeem ook onderhouden moeten worden. Dit gaat uiteraard ten koste gaat van de development capaciteit voor vernieuwing en innovatie.

Craft kent deze problemen (nog) niet, door haar jonge leeftijd. Daarnaast is er bij de ontwikkeling van het CMS de keuze gemaakt voor het Yii framework. Op dit moment één van de populairste frameworks binnen de wereld van PHP development. Iets wat zorgt voor vrolijke gezichten bij ons development team. Evenals het gebruik van Composer en Twig! om zo volledige controle te hebben over HTML, CSS, JavaScript en PHP code.

De voordelen en mogelijkheden die hierboven geschetst zijn, hebben tot gevolg dat Craft zich als New Kid on the Block mag verheugen op klanten als Netflix, Salesforce en natuurlijk de klantenkring van TDE :)

Open Source, plugins en de Craft community
In de begintijd van het Internet was het hip om als digitaal bureau je eigen CMS te ontwikkelen en exploiteren. Prima verdienmodel ook gezien het licentiemodel dat hieraan gekoppeld is/was. Hierna brak echter het Open Source tijdperk aan voor CMS systemen. De gedachte achter een Open Source CMS is dat de maker de broncode vrijgeeft, waardoor andere developers ook bij kunnen dragen aan de bestaande broncode. Dit komt voort uit de overtuiging dat het vrijgeven van de broncode zorgt voor het nastreven van een gezamenlijk belang; het verbeteren van het product. Ontwikkelaars kunnen verbeteringen aandragen die - mogelijk - worden toegepast in een volgende update. Al deze verbeteringen zijn ook openbaar, iedereen kan zijn of haar mening geven, alvorens de wijziging wordt doorgevoerd.

Wat ons betreft is Open Source heilig en in onze ogen zijn er geen redenen meer om te kiezen voor een zelf ontwikkeld CMS van een digitaal bureau. Enerzijds omdat de developers van een digitaal bureau niet op kunnen tegen de development kracht van de wereldwijde community. En anderzijds vanwege het zogenoemde 'locked in' effect. Het kan niet zo zijn dat je bij een bureau moet blijven vanwege een eerdere CMS keuze. Een bureau moet zijn plek verdienen en haar waarde blijven bewijzen.

Vaak staat Open Source voor mensen ook gelijk aan 'gratis'. In het geval van Craft is dit niet het geval en geldt er een fee van €300 voor het gebruik van het CMS (en €800 voor het gebruik van de e-commerce engine). In tegenstelling tot CMS systemen als Drupal en Wordpress is er een organisatie (Pixel & Tonic) verantwoordelijk voor de verdere ontwikkeling van Craft als CMS en het controleren van de kwaliteit van plug-ins (inmiddels meer dan 400) door derde partijen. Het is dus Open Source, maar wel met een kwaliteitscontrole op functionaliteiten die door de community ontwikkeld worden en met een duidelijke roadmap (op basis van de input van de community) voor de toekomst.

Tot slot kunnen wij als bureau rekenen op zeer adequate support vanuit Pixel & Tonic. Vragen en issues worden met de snelheid van het licht beantwoord en behandeld. Daarnaast maken we gretig gebruik van de zeer hechte community van 10.000 developers die elkaar dagelijks inspireren. Want ondanks het feit dat we een aantal knappe koppen hebben zitten, hoeft het wiel natuurlijk niet altijd zelf uitgevonden te worden ;).

Maar is Craft dan the holy grail?

Zeker niet. Er is geen one-size-fits-all oplossing voor de grote diversiteit aan vragen en behoeften. Daarom kijken wij bij aanvang van iedere project kritisch naar de gewenste technische oplossing. Bij een project waarin content centraal staat, valt onze keuze echter wel vaak op Craft. Voor complexere projecten met veel logica en onderliggende relaties is over het algemeen een PHP-framework als Symfony met een maatwerk CMS the way to go.

Nieuwsgierig geworden? We maken graag tijd voor je om samen Craft in te duiken!