PHPackages                             lafayettecollege/moodle-local\_course\_merge - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. lafayettecollege/moodle-local\_course\_merge

ActiveMoodle-local

lafayettecollege/moodle-local\_course\_merge
============================================

This local module allows teachers to create a new course from existing courses using the Course meta link enrollment method.

v4.1.1(1mo ago)227↓75%2[5 issues](https://github.com/LafColITS/moodle-local_course_merge/issues)[1 PRs](https://github.com/LafColITS/moodle-local_course_merge/pulls)GPL-3.0-or-laterPHPCI passing

Since May 23Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/LafColITS/moodle-local_course_merge)[ Packagist](https://packagist.org/packages/lafayettecollege/moodle-local_course_merge)[ RSS](/packages/lafayettecollege-moodle-local-course-merge/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (1)Versions (7)Used By (0)

Moodle Course Merge Helper
==========================

[](#moodle-course-merge-helper)

[![Moodle Plugin CI](https://github.com/LafColITS/moodle-local_course_merge/workflows/Moodle%20Plugin%20CI/badge.svg)](https://github.com/LafColITS/moodle-local_course_merge/workflows/Moodle%20Plugin%20CI/badge.svg)

This local module allows teachers to create a new course from existing courses using the [Course meta link](https://docs.moodle.org/403/en/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.

Requirements
------------

[](#requirements)

- Moodle 4.1 (build 2022112800 or later)

Installation
------------

[](#installation)

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

The [Course meta link](https://docs.moodle.org/403/en/Course_meta_link) enrollment method must be enabled and in that plugin teacher and student roles must be synchronized.

Usage
-----

[](#usage)

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

Configuration
-------------

[](#configuration)

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

[](#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.

### Permissions

[](#permissions)

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.

### Templates

[](#templates)

The plugin allows the site administrator to define naming conventions for created courses. These are defined using a series of regular expressions. See the [plugin wiki](https://github.com/LafColITS/moodle-local_course_merge/wiki) for examples.

Acknowledgements
----------------

[](#acknowledgements)

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.

Author
------

[](#author)

Charles Fulton ()

###  Health Score

43

—

FairBetter than 89% of packages

Maintenance70

Regular maintenance activity

Popularity14

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~741 days

Recently: every ~919 days

Total

6

Last Release

45d ago

Major Versions

v0.2.1 → v1.0.02016-10-27

v1.0.0 → v4.1.02026-07-15

### Community

Maintainers

![](https://www.gravatar.com/avatar/3ef434bc036124ba911b2fdea03980e1867faaddd675e86184cdc2b18d210a66?d=identicon)[lafayettecollege](/maintainers/lafayettecollege)

---

Top Contributors

[![mackensen](https://avatars.githubusercontent.com/u/553370?v=4)](https://github.com/mackensen "mackensen (125 commits)")

---

Tags

moodlemoodle-plugin

### Embed Badge

![Health badge](/badges/lafayettecollege-moodle-local-course-merge/health.svg)

```
[![Health](https://phpackages.com/badges/lafayettecollege-moodle-local-course-merge/health.svg)](https://phpackages.com/packages/lafayettecollege-moodle-local-course-merge)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.8k10](/packages/helsingborg-stad-municipio)[wp-media/wp-rocket

Performance optimization plugin for WordPress

7691.4M4](/packages/wp-media-wp-rocket)[october/rain

October Rain Library

1611.7M109](/packages/october-rain)[drupal/recommended-project

Project template for Drupal projects with a relocated document root

1623.0M1](/packages/drupal-recommended-project)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

45945.2k1](/packages/pressbooks-pressbooks)[mediawiki/maps

Adds various mapping features to MediaWiki

84157.7k3](/packages/mediawiki-maps)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
