AutoEnrol icon

AutoEnrol

Maintained by Roberto Pinna, Mark Ward
Adds functionality to automatically enrol users onto a course, either as they log in to your Moodle site or as they access a course. This plugin was at first intended for use on courses which you want all users to be able to access but can also be configured for more advanced purposes as reserved access courses. Using the new user filtering you can think at Autoenrol as a Swiss Army knife for Moodle enrolments.
Price option: Free

Supports Moodle 3.5-4.5 See all versions
Latest release: 1 year ago
Installations: 5814
Downloads (last 90 days): 1538

Frankenstyle name: enrol_autoenrol
Enrolment

Comments

Product ratings and reviews are coming to Moodle Marketplace. Until then, existing comments remain available to read, but new posts have been disabled.

Hello, I am using Moodle 4.0
I can't seem to make the user filtering work for more than one restriction.
It works if I choose one restriction
ie
>student must match the following
>Other course completion 'sign up' must be marked complete
But I can not get it to work when I choose multiple restriction for example
>student must match ALL of the following
>Other course completion 'sign up' must be marked complete
AND
>Role (option selected)
I have redownloaded the plugin with a fresh install but just cant see to get this to work. Has it got something to do with the Enrol setting? Again I can only get one restriction to work if I choose the enrol setting 'confirmation on enrol screen'
It has the potential to be an amazing plug in for us
Many thanks
Marie
Hi
I installed moodle 4.4+ and the last update of the auto-enrol plugin (2.4)
when I try to delete a user (user A) face to such error:
Exception - Call to a member function get_room_user_provider() on null
More information about this error
Debug info:
Error code: generalexceptionmessage×Dismiss this notification
Stack trace:
line 151 of /communication/classes/api.php: Error thrown
line 440 of /communication/classes/hook_listener.php: call to core_communication\api->get_room_user_provider()
line ? of unknownfile: call to core_communication\hook_listener::delete_user_room_memberships()
line 299 of /lib/classes/hook/manager.php: call to call_user_func()
line 3596 of /lib/moodlelib.php: call to core\hook\manager->dispatch()
line 94 of /admin/user.php: call to delete_user()
when I unerol that user (User A) from a course that such user enrolled with this plugin, then I can delete the user successfully.
I share it to let you know this issue may need to fix for new version of moodle.
Hello John,
with AutoEnrol you can manage user groups using user filter or user profile fields.
I understand the reason for your idea but I see possible problems related to malicious use of the feature you suggest adding.
I think could be better to use a different plugin to manage it.
HTH,
Roberto
Hi - best enrollment method ever ! I was thinking about the grouping feature. I have courses where learners enroll when they open the course page. I was thinking / wondering if a parameter could be passed into that for grouping? Something like
https://my.moodle.edu/bhrplms/course/view.php?id=1068&group=groupa
This would / could let certain links be built, that would place learners into designated groups, just through URL
Just my though - thank you for your work on this.
Hello Elena,
sorry for the bad traslation.
"Loading" means the student load the course page.
I changed the traslation to "Entering the course".
HTH,
Roberto
Hello! Thank you so much for your cool and helpful plugin!
I have a question concerning the option Enrol When - Loading the Course. Could you please clarify, how does it work? I configured it, but I just don't see my course, if I'm not enrolled. What should student/admin do to see the course and enroll then? What means loading here?
Also I would like to ask, how to configure Auto enrol in the following case.
The filter set by user profile field - email. Only those, whose email contains @company.com, can be enrolled. But how to extend this filter only to new users? Not for all, who already have such email.
Thank you in advance!
Hello,
adding this feature is not easy as adding an option to a dropdown menu.
I think is better to use other enrolment plugins like enrol_invitation or enrol_easy that do something like you need.
HTH,
Roberto
Hello!
Thanks for this great plugin.
Could there be another option to "enrol by link" (a randomly generated link) which can be automatically emailed or shared with users?
- Loading to course
- Login to site
- Enrol by link
For example:
(moodle site.com/enroll=XCDFS)
.... OR...
(moodle site .com/course/view.php?id=7&enrol=XCDFS)
The following option throws a DB error for users complaining about the duplicates in DB after the first login.
User Filtering --> Group By (User Filter) --> Group Name (some value)
It should not try to make an entry to the group every time the user logs in.
Error Message:
[Sun Nov 12 03:32:37.028814 2023] [php:notice] [pid 3214911] [client 76.66.101.94:53101] Default exception handler: Error writing to database Debug: Duplicate entry '3-618' for key 'm_groumemb_usegro_uix'\nINSERT INTO m_groups_members (groupid,userid,timeadded,component,itemid) VALUES(?,?,?,?,?)\n[array (\n 0 => '618',\n 1 => '3',\n 2 => 1699759957,\n 3 => '',\n 4 => 0,\n)]\nError code: dmlwriteexception\n* line 497 of /lib/dml/moodle_database.php: dml_write_exception th
Hello,
you can use custom field with auto enrol but profile field availability plugin does not support date custom fields.
I submitted an issue in Moodle Tracker (MDL-72083) a couple of years ago but it still opened.
You can vote for it in order to promote the development.
Cheers,
Roberto
Roberto, I meant, is it possible to set the restrictions for automatic enrollment on a certain user field so that a student who came a year ago is not automatically enrolled in the course, but a student who came yesterday is automatically enrolled. For this purpose, I created my own field - “Date of admission to school”. As I understand it, you can’t do this using conditions, right?
Hello, did you mean a way to add a delay to student enrolment?
I try to enrol today but I will enrolled from tomorrow.
You can't do that with autoenrol, you need an other enrolment plugin to do that.
I don't know if someone has already developed something like that but it could be done so if not you can develop it by yourself.
HTH,
Roberto
Hello. Is it possible to create an assignment condition using the "date" format? So that, for example, a course is assigned to a student only after a certain date. For example, a student entered on October 23 and from October 24 he will be assigned one course or another. I saw there is a "starts" condition, but it doesn't fit, right?
Hello,
if you have created a custom field for "position", you just need to map it from your LDAP connection.
You can look at https://docs.moodle.org/402/en/LDAP_authentication#Custom_User_profile_fields for details.
If users position change time by time I suggest to update local on login so each time the user login Moodle gets data from LDAP.
After that you can add a user filter with the custom filed to Autoenrol with without any other availability plugin.
HTH,
Roberto
Roberto, thanks.
Can you tell me more about the accessibility plugin.
I have LDAP connected on Moodle, and all employees have a position field. I created a custom field "position", but I don't know how to automatically pull it into this field, maybe you know how to do it?