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.

can confirm this error:
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()
Hi everyone. Does anyone know how to enrol only newly registered students to a specific course using this plugin? Let's say only students registered from today onwards, but not already registered students
I resolved the problem. It is necessary to turn off 'Enable communication providers' (set to 'No') in the Experimental settings.
Could you please comment on the issue described by @Moien Abadi? After upgrading Moodle to version 4.4.1+, I am experiencing the same issue.
Hi, I set the setting for enrollment to logging into the site, instead of entering the course. However what is happening, if i share i direct course activity video link for people to view, user get access to the course. But in "last access to course" in participants list, it shows "Never". it wont show last access course time... any specific reason . However if i set it to entering the course, it show time. Hope this wont affect any reporting or other things related to activity view and completion
Thank you Roberto!
In this case, using Self enrollment will be the solution. Regardless, Auto enrollment is a very useful plugin that makes managing certain courses more convenient in many cases!
Hello,
as said in a couple of issues on GitHub (https://github.com/bobopinna/moodle-enrol_autoenrol/issues/42) Moodle guest enrolment management has priority on all others enrolment plugins.
This is defined in Moodle core so needs to be changed there before plugins like AutoEnrol could work with guest enrol enabled.
HTH,
Roberto
Does anyone use this plugin with Guest access? It seems that if the course has Guest enrollment enabled, then AutoEnrol does not enroll logged in users in the course either.
Hello R.C. Ambrosio,
AutoEnrol does not have specific database requirements. It use Moodle standard database table.
Moodle from 4.2 requires MySQL 8.0 (https://moodledev.io/general/releases/4.2)
Last Moodle version that requires MySQL 5.7 is Moodle 4.1 LTS (https://moodledev.io/general/releases/4.1)
HTH,
Roberto
when I try to install the plugin on Moodle that I maintain (4.4) the HostGator provider says that version 8.0 of mysql is required but HostGatos only offers version 5.7-23-23 and Moodle simply hangs, it doesn't move and I have to reinstall Moodle. Do you have any idea how to get out of the window?
I had the same problem with 4.2.7 and 4.0 versions of Moodle. How can we know in advance if the instlation of plugin will destroy your Moodle instalation?
Hello Marie,
that's the problem.
The new AutoEnrol filtering system is very flexible and you can add new user filter with Availability plugins.
I'm sorry but you need something that couldn't be done with Role availability plugin.
You need an availabilty plugin that checks the role in a specific context or course, not the current context role.
Something like https://moodle.org/plugins/availability_otherenrolled but also with role check.
It could be necessary develop a new availability plugin.
Cheers,
Roberto
Hello Roberto,
I have a scenario where the user role changes on/off depending on if they are enrolled in a particular course, Course A. Membership.
I have created a role 'MemberOne' which can be assigned at all levels (sitewide to activity) but is actually only allocated to a user upon enrolment of a specific course, Course A. Membership.
Autoenrol does not seem to recognise the role 'MemberOne' when it is assigned in this context. Users are assigned this role only when the user is enrolled in Course A Membership for a period of a year (each user has a different start / end date) . When they auto unenroll from that course after a year , the role 'MemberOne' is removed.
I do not assign the role 'MemberOne' to a user via >Siteadmin > Users>Assign system roles as I would have to manually assign / unassign each individual user to that role and with the different start / end dates, this would not be manageable.
Normally using Course meta link solves my problems but I have a third criteria for enrolment called 'Bursary' which is a custom profile field. I want the user enrolled on new course X only if they are currently enrolled in Course A Membership, and so have the role MemberOne AND have 'Bursary' in their custom profile field.
----------------------
I did test the role 'MemberOne' to a user via >Siteadmin > Users>Assign system roles. I then used Autoenrol on a new course, Course B AND Bursary and it worked perfectly, but only when a user was assigned the role via >Siteadmin > Users>Assign system roles which I do not use.
-----------------------
I did test using the 'Filtercodes' plug in and created a new Text INPUT custom profile field using filter codes {ifhasarolename memberone}Member{/ifhasarolename} but that did not work either. Interestingly, I also created a Text AREA and used the same filter code but when it came to choosing the restrictions in the Autoenrol plug in, the Text AREA type profile fields were not available for selection.
Maybe I am missing something obvious and and asking the the plug in to do something more than it was built for.
Best wishes
Hello Marie,
did you checked if Role filter works alone?
AutoEnrol User filter works only with availability plugins that could be evaluated outside a course.
Roles are defined in a context (System, Site, Category, Course, Activity) so I think that you could check with AutoEnrol for roles assigned in System, Site or Category contexts.
HTH,
Roberto.
Hello,
in order to use additional Avaliability plugins, after installation, you need to select them in AutoEnrol adminstration settings.
HTH,
Roberto
Restriction by language is installed still i am not getting language option in user filter, any reason