Elk jaar komt de Moodle-community uit de Duitstalige regio samen tijdens de MoodleMoot DACH. Een congres dat draait om de mensen die Moodle daadwerkelijk beheren, bouwen en ermee lesgeven. In 2025 vond het plaats in Lübeck, en met z'n drieën maakten we de reis. We kwamen voor de talks en de community, maar het echte hoogtepunt bleek het DevCamp: twee intensieve dagen waarin we vanaf nul een gloednieuwe Moodle-plugin bouwden. (Onze collega Nihaal Shaikh was er ook bij, maar bouwde in een ander team het Teacher Tours-block, dat de 2e plaats won in het DevCamp.)
Dit is het verhaal van die plugin, de mensen met wie we hem bouwden, en waarom we nu al geboekt staan om het allemaal opnieuw te doen op de MoodleMoot DACH 2026 in Zürich, eind juni.
Wat MoodleMoot DACH precies is
MoodleMoot DACH is de jaarlijkse bijeenkomst voor de Duitse, Oostenrijkse en Zwitserse (DACH) Moodle-community. Het combineert het formele congresformat (keynotes, praktijkcases, roadmap-sessies) met een veel praktischer, community-gedreven kant.
De editie van 2025 in Lübeck was daar een mooi voorbeeld van. Naast het hoofdprogramma waren er:
- 22 DevCamp-teams die echte dingen bouwden;
- 35 BarCamp-sessies, voorgesteld en geleid door de deelnemers zelf.
Die mix van gestructureerde talks en open, zelf-georganiseerde sessies is precies waarom deze evenementen ertoe doen. Je vertrekt met nieuwe ideeën, nieuwe contacten en meestal ook een paar nieuwe regels code.
Het DevCamp: van idee naar plugin in twee dagen
Het DevCamp is het onderdeel waarvoor we blijven terugkomen. Het format is eenvoudig: teams vormen zich rond een echt probleem, en in ongeveer twee dagen ga je van een schets op het whiteboard naar werkende Moodle-code.
Ons team (geregistreerd als Team 30, werkend vanuit de ruimte Salzspeicher) ontstond rond een concrete use case, ingebracht door Meret Racz van m-modula, voor de Liechtensteinische Alters- und Krankenhilfe (LAK). De uitdaging die zij pitchte was bedrieglijk simpel te beschrijven en echt lastig op te lossen in Moodle:
- een organisatie met meer dan 20 verschillende functies;
- ongeveer 12 verschillende rollen in Moodle;
- en medewerkers die vaak meerdere rollen tegelijk vervullen.
Wanneer één persoon tegelijk verpleegkundige, teamleider én trainer is, krijgt diegene meerdere rollen binnen dezelfde Moodle-context. En daar wordt het pijnlijk.
Zo ontstond het project: Who is Who, een permission dashboard voor Moodle.
Maak kennis met het team
Plugins als deze zijn nooit een soloproject, en het DevCamp-format maakt dat meteen duidelijk. Ons team voor dat weekend bestond uit:
- Meret Racz, oprichter van m-modula, die de use case pitchte en de requirements aanstuurde;
- Luuk Verhoeven (Ldesign Media), plugin-architectuur en Moodle-internals;
- Vincent Cornelis (Ldesign Media), backend en datamodel;
- Wafaa Mansour, ontwikkeling en testen.
Vier mensen, twee dagen, één gedeeld doel. Er zit iets verhelderends in die beperking: geen lange backlog, geen commissie, alleen een echt probleem en een strakke deadline.
Het echte probleem: overlappende rollen in één context
De use case klinkt als een rapportagevraagstuk, maar eronder zit een permissieprobleem, en een vervelende.
In Moodle overlappen de capabilities zodra een gebruiker meer dan één rol in dezelfde context heeft. Moodle lost conflicterende capabilities op via precedentieregels, en de uitkomst is niet altijd wat een beheerder verwacht. Het zichtbare symptoom is frustrerend: een gebruiker kan een module die hij zou moeten kunnen gebruiken ineens niet meer zien of openen.
Zo'n scenario triggert het. Neem een cursus "Communication":
- Op dag één wordt User 1 ingeschreven via een globale cohort of profielveld, met de rollen
communicationenrole_member. - Tien maanden later wordt dezelfde gebruiker opnieuw ingeschreven via een andere methode, bijvoorbeeld een automatische inschrijving bij cursusafronding, dit keer met de rol
teacher.
Nu draagt User 1 twee rolkoppelingen in dezelfde cursus. De capabilities botsen, de verkeerde precedentie wint, en plots is de gebruiker buitengesloten van activiteiten die eerder prima werkten. Vermenigvuldig dat met 20 functies, 12 rollen en mensen die er routinematig meerdere tegelijk hebben, en je hebt een supportnachtmerrie die met de hand bijna niet te debuggen is.
De oplossing: een permission dashboard
"Who is Who" pakt precies dat aan. De plugin geeft beheerders:
- een snel overzicht van alle capability-gerelateerde problemen. Het brengt de conflicterende rol- en capabilitytoewijzingen naar boven, in plaats van je context voor context door de permissie-UI te laten zoeken;
- een shortcut om het probleem op te lossen rechtstreeks vanuit het dashboard, door permissies aan te passen of de rol te wijzigen.
In plaats van Moodle's capability-precedentie met de hand te reverse-engineeren, ziet een beheerder de conflicten uitgelijnd en lost ze in een paar klikken op. Voor een organisatie als de LAK, waar zorgmedewerkers meerdere petten dragen, is dat het verschil tussen een gokspel en een oplossing van twee minuten.
We leverden het op als admin-tool-plugin (tool_whoiswho) en publiceerden nog tijdens het evenement een bèta op GitHub. Het is open source, precies zoals Moodle-werk hoort te zijn: in de openheid gebouwd en teruggegeven aan de community die het mogelijk maakte.
Je vindt de plugin hier: github.com/meretracz/moodle-tool_whoiswho.
De pitchdeck
Hier is de presentatie die we tijdens het DevCamp gaven:
Laden de slides niet? Dan kun je de presentatie openen op Canva.
Waarom we blijven terugkomen
Het zou makkelijk zijn om een congres te zien als een paar dagen uit het kantoor. Het DevCamp maakt er iets nuttigers van. In twee dagen hebben we:
- een echt klantprobleem opgelost voor een echte organisatie;
- werkende, open-source code opgeleverd;
- en relaties opgebouwd met ontwikkelaars met wie we blijven samenwerken.
Dat laatste punt telt zwaarder dan het klinkt. Het Moodle-ecosysteem draait erop dat mensen elkaar kennen. Als een klant tegen een ongewoon probleem aanloopt, is weten wie je moet bellen in de bredere community onderdeel van goede dienstverlening. Evenementen als MoodleMoot DACH zijn de plek waar die verbindingen ontstaan.
Tot ziens in Zürich, juni 2026
MoodleMoot DACH 2026 strijkt eind juni neer in Zürich, en we zijn er opnieuw bij. En ja, weer in het DevCamp.
Kom je ook? Zoek ons op. Neem een use case mee. Twee dagen is genoeg tijd om iets echts te bouwen, en de beste plugins beginnen meestal als een schets op een whiteboard, met een probleem dat iemand écht opgelost wil zien.
Bij Ldesign Media bouwen we maatwerk Moodle-plugins, integraties en complete LMS-platformen voor organisaties door heel Europa. Heb je zelf een Moodle-uitdaging, of het nu een "who is who"-vraagstuk is of iets veel groters, dan horen we daar graag over.



