Course templates

General plugins (Local) ::: local_course_templates
Maintained by Yes, that's meFlotter Totte, Sunny Teacher, emeneo Plugins
With this plugin you can easily create courses based on course templates. The plugin also can be used to easily duplicate courses
Latest release:
1285 sites
97 fans
Current versions available: 1

What this plugin does

With this plugin you can easily create courses based on course templates. The plugin also can be used to easily duplicate courses


  1. - Install the plugin as usual
  2. - Manually create the course category "Course templates" (you may later wish to hide this category)

Adding a template course

Add any kind of course into above "Course templates" category.

Creating a template based course

Please see the picture below:

Create template based course

Stay up to date

A big thanks to emeneo for providing a place for support for the plugin. I recommend you to create an account on below site in order to receive latest information related to the plugin.

emeneo plugin world

  • Emma Richardson (Testing Moodle 3.3, 3.4)
  • Michael Milette (Course names, summaries and course categories are now processed through Moodle filters)
  • Renato Soldenhoff (Improved role based access)


Screenshot #0


Yes, that's me
Flotter Totte (Lead maintainer)
Sunny Teacher: Maintainer
emeneo Plugins: Concept, development and support
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Wed, Oct 2, 2019, 6:16 PM
    @Flotter Totte, Yes I am using the admin role, and it is the same behavier for other roles that can create courses. In fact, it seems it is only a presentation problem, because the course is created, even if the creation page is stuck with "Creating...". I am using the Fordson theme. Could it be related to this?
  • Yes, that's me
    Wed, Oct 2, 2019, 6:37 PM
    @Laurent Dairaine - Oh, ic. Actually with admin user it should work. Given that, I see 3 possibilities: 1. There is a problem with the content in your original course. You can try to manually backup and restore the course. If a problem happens, than this is the reason. 2. The course (name) already exists 3. Relatively big original course in relation to the server resources
  • Sun, Mar 22, 2020, 6:18 PM
    Enrollment Methods does not copy to Course created using Template , so You have to add it manually (( anyway (Enrollment notification for ex)
  • Thu, Apr 23, 2020, 2:54 PM
    @Flotter Totte - Thank you guys for the great tool!
    I used it as a system admin and it works. When I use my other account with an administrator role it gets stuck at 'Creating...'. I have allowed local/course_templates:edit and local/course_templates:view. What other permissions do I need to provide for the plugin to complete the process? I could not find much info in the previous comments here.
  • Fri, Jun 5, 2020, 4:56 PM
    is there a way to use this plugin via the api?
  • Thu, Jun 11, 2020, 10:11 PM
    I install the Plugin on Moodle 3.8 and see the menu "add course" but it stuck at the first point "choose template". There are no templates and there ist no other menu point at that page. It´s blank.
    Could anyone help?

    Thanks, Daniel
  • Thu, Jun 11, 2020, 10:16 PM
    you need to add a new category (i've added the category "Course Templates" and created courses with this category )
    i don't know if we can change the category name to have courses
  • Mon, Jul 6, 2020, 12:06 AM

    i tried using the plugin with moodle 3.9: When creating a new course i can choose the template and the course category. But on the 'define settings' screen, nothing happens when i click on 'next'.

    javascript throws several errors:

    bootstrap-datetimepicker.js:1 Failed to load resource: the server responded with a status of 403 ()
    process.js:1 Failed to load resource: the server responded with a status of 403 ()
    jquery-1.8.3.min.js:1 Failed to load resource: the server responded with a status of 403 ()
    index.php?step=3&cid=20:1 Refused to apply style from '[...]/local/course_templates/js/bootstrap-datetimepicker.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
  • Sun, Aug 2, 2020, 8:35 PM
    Hi all,

    Just wondering, what right needs to be enabled for managers to be able to use this plugin? Managers already have the rights to create courses using the traditional method, but I can't find the correct right to allow them to do it using this plugin.
  • Sat, Aug 29, 2020, 2:52 AM

    This plugins works with the external database course creation moodle´s feature???
  • Sat, Dec 5, 2020, 3:53 AM
    Does this plugin work with Moodle 3.9?
  • Thu, Apr 8, 2021, 7:21 PM
    Are there any updates to the plugin planned? Thank you very much for the plugin.
  • Fri, Oct 15, 2021, 5:31 PM
    This is a great plugin! May I ask though if you would consider developing a feature for the course creators or teachers in a SPECIFIC category to access the course template from the add a new course button ? Else they have to have access to the SIte Admin tab which is not ideal...
  • Yes, that's me
    Fri, Oct 15, 2021, 10:42 PM
    @Fatima: Please send submit a ticket here:
    Please note: this feature probably needs funding.
  • Fri, Oct 22, 2021, 10:36 PM
    Does not seem to work in Moodle 3.11. I get the following error in the php error logs:

    Default exception handler: error/setting_invalid_ui_label
    Debug: Error code: setting_invalid_ui_label $a contents:
    * line 153 of /backup/util/ui/backup_ui_setting.class.php: base_setting_ui_exception thrown
    * line 156 of /backup/moodle2/backup_section_task.class.php: call to base_setting_ui->set_label()
    * line 153 of /backup/util/plan/base_task.class.php: call to backup_section_task->define_settings()
    * line 60 of /backup/util/plan/base_plan.class.php: call to base_task->set_plan()
    * line 161 of /backup/moodle2/backup_plan_builder.class.php: call to base_plan->add_task()
    * line 188 of /backup/moodle2/backup_plan_builder.class.php: call to backup_plan_builder::build_section_plan()
    * line 101 of /backup/moodle2/backup_plan_builder.class.php: call to backup_plan_builder::build_course_plan()
    * line 163 of /backup/util/factories/backup_factory.class.php: call to backup_plan_builder::build_plan()
    * line 67 of /backup/util/plan/backup_plan.class.php: call to backup_factory::build_plan()
    * line 463 of /backup/controller/backup_controller.class.php: call to backup_plan->build()
    * line 149 of /backup/controller/backup_controller.class.php: call to backup_controller->load_plan()
    * line 1417 of /course/externallib.php: call to backup_controller->__construct()
    * line 68 of /local/course_templates/process.php: call to core_course_external::duplicate_course(), referer:
1 2 3
Please login to post comments