In het kort
- Vraag
- Een groot Moodle-leerplatform had bewezen requirements nodig, een nieuw thema in de huisstijl van de Commissie en een manier om cursussen te vinden.
- Aanpak
- Ik onderzocht wat Moodle al kan, werkte elke requirement uit in een werkend prototype en droeg het over aan het ontwikkelteam.
- Opgeleverd
- Een uitgebreide ECL voor een leerplatform, themaplugins voor Moodle 4.5 en Moodle 5, een doorzoekbare catalogus en een praktische Moodle 5-handleiding.
De context
De Europese Commissie heeft een groot leerplatform op Moodle, voor mensen in de hele EU. Ik werk eraan sinds 2023, altijd aan de kant van het Gemeenschappelijk Centrum voor Onderzoek (JRC): vanuit het JRC en de business bereidde ik het werk voor en bracht ik het over naar het ontwikkelteam van DG DIGIT. Dat deed ik in twee opdrachten: van 2023 tot 2025 als technisch productanalist via iO, en van 2025 tot 2027 via NRB / Trasys International, intussen Keyes.
In beide opdrachten werkte ik op dezelfde manier: elke requirement werk ik uit in een werkend prototype, zodat ze bewezen werkt voor ze naar het ontwikkelteam gaat.
Eerst kijken wat Moodle al kan
In beide opdrachten deed ik ook stevig aan business-analyse. Het is verleidelijk om een feature te bedenken en ze meteen te laten bouwen. Maar wat kan Moodle al uit zichzelf? Hoe zou je die feature in Moodle bouwen? En is het wel verstandig om ze te bouwen? Die vragen werden zelden grondig onderzocht. Ik deed er heel wat opzoekingswerk rond, en maakte er documentatie en presentaties over. Twee voorbeelden: hoe zet je meerdere organisaties op één Moodle-site op (multi-tenancy), en hoe maak je Moodle volledig meertalig, telkens zonder eigen ontwikkeling? Voor allebei waren eerder eigen oplossingen gebouwd die heel wat bugs hadden binnengebracht, en dat wilde ik mee vermijden.
Uitproberen vóór het bouwen
We wilden de website, de cursussen en het presentatiemateriaal beter op elkaar afstemmen. Daarom maakte ik in de eerste opdracht een volledig design system in Figma voor al die kanalen, en een functioneel prototype in PHP, toen nog buiten Moodle. De design tokens uit Figma gingen automatisch mee naar het prototype. Daarin konden we nieuwe functies uitwerken en met de stakeholders testen, voor ze gebouwd werden.
Kort samengevat deed ik in die eerste opdracht ook nog dit. Voor de integratie met ServiceNow stelde ik grondige verbeteringen aan de gebruikservaring voor, in een klikbaar prototype in Figma. Ondertussen kreeg AI steeds meer aandacht bij het brede publiek, en werkte ik use cases uit die het platform kon implementeren: een semantische zoekfunctie op basis van retrieval-augmented generation (RAG), en tekst naar spraak en spraak naar tekst. Het platform zelf, gebouwd voor ik erbij kwam, haalde slechte resultaten bij een externe toegankelijkheidsaudit. Ik zette de bevindingen af tegen WCAG 2.1 AA en beschreef per component en per pagina wat er moest veranderen. Daarnaast deed ik het gewone werk in een scrumteam: documentatie, Jira-tickets en user acceptance tests (UAT).
Een upgrade als aanleiding
De tweede opdracht begon bij een upgrade. Het platform draaide op Moodle 3.11, met een thema dat niet in de huisstijl van de EU was en dat Moodle 4.5, de versie waar het platform naartoe zou gaan, niet meer ondersteunde. Er was dus een nieuw thema nodig, en dat werd de kans om de Europa Component Library (ECL) te integreren, het design system van de Commissie, zodat het platform in de visuele familie van de EU-websites zou passen. De uitdaging was om ECL in Moodle te brengen zonder aan een van beide te sleutelen, zodat Moodle en ECL allebei gewoon hun nieuwe versies kunnen blijven volgen.
De opdracht verliep in twee fases. Eerst lag de nadruk op ECL in Moodle 4.5 en op een nieuwe manier om cursussen te vinden. In 2026 verschoof ze naar Moodle 5, en naar het herbruikbaar maken van wat het platform in de loop der jaren geleerd had, voor andere organisaties.
ECL, uitgebreid voor een leerplatform
ECL is een mooie set basiscomponenten, maar een leerplatform vraagt meer: cursuskaarten, filters, voortgang, inschrijvingen, leerdoelen. Ik maakte er dus heel wat bij, op de design tokens van ECL: een uitgebreide ECL, zodat de hele interface van het leerplatform de ECL-look heeft.
Het thema, op ECL v5, toont de officiële ECL-componenten rechtstreeks en bouwt erop verder volgens atomic design: van kleine componenten naar grotere, naar secties en naar volledige pagina’s. Een levende design-systempagina documenteert elk component met voorbeelden, en een upgradepad vangt nieuwe ECL-versies op.
Ik zette het geheel op als een echte themaplugin voor Moodle, die aantoonbaar goed draaide, zowel lokaal als op de experimentele omgeving van DG DIGIT. Zo hadden alle stakeholders een werkend prototype dat echt op Moodle draaide. Omdat het op toegankelijke ECL-componenten bouwt, is toegankelijkheid er van bij het begin in verwerkt. Het prototype zelf bestond in alle officiële EU-talen, zodat we zagen hoe elk component omgaat met labels van heel verschillende lengte.
In de tweede fase bouwde ik het thema voor Moodle 5, ook op ECL v5. De eigen templates van ECL worden ongewijzigd gebruikt, zodat een nieuwe ECL-versie een kwestie van een versie-update is. Het dekt elke paginalayout van Moodle.
Cursussen vinden
Wie op Coursera of LinkedIn Learning een cursus zoekt, kan zoeken, filteren en bladeren. Moodle doet dat niet uit zichzelf: het is gebouwd om cursussen te geven, niet om ze te laten ontdekken. Een catalogus doorzoekbaar maken vraagt dus heel wat werk. Ik specificeerde en bouwde twee wegen naar een cursus, met input van het productteam en de business: zoeken, met filters op onder meer onderwerp, uitgever, tags, duur en taal, en bladeren door de onderwerpen van de catalogus. Filteren gebeurt ter plekke, met zichtbare actieve filters en een voorbeeld van de cursus.
Pagina’s die Moodle niet heeft
Organisaties die cursussen publiceren op het platform, zoals directoraten-generaal en agentschappen, krijgen in standaard Moodle weinig tot niets: hun cursussen staan in een map. Ik maakte voor hen landingspagina’s in hun eigen huisstijl, met hun missie, thema’s, leerpaden, evenementen en hun eigen cursussen om in te zoeken. Eén layout, en elke uitgever een eigen kleur.
Ook een marketinglaag ontbreekt in standaard Moodle: een voorpagina die uitnodigt, cijfers, getuigenissen, een pagina over het platform en een oproep om er zelf te publiceren. Daarvoor maakte ik de nodige componenten, secties en pagina’s.
Een Moodle 5-handleiding, bewezen op een echte server
Installatiehandleidingen zijn er genoeg. Wat je moeilijk vindt, is een verslag van welke keuzes een grote installatie over meerdere jaren maakte, en waarom. Daarom schreef ik een praktische handleiding om een Moodle 5-site op te zetten en te beheren, voor organisaties zonder vast technisch team. Ze komt uit één bron in vier vormen: een presentatie, naslagdocumenten, een Moodle-cursus en een live demonstratiesite in vele talen. Elke procedure erin is uitgevoerd en bewezen op een echte server.
Met AI-agents
De tweede opdracht viel samen met de opkomst van agentic coding: AI-agents die zelfstandig code schrijven, uitvoeren en testen. Ik zette ze volop in, voor de prototypes en voor de handleiding met haar bewezen procedures. Vlot met zulke agents werken is een belangrijke vaardigheid aan het worden: de opdracht goed afbakenen, de juiste context geven en het resultaat controleren.


