lafayettecollege/moodle-local_course_merge
Composer 安装命令:
composer require 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.
README 文档
README
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.
Requirements
- Moodle 4.1 (build 2022112800 or later)
Installation
Copy the course_merge folder into your /local directory and visit your Admin Notification page to complete the installation.
The Course meta link enrollment method must be enabled and in that plugin teacher and student roles must be synchronized.
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
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
- English
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
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
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 for examples.
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
Charles Fulton (fultonc@lafayette.edu)
lafayettecollege/moodle-local_course_merge 适用场景与选型建议
lafayettecollege/moodle-local_course_merge 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 2, 最近一次更新时间为 2026 年 07 月 15 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 lafayettecollege/moodle-local_course_merge 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 lafayettecollege/moodle-local_course_merge 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 lafayettecollege/moodle-local_course_merge 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
This module allows drag & drop grouping of items in a GridField
Adds text size controls and text-to-speech controls to Flarum discussion content.
Native Blade date, datetime, and date range pickers.
Symfony and Flysystem integration for the maintained KCFinder continuation.
Laravel integration for the maintained KCFinder continuation.
PHPStan rules shared across KnpLabs organization projects
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-or-later
- 更新时间: 2026-07-15