How do Master and Derivative Courses work?

Ryan Richins
  • Agilix team member
  • Updated:

Master Courses allow you to manage content for multiple courses in one, central location.

This diagram illustrates the basic relationships between a Master Course and the various types of copies you can create from it.

  1. Master Course: Master Courses should be used for content creation and management, and shouldn't be used as live courses (students should not be enrolled in Master Courses). You can turn any standalone course into a Master Course by simply making a Derivative copy of it (the different Derivative course types are described below). Once you create a Derivative Course, you no longer have access to any enrollment data that happens to exist in the Master Course (gradebook, students, etc).
  2. Derivative Courses: All Derivative Courses begin as duplicates of the Master Course and inherit applicable data and changes made to the Master. Data that is related to teaching a specific class instance (e.g., Student Enrollments, Groups, Course Title, Start and End Dates, Agendas, Submissions, Posts) is not inherited.
    • Unlinking Derivative Course Elements: You can unlink Master Course inheritance in any single element (e.g., an activity, a folder, a question) of a Derivative Course by simply changing the desired element in the Derivative. Once unlinked, the Master Course no longer impacts that element; however, the rest of the Derivative Course remains linked and subject to changes in the Master.
    • Relinking Derivative Course Elements: You can relink inheritance in most elements of a Derivative Course by changing that element to match the Master Course again. Once relinked, the element is again subject to changes in the Master. This is not true of assessment questions; altering an assessment question creates a new ID, so that question cannot be relinked to the Master by simply changing it back.
  3. Derivative Child Course: This exact copy of the Master inherits changes to the Master. This option works best when you are copying a course with only content and no students enrolled because, once a Derivative Child Copy is made, you can no longer access student enrollment information in the Master Course.
  4. Derivative Child Course (altered): This altered copy of the Master inherits changes to all unaltered elements of the Master.  
  5. Derivative Sibling Course: This is an exact copy of an altered Derivative Child Course that continues to inherit changes to all unaltered elements of the Master. This option works best when you want to make a copy of an active course in which students are enrolled because, after making a Derivative Sibling Copy, you can still access the student enrollment information in the Master Course.
  6. Static Copy: This is an exact, but independent, copy of the Master; changes made to the Master have no impact on it after the copy is made.

Additional articles


  • Save time by setting up your Master and Derivative courses so you can copy between sections, terms, school years, etc.
  • If you want to make changes to the content of a Derivative Course's Master, open the Curriculum Map in the Derivative and choose the Master from the Course Chooser. This way, your changes are inherited by all Derivatives.

Comments (21)

Sort by
Andrew Jackson

When making a derivative course is there a way to copy group sets along with the other content? I'm interested in setting up a master course with groups and different activity visibility based on group assignments, but I want to copy that out.

Scott Taylor

Group settings are not currently copied when copying a course. This request has been passed along to our Product Team for further consideration.

Josh Kaplan

Hi! Is there a way to change a derivative child copy of a course into a static link (i.e. break the link between the two)? I want to delete some activities from the master without them being deleted from the child. 



Brad Marshall
  • Agilix team member

Josh, currently there is not. The best option available for now would to create a new master course (derivative child of the original master or derivative sibling of the previous child) and then use that as the next version for the master course.

Josh Kaplan

Gotcha. Thanks, Brad!

Josh Kaplan

Let's say I create a Derivative Child Copy of a Master Course.


I enroll students in the Derivative Copy and they begin working, submitting assignments, etc.

Then, I make a change to an activity in the Master course. 

Question: Will the activity change in the derivative child copy, even though students have already completed the activity?



Scott Taylor


Modifications in the master course will propagate down to the derivative child copy, though students that have already completed work will have their submission locked into the version that they had when they started. If a retry is granted then it will generate a new attempt using the current data when the student starts the retry. The one exception to this behavior is Practice Question items, which will remain locked to the version that the student accessed on the first attempt.

If the category, weight, or score of an item changes this will affect previous submissions.


Josh Kaplan

That's good to know, Scott.



Josh Kaplan

Is there a way to look at a Master and see all its derivatives?

Scott Taylor

Currently the only way to review the derivatives of a course is to utilize the API command of GetItemLinks. If just the master CourseID is passed it will provide the list of derivatives at all levels, so it will return the derivatives of derivatives as well with the data returned.

Geoff Quinby

Once a Static Copy of a course has been made, is there any way to re-attach it to its Master Course so that it becomes a Derivative Child copy?

Brad Marshall
  • Agilix team member

While you can link a static copy of a course to a new master, the already copied content will be treated as unique unlinked from the content from the master course. It would receive new items created, but not updates to existing items.

Josh Kaplan

Hi Brad,

How do I do that - link a static copy of a course to a new master?




Brad Marshall
  • Agilix team member

You would have to do this through the API. You would use the UpdateCourses API and add a baseid to the static copy. The baseid should be the course ID of the new master course.

Josh Kaplan

Thanks, Brad!

Tami Warnick

What would cause a Master course to not give the option to create a derivative but only a static copy? 

Josh Kaplan

Hi Tami,


This happens if there are enrollments in the master course. As a rule, nobody should be enrolled in master courses: only derivatives.



Bill Taylor

What if I want to copy the contents of a master course - all activities, assessments, settings, etc. - into an empty course on a new domain? In other words, if there is already a course code on the subdomain, how can I add a derivative copy to that existing "shell"? 


Michael Denton

Importing content into an existing course can be very complicated. What is the purpose of loading it into an existing course, instead of simply using the copy tool?

Marc Collins

Our teachers often want to keep all their modifications from the previous school year's course for the upcoming school year.  Derivative Siblings work great for this. But there is one issue which I hope you can help with. The due dates copy over. There are a couple of ways to remove the due dates, but I know of none that are efficient when setting up for the new school year. It would help us if there was a way to remove all due dates when the DC or DS copy is made.

The option to "Adjust due, visibility and grade release dates based on course start date" does not help us, since our teachers will need to schedule their assignments according to our blended schedule. 

Perhaps having teachers modify a master throughout the year while setting due dates in the live derivative child throughout the year is the best practice here. If so, I look forward to trying it. My hesitation comes from teachers expressing frustration in editing or setting due dates in the wrong course when juggling both master and 'live' derivative child (students enrolled).

Looking forward to a response - thank you.



Brian Williams
  • Agilix team member


It's possible to create a course template that teachers would use when creating a new course. That might be another option worth exploring along with using continuous courses instead of range courses. Understandably the current options may not be ideal and it would be frustrating to have to edit course content after each copy. If you have additional suggestions on how to make this user experience more efficient I recommend submitting those suggestions as an enhancement request or post it in the Buzz Product Feedback page.

Please sign in to leave a comment.