Enrolment: Enrol by user profile fields

Maintained by Picture of Nicolas Dunand Nicolas Dunand
This plugin allows users to be enrolled according to any value stored in their user profile.
484 sites
33 fans

This plugin allows users to be enrolled according to any value stored in their user profile. If you use an external authentication scheme (LDAP, Shibboleth), you can store values in hidden user fields of the users' Moodle profile, and then use these values to automatically enrol users if some courses.


Screenshot #0


Picture of Nicolas Dunand
Nicolas Dunand (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Picture of Paweł Gaw
    Mon, 20 Feb 2017, 6:54 PM
    hello, i have this plugin and I enabled this method in administration >>>> site administration >>>> plugins >>>> enrollments >>>> manage enroll plugins but i don't see this method in course administration >>>> users >>>> enrollment methods. Please help. My moodle is Moodle 3.1.2+ (Build: 20161020)
  • Picture of Nicolas Dunand
    Mon, 20 Feb 2017, 7:05 PM
    Hello Paweł,

    Ditto my comment above from Dec. 21. You have to have at least one profile field selected in the plugin settings to have the enrolment method available in your courses.
  • Picture of Ricardo Méndez
    Wed, 15 Mar 2017, 8:13 AM

    I can´t use the plugin over moodle 3.2, the buttons to add or delete rules doesn't show correctly.

    I Installed the plugin over Moodle 3.2.1 and 3.2.2 with php 5.6.5 and php 7.0 and I have the same problem.
  • Picture of Nicolas Dunand
    Wed, 15 Mar 2017, 3:19 PM
    Hello Ricardo,

    Thanks for reporting this – which theme are you using?
  • Picture of Ricardo Méndez
    Wed, 15 Mar 2017, 8:52 PM
    Hi Again,

    I was using the default theme that come with the 3.2 version, which is "Boost". After your comment I changed it to the "Clean" theme and the pluging now look's good. Thanks a lot!!!!
  • Picture of Nicolas Dunand
    Thu, 16 Mar 2017, 3:03 PM
    Thanks for checking this Ricardo,
    I'll make sure this is corrected in the next release – probably for when Moodle 3.3 gets released.
  • Picture of Craig Millward
    Tue, 21 Mar 2017, 5:33 PM

    We're having issues with auto enrolments when the criteria is slightly more complex, we're using Moodle 3.0.1 and are trying to auto enrol using 4 custom profile fields. I've set the requirements, but when a user creates an account they are not automatically enrolled. However if i go into the settings and select "force enrolments" the desired users are enrolled. This only seems to happen when all 4 critieria are required, my other courses with 3 or less are all fine. Anyone got any ideas?
  • Picture of Nicolas Dunand
    Wed, 22 Mar 2017, 3:03 PM
    Hi Craig,

    Thanks for reporting this. Is it possible that in some way the 4th profile fiels – is it always the same? – would not be set when the user first creates his account?
  • Picture of Craig Millward
    Wed, 22 Mar 2017, 4:43 PM
    Hi Nicolas,
    Thanks for your reply.
    All 4 fields are definitely set when the account is created, we've tested all possible ways of creating an account (manually -user, manually- admin, bulk upload) all of which have the same outcome.

    Our 4 profile fields look like this,

    Field1 – 1 option
    field2 - 10 options
    field3 - 3 options
    field4 - 3 options
  • Picture of Andrew Shaw
    Mon, 24 Apr 2017, 6:36 PM
    Hi Nicolas,
    Is there a way to manually unenrol a user after they are auto enrolled using this plug-in? I can't seem to find a way to do this.

    We have some users who are exceptions to the rules but these are not definable via the profile fields so initially a user will get the training then if we discover that they do not need that particular course then we would have to just manually unenrol them.


  • Picture of Nicolas Dunand
    Mon, 24 Apr 2017, 7:24 PM
    Hi Andy,

    No, there is not way to do that at the time. Plus, if you could unenrol that user, he would be reenrolled later on if his attributes still match the rules.
  • Picture of Andrew Shaw
    Mon, 24 Apr 2017, 10:56 PM
    Ok thanks for the quick reply Nicolas, I might have to rethink how we auto-enrol staff then as this might cause a bit of a headache for us.

    I'm thinking about adding a checkbox for "auto-enrol" and unticking it when we have exceptions (making the check box a requirement for this plugin), which will then unenrol the user when unticked.

    If a user profile field changes and they are unenrolled using this plugin, will it keep the course/activity if we manually re-enrol them?
  • Picture of Nicolas Dunand
    Tue, 25 Apr 2017, 4:58 PM

    I'm not sure I see where you would put this checkbox. In the user's account?

    My first idea (although I haven't thought it through, really) would be the following.

    One could: 1. add the unenrol feature (relatively easy) and 2. deactivate the automatic enrolment (i.e. via cron and upon login) to leave only the "Force enrol" option.

    Then you could (either once at the beginning of the course or periodically if needed)
    1. force enrol -> would enrol all users corresponding to the rule
    2. unenrol some users
  • Picture of Andrew Shaw
    Tue, 25 Apr 2017, 5:51 PM
    Hi Nicolas,

    I have been testing this checkbox method and it seems to work well.

    Yes, it's a hidden user profile field which defaults to being checked (I simply named this "auto-enrol"). I then add this checkbox as a requirement for all enrollments using this plugin, so if we ever want to exclude a certain user from auto-enrollments we can just go into their profile and untick this checkbox. It does mean, however, that we then have to manually enrol them on all courses which are still needed and were previously auto-enrolled but there's not that many exceptions so it shouldn't be too much work to manually do.

    The other option I thought of would be to create hidden checkboxes as user profile fields for every course and then you would apply the relevant one to the plugin rule. Then when you don't want a particular course you just untick the checkbox relating to that course/rule then the remaining courses which were enrolled using this plugin would remain. you would have A LOT of tickboxes if you had many courses though, which is the only downside. We unfortunately do so I went with the one tickbox option above.
  • Picture of Nicolas Dunand
    Tue, 25 Apr 2017, 10:57 PM
    Thanks Andrew for taking the time to explain your method. It is indeed much more reliable than the one I came up with.

    It indeed looks like it's the best solution in your case.
1 2 3 4 5 6 7 8 9
Please login to post comments