Zoals je ziet in ons portfolio zijn veel online platforms (al sinds 2006) in Drupal geproduceerd. Maar wat is dat Drupal eigenlijk? Waar komt het vandaan en wat kan je ermee? Ik zou graag het gehele ecosysteem beschrijven, maar dat is te veelomvattend -gezien het een wereldwijde community omvat. Maar hierbij een globale indruk.
Introductie Drupal
Drupal is een gratis, open source content management framework geschreven in PHP, vrijgegeven onder GNU licentie. Drupal biedt een back-end framework voor minstens 2,3% van alle websites over de hele wereld - variërend van persoonlijke blogs tot bedrijfs-, politieke en overheidssites. Systemen gebruiken Drupal ook voor kennisbeheer en zakelijke samenwerking.
Content management systeem De core van Drupal bevat alle basisfuncties die standaard zijn voor een content management systemen. Zoals content management, beheer van gebruikersaccounts, menubeheer, RSS-feeds, taxonomie, layout building, API development. De core van Drupal kan gebruikt worden voor een eenvoudige website, een blog met één of meerdere gebruikers, een internetforum of een community-website die door gebruikers gegenereerde inhoud biedt.
Web applicatie framework Drupal kan tevens dienen als een framework voor grootschalige web applicaties. In vergelijking met opmerkelijke frameworks voldoet Drupal aan de meeste van de algemeen aanvaarde feature-eisen voor dergelijke web frameworks.
Hoewel Drupal een geavanceerde API voor ontwikkelaars biedt, vereist de installatie en het beheer van de website van het framework geen programmeer kennis.
Wie gebruikt Drupal
Enkele bekende namen die Drupal gebruiken:
In Nederland
- Van Dale
- De Tweede kamer
- RTL Nieuws
- Telegraaf Media Groep
- Koninklijke BAM Groep
Buiten Nederland
- Het Witte Huis
- The Economist
- The Grammy's
- Pfizer
En nog ~1.000.000, zie hier een aantal showcases.
Het ontstaan van Drupal
Oorspronkelijk geschreven door Dries Buytaert als een online prikbord, Drupal werd een open source project in 2001. De naam Drupal vertegenwoordigt een Engelse weergave van het Nederlandse woord druppel (als in een waterdruppel). De naam kwam van de nu ter ziele gegane Drop.org-website, waarvan de code langzaam evolueerde naar Drupal. Buytaert wilde de site "dorp" voor zijn community-aspecten noemen, maar typte het verkeerd bij het controleren van de domeinnaam en vond dat de fout beter klonk.
De Drupal Community, open source themes en modules
In september 2018 bestond de Drupal community uit meer dan 1.300.000 leden, inclusief 112.500 gebruikers die actief bijdroegen, wat resulteert in meer dan 41.500 gratis modules die de core functies van Drupal uitbreiden en wijzigen. Tevens zijn er meer dan 2.670 gratis thema's en meer dan 1.240 gratis distributies, waarmee gebruikers snel en eenvoudig een complexe, gebruikers-specifieke Drupal versie kunnen installeren.
https://www.drupal.org/community
Drupal core functionaliteiten
Dit zijn er te veel om op te noemen, het zou Drupal onrecht aandoen als ik slechts een selectie noem, daarom: hier vind je alle core modules and theme.
Omnichannel, multisite content in Drupal
Onderstaande afbeelding komt uit een presentatie die ik op de Drupaljam 2016 gaf en geeft een beeld wat omnichannel content is. Doordat Drupal API first faciliteert kan het ingezet worden voor het uitserveren van content naar allerlei verschillende kanalen, conform het Create once, publish everywhere principe.
Zie ook: mijn gehele presentatie van die Drupaljam.
Gepersonaliseerde content middels Drupal
Een trend die in 2019 zal doorzetten: gepubliceerd content gepersonaliseerd aanbieden op basis van gebruikersprofielen, voor een betere digital experience bij eindgebruikers en betere conversies voor business owners.
Drupal kan dit faciliteren, met behulp van bijvoorbeeld Acquia Lift, waardoor het kan concurreren met bijvoorbeeld Adobe Experience Manager, die ook hevig inzet op personalisatie. Maar geen open source is, dus geen optie ;)
Headless Drupal
Het headless cms is een trend die laatste ~5 jaar gaande is, Drupal was hier al snel bij en faciliteert API first.
Maar wat is er anders aan Headless Drupal dan aan standaard ‘vanilla’ Drupal? Vanuit de website bezoeker gezien: die maakt niet direct verbinding met Drupal, maar met een frontend Javascript framework als React of Vue. De website bezoeker ziet dus niet een gegenereerd Drupal theme (the head), die wordt niet gebruikt: headless.
Drupal wordt in dit geval alleen gebruikt als backend content management systeem, dat uitgelezen wordt door een frontend Javascript framework, een mobiele App of andere 3rd party applicatie. Het Drupal backend is dus exact zoals je het kent, maar het frontend is niet-Drupal.
Meer over headless Drupal:
- Headless Drupal. Waarom & hoe een RESTful API in Drupal?
- Headless Drupal & Node.js | Part 1/3: Drupal 8 RESTful API
Drupal distributies
Distributies kun je zien als voorverpakte bundels: de Drupal core samen met aanvullende themes, modules en libraries. Drupal distributies zijn globaal in te delen in 2 typen:
- Volledig distributies: compleet, direct installeerbare oplossingen voor specifieke use-cases, zoals een intranet of webshop.
- Overige distributies: gereedschap die een quick start bieden voor ontwikkelaars en site-builders.
https://www.drupal.org/docs/8/distributions
Drupal Security
Toen wij in 2006 startten met Drupal development, bracht open source software nog wel een FUD met zich mee bij klanten: 'Fear, Uncertainty and Doubt'. Gelukkig zijn die inmiddels verdwenen, de markt heeft zich bewezen: als je ziet welke organisaties Drupal gebruiken hoe groot de community is. Deze fears werden mede weggenomen door een sterk security team.
Drupal heeft een dedicated security team met voornaamste doelen:
- Gemelde beveiligingsproblemen oplossen in Security Advisories.
- Ondersteuning bieden voor contrib module beheerders bij het oplossen van beveiligingsproblemen.
- Verstrekken documentatie over het schrijven van beveiligde code
- Verstrekken documentatie over het beveiligen van Drupal sites.
- Helpen van het infrastructuurteam om de infrastructuur van drupal.org veilig te houden.
https://www.drupal.org/drupal-security-team
Drupal Association
De Drupal Association houdt zich bezig met het koesteren en ondersteunen van het Drupal project, de community en de groei ervan. Ze helpen de Drupal community met financiering, infrastructuur, onderwijs, promotie, distributie en online samenwerking op Drupal.org.
Financiële middelen die dit (en de medewerkers) ondersteunen komen van memberships, partnerprogramma's, sponsors, donaties en DrupalCon events.
https://www.drupal.org/association
SOLID development en 'awesome IDE support'
Drupal development is een heel andere ballgame, maar ik wilde toch alvast aangeven dat het ontwikkelen van (nette OOP) software in Drupal custom modules voldoet aan de eisen software engineer. Het voldoet aan de SOLID principles. Naast dat het dus volledig OOP ondersteunt, heeft het ook 'awesome IDE support, stronger typing en real objects'. We zien dat professionele software engineers daarom graag werken in Drupal, als je eenmaal je weg erin weet faciliteert het de bouw van wonderschone web applicaties / software.
Toekomst: Drupal 9
Juni 2020 is de verwachte release datum voor Drupal 9, wat betekent dat Drupal 7 vanaf dat moment niet meer wordt ondersteunt. Drupal support namelijk huidige en vorige versie.
Voorheen waren migraties nogal omslachtig (bv Drupal 6 naar 7 of 8), omdat de code-base flink verschillend was. Maar per Drupal 8 zal het grootste deel van de code backward compatibel zijn, wat migratie een stuk makkelijker maakt.
Meer informatie over aankomende Drupal 9 vind je hier en hier.
Wrap up
Ok, ik hoop dat je nu een beter beeld hebt bij Drupal, voor wie het interessant is en wat je ermee kan. Vragen of aanvullingen? Let me know!