Course Merge Helper

General plugins (Local) ::: local_course_merge
Maintained by Charles Fulton, Andrew Zito
This local module allows teachers to create a new course shell from existing courses using the Course Meta Link enrollment method.

Course Merge Helper v3.6.0

Moodle 3.6
Released: Wednesday, November 28, 2018, 12:36 AM

Moodle Course Merge Helper

Build Status

This local module allows teachers to create a new course from existing courses using the Course Meta Link enrollment method. The intended use case is a teacher combining multiple sections of a course into a single course while preserving the enrollments of the original courses.


  • Moodle 3.6rc1 (build 2018112500.00 or later)


Copy the course_merge folder into your /local directory and visit your Admin Notification page to complete the installation.


To create a new course go to one of the source courses and click "Create Merged Course" in the Course Administration block. You'll be taken to a page where you can select the other courses to link into the new course, the name and other settings for the new course, and whether to hide the source courses (on by default). Once you've made all your selections click "Create". The plugin will do the following:

  • Create the new course with the given settings
  • Create a course meta link enrollment between each source course and the new course
  • Create a group for each source course in the new course
  • Hide the source courses if requested
  • Move the source courses into a designated category, if requested
  • Take you into the new course


The plugin is designed to permit course creation under controlled conditions, especially in environments where editing teachers do not otherwise have the capability to create courses.

Category depth

The plugin can restrict the courses which may be linked into the new course. There are three options:

  • Same category: The source course and the target courses must all be in the same category.
  • Same parent: The source course and the target courses must all be in either the same category or share the same parent category
  • Unlimited: No category-based restrictions. This is not recommended.

Given the following course and category structure:

  • All courses
    • Fall 2015
    • Fall 2016
      • English
        • English 101.01
        • English 101.02
      • History
        • History 101.01
        • History 101.02

With same category selected, a teacher could start with History 101.01 and select History 101.02, but not any courses under the English category. With same parent selected, a teacher could work with courses in both History and English, but not courses outside a given term.


The plugin is designed to provide a controlled course-creation capability which doesn't otherwise exist. By default it respects the moodle/course:create capability, but you may choose to override this.


The plugin allows the site administrator to define naming conventions for created courses. These are defined using a series of regular expressions. See the settings page itself for examples.


This plugin relies heavily on the AJAX course selector and related course meta link interface code developed by Damyon Wiese for the Moodle 3.1 release.


Charles Fulton (

Version information

Version build number
Version release name
Can be updated from
v0.1.0 (2016040601), v0.2.0 (2016062200), v0.2.1 (2016080900), v1.0.0 (2016102700), v1.0.1 (2016110800), v1.1.0 (2016122100), v1.1.2 (2017042401), v3.3.0 (2017062100), v3.1.0 (2016122101), v3.3.1 (2017072800), v3.3.2 (2017082500), v3.1.1 (2016122102), v3.3.3 (2018011700), v3.4.0 (2018051300)
Can be updated to
v3.6.1 (2018112701), v3.6.2 (2018112702)
Stable version
MD5 Sum
Supported software
Moodle 3.6

Version control information

Version control system (VCS)
VCS repository URL
VCS tag

Default installation instructions for plugins of the type General plugins (Local)

  1. Make sure you have all the required versions.
  2. Download and unpack the module.
  3. Place the folder in the "local" subdirectory.
  4. Visit to finish the installation.