mail Niels.Gandrass@haw-hamburg.de
globe https://gandrass.de
Moodle Moot DACH 2026
Swiss Federal Institute of Technology Zurich
2026-07-02
Why and when do we even want to get rid of users and other content?
Let's get trough the boring stuff first ... (1/3)
Let's get trough the boring stuff first ... (2/3)
Let's get trough the boring stuff first ... (3/3)
In case you missed the confetti at the MoodleMoot DACH 2025 DevCamp
moodledata/ folder is only getting bigger
How users get on and off our Moodle platforms
We run a number of Moodle platforms with diverging user management
|
University Moodles
|
Public Moodle
|
The simple and straight forward case
The "slightly" more complicated case ...
Using multi-step flowcharts to model the full lifecycle of a group of users in Moodle
Users progress through different user-defined workflows,
similar to what is known from the Course Life Cycle Plugin
|
more_horiz
More workflows |
|
more_horiz
More workflows |
The Automatic User Deletion plugin grew into a fully-fledged workflow management engine.
|
auto_transmission
Automatically manages users based on flexible workflows
filter_alt
Extensive criteria for selection / filtering users
settings_account_box
Various actions to perform on user accounts
security
GDPR-compliant deletion of users data
science
Dry-run mode for verifying the configuration
monitoring
Action log to audit performed actions
construction
Highly configurable (time thresholds, auth method, ...)
dynamic_form
Dynamic variables (e.g., user names) in email templates
|
![]() Moodle Plugin: Automatic User Lifecycle Management (tool_userautodelete) |
User filters and actions are lightweight and flexible sub-plugins
| Filters | Actions |
|
web_traffic
Last access
passkey
Auth method
date_range Date range timer Time delay groups Cohort approval_delegation Role assignment account_circle_off Suspension state |
account_circle_off
Suspend
account_circle
Unsuspend
mail Send Mail delete Delete security Anonymize |
|
|
All actions performed by the plugin are logged in a cumulative fashion.
Specific workflows, steps, and actions can be identified, filtered for, and sorted by.
Removing the remaining personally identifiable information (PII) after Moodle "deleted" a user
|
arrow_right_alt
Delete user |
|
arrow_right_alt
Remove PII |
|
deployed_code_update
Existing v1.x.x installations can be upgraded to v2.x.x in-place
All previous settings will be reflected by the new workflows filters and actions
You can find all migration details here:
https://moodleuserlifecycle.gandrass.de/changelog/#migrating-from-v1-to-v2
Leveraging the workflow engine to support your institutions lifecycles
You got various user groups that require different lifecycles? We got you covered!
All filters and user actions are small yet flexible sub-plugins and
can therefore easily be extended according to your specific needs
![]() |
https://moodleuserlifecycle.gandrass.de/dev |
![]() |
You can find detailed instructions on implementing your own sub-plugins
within the developer documentation!
You created something that could help others? Wonderful!
Please feel free to submit a pull request or open an issue over on GitHub
You created something that could help others? Wonderful!
Please feel free to submit a pull request or open an issue over on GitHub
Thank you!
I got you hooked and you would like to start exploring the plugin? Nice!
You can find a quick guide on how to install the plugin and
get started with your first workflow in the comprehensive online documentation
The user lifecycle management plugin is available on GitHub
and via the Moodle Plugin directory!
|
https://moodle.org/plugins/tool_userautodelete |
https://github.com/ngandrass/moodle-tool_userautodelete |
Now it's time for your questions!
You can find all slides of this talk at
globe https://gandrass.de