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:
1287 sites
59 fans
Current versions available: 3

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
  • Marc Hermon
    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 Cervia.
    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 .
  • Rogier van Dongen
    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 ;)

  • Demet Arda (IT)
    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
  • george williams
    Sat, Mar 19, 2022, 1:26 AM
    Dear Massimilano, thanks for the work on the plugin. I don't know if anyone can answer this, but if users are already enrolled onto a course, can you use this plugin to just add them to groups on that course, either via ones (groups) already created or groups that get created as part of the process? Would there be some sort of error if users are already enrolled on the course? Sorry if this already clear and obvious. Thanks
  • Me in Cervia.
    Wed, Mar 23, 2022, 7:40 AM
    @ george williams
    Dear George,

    I am not the plug-in maintainer. That would be Rogier van Dongen! However, I'll reply to your questions with what I know.

    You can use this plug-in to enroll users in a course and to put them into groups and groupings all at the same time. If users are already enrolled in a course you can still use this plug-in to put them into groups and groupings. No need to create groups and groupings before mass-enrolling the students, the plug-in will do it for you. I use just a simple .csv file to enroll the students and to create groups and groupings and the entire process is flawless. The best way to see how the plug-in works is to create a mock-up course and do a few trials.

    I hope I have answered your questions.

    Best regards,

    Thu, Jun 30, 2022, 11:52 AM
    Definitivamente este Plugin lo necesitamos en versiones mas actualizadas, o alguien me puede decir ¿otro que me ayude en esta actividad?
  • george williams
    Thu, Sep 15, 2022, 5:29 PM
    @ Massimiliano Del Gatto
    Dear Massimiliano, I know this is very late, but I didn't see your reply. Thank you, this is extremely helpful and answered my questions fully. Does anyone know, is this plugin still being actively maintained (I appreciate you are not the developer)? We are currently on version 3.9 but will be moving to 3.11 soon and wondering if it will be supported or need to look for alternative? Many thanks
  • Rogier van Dongen
    Thu, Sep 15, 2022, 5:33 PM
    @george, this plugin is in fact still under development by me.
    I'll see if I can make some time soon to check the plugin and make sure it should be compatible up to Moodle 4.x
    I really don't expect any breaking functionality unless core Moodle system calls that have been around for a long time have changed.
    Having said that, it's about time for an update and making sure we're up to standards.
  • george williams
    Tue, Sep 27, 2022, 7:59 PM
    @Rogier van Dongen- thanks very much for the reply and update. Great plugin, that is used frequently by our Learning Technologists. Your work on this is appreciated. Thanks again.
  • Daniel Poggenpohl
    Thu, Mar 30, 2023, 8:30 PM
    Could you please update the links for this plugin? "Bug Tracker" leads to the old fork using "_" in the name: "Website URL" is the same wrong old github repo.

    If it would be ok to you, you could also delete the old fork or change it's description to reflect that it shouldn't probably be used...or you could change the to reflect that.
  • Jay H.
    Mon, Aug 28, 2023, 7:40 PM
    Dear Rogier,

    unfortunately the plugin is not usable under Moodle 4.2:
    1. no link to the settings page of the plugin is created.
    2. when calling FQDN/local/mass_enroll/mass_enroll.php an exception comes up that a class "textlib" is not found

    Is it possible that the plugin is adapted for Moodle 4.2?

    Best regards,
  • Online Technicals
    Sun, Sep 10, 2023, 8:13 PM
    It says "skipping line", I'm using moodle Version 6.3.1. I think this plug in wont work on this moodle version.
  • Health & Safety Training Ninja
    Mon, Sep 25, 2023, 8:04 PM
    Hi, does this plugin allow setting the start enrolment date and the expiry enrolment date, per student within the csv?
  • Sean Rugge
    Thu, Jan 4, 2024, 10:39 PM
    The previous version of the plugin had a confirmation report screen that listed lines that were skipped. With the current version, I'm not getting directed to the confirmation/report screen after uploading a file. I can choose to receive the report via email and that is working as expected.
1 2 3 4
Please login to post comments