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.
159 sites
17 fans
Current versions available: 1

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]


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

Lines beginning with a '#' or ';' character are comments, and skipped.
Each line of the file contains one record.
Each record is a series of data in a fixed order separated by commas.
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

Show comments
  • Wazza
    Tue, Oct 23, 2018, 9:11 PM
    Improvement suggestion: I think the US uses comma delimited files (csv) where Europe uses ; to mark the difference in fields. Where csv upload in Moodle is possible, you can usually select which delimiter to use. In this plugin I can not choose so I always end up saving the file from Excel, opening it in a text editor en search replace ; for ,
  • Picture of Eoin Campbell
    Thu, Oct 25, 2018, 4:13 AM
    This is a nice idea, Moodle has a CSV library to allow this, and also make CSV files position independent by using a heading row. Might get to it sometime.
  • Picture of Mesut Aydemir
    Sat, Feb 9, 2019, 12:39 AM
    Very nice plugin. Is it possible to add a field to define the course role like "student" or "teacher"?
  • Picture of alain kerv
    Thu, Feb 14, 2019, 5:33 PM
    When I try to deploy my csv, I always have this error (Note : I have 6 columns in my file) :
    Ligne 1: Too few columns, expecting 6. Sauté.
    Ligne 2: Too few columns, expecting 6. Sauté.
    Have you an idea ?
  • Picture of Eoin Campbell
    Fri, Feb 15, 2019, 1:02 AM
    You must use a comma as the separator, not a tab. You should only have 5 commas per line, and if there are any commas in fields such as a the course shortname, then the field must be enclosed in double quotes.
  • Picture of Eoin Campbell
    Fri, Feb 15, 2019, 1:04 AM
    To Mesut: thank you, I find it really useful for adding meta-courses to multiple courses in the same programme of study. Unfortunately it doesn't allow specification of the role, as I assume it's always students. Why would you want something different?
  • Picture of alain kerv
    Mon, Feb 25, 2019, 5:36 PM
    Thank you, it's ok with comma !
    But I still have an error message ("Line 1 [operation enrolment method]: Invalid operation.") but however creation is ok.

  • Picture of Eoin Campbell
    Wed, Feb 27, 2019, 6:38 AM
    Note that if your first line contains field headings, you need to comment them out with a '#' or ';' character as the first character on the line.
  • Picture of Daniel Becerra
    Sat, Apr 6, 2019, 1:48 AM
    I was wondering if the Group field is now working. This would be extremely useful.
  • Picture of Eoin Campbell
    Sat, Apr 6, 2019, 3:23 AM
    The group field is supported, the documentation was out-of-date.
  • Picture of Daniel Becerra
    Sat, Apr 6, 2019, 8:04 AM
    Yes! it does work smile I just uploaded more than 2000 relationships and it worked like a charm. Thank you very much for the effort put into this!
  • Picture of Daniel Becerra
    Thu, Apr 11, 2019, 10:42 AM
    I was wondering, as @Mesut Aydemir asked, how would you do if you wanted to sync Teacher cohorts. Working with hundreds of courses, transferring teachers automatically would be way easier by cohort sync.
  • 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.
1 2
Please login to post comments