Drupal wordt vaak aangeduid als content management systeem. En hoewel Drupal een uitgebreid CMS aan boord heeft, zou je het systeem tekort doen door het als alleen maar een CMS te zien.
Daarom noemen wij Drupal, in plaats van CMS, liever een applicatieplatform: een platform voor het ontwikkelen, vormgeven, aanpassen en beheren van websites en webapplicaties en de content die zij herbergen.
Om deze niet geringe ambitie waar te maken herbergt Drupal 3 belangrijke kenmerken in zich -zeg maar het Drupal Supertrio- waarop de kracht van het systeem rust. Deze 3 kenmerken zijn:
- Content management systeem
- Webbuilder toolbox
- Robuuste Application Programming Interface
Het is de aanwezigheid van alledrie deze kwaliteiten die Drupal maakt tot wat het vandaag is, een robuust, flexibel, schaalbaar en breed inzetbaar applicatie platform. Wat houden elk van deze 3 zaken precies in?
1. Content beheer (wordt steeds gemakkelijker)
Wellicht het meest bekend is Drupal in de rol van content management systeem. Deze stelt de beheerder in staat om alle mogelijke soorten webcontent te creeeren, onderhouden, publiceren, omzetten naar verschillende formaten en langs diverse kanalen naar de eindgebruiker / bezoeker te brengen.
Zeker sinds de komst van Drupal 8 wordt het beheren van content steeds eenvoudiger en gebruiksvriendelijker: bijvoorbeeld met de in-place editor die website-beheerders in staat stelt om aan de 'voorkant' van de website direct aanpassingen te maken aan content en de resultaten in de webpagina onmiddelijk te zien.
Het beheren van content kan een brede range zaken betekenen: van eenvoudig aanpassen van titel en body van een artikel tot het, al-dan-niet automatisch, updaten van complexe custom content types. Van het 'even een wijziging maken' door de website-eigenaar zelf, tot een uitgebreid workflow-proces waarbij meerdere personen en/of afdelingen binnen het bedrijf een rol spelen.
Content moet in dit geval breed worden gezien: van een eenvoudige webpagina tot applicaties die documentbeheer herbergen, of beheer van assets (AMS) of users (CRM). Op gebied van contentbeheer is Drupal zeer breed inzetbaar.
2. Een website opzetten en instellen zonder technische kennis
Naast een CMS bevat Drupal een uitgebreide 'toolbox' voor het configureren/instellen van websites. Deze toolbox maakt het mogelijk om direct in het browserscherm en zonder enige technische kennis (met slechts muisklikken) een complete en volwaardige website bij elkaar te 'klikken'.
Door middel van Drupal's toolbox is het bijvoorbeeld mogelijk om 1 van de duizenden vormgevingen in te stellen en aan te passen, om automatische overzichten aan te leggen van content, om de frontpagina te wijzigen, statistiekensoftware zoals Google Analytics te installeren en in te stellen, om het systeem mails te laten versturen wanneer zich bepaalde events voordoen, nieuwsbrieven aan te maken en te versturen, etcetera.
De toolbox is uit te breiden door middel van de duizenden uitbreidingsmodules die Drupal inmiddels kent. Door slim combinaties van uitbreidingsmodules in te zetten, kan in je website functionaliteit worden geimplementeerd die voorheen nog niet bestond.
Drupal's toolbox kan worden gebruikt zonder technische kennis van zaken. Omdat alle configuratie rechtstreeks in beheerschermen in de webbrowser kan worden uitgevoerd is geen voorkennis van software-ontwikkeling, databases en serveromgeving nodig. Een kind kan de was doen als het ware.
3. Inzetbaar voor elke use case door de robuuste API
Ondanks de ongeveer 15.000 uitbreidingsmodules die Drupal kent en de diversiteit aan functionaliteit die deze meebrengen, dienen zich voortdurend use cases aan die zozeer specifiek zijn voor de website of applicatie in kwestie, dat een op-maat oplossing nodig is. Op dat moment biedt Drupal's API het antwoord.
De Drupal API geeft software-ontwikkelaars de mogelijkheid om custom code te integreren in de software van Drupal. Op deze manier kan het Drupalsysteem onbeperkt worden aangepast en uitgebreid. (Het is met name op dit gebied waarop ons werk zich de meeste tijd afspeelt).
Door middel van de API kan alle denkbare functionaliteit aan een site worden toegevoegd. Maar het kan bijvoorbeeld ook gebruikt worden om met externe databases te werken, een op-maat caching- of authenticatiesysteem te ontwikkelen, of om content types te definieren voor een specifiek doel.