Jorick Michiels

Europese Commissie

Business-analyse en werkende prototypes voor een leerplatform van de Europese Commissie

Sinds 2023, aan de kant van het JRC: onderzoeken wat Moodle al kan voor er iets gebouwd wordt, elke requirement bewijzen in een werkend prototype, en het design system van de Commissie uitbreiden tot een volledig leerplatform, met een catalogus om cursussen te vinden.

EU en overheid

  • Business-analyse
  • Requirementsanalyse
  • Design systems
  • Europa Component Library
  • Moodle 4.5 tot 5.3
  • PHP
Opdrachtgever
Europese Commissie, Gemeenschappelijk Centrum voor Onderzoek
Via
iO, en NRB / Trasys International (nu Keyes)
Rol
Business- en technisch analist
Periode
2023 – nu

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.

Eén pagina in lagen: wat uit ECL komt en wat erbovenop gebouwd is.

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.

De componentenbibliotheek: kaarten, filters, chips, voortgang, oproepen.

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.

De reis van een learner: zoeken, kiezen, inschrijven, de voortgang volgen.

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.

Eén thema, een merkkleur per uitgever, op elk scherm.

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.

Tools en technologie

  • Business-analyse
  • Requirementsanalyse
  • Design systems
  • Europa Component Library
  • Moodle 4.5 tot 5.3
  • PHP
  • Twig
  • PostgreSQL
  • Docker
  • PHPUnit en Behat
  • Docs-as-code
  • WCAG 2.1 AA
  • Figma
  • Jira
  • Confluence
  • ServiceNow
  • Agentic coding

Meer werk

  • Kleine organisatie

    Samtati

    Het platform achter een opleidingspraktijk: activiteiten, inschrijven en betalen, cadeaukaarten en cursussen.

  • Eigen onderneming

    Jorick Michiels Fotografie

    Het platform achter mijn fotografiezaak: galerijen, beeldbank, webshop en een eigen server.

  • Eigen project

    Mijnheer Jongetje

    Bedtijdverhalen die een verhaalwereld en luisterversies worden, vol generatieve AI.

Volgende stap