Every year the Moodle community gathers across the German-speaking region for MoodleMoot DACH. It is a conference built around the people who actually run, build, and teach with Moodle. In 2025 it was hosted in Lübeck, and three of us made the trip. We came for the talks and the community, but the real highlight turned out to be the DevCamp: two intense days where we built a brand-new Moodle plugin from nothing. (Our colleague Nihaal Shaikh was at the same event too, building the Teacher Tours block in a different team that took 2nd place in the DevCamp.)
This is the story of that plugin, the people we built it with, and why we are already booked to do it all again at MoodleMoot DACH 2026 in Zürich at the end of June.
What MoodleMoot DACH Actually Is
MoodleMoot DACH is the annual gathering for the German, Austrian, and Swiss (DACH) Moodle community. It mixes the formal conference format (keynotes, case studies, roadmap sessions) with a much more hands-on, community-driven side.
The 2025 edition in Lübeck was a good example of that balance. Alongside the main programme there were:
- 22 DevCamp teams building real things;
- 35 BarCamp sessions proposed and run by attendees themselves.
That mix of structured talks and open, self-organized sessions is exactly why these events matter. You leave with new ideas, new contacts, and usually a few new lines of code.
The DevCamp: From Idea to Plugin in Two Days
The DevCamp is the part we keep coming back for. The format is simple: teams form around a real problem, and over roughly two days you go from a whiteboard sketch to working Moodle code.
Our team (registered as Team 30, working out of the Salzspeicher room) came together around a concrete use case brought by Meret Racz of m-modula, for the Liechtensteinische Alters- und Krankenhilfe (LAK). The challenge she pitched was deceptively simple to describe and genuinely tricky to handle in Moodle:
- an organization with over 20 different jobs;
- around 12 different roles in Moodle;
- and employees who often hold more than one role at the same time.
When one person is a nurse, a team lead, and a trainer all at once, they end up with multiple roles in the same Moodle context. That is where it gets painful.
So that became the project: Who is Who, a permission dashboard for Moodle.
Meet the Team
Plugins like this are never a solo effort, and the DevCamp format makes that obvious. Our team for the weekend was:
- Meret Racz, founder of m-modula, who pitched the use case and drove the requirements;
- Luuk Verhoeven (Ldesign Media), plugin architecture and Moodle internals;
- Vincent Cornelis (Ldesign Media), backend and data model;
- Wafaa Mansour, development and testing.
Four people, two days, one shared goal. There is something clarifying about that constraint: no long backlog, no committee, just a real problem and a tight deadline.
The Real Problem: Overlapping Roles in One Context
The use case sounds like a reporting problem, but underneath it is a permissions problem, and a nasty one.
In Moodle, when a user holds more than one role in the same context, their capabilities overlap. Moodle resolves conflicting capabilities by precedence rules, and the outcome is not always what an administrator expects. The visible symptom is frustrating: a user can no longer see or use a module they should have access to.
Here is the kind of scenario that triggers it. Take a course called "Communication":
- On day one, User 1 is enrolled via a global cohort or profile field, with the
communicationandrole_memberroles. - Ten months later, the same user is enrolled again through a different method, for instance an automated course-completion enrolment, this time with the
teacherrole.
Now User 1 carries two role assignments in the same course. The capabilities collide, the wrong precedence wins, and suddenly the user is locked out of activities that worked fine before. Multiply that across 20 jobs, 12 roles, and people who routinely hold several at once, and you have a support nightmare that is almost impossible to debug by hand.
The Solution: A Permission Dashboard
"Who is Who" tackles exactly that. The plugin gives administrators:
- a quick overview of all capability-related issues. It surfaces the conflicting role and capability assignments instead of leaving you to hunt through the permissions UI context by context;
- a shortcut to fix the issue directly from the dashboard, either by changing permissions or by changing the role.
Instead of reverse-engineering Moodle's capability precedence by hand, an administrator sees the conflicts laid out and resolves them in a couple of clicks. For an organization like the LAK, where care staff wear multiple hats, that is the difference between a guessing game and a two-minute fix.
We shipped it as an admin tool plugin (tool_whoiswho) and released a beta on GitHub during the event itself. It is open source, which is exactly how Moodle work should be: built in the open, shared back with the community that made it possible.
You can find the plugin here: github.com/meretracz/moodle-tool_whoiswho.
The Pitch Deck
Here is the deck we presented at the DevCamp:
If the slides do not load, you can open the presentation on Canva.
Why We Keep Coming Back
It would be easy to treat a conference as a few days out of the office. The DevCamp turns it into something more useful. In two days we:
- solved a real customer problem for a real organization;
- shipped working, open-source code;
- and built relationships with developers we will keep working alongside.
That last point matters more than it sounds. The Moodle ecosystem runs on people knowing people. When a client hits an unusual problem, knowing who to call across the wider community is part of delivering good service. Events like MoodleMoot DACH are where those connections are made.
See You in Zürich, June 2026
MoodleMoot DACH 2026 lands in Zürich at the end of June, and we will be there again. And yes, back in the DevCamp.
If you are coming, find us. Bring a use case. Two days is enough time to build something real, and the best plugins usually start as a sketch on a whiteboard with a problem that someone genuinely needs solved.
At Ldesign Media we build custom Moodle plugins, integrations, and full LMS platforms for organizations across Europe. If you have a Moodle challenge of your own, whether it is a "who is who" problem or something far larger, we would love to hear about it.



