Overzicht van Drupal
Waarom Drupal?
Drupal is een gratis contentmanagementsysteem (CMS) met open source-code, dat kan worden aangepast en uitgebreid voor zowel eenvoudige websites als complexe webapplicaties. Drupal groeit mee dankzij duizenden gratis modules en thema’s die je helpen het juiste publiek te bereiken om je boodschap te verspreiden, je merkbekendheid te vergroten en een gemeenschap op te bouwen.

Drupal is toegankelijk en meertalig. De nieuwste release van Drupal is de krachtigste en meest toegankelijke versie tot nu toe. Dankzij ingebouwde toegankelijkheids- en meertalige functies kun je er zeker van zijn dat je het publiek kunt bereiken dat je wilt aanspreken met jouw boodschap.
Drupal is flexibel ontworpen. Van desktoptoepassingen zoals Acquia Dev Desktop, waarmee je webapplicaties lokaal kunt bouwen, tot hosting bij een Drupal-provider — je kunt erop vertrouwen dat jouw Drupal-website of -applicatie werkt op een platform dat aan je behoeften voldoet. Drupal is eenvoudig te verplaatsen en te schalen. Drupal past zich aan jouw wensen aan.
Drupal installeren voor testen
Wij houden van Drupal en hopen dat jij dat ook zult doen. Je kunt zelf binnen enkele minuten een nieuw geïnstalleerde Drupal-site testen op SimplyTest Drupal.
Na slechts enkele klikken heb je toegang tot een volledige Drupal-installatie voor evaluatie. Voor meer informatie over het instellen van jouw testinstallatie op simplytest.me, bekijk hun FAQ-pagina op https://simplytest.me/qa.
Opmerking: deze testsite vervalt na 24 uur.
Gratis software
Het installeren en uitvoeren van Drupal is volledig gratis. Dit omvat meer dan 40.000 beschikbare modules om de functionaliteit van de site uit te breiden en meer dan 2.500 thema’s om het uiterlijk van de site aan te passen.
Als je lokaal werkt, moet je mogelijk ook een ‘stack’ installeren — de software die jouw site aandrijft.
De basis “stack”
Een Drupal-site gebruikt een “stack” van software die op de achtergrond draait om je site te bedienen en je inhoud op te slaan:
“Server”-software
“Database”-software
PHP-interpreter (Drupal is gebaseerd op de programmeertaal PHP).
Deze stack is al geïnstalleerd op de meeste commerciële hostingdiensten. Voor lokale ontwikkeling is deze stack in veel vormen beschikbaar.
Hier zijn enkele van de vele beschikbare opties om een stack op je lokale computer te draaien.
MAMP (OSX, eenvoudig) | Een lokale omgeving maken met MAMP | |
Open Server (Windows, eenvoudig) | ||
XAMPP (Windows, eenvoudig) | Snelle Drupal-installatie met XAMPP op Windows | |
|
Drupal-ontwikkeling met Docker | |
Lando (elk OS, geavanceerd) | Introductie tot Lando | |
Directe installatie in je besturingssysteem (geavanceerd) | Voor Windows-gebruikers: de meeste externe hosts gebruiken Linux-databases, en Windows-databases zijn niet eenvoudig te migreren naar Linux. Dit is geen probleem als je een van de bovenstaande opties gebruikt. |
Twee onderdelen die elke Drupal-site gebruikt: de sitecode en de database
De sitecode: dit zijn de bestanden en mappen die je ontvangt wanneer je Drupal downloadt. Deze bestanden in de sitecode zijn verantwoordelijk voor het aanmaken en beheren van alle inhoud van je site, zoals artikelen of gebruikersreacties. De eigenlijke inhoud (evenals instellingen en configuraties) wordt opgeslagen in de database.
Als je een Drupal-site wilt dupliceren of verplaatsen, moet je een kopie hebben van zowel de sitecode als de database.
Waar flexibiliteit eenvoud ontmoet
Contentmanagementoplossingen proberen een balans te vinden tussen flexibiliteit en eenvoud. Als een oplossing te eenvoudig is, kan ze slechts voor één doel worden gebruikt; als ze te flexibel is, kan het voor beginners moeilijk zijn om te leren.
Een gemiddelde CMS lijkt op een speelgoedvrachtwagen. Er zijn specifieke aannames gemaakt over hoe het zal worden gebruikt, en die zijn moeilijk te veranderen. Een contentmanagementframework daarentegen lijkt op de grondstoffen die nodig zijn om elk soort speelgoed te maken — er zijn geen aannames gedaan, maar de bouwer heeft technische kennis nodig om er iets mee te doen.
Drupal is ontworpen als de ideale oplossing voor niet-technische gebruikers die eenvoud én flexibiliteit willen. Dit wordt bereikt door de modulaire opbouw van websites. In tegenstelling tot andere CMS’en is Drupal geen kant-en-klare speelgoedvrachtwagen, maar een set wielen, windschermen, assen en frames die eenvoudig samen te voegen zijn. Met Drupal kan de bouwer een speelgoedvrachtwagen maken, maar ook een vliegtuig, een onderzeeër of een robot. Daarom kan Drupal worden beschouwd als zowel een contentmanagementsysteem als een contentmanagementframework — één verenigd systeem dat de sterke punten van beide combineert zonder hun nadelen.
Of een sitebouwer nu een nieuwssite, webwinkel, sociaal netwerk, blog, wiki of iets anders wil creëren, het is slechts een kwestie van het combineren van de juiste modules. De enige beperking is de verbeeldingskracht van de bouwer.
Drupal in actie
Om het verschil tussen Drupal en andere CMS’en te verduidelijken, bekijken we een voorbeeld van een nieuwssite. Je wilt nieuwsartikelen publiceren en op de homepage een sectie hebben met de vijf meest recente artikelen. Vervolgens besluit je dat je een blogsectie wilt toevoegen en een lijst met de vijf nieuwste blogberichten op de homepage wilt tonen.
Met een standaard CMS installeer je eerst een plugin die nieuwsartikelen beheert en korte samenvattingen op de homepage plaatst. Vervolgens installeer je een plugin die blogberichten bijhoudt en op de homepage weergeeft. Elke plugin beheert slechts één specifiek type inhoud en blijft grotendeels geïsoleerd van de andere.
Maar wat als je een briljant idee krijgt om die twee functies te combineren — bijvoorbeeld een lijst met blogposts over recente nieuwsitems, gesorteerd op gebruikersactiviteit? Met een traditioneel CMS zit je waarschijnlijk vast of moet je een ontwikkelaar inhuren om een aangepaste plugin te schrijven. Met Drupal kun je dit snel en eenvoudig doen dankzij de gestandaardiseerde modulaire architectuur. Omdat alle Drupal-modules op een uniforme manier met het kernsysteem samenwerken, kun je eenvoudig slimme, op maat gemaakte functies bouwen. In dit voorbeeld kun je eenvoudig Views gebruiken.
Natuurlijk komt deze flexibiliteit met een leercurve. Terwijl een standaard CMS direct klaar is voor gebruik, vereist een modulaire aanpak enige kennis om te begrijpen hoe alles samenwerkt. De bouwstenen zijn beschikbaar, maar je moet leren hoe ze worden gecombineerd voordat je een volledig functionele website kunt bouwen.
De Drupal-kern en duizenden uitbreidingsmodules vragen om een initiële leercurve, maar het leren van de “Drupal way” is zeer de moeite waard; het gepassioneerde community-ecosysteem bewijst hoe Drupal websitebouwers bevrijdt van de keuze tussen eenvoud en kracht. Zodra je Drupal probeert, laat je waarschijnlijk je “speelgoedtruck” voorgoed achter.
Hoe Drupal werkt
Nieuwsgierig? Laten we eens kijken hoe Drupal precies werkt.
Mensen zien een website vaak als een verzameling statische pagina’s, met misschien enkele functies zoals een blog of een nieuwssectie. Wanneer ze hun site beheren, denken ze in termen van een hiërarchie van pagina’s die ze kunnen bewerken.
Drupal daarentegen beschouwt de meeste soorten inhoud als variaties op één concept: nodes. Statische pagina’s, blogposts en nieuwsitems (verschillende inhoudstypen) worden allemaal op dezelfde manier opgeslagen, en de navigatiestructuur van de site wordt apart opgebouwd via menu’s, views (inhoudslijsten) en blocks (inhoudselementen die vaak links naar andere secties bevatten).
Dit is vergelijkbaar met hoe in webstandaarden HTML de structuur biedt en CSS de presentatie verzorgt. In Drupal bevatten nodes gestructureerde informatie, zoals titel, inhoud, auteur en datum. Menu’s, taxonomie (tags) en views bouwen de informatiestructuur, terwijl thema’s en modules zoals Panels bepalen hoe alles wordt weergegeven.
Omdat deze lagen afzonderlijk worden opgeslagen, kun je totaal verschillende navigatie- en weergaveopties bieden aan verschillende gebruikers, afhankelijk van hun rollen en behoeften.
Nodes: het geheim van Drupal’s flexibiliteit
Nodes vormen de kern van het Drupal-ontwerp. Een node is in wezen een verzameling gerelateerde stukjes informatie. Wanneer je een nieuwe blogpost aanmaakt, definieer je niet alleen de tekst, maar ook de titel, auteur, publicatiedatum, taxonomie (tags), enzovoort. Sommige hiervan worden weergegeven via het thema, andere bepalen gedrag of zichtbaarheid.
Je bent niet beperkt tot één weergave van je inhoud. Je kunt meerdere navigatiestructuren, aangepaste thema’s of ontwerpen definiëren. Ook reacties zijn in Drupal gewoon nodes — er is geen aparte “blogsysteem”-module. Reacties kunnen worden ingeschakeld voor elk inhoudstype dat je wilt, of het nu blogberichten, nieuws, wiki-pagina’s of iets anders is. De modulariteit van Drupal wordt alleen beperkt door de verbeeldingskracht van de sitebouwer.
Samenwerken aan de Drupal-kern
Het bouwen van een informatieve website (“één naar velen”) is iets wat de meeste CMS’en standaard doen. Maar Drupal blinkt uit in het mogelijk maken van samenwerking en contentcreatie door gebruikers — het verschuift van “één naar velen” naar “velen naar velen”.
Met sommige CMS’en kun je een blog opzetten en plugins installeren voor community-interactie. Maar wat als je elke gebruiker een eigen blog wilt geven, met aparte profielen, categorieën en overzichten? En als je dat wilt integreren met forums, wiki’s of afbeeldingsgalerijen met tags? Voor de meeste CMS’en is dat erg complex. Voor Drupal is dit juist eenvoudig en duurzaam dankzij het consistente datamodel en de modulaire architectuur.
Drupal is vanaf de basis ontworpen om sitebeheerders in staat te stellen contentcreatie en zelfs sitebeheer te delegeren. Je hoeft alleen gebruikersrechten te definiëren — en daarna kan iedereen samenwerken.
De Drupal-werkwijze
Om Drupal echt te begrijpen, moet je weten hoe informatie door de systeemlagen stroomt. Er zijn vijf hoofdniveaus om te overwegen:
1. De basis van het systeem bestaat uit nodes — de databron. Alles wat op de site verschijnt, begint hier.
2. De volgende laag bevat modules. Modules zijn functionele uitbreidingen — sommige komen met de kern, andere worden door de community ontwikkeld. Modules breiden de kernfunctionaliteit uit, voegen velden toe aan inhoudstypes, configureren e-commerce, sorteren inhoud, tonen gegevens, enz. Er zijn duizenden modules beschikbaar die innovatie en samenwerking mogelijk maken.
3. De volgende laag bevat blokken en menu’s. Blokken tonen inhoud of functionaliteit van modules en kunnen op verschillende posities in een thema worden geplaatst. Menu’s bepalen de navigatie en koppelingen tussen pagina’s binnen Drupal.
4. Daarboven bevinden zich gebruikersrechten. Hier definieer je wat gebruikers kunnen doen en zien, op basis van rollen en machtigingen.
5. De bovenste laag is het thema van de site (“skin”). Dit bestaat hoofdzakelijk uit HTML, CSS en Twig-variabelen, en bepaalt de visuele presentatie. Thema’s kunnen functies overschrijven en gedrag aanpassen, inclusief op basis van gebruikersrechten.
Aan de slag met Drupal
Nu je een korte introductie in de Drupal-wereld hebt gekregen, waarom installeer je Drupal niet op je server of probeer je het online via simplytest.me? Het installatie- en configuratiehandboek bevat stapsgewijze instructies om je op weg te helpen.
Welkom in de Drupal-community — en veel plezier met het bouwen van je sites!