Menu
the REFERENCE

Drupal headless deel 2

Headless of ontkoppelde systemen zijn al een tijdje de nieuwe hype op CMS-vlak (Content Management Systems). In onze vorige blogpost hebben we het concept onder de loep genomen en toegelicht waarom je het kunt vergelijken met de lader van je telefoon. Nog niet gelezen? Je vindt de blogpost hier terug. In deze post gaan we dieper in op de verschillende vormen van Drupal headless en vertellen we je hoe je de beste oplossing kiest voor jouw organisatie.
 

 

Contentmanagement innoveert in een razendsnel tempo. Dat hangt enerzijds samen met de vele verschillende kanalen (web, mobiel, chat ...) en anderzijds met de grote hoeveelheid (opkomende) frontendframeworks die CMS-systemen moeten ondersteunen. Het is dan ook geen verrassing dat hiervoor headless of ontkoppelde systemen opduiken. Er bestaan basisvormen voor één enkele website, maar ook vormen voor complexere omgevingen, zoals een architectuur met microservice-oriëntatie.

Afhankelijk van de behoeften van jouw organisatie en project zijn er verschillende manieren om Drupal te ontkoppelen. We overlopen daarom even de drie bekendste manieren waarop je met Drupal kunt werken.

 

 

Verschillende vormen van Drupal 

1. Traditionele Drupal
Ook bekend als gekoppelde of monolithische Drupal

Bij deze methode wordt Drupal in zijn standaardvorm gebruikt voor een website. Dat betekent dat er gewerkt wordt met standaardbibliotheken, zoals jQuery. Drupal behoudt de volledige controle over de presentatie en datalagen. 

Een traditionele Drupal-setup blijft een uitstekende keuze voor contentredacteurs die de volledige controle willen over de visuele elementen van hun website, met toegang tot functionaliteiten zoals in-place editing en lay-outbeheer. Kort samengevat: Drupal zoals we het altijd gekend hebben. Zo worden de meeste nieuwe CMS-projecten tegenwoordig trouwens nog steeds gebouwd. 


2. Progressief ontkoppelde Drupal

In deze situatie wordt Drupal gebruikt voor de eerste rendering, met JavaScript erover. Als je wilt dat een pagina of onderdeel van een website zeer interactief is, kun je overwegen om dat onderdeel in JavaScript te renderen. Frameworks als Vue of React zijn daarvoor ideaal. JavaScript kan gebruikt worden om slechts één blok of onderdeel op een pagina te renderen, maar het kan ook de volledige body van de pagina laden. 

Progressieve ontkoppeling bevindt zich op een spectrum: hoe minder JavaScript op de pagina, hoe meer de pagina beheerd kan worden via Drupals administratieve functionaliteiten (zoals bij de traditionele methode). 

‘Progressief ontkoppeld’ kan gezien worden als de richting die de meeste organisaties tegenwoordig inslaan. Het is een tussenstadium dat niet enorm verschilt van de traditionele manier van werken. 


3. Volledig ontkoppelde Drupal

Tot slot is er ook de volledig ontkoppelde toepassing van Drupal, die gebruikt wordt als contentbibliotheek die toegankelijk is voor andere consumenten, of als gegevensbron. Dit is een 100% headless-benadering. Volledig ontkoppelde of ‘headless’ Drupal impliceert een volledige scheiding tussen de presentatielaag (frontend) en alle andere aspecten van het CMS. Beide zijn volledig losgekoppeld van elkaar. 

In dit scenario wordt het CMS een gegevensverstrekker. Een JavaScript-toepassing met server-side rendering is verantwoordelijk voor alle rendering en communiceert met Drupal via webservice-API's. Belangrijk om op te merken is dat cruciale functionaliteiten van Drupal, zoals in-place editing en lay-outbeheer, hier niet meer beschikbaar zijn. Volledige ontkoppeling is interessant voor bedrijven die meer controle willen over de frontend (in frameworks zoals Angular, React enz.) of waar gecentraliseerde content of gegevens gebruikt worden door meerdere toepassingen met een eigen specifieke focus. 

Nu we op de hoogte zijn van de verschillende soorten Drupal, kunnen we nagaan welk type het beste bij jouw organisatie past. Alles is afhankelijk van de doelen, behoeften en eigenschappen van jouw organisatie en projecten. 


De beste optie

Stel, je wilt één opzichzelfstaande website bouwen. De versie die je kiest, is volledig afhankelijk van de kenmerken van jouw organisatie en de functionaliteiten die voor jou essentieel zijn. 

Als je bijvoorbeeld een website wilt bouwen op basis van componenten, zonder uitgebreide frontendfunctionaliteiten en met een maximale flexibiliteit en onafhankelijkheid voor contentredacteurs, is headless wellicht geen goede keuze. De voordelen wegen immers niet op tegen de beperkingen. 
Maar stel nu dat je een opzichzelfstaande website wilt bouwen die totale flexibiliteit biedt op het vlak van frontend. Misschien hebben je frontendontwikkelaars weinig ervaring met Drupal? Dan is ontkoppeld wél een geschikte optie. 

Als het je bedoeling is om meerdere experiences te bouwen (waarvan er één een website of webtoepassing is), kun je een ontkoppeld Drupal-systeem gebruiken als:

- contentbibliotheek zonder eigen publieke frontend, of
- een traditionele website die tegelijkertijd fungeert als contentbibliotheek. Afhankelijk van hoe dynamisch je toepassing moet zijn, kun je een JavaScript-framework kiezen voor uiterst interactieve toepassingen, of een static site generator voor websites die voornamelijk statisch zijn.

Als je een combinatie van meerdere web- en niet-webgebaseerde experiences wilt bouwen (websites, native toepassingen voor mobiel of IoT), kun je een volledig ontkoppeld Drupal-systeem gebruiken om webservice-API’s beschikbaar te maken en die Drupal-site te gebruiken als contentbibliotheek zonder eigen publieke frontend.

De onderstaande flowchart helpt je de juiste beslissing te maken:

 

 

Los van het scenario dat het beste bij jouw organisatie past, is Drupal zo krachtig om dat het in al deze situaties gebruikt kan worden.

Contacteer ons vandaag nog om samen met ons team Drupal-experts de talrijke mogelijkheden te overlopen.

Stel een vraag

Bronnen: 
- Decoupled Drupal in Practice door Preston So
- How to decouple Drupal in 2019 door Dries Buytaert

 
3 december 2019

Op de hoogte blijven?

top
more than digital
The Reference is niets zonder haar klanten. Melexis is een beursgenoteerde wereldspeler in de halfgeleider- en sensorenindustrie. We hielpen Melexis de toekomstige groei van het bedrijf te faciliteren door het merk te vernieuwen, de volledig nieuwe corporate website te bouwen en de exploitatie van de online kanalen vorm te geven. Lees meer over deze klant.