Power User Role

Power User Role

by Will S -
Number of replies: 1
Hello,
I'm new to the forum and to moodle. I've been evaluating this software to see if it can meet our customer's requirements.
One of those is to allow "power user" to create new users and enroll them to courses.
Our customer will create a "power user" account for the dept. manager and the manager will authenticate to the system, will create end-users and will enroll them to courses.
The "power users" can only see and manage their own users.

Another requirement is that the power user will request a course enrollment for N users.
The administrator will give confirmation for the requested number of users (or modify it) and then the power user will proceed with user enrollment.

Is it possible with the current moodle functionalities or at least is possible to quickly develop it?

Any hint will be really appreciated.
thanks
Will


Average of ratings: -
In reply to Will S

Re: Power User Role

by Tim Hunt -
Picture of Core developers Picture of Documentation writers Picture of Particularly helpful Moodlers Picture of Peer reviewers Picture of Plugin developers
You probably just need to define a Power user role, and give it the appropriate capabilities, like moodle:user/create. Then assign that role to the department managers.

All users exist globally in Moodle, and if you have permission to do things to one user, you can do things to any user.

Not sure about enforcing a complex request enrolment, confirm enrolment workflow. You could certainly develop something.

There are two basic approaches to consider.

You can write code in Moodle, for example as an admin report plugin. This sort of plugin has now evolved to the point where you can do much more that just reports. You can show arbitrary forms to the user to get input, and do arbitrary processing when they are submitted, and also create your own DB tables to store things, and capabilities to control who does what.

Option 2 is, if you already have an information system that stores a lot of the relevant information about users, then you can develop your custom UI in that other system, and then use Moodle's Database enrolment plugin to synchronise the Moodle enrolments with the other system. (Pointing the enrolment plugin at a view in the other system's database is a good way to do this.)

And, if you don't want to do any of this yourself, there are people who will do custom Moodle development, for example some Moodle partners.