General plugins (Local): Mass enrolments

Maintained by Picture of Rogier van Dongen Rogier van Dongen
A tool to all teachers to enrol existing users to their courses using CSV files (without bothering the admins)
525 sites
31 fans

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


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

Comments RSS

Show comments
  • Picture of Rogier van Dongen
    Fri, 5 Feb 2016, 4:32 PM
    Sorry for the inconvenience, seems I had forgotten to process half the changes.
    All links should be fixed now. Cheers.
  • Picture of David Manning
    Sat, 6 Feb 2016, 1:54 AM
    Right on, Rogier! Thank you! This is now working great!
  • Picture of Abiramaraj JR
    Mon, 8 Feb 2016, 10:18 PM
    Hi Guys ,
    Any one can pls share the CSV format to upload bulk enroll
  • Picture of Eric Smoyer
    Mon, 29 Feb 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!
  • Picture of Troy Fennell
    Fri, 4 Mar 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.

    Using Site Administration > Users > Accounts > Upload Users

    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.
  • Picture of DR LMS
    Mon, 7 Mar 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!
  • Picture of D Riddel
    Tue, 19 Jul 2016, 4:22 AM
    Hi! First of all, thank you for the plugin. It's very useful. I have a question: does it only enrol users that already exist in the Moodle database? Or can it create new Moodle accounts along with enrolling them to that course. I'm asking because I can achieve the former but not the latter
  • Picture of Carolyn Hodgman
    Tue, 30 May 2017, 6:58 PM
    Hi Rogier,

    Many thanks for continuing Patrick's great work since his passing.
    Do you have a version of this plugin available for Moodle 3.2?
    Has anyone else been using it on 3.2? Can you share your experiences, testing or any issues found?

  • Picture of Rogier van Dongen
    Tue, 30 May 2017, 7:03 PM
    Hi Carolyn and everyone,

    I'll be looking into this plugin again in the next few days and either confirm it's working on the Moodle 3.x branch, or make the necessary changes to get it up to date.
  • Picture of Greg Beber
    Fri, 7 Jul 2017, 3:35 AM
    Any word on when this will work for 3.1? Thanks.
  • Picture of Rogier van Dongen
    Thu, 20 Jul 2017, 6:29 PM
    Hello all, new version is here.
    Functionally there's no changes. The plugin has been updated to comply to Moodle Coding Standards more and has been tested to work up to Moodle 3.3
    Sorry it took a while since this is one of the plugins that's maintained in my spare time.

  • Picture of Marcello Barbieri
    Thu, 26 Oct 2017, 10:05 PM
    Hi Rogier,
    any chance to see the new version on github?

    Looking forward to hearing from you,
    best regards,
  • Picture of Rogier van Dongen
    Thu, 26 Oct 2017, 10:11 PM
    Hello Marcello,

    I've updated the links in the "Useful Links" section above to reflect the correct github account.
    Thanks for bringing this up!
  • Picture of Victor Vergara
    Fri, 19 Jan 2018, 4:40 PM
    Hi. I've been looking for a way to bulk upload a lot of users WITH NO ENROLMENT DURATION, but I haven't seen the way to do it. By default, all users are enroled with the default enrolment duration in the platform that is set to 90 days, but in some cases we need students to have a permanent enrolment. Is there anything out there to achieve this by using a csv?
  • Picture of Benoit Nennig
    Tue, 6 Feb 2018, 10:08 PM
    Hi, has anyone tried this nice plugin on moodle 3.4 ?
    Thanks you

1 2 3
Please login to post comments