## General plugins (Local): Mass enrolments

local_mass_enroll
Maintained by Rogier van Dongen
A tool to all teachers to enrol existing users to their courses using CSV files (without bothering the admins)
347
170
9
Moodle 2.2, 2.3, 2.4

One awkward thing about Moodle 1.x and the recent Moodle 2.x is that teachers are allowed to manually enroll known Moodle accounts to a course as teachers, non editing teachers, students... , but not using a 'flat file' produced by some CSV export.

They have to send a file to an admin user who will inject it into Moodle using the standard 'flatfile enrollment' method with the following limitations :

• Teachers must provide account's and course idnumbers and admin user must reformat the file by adding the required extra columns 'add' and 'target role', before copying the file to the appropriate location in moodledata directory.
• The report information is sent to admin, not to the course's teacher; so admin has to forward it to the teacher after the cron job has completed.
• There is no way in flatfile enrollment method to specify in which groups these accounts should be added, so teacher has to go manually again across the list to assign accounts to groups.

This little extension, that adds itself to course administration menu will hopefully help teachers to do it themselves.

After installing it  a new item 'Bulk enrolments' will appear in the course administration menu for teachers (see screenshots).

It requires a CSV file, prepared by the teacher, with an unique Moodle id in the first column (idnumber, username or email) and optionally a group name in the second column. The first line of the CSV file must be present but its content is currently ignored.

Options are provided to force group (and grouping) autocreation if they do not yet exist in the target course.

Every line of the file may contain a different group name or even no group for some accounts

### Contributors

Patrick Pollet: Original author

• Fri, Jan 3, 2014, 7:17 PM
@jo

It looks good to me if you do it in function mass_unenroll($cir,$course, $context,$data)

But in that case I guess that you do not plan to use the 'mass enrol by CSV' feature since this is handled by imsenterprise ?

Thus I would suggest to remove capability local/mass_enroll:enrol to teacher role and may be adjust some strings in local/mass_enroll/lang/en

Season's greetings.
• Sun, Feb 9, 2014, 5:12 AM
Hi, Patrick and everyone watching this!
We've been very happy using the plug-in on Moodle 2.4, but now we're migrating to 2.6 and our sysadmins are balking at installing the plug-in since it isn't officially rated for 2.6. Has anyone tried it? Any problems?
• Sun, Feb 9, 2014, 5:13 AM
• Thu, Mar 13, 2014, 11:00 AM
Exactly what I need! Thank you. Using Moodle2.5.4.
• Thu, Mar 13, 2014, 7:02 PM
Still works under latest moodle 2.6. I must bave to figure out how to add 2.6 icon to download tab here.
Cheers
• Mon, Jun 9, 2014, 8:52 PM
Hi.

I installed this on Moodle 2.7 today and I cannot get the links to appear under the Users menu. I have added the line to the config.php file. The plugin works if you manually put the URL in the address bar.
Any ideas? Perhaps something has changed in 2.7. It works fine on 2.6
Thanks in advance - a really good plugin by the way.

• Tue, Sep 9, 2014, 6:08 PM
Hi, just a quick info: does it work for moodle 2.7.1?
Thanks
• Thu, Feb 4, 2016, 6:49 PM
A new version is now available.
It's Moodle 2.7 and onwards. I personally recommend uninstalling an older version of the plugin before installing the new one, although it shouldnt be necessary.
Cheers!
• Fri, Feb 5, 2016, 7:37 AM
Hmm seems like something's broken in the plugin - I'm able to see the plugin in my course, choose the CSV file, but when I click "enrol them to my course", I get a 404 not found error. It appears when I click the "enrol" button, the plugin's dropping the root folder. E.g. the plugin page is at http://myserver.com/moodle/local/mass_enroll/mass_enroll.php?id=40 , and when clicking "enrol" tries to load http://myserver.com/local/mass_enroll/mass_enroll.php , which is invalid.
• Fri, Feb 5, 2016, 4:32 PM
Sorry for the inconvenience, seems I had forgotten to process half the changes.
All links should be fixed now. Cheers.
• Sat, Feb 6, 2016, 1:54 AM
Right on, Rogier! Thank you! This is now working great!
• Mon, Feb 8, 2016, 10:18 PM
Hi Guys ,
Any one can pls share the CSV format to upload bulk enroll
• Mon, Feb 29, 2016, 2:01 AM
I have the most recent plugin installed on Moodle 3.0, but am getting the 'Not Found' error. Am I missing something? I tried to download it directly from GitHub as well, but still can't seem to get it to work. Thanks for any advice!
• Fri, Mar 4, 2016, 11:12 PM
Here is how you can upload a CSV which will register a new student, and enroll them in the course of your choosing.

Create a CSV with these columns:
username firstname lastname email city country course1 enrolperiod1 type1 role1 group1

For the course1, use the course "shortname" you want the new student to be in.
For enrolperiod1, set it to number of days 90, 180, 365, etc.
For type1, locate & place the roleid(numeric value only) you wish your student to have by default.
For role1, use the SAME role's shortname.
For group1, use the FULL name of the group you want them to belong.

Save your CSV and then follow the path aforementioned. The configurations should not have to be manipulated for this to upload multiple new users and enroll them for a specific period of time in a course, and having a role and group appointment applied.

Works like a charm unless you try to use anything but two characters when you set the country. The only issue I ever had with this workflow was trying to run it initially with the word India for the country, rather than IN.
• Mon, Mar 7, 2016, 2:47 AM
Is it possible to mass UN-enroll students with this plugin? If you make a mistake and enroll 80 students that aren't supposed to be there, it takes forevvvvvver to remove them one-by-one. Yikes!