I'm also looking for this feature or something similar for 2.8.6+ that doesn't require a plugin, convoluted or otherwise. Still rummaging the forums, so I may stumble upon an answer at which point I'll update this post.
During the Self-Registration process, user is provided field to enter a Course or Group Enrolment Key. (I use to have this option in 1.9, I'm not sure if my company modified moodle or it was a feature that was removed with later versions. We even use to have a Course Enrolment block where users could input their keys and be enrolled into the matching course.)
System locates the appropriate course and enrols new user as Role defined per Key settings in either the Course or Group context. Key field would ideally be optionally required.
I'm trying to simplify self-registration, so a few things are true:
- Users do not have to locate their appropriate course
- Users do not have to also locate their appropriate text field for their group enrolment key
Currently, if you have a moodle instance with 500 courses, a user will need to locate their specific course. This can be mitigated by providing a direct link to the course, but is one more step for potential user error if course names are closely similar for example.
If then inside of their course we have 20 Self-Enrol instances using Group Enrolment Keys, there will be a separate input text box for every single key. Again, another step that can introduce user error and this one cannot be mitigated without relying on the user. User has to find their input text box for their key and enter it there, anywhere else will return an error.
Current process requires additional management, now your users are definitely aware of the other groups. You have to decide how much masking you want to do for the instance name, something recognizable in case the user forgets what label they are looking for, or something entirely gibberish so users cannot deduce what/who each group is for?
These niggles could all be side-stepped if an enrolment key field was available during self-registration.
I am of course trying to push my company to better support SSO, LDAP, etc. but when our customers do not all have those systems in place, we need to be able to support 'less shiny' alternatives! (Sorry, just finished watching Firefly and Serenity this past weekend.)