Admin tools: Upload enrolment methods

Maintained by Picture of Eoin CampbellEoin Campbell
This plugin allows administrators add the "Course meta link" and "Cohort sync" enrolment methods to a range of courses from a CSV file, and specify the role for the methods participants. They can also delete, enable or disable existing enrolment methods in a course.
395 sites
25 fans
Current versions available: 2

This plugin is an enhanced version of the Upload Metacourse links block plugin on which it is based. It also provides a good work-around for a long-standing issue with the Course upload facility whereby enrolment methods are not fully supported.

Use the command Site administration > Plugins > Enrolments > Upload enrolment methods to upload a CSV file containing lines of the form:

operation, enrolment method, target course shortname, parent course shortname or cohort idnumber, disabled, group[, role]

Note that version 1.2.x requires fields in a fixed order (as above) with no heading line, but version 1.3.0. now supports an initial heading line, and allows you specify the delimiter, e.g.


Each line of the file contains one record.
Each record is a series of data in any order separated by a specified delimiter.
All fields are required, except role, which is optional for backwards compatibility.
The allowed operations are add, del(ete), and upd(ate).
The allowed methods are 'meta' and 'cohort'.
The allowed disabled status values are 0 (enabled) and 1 (disabled).
The group field is the name of a group into which enrolled students should be placed. It will be created if it doesn't already exist.
The role field must be a valid role name such as editingteacher, student, etc.

This plugin enhances the original in that it is possible to disable existing enrolment methods in batch mode, and also that it can add an enrolment method to a course but leave it disabled.


Screenshot #0


Picture of Eoin Campbell
Eoin Campbell (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS


  • Picture of colin bruneau
    Fri, Aug 16, 2019, 4:37 PM
    Hi Eion, thank you so much for this plugin, it will save me a lot of hand work.
    As already mentionned it would be nice to have:
    - ; instead of ,
    - a field to define the course role like "student" or "teacher"
    In my case I need a cohort to be defined as "manager" because to be able to send a mail to a manager (Attendance warnings for example), they need to be registered as users but not with a "student" role.
  • Picture of Eoin Campbell
    Tue, Aug 20, 2019, 11:56 PM
    I have added an optional role field at the end of each line to specify the required role. It works for both the meta and cohort enrolment methods.
  • Picture of Jeff White
    Wed, Aug 28, 2019, 2:31 AM
    omg where was this two years ago... this will be a huge benefit to my cohort self enrollments.
  • Picture of Nelio Altoveros
    Wed, Jul 15, 2020, 9:27 AM
    I tried installing the plug-in in MOODLE 3.6.5 build 20190905 but I got several errors telling me that around 20 Themws will be deleted such as aftwerburner, anomaly, nimble etc. I am now using autumn so I guess the present MOODLE look will not be affected. But in the future if I want to change theme, does it mean that I have to get them again? Thanks
  • Picture of Eoin Campbell
    Wed, Jul 15, 2020, 4:13 PM
    The warnings have nothing to do with the enrolment methods plugin. The themes you mention are all old and out of date, and not supported on Moodle 3.6. Remove them from your site. Autumn is also a very old theme and I doubt if it runs on 3.6 either. You're probably running something else.
  • Picture of Yannick D
    Thu, Jul 23, 2020, 6:19 AM
    Thanks for sharing this plugin which should really be fixed in Moodle by default. I have two (or three) gripes though:
    * Please allow setting the csv delimiter to something different then ",". It’s a real pain to get comma separated csv-files out of Excel depending on region.
    * Our courses have a "–" (en-dash) in their shortnames which is removed by this plugin. The import then fails because the course isn’t found. Probably related to text encoding.
    * It would be nice and add some peace of mind to have a preview before finally importing enrollments.

    All 3 points are available with "Upload courses" and "Upload users". 1 and 2 would probably be fixed by moving to the csv library you mentioned some time ago. I really hope you or someone else will be able to implement this. Thanks again and best regards.
  • Picture of Jeavons Pablo Mesia
    Wed, Aug 12, 2020, 3:36 PM
    Hi, I installed this plugin in site. It says in the notifcations that installation was successful but the plugin does't show in the >Manage Enrol plugins page. A link show in the Enrolment category but clicking on it returns an HTTP 500 error message. Any work around on this problem? Our site is moodle site version is 3.9.1. Thanks in advance.
  • Picture of Eoin Campbell
    Wed, Aug 12, 2020, 8:00 PM
    It isn't an enrolment method, so doesn't appear in "Manage enrol plugins". Go to "Site administration > Plugins > Upload enrolment methods" instead.
  • Picture of Nancy Nalmpanti
    Fri, Aug 21, 2020, 11:05 PM
    Hi Eoin, I keep receiving result: "Cohort not found."
    Has anyone managed to add cohort sync in moodle 3.9.1?
  • Picture of Eoin Campbell
    Sat, Aug 22, 2020, 12:00 AM
    I think the problem might be that you have to match on the cohort ID number, not the name.
  • Picture of Nancy Nalmpanti
    Sat, Aug 22, 2020, 12:10 AM
    Resolved! the first line has to contain the following field headings: operation,method,shortname,metacohort,disabled[,group,role] (don't comment them out)
    Thank you for the great tool Eoin smile
  • Picture of Eoin Campbell
    Sat, Aug 22, 2020, 12:28 AM
    I've just fixed the documentation on the Description to mention the heading columns, which I just added in version 1.3.0.
  • Picture of Jacques Barzic
    Tue, Oct 6, 2020, 10:18 PM
    I've install the plugin and it works fine.
    I've a question/suggesion:
    Now, use this plugin is only possible for "Site Administrator".
    Is there now a solution to allow this plugin for "site manager"?
    If no, my suggestion is to do that in a future version wink.
  • Picture of Dean Handby
    Tue, Feb 23, 2021, 6:26 AM

    Just wondering whether something can be tweaked to accompany two cohort syncs adds in one go via .csv file?

    Currently when doing this, it says the enrolment method already used and will not enrol the second cohort sync group.

    Is there a way around this?

  • Picture of Eoin Campbell
    Wed, Feb 24, 2021, 10:03 PM
    I checked this out and you can add 3 different cohorts to the same course in a single file, and you can also add the same cohort into 2 different courses in the same CSV file. Can you explain your problem a bit better?
Please login to post comments