Mass enrolments

General plugins (Local) ::: 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)
Latest release:
1340 sites
52 fans
Current versions available: 2

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


Screenshot #0


Rogier van Dongen (Lead maintainer)
Patrick Pollet: Original author
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Fri, Aug 31, 2018, 10:41 PM
    hi, i was looking some plugin like this one. but i doesnt know if this work on moodle 3.4 or how can i do to use it. I read all comments and i didnt see any answer about that.-
  • Tue, Oct 16, 2018, 10:00 PM
    We are using it in Moodle 3.4 and Moodle 3.5. So far, so good. No reported issues. That being said, it would be nice to see a newer version listed as compatible with Moodle 3.4 and 3.5.
  • Fri, Feb 1, 2019, 11:03 PM
    Hello Rogier, do you know if 'Mass Enrolments' works with Moodle 3.6? Thank you, Silke
  • Thu, May 30, 2019, 9:51 PM
    it works fine ! even in 3.6
  • Wed, Aug 7, 2019, 3:14 PM
    v2015092402 works in Moodle 3.6.3+ smile
  • Sun, Oct 13, 2019, 7:23 AM
    Is there an example of the format we would need to use to upload users using this plugin? Or do we just use the same format we would if we were uploading users from the site administration route?
  • Sat, Jan 4, 2020, 2:40 PM
    Hi Patrick,

    i want consider start time and end time in csv file. please help me.
  • Tue, Apr 21, 2020, 1:04 AM
    An extremely useful plugin. Does anybody know if users who are enrolled by the plugin receive a mail or message?
  • Wed, Jun 10, 2020, 11:20 PM
    Hello, will there ever be an official github release of this plugin?
    (the downloadable version works with Moodle 3.5.x)
  • Thu, Aug 27, 2020, 3:33 PM
    Thank you for this good plugin. I have a suggestion that the plugin should allow teachers choose the starting date of the course. So that students can only access the course on the determined date.
  • Sun, Dec 6, 2020, 3:00 AM
    In installed in 3.9 but don't see the feature. I am new to moodle. Does it work in 3.9?
  • Tue, Mar 23, 2021, 6:49 AM
    Any way the admin can change the default identifier in settings. For example if we are using username instead of IDnumber all the time we'd like it defaulted at that. If not, any way I can just change the code?
  • Me in Rome.
    Tue, Jun 29, 2021, 4:30 PM
    Well, first of all I would like to take this opportunity to thank you for maintaining such a great plug-in: I use it a lot and has made managing my courses subscriptions and the activity of assigning students to groups very easy. I was wondering 1) where the full list of field names can be found, so as to fully customize the enrollment procedure; 2) if there is a way to assign groups to groupings in addition to enrolling students into a course and assigning them to a specific group. Thanks again. Massimiliano .
  • Tue, Jun 29, 2021, 5:38 PM
    Dear Massimiliano, thank you for your gratitude on the plugin ;).
    To answer: 1: I presume you mean the user field names that mass_enroll will use to identify a Moodle user. For now; the only allowed values (as can be indicated in the form when enrolling your users): the fields are idnumber, username and email. The main limiting reason is that these would normally be the only "unique" fields (end even the email field is Moodle settings dependent). However, if you'd wish for more indicative fields, you can always file a request in the issue tracker (see the github link).
    2: I've never really looked into this (I've taken over this plugin since the original author has passed away), but if you'd select "create groupings" as well in the form where you upload your CSV, the groupings should be automtically inserted (although a grouping with the same name as the group will be inserted; I can imagine this behaviour to be a little too assumptious and would be a good candidate for some more options). Please do note: for this to work you must have your CSV as well as the form settings configured in such a way that groups are made as well.
    If this behaviour doesn't perform the way you'd expect (or when you maybe wish for more options), again I'd like to ask you to file an issue in the github issuetracker. When you do so, please keep watch of the issue and try to be as explanatory in your request as possible. Clarity makes life easier for everyone ;)

    @everyone else: please report any bugs and/or requests for additional features in the github tracker as this helps me to keep track of everything. I maintain this plugin in my spare time so it really helps me to keep issues/requests where they belong ;)

  • Tue, Jul 6, 2021, 2:44 PM
    Hi, great plugin. We upgraded our Moodle to 3.9.7. Are you going to develop for this version? Thanks
1 2 3 4
Please login to post comments