<aside>
💡
Stel je voor: je bent net afgestudeerd als webdeveloper en een klant komt naar je toe met een verzoek om een website te bouwen. Maar welke tool ga je gebruiken om die website te maken? Jullie kunnen inmiddels zelf een CMS maken, maar ga je die inzetten? Dat kost een hoop tijd aan onderhoud (beveiliging, werkend maken met de nieuwste versies PHP/Javascript, browsers, nieuwe functies inbouwen). Nagenoeg ondoenlijk.
Gelukkig staat het internet vol met bestaande, vaak gratis tools, van WordPress tot Shopify, en van Joomla tot headless systemen zoals Strapi.
Maar welke moet je gebruiken. Hoe maak je de juiste keuze?
</aside>
In deze module duiken we in de wereld van Content Management Systemen (CMS'en). Als toekomstige webdevelopers is het cruciaal dat je weet welk CMS geschikt is voor welk project. Of je nu een simpele blog moet opzetten of een complexe e-commerce website, jouw keuze voor een CMS kan het verschil maken tussen een soepel lopende website en een project vol technische obstakels.
Maar hoe maak je die keuze? Dat leer je in deze module! Samen gaan we onderzoeken, vergelijken en evalueren. We bekijken de voor- en nadelen van verschillende CMS’en, ontdekken hoe ze technisch werken, en leren hoe je als developer het maximale eruit kunt halen. Aan het eind van deze reeks weet jij precies welk CMS je moet kiezen voor verschillende projecten én kun je die keuze onderbouwen met technische argumenten.
Leerdoelen van deze module
- Weten wat een CMS is.
- Verschillende typen CMS'en kunnen benoemen.
- Kunnen onderzoeken wat de verschillen zijn tussen de CMS'en en vergelijken op basis van technische en functionele criteria.
- Het meest geschikte CMS kiezen op basis van projectvereisten en een technische onderbouwing geven.
- Leren hoe het door jou gekozen CMS technisch functioneert en wat de rol van de webdeveloper hierbij is
- Kunnen customizen van (aanpassingen kunnen doen aan) het door jou gekozen CMS, zoals
- aanpassingen aan het uiterlijk doen (thema aanpassen of zelf maken)
- aanpassingen aan de inhoud doen (custom content types of - velden maken)
Inhoud
in de 3 weken die deze module beslaat, gaan jullie
- onderzoek doen naar Wordpress, het bekendste CMS
- workshops volgen over het customizen van Wordpress:
- hoe maak je een thema
- hoe maak je zelf plugins
- hoe pas je de content aan (nieuwe content types en - velden)
- de eindopdracht maken en presenteren en documentatie verzorgen
<aside>
💡
Level 1 studenten doen de eerste week mee met de workshops Wordpress
Als er begonnen wordt met de eindopdracht gaan de studenten level 1 deze maken met een eigen CMS/CRUD. Zie uitleg hiernaast
</aside>

Presentaties
Module CMS - Kick off-zonder-onderzoek.pptx
Videopresentatie.pptx
Workshops
Workshops customizen Wordpress
Inleveren:
- code via Github
- kanbanboard (via Trello of Git projects of een ander systeem)
- presentatie als video via het ELO-inleverloket
Beoordeling
Beoordeling
<aside>
💡
studenten in level 1 worden beoordeeld op kennis van level-1 eisen
</aside>
<aside>
💡
Level 1
Studenten die op dit moment in level 1 zitten, maken zelf een CMS (een uitgebreid CRUD-systeem) omdat je daarmee makkelijker kunt aantonen dat je de eisen van Level 1 onder de knie hebt.
Eisen een het eigen CMS-systeem:
- bestaat uit een frontend-gedeelte en een backend-gedeelte
- backend-gedeelte is alleen toegankelijk via een login, die werkt met PHP SESSIONS.
- via de backend moet je minimaal 2 CRUD-onderdelen kunnen aanpassen, bijv algemene tekst van pagina’s en een items-deel (je voorraad pc-onderdelen, of je vinyl-collectie)
- minimaal 1 van de CRUD-onderdelen heeft een overzichtspagina en een detailspagina
- minimaal 1 van de CRUD-onderdelen heeft een file-upload functie
- de tabellen voor de onderdelen moeten meerdere verschillende data-types bevatten (int, varchar, text, datetime, decimal, etc) en de juiste / logische lengtes hebben
- minimaal 2 functionaliteiten toegevoegd waarbij je JavaScript hebt gebruikt (bijv een hamburgermenu, een slideshow, etc)
- HTML5 technieken gebruikt als CSS Flexbox of Grid
- De site moet responsive zijn
- De website moet online staan
- Extra’s:
- JOINS toepassen op tabellen
- Bind Parameters gebruiken in de SQL-queries
- PDO gebruiken ipv MySQLi
- een CSS-framwork gebruiken (bijv. Bootstrap)
- CSS-animaties toepassen
</aside>
Eindopdracht
Voor deze opdracht ga je aan de slag met een zelf te kiezen websiteproject, waarvoor je een CMS gaat gebruiken. Daarbij kun je zowel je design- als je ontwikkelvaardigheden kunt verbeteren. Je hebt de vrijheid om creatief te zijn in je ontwerpen, maar moet de technische eisen volgen om te laten zien dat je het CMS en zijn functionaliteiten goed beheerst. Hieronder staan de onderwerpen waaruit je kunt kiezen, en de eisen waaraan het project moet voldoen:
Onderwerpen Project
Onderwerpen
Eisen project
Website moet live staan:
- Het eindproduct moet daadwerkelijk online gepubliceerd worden. De website moet toegankelijk zijn via een domeinnaam en gehost worden op een server.
Customization van CMS en Theme:
- Customization Verplicht:
Het CMS moet gecustomized worden. Het enkel invullen van een bestaand template met Drag en Drop is niet voldoende. Als developer moet je in staat zijn om code te schrijven en het project naar wens aan te passen: denk aan het toevoegen van niet bestaande functionaliteit of het aanpassen van bestaande functionaliteit met hooks en override-functies, of aan het maken van eigen plugins, widgets en thema’s.
- Custom Fields en/of Custom Post- of Content Types verplicht:
Gebruik Custom Fields in je CMS om extra functionaliteit toe te voegen. Naast standaard velden (meestal titel, tekst en afbeelding), moeten er minimaal enkele op maat gemaakte velden worden toegevoegd (bijv. extra informatie, datums, prijzen, categorieën).
Custom Post- of Content Types kun je hele eigen inhouds-types maken, dus niet alleen pagina’s of posts, maar ook bijv. “albums” of “concerts” van je favoriete artiest, of “games” of “wedstrijden”, met hun eigen invulvelden.
- Thema maken: je maakt volledig zelf een eigen template in plaats van een bestaand thema te gebruiken.
Vrije keuze in opmaak:
- Je hebt de vrijheid om de visuele opmaak van de website naar eigen smaak te ontwerpen, maar als je een onderwerp kiest dat gerelateerd is aan bijvoorbeeld GLU of Bureau, moet je je aan de huisstijl houden van deze organisaties (zoals kleuren, logo’s en typografie).
Documentatie Verplicht:
- Naast het bouwen van de website, moet er ook een Technische handleiding worden aangeleverd. Hierin leg je uit hoe je project technisch in elkaar zit, welke keuzes je hebt gemaakt, en hoe het functioneert.
De documentatie moet minimaal de volgende onderdelen bevatten:
- Plugins/Extension Overzicht: Welke plugins heb je gebruikt en waarom? Geef een overzicht van de functies die deze plugins aan je project toevoegen.
- Technische Werking: Hoe werkt jouw project in het CMS? Beschrijf hoe de custom fields, thema-onderdelen en eventuele plug-ins bijdragen aan de functionaliteit van je website.
Zorg ervoor dat je project voldoet aan al deze eisen om te laten zien dat je je CMS niet alleen gebruikt als content management systeem, maar ook volledig kunt customizen op basis van de projectvereisten.