Enrolment key based self-registration

Authentication ::: auth_enrolkey
Maintained by Catalyst IT, Nicholas Hoobin, Brendan Heywood
This auth plugin combines the best of both email based signup and self enrolment keys into a streamlined process making it much faster for students to get into a course. For the student it saves around 9-10 clicks and avoids context switching between a browser and their email client where they can become easily become disengaged or run into issues if their email is unavailable.
Latest release:
544 sites
60 fans
Current versions available: 1

Moodle Enrolment key based self-registration

This is a functional clone of the Email-based self-registration plugin that also enrols a user into available courses based on a token supplied. When a user enters a valid token it will automatically enrol them into the course that token was specified for.

Courses that provide self enrolment can restrict access to them with a key. If the signup token matches any course enrolment key then the new user will be enrolled into those courses.

Courses that provide self enrolment can restrict access to them with a key. If the signup key matches any course enrolment key then the new user will be enrolled into those courses.

The streamlined process flow:

(Signup page -> Course)

The normal self registration process flow:

(Signup page -> Confirmation page -> Open email client and click link -> Navigate to course -> Click on enrol -> Enter enrolment key -> Course)


Screenshot #0


Catalyst IT (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Fri, Apr 22, 2016, 1:48 AM
    The code is very clean. Tested PHPunit and manual testing, works. I did encounter a bug. On the confirmation page (view.php), the "Click here to view the course" URL assumes that the website is located at root.

    See https://github.com/nhoobin/moodle-auth_enrolkey/blob/master/view.php#L59

    This should be changed to use moodle_url. My test moodle instance is http://localhost:8888/moodle, but the link tries to go to http://localhost:8888/course/view.php?id=2

    Some concerns:
    * The step up instruction "On the same page that you manage authentication options, scroll down to the common settings and select Enrolment key based self-registration in the Self Registration drop down list for registerauth." was a little confusing. I had to read it 3 times over to understand what I had to do next.
    * On large installs, the chance that two or more courses will inadvertently share an enrollment key is high. Maybe a warning to site admins before they install this plugin? Or a step after registration that confirms to the user what course they actually want to sign up for?

    But works as advertised, the code is great, and should be okay to be released.
  • Fri, Apr 22, 2016, 2:28 AM
    On the enrol/index.php page, I get this warning:

    Notice: Undefined index: enrolpassword in /enrol/self/locallib.php on line 130

    Related to your plugin?
  • Sun, Apr 24, 2016, 2:39 PM
    Using it on moodle 2.8.7.:

    Leaving enrolment key open (not required): I end up in a blanc screen. On refreshment I see that I'm logged in. Account remains unconfirmed (that should be the case)

    Using the enrolment key: I end up with a nice message that I'm enrolled in the course, but without role! So I do not see the learning activities (e.q. questionnaire).

    I do like this plugin, but I uninstalled it, waiting for a slution for the abovemented two issues
  • Mon, May 2, 2016, 10:39 AM
    Hi can you tell me if this work with group enrolment keys?
  • Mon, May 2, 2016, 10:46 AM
    hi Steve, yes it should work with group keys, but if not please log an issue in github.

    Bert: we haven't forgotten you and we should have a fix soonish

    Rex: Sorry that looks unrelated, but if you keep having issues could provide a full test case to reproduce in a github issue. Also the use case for multiple keys for different courses is handled, the student is shown both courses and gets access to them all.
  • Tue, May 31, 2016, 1:01 AM
    Dear Brendan,

    Thanks for this plugin. I found it useful, specially for my course which is for busy physicians.

    One question: I registered as a user, but I couldn't see the course content (only title). I checked "Enrolled users" in the course and this new user had NO roles assigned.

    Could you please help me how to resolve it?

  • Tue, May 31, 2016, 3:19 PM
    Rex / Bert / Arash, I've just released a new version of this which should address all of the issues mentioned.

    If not then please log them in the github issues list with more details. Thanks! smile
  • Wed, Jun 15, 2016, 7:46 PM

    Thanks works nicely!

    Posted an issue in Gitthub about password reset not working.

    Compliments for this very nice and customerfriendly plugin!
  • Fri, Jul 8, 2016, 8:09 PM
    Hey guys! What a cool plugin! I initially got it working on my Moodle 3.1+ platform and was so excited because it really streamlined the process. I guess I celebrated too early. It has stopped working properly and won't create an account for new users. When you click to create the account, it just returns to the same page without any indication as to why. It's as though the plugin isn't activating the account creation system.

    I am using the latest version which includes the group enrollment key feature - 2016070600. I followed the install and configure instructions to a tee and it worked the first time. Created the account and enrolled the student in the course - perfectly. I then tried to use the group enrollment key function and since then nothing seems to work. I am unable to get past the initial new user form. I have gone through the process of setting everything up at least ten times with the same result. I even reinstalled the plugin to see if that would make a difference. At one point, I disabled the plugin and tried the regular self-enrollment plugin and that worked fine so the issue is with this plugin, I think. I really need some help so if you have any suggestions as to what I can do to problem solve this, please please let me know.
  • Fri, Jul 8, 2016, 8:59 PM
    Quick update: I tried the plugin on another Moodle 3.1 site and it works beautifully so I must have messed up when I was trying to get the group function to work. I'd like to remove the plugin completely but I don't see how to do that from the Plugins page. There is no "uninstall" option there. I have access to the server and can remove the folder from there but I still need to make sure everything in the system itself is set back to the pre-install stage. Please advise.
Please login to post comments