Drupal
| Versie | 6.x |
| Officiële website | http://www.drupal.org |
| Licentiemodel | GPL v2, GPL v3 |
| Behoort tot de domeinen | Web Content Management
|
Aanbevelingen
Drupal is een zeer degelijk PHP-gebaseerd WCM-systeem dat breed inzetbaar is
voor diverse types van websites. Het product heeft reeds zijn sporen verdiend in
zowel grote als kleine implementaties.
Er zijn momenteel meer dan 5000 modules voor Drupal die extra functionaliteit
toevoegen. Enerzijds is dit een sterkte, anderzijds schuilt hierin het risico
dat de variabele kwaliteit een impact heeft op de werking van het systeem. In
sommige gevallen zijn er verschillende modules die dezelfde functionaliteit
aanbieden en komt het erop aan van de juiste module te kiezen. De grote
community rond Drupal kan uiteraard de nodige indicaties leveren voor welke
functionaliteit men welke module dient te gebruiken.
Acquia Drupal, de vrije maar commercieel ondersteunde versie van Drupal, kan ook
dienen als basis. De gebruikte modules zijn als het ware gecertifieerd en kunnen
als zeer betrouwbaar beschouw worden.
De bouw van een Drupal site kan vrij snel verlopen mits het eenvoudige site is. In dat geval is enkel een selectie van de juiste modules en theme, en komt er geen PHP-programmering bij kijken. In een bedrijfscontext is Drupal pas echt bruikbaar mits het gebruik van de juiste modules (bijv. voor workflow) en extra ontwikkelingen.
Drupal 7 kwam begin 2011 uit.
Beschrijving
Het Web Content Management systeem Drupal vindt zijn oorsprong in 2000 wanneer de belg Dries Buytaert start met een bulletin-board systeem waar in een community mensen berichten kunnen achterlaten voor elkaar. Gezien die oorsprong is Drupal vooral gekend als “social networking platform” (Web 2.0) maar het kan echter veel meer. Het is out-of-the-box geschikt voor de bouw van dynamische websites en collaboratieve omgevingen met fora, commentaarmogelijkheden, … Het product is enorm populair op het Internet (0.5 miljoen websites) en heeft een aantal zeer grote (en bekende) implementaties. Vaak wordt Drupal in één adem genoemd met een ander WCM, Joomla. Drupal wordt echter beschouwd als meer ‘enterprise ready’.
Drupal is gebaseerd op de L(W)AMP stack (Linux (Windows), Apache, MySQL, PHP). Ondersteuning voor andere databases is er vrijwel niet. Er zijn plannen om dit echter meer database-onafhankelijk te maken.
Architectuur
De Drupal-architectuur steunt op een kern van functionaliteit (core) waarop diverse modules worden ingeplugd. Deze modules maken gebruik van zogenaamde 'hooks' die toelaten aan een module op de algemene werking van het systeem in te grijpen. Er is een zegswijze in de Drupal-community die aangeeft dat er voor elke gevraagde functionaliteit wel een module bestaat (There's a module for that). Dat uit zich dan ook in het enorme aantal modules; er zijn intussen meer dan 5000 modules beschikbaar, zij het van zeer variabele kwaliteit. Voor elke module moet je eerst grondig nagaan of deze courant gebruikt wordt en of deze compatibel is met de andere modules.
De beheersinterface en de website zijn een geïntegreerd geheel. Inhoud wordt dynamisch gepubliceerd. Een pagina wordt samengesteld door 'blocks' die op zich verschillende inhoudselementen kunnen bevatten. In combinatie met de Views-module kan een gebruiker zonder zeer technische bagage inhoud laten verschijnen in een block op basis van een groot aantal selectiecriteria.
Onderstaande afbeelding toont een standaardinstallatie met het gebruik van het administratiemenu voor ingelogde gebruikers.
![]() |
| Drupal combineert website en beheer in één site |
PHP-developers kunnen snel aan de slag met Drupal aangezien het vrij standaardcode is. Er wordt immers geen gebruik gemaakt van specifieke (script)talen. Zoals vermeld moet men kunnen omgaan met het hooks-concept om goed aan de slag te kunnen.
Functionaliteit
Elk stukje content heet een Node in Drupal wat toelaat om een aantal generieke acties toe te passen op alle content, zoals bijvoorbeeld een commentaar-functie. Er zijn een aantal standaard content types gedefinieerd (Story, Page, Blog) en via de CCK-module (Content Construction Kit) kan je makkelijk eigen content types bouwen.
Het editeren van content kan met behulp van de standaardeditor die echter niet WYSIWYG is. Het is echter makkelijk om via een module één van de vele Javascript editors zoals TinyMCE toe te voegen. Een administrator kan bepalen voor welke (delen van) inhoudstypes deze editor beschikbaar is.
De navigatiestructuur kan op meerdere manieren gebouwd worden. Er zijn vaste menu's maar ook lijsten gebaseerd op sleutelwoorden die werden toegekend aan nodes. Deze vocabularia kunnen georganiseerd worden in een hiërarchische structuur.
Drupal bevat alle gangbare functionaliteiten voor het beheer van een meertalige website. Zowel de volledige inhoud als alles aan de interface kan vertaald worden.
Het uitzicht van een site wordt bepaald aan de hand van een 'theme'. Dit is een verzameling van php-templates, css-bestanden, afbeeldingen en javascript-code. Er kunnen verschillende themes toegekend worden aan een site die dan door een administrator (of zelf een gebruiker) kunnen worden gekozen.
Drupal beschikt standaard niet over workflow waarbij inhoud in een meerstapsproces wordt aangemaakt of gewijzigd. Door het gebruik van een aantal modules (Workflow, Actions, Rules) kan wel de gewenste functionaliteit gebouwd worden.
Naast een geïntegreerde zoekmachine kan er ook gebruik gemaakt worden van een extern zoeksysteem, namelijk Apache Solr. Er zijn specifieke modules die deze integratie mogelijk maken. Solr biedt het voordeel dat deze meer geavanceerde zoekfunctionaliteit kan aanleveren zoals faceted search. Het nadeel evenwel is de nood aan een aparte Java-gebaseerde omgeving voor Solr.
Begin 2011 werd Drupal 7 gereleased.
Ondersteuning
Gezien de brede verspreiding van Drupal is het niet moeilijk om implementatiepartners te vinden.
Sinds 2007 bestaat er een bedrijf rond Drupal, Acquia genaamd, met Dries Buytaert als medestichter. Acquia levert een aantal diensten rond Drupal:
- Acquia Drupal: een gratis versie van Drupal met een aantal voorgeïnstalleerde modules waarop commerciële ondersteuning verkrijgbaar is. Meer en meer organisaties stappen over op deze gratis versie als basis voor een implementatie.
- Acquia Network: ondersteuning voor Drupal en gerelateerde diensten
- Drupal Gardens: Drupal als Saas (Software-as-a-Service)

