Moodle User Lifecycle Management

Moodle User Lifecycle Management

von Niels Gandraß -
Anzahl Antworten: 3

Hi everyone,

around one month ago, we released our Moodle plugin for advanced user lifecycle management. This plugin manages the full lifecycle of Moodle user accounts using freely configurable, multistep workflows.

default_workflow.png

Each workflow can consist of multiple steps with one or more filters (e.g. last access, authentication method, role assignment, ...) that determine which users are selected, and actions (e.g. send email, suspend, delete, ...) that are executed when a user enters a step. This allows building simple as well as sophisticated user lifecycle workflows, i.e., warn inactive users, suspend them after a grace period, and finally delete their accounts in a GDPR-compliant way. A built-in dry-run mode and action log let administrators safely preview and audit all automated activity. The default filters and actions can easily be extended by further subplugins.

I'd like to introduce you to the plugin and show how we use it at our university to manage users on multiple Moodle platforms and from various sources (manual users, mail based self-registration, Shibboleth, OAuth2/OIDC, ...). Depending on your interest I'm also happy to highlight how to easily extend the plugin with additional filters and actions to incorporate your custom institutional needs.

Anyone interested in this topic? 😀

Can't wait until the Moot DACH? You can already check out the following resources:

Kind regards
Niels

Als Antwort auf Niels Gandraß

Re: Moodle User Lifecycle Management

von Niels Gandraß -

And here you can find the slides: https://gandrass.de/#pub-Gandrass2026UserLifecyclePlugin

Thanks again for showing up in such large numbers as well as the good discussions lächelnd

Als Antwort auf Niels Gandraß

Re: Moodle User Lifecycle Management

von Verena Lawrenz -
Thank you very much for sharing your presentation, Niels! The user lifecycle for our moodle is one of the topics on my to do list for the summer. lächelnd So it will be really helpful to see how you are dealing with it.
Als Antwort auf Niels Gandraß

Re: Moodle User Lifecycle Management

von Niels Gandraß -
Hey everyone,

I just wanted to let you know that I used the last days to turn all of your valuable feedback into a new big release of the user lifecycle management plugin 🎉
 
You can already find it inside the Moodle Marketplace and over on GitHub. To see everything that's new, you can head over to the changelog.
 
To give you an idea of what has been added let me highlight some of the changes:
 

Version 2.4.0 (2026072600)

  • Create a course enrolment filter that allows to select users based on whether they are currently enrolled in at least one course or not. See Filter: Course Enrolment for more information.
  • Create a user profile filter that supports both standard and custom profile fields. See Filter: Profile Field for more information.
  • Create a account confirmation filter that allows to select users based on whether they have confirmed their account or not. See Filter: Account Confirmation for more information.
  • Create a cohort action that allows to add or remove users to / from one or more cohorts. See Action: Cohort Membership for more information.
  • Create a user profile field action that allows to set a user profile field to a configured value. See Action: Set Profile Field for more information.
  • Extend mail action to support different recipient types: targeted user (previously fixed behavior), site administrators, custom email address.
  • Improve design of filter and action addition modals.
  • Add button to process inspection dialog that allows admins to abort specific user processes on demand.
  • Allow filter sub-plugins to define custom PHP-backed filter logic, allowing sophisticated checks against APIs, files, or other data sources outside of the Moodle database. See Post-filtering for more information.

You can find up-to-date screenshots of the new plugin features in the docs: https://moodleuserlifecycle.gandrass.de/screenshots/

Again thanks for all you feedback during the Moot DACH ❤️