Showing results for 
Show  only  | Search instead for 
Did you mean: 

Lessons Learned about Blueprint Courses: Replacing Course Copy Workflows

Community Champion
17 8 5,278

NB: This is the fourth post in a series on what we learned in our Fall 2017 Blueprint Course pilot. The previous posts provide an overview of our experience (Lessons Learned about Blueprint Courses: Introduction), address how we got buy-in from teaching teams and administrative stakeholders for our target courses (Lessons Learned about Blueprint Courses: Getting Buy-In), and consider our "failed" Blueprint pilot course (Lessons Learned about Blueprint: When Blueprint Wasn't the Solution).

For our school, perhaps the most obvious use of Blueprint courses (Canvas Release: Blueprint Courses) is for courses where we had previously used a Course Copy workflow.

In the first post in this series, I described one of our pilot Blueprint courses as follows:

WHCP 611 -- a half-term core MBA course that is the first of several required communications courses. Staff in the Wharton Communications Program had been asking for years for a way to ensure consistency across Canvas sites and to prevent instructors from being able to make changes to that content. Blueprint was an ideal solution! We were a bit concerned about including this course in the pilot, as this half-term course has 56 associated Canvas sites in Fall Q1, and an additional 53 associated sites in Fall Q2. And if things didn't work as expected ... well, that could have been a lot of sites that needed fixing!

As you can see from this description, Blueprint offered a key feature that the teaching team had been asking for: the ability to ensure course content consistency across Canvas sites and to prevent instructors from changing content. The Wharton Communications Program (WHCP) courses have a shared curriculum across all sections, so maintaining consistency was a long-desired goal. Because of this requirement, Blueprint was an easy sell. For this course, there are more than 50 sections in each quarter-term in the fall (so about 110 sections in total in the Fall semester). In the spring, there are several options for the next required communications course in the curriculum, which also have the same requirement for content consistency.

Previous Course Copy Workflow

Previously, our workflow looked something like this: A member of our team works with the lead faculty member for the course to develop the Canvas site template. After the template is finalized, approved, and signed off on by all program stakeholders, we begin building and replicating the sites. Our ability to begin this work has several dependencies, including having a finalized Certified Partner -‌ course pack attached to the template site. Each section uses the same readings, and we use a course-level LTI tool to distribute the shared course pack to all sections.

Course shells were built using a script that created a Canvas site for each section and applied the appropriate attributes (named the site appropriately, set the Course Code and SIS ID, added the faculty, set the term and sub-account, etc.). 

This course meets once a week, with sections meeting Monday, Tuesday, Wednesday, or Thursday, with start times ranging from 9 a.m. to 3 p.m. With 56 sections each term, there were usually two or three sections that met at each day/time possibility. To get the class meeting and assignment due date times correctly, we would do the following:

  1. Adjust the class meeting and assignment days on the template site to the correct day of the week by drag and dropping assignments and events on the Canvas course calendar (What is the Calendar?). This step was necessary only when beginning a new class start day (Tuesdays classes, then Wednesday classes, etc.).
  2. Do a course copy of all content (How do I copy content from another Canvas course?) to import everything from the date-adjusted template to the course shell. (Due to irregularities in the meeting schedule, we could not rely on Canvas's ability to adjust dates during content import.)
  3. Adjust the due date time of each assignment to match the course meeting time.
  4. Verify that everything was set/copied appropriately, students were enrolled, etc., and then publish.

This, times 56 sections, twice each fall. We could achieve some efficiencies when subsequent copies were of sections with the same meeting day and time. But each individual site required a separate content import, which can involve a minute or two of waiting. When all that time is added together, it's a significant amount! Overall, this was a big task for our team -- and one we were usually doing at the height of beginning-semester crazy. The total amount of work is such that we'd typically distribute it across multiple team members, each working on different start days.

And on multiple occasions, there has been some minor problem with the template discovered only after the sites were replicated. This required manual updating of each site, either by our team or by the teaching team. (So maybe you can see why we were eager to try Blueprint!)

Canvas Site Replication with Blueprint

Setting up the Blueprint template for this site is straightforward (How do I enable a course as a blueprint course in an account?).

Setting Up the Blueprint Template

We set default locked attributes in Course Settings, and for this course we locked content and points for assignments (because we needed to adjust the due dates) and content for both files and pages.

Blueprint settings

We ensured that all assignments, files, and pages were locked, which would ensure that instructors could not change any assignments or other content within their Canvas sites. Locked items are easily identifiable by the blue locked Blueprint icon on the Modules index page, Assignments Index page, etc. in a Canvas site.

Locked items in associated courses have a "locked" Blueprint icon.

Site Replication Workflow with Blueprint

The site replication workflow we are now using is much simpler and faster, and it provides the teaching team with the ability to update late in the process if necessary. Course shells are still created using a script that added a Canvas site for each section and applied the appropriate attributes (named the site appropriately, set the Course Code and SIS ID, added the faculty, set the term and sub-account, added the student enrollment section, etc.).  

Content is copied automatically when the Canvas sites are associated to a Blueprint course. You search for Canvas sites in the Blueprint menu, and then select them to associate with a Blueprint template site. Associated sites must be in the same term and account or sub-account as the Blueprint.

Add associated courses

The initial sync immediately copies over all content, including course settings (How do I sync course content in a blueprint course as an instructor?). This will copy LTI tools, course navigation menu settings, and other attributes. Subsequent course syncs copy only content, with course settings as an option.

Blueprint menu for WHCP 611

Syncing content across all 56 Canvas sites at the same time saves a lot of time compared to performing 56 separate course copies!

Adjusting Assignment Due Dates

There's one last major task for each site: adjusting the due dates and times for all assignments. The small efficiencies we were able to take advantage of using course copy were no longer available to us using Blueprint. So we sought alternatives. (The Canvas Community to the rescue!)

We used  @James ‌'s Canvas enhancement for adjusting all due dates on a single page to do this task (Adjust All Assignment Dates on One Page). Using this tool, it took just a minute or so to change the due dates and times for each section. This approach saved us A LOT OF TIME. If you haven't tried it, try it. Seriously. So. Much. Faster!

So our workflow now looks something like this, after the associated sites have been synced to the Blueprint:

  1. Adjust due dates/times using James Jones's tool.
  2. Verify content is correct, dates and times are set correctly, instructors and students are enrolled, and adjust if necessary (in the fall we needed to manually set some course nav menu options, but a bug fix has taken care of this problem, so the one manual task we needed to do in the fall won't be necessary in the spring).
  3. Publish.

See? Faster!

So, How Did it Go?

Overall, this was a huge productivity win for our Courseware Team and for the Wharton Communications Program teaching team. We no longer have to wait for the course pack to be finalized and made available to students to begin replicating content, which means we can begin this process much earlier -- a win for everyone involved.

Community Champion

Has there ever been any discussion on 'control' of which courses are synced when that action is taken? We create all courses from templates, but courses are not updated once they are published and in use. If we used blueprint courses instead, we would have to be able to sync only new and future courses, and leave previous courses untouched. Think of this like the university academic program; the student is bound only by the requirements of the program when they entered, not by any changes to those requirements that may occur while they are pursuing that particular degree.

Community Champion

 @straussi ‌,

You pose an interesting question. Here are a few thoughts --

  • I don't know if this what a possibility that surfaced in the requirements-gathering phase for Blueprint or not -- but eliminating the ability to update a course through a course content sync seems not to be consistent with the intention behind Blueprint. However, adding this ability (perhaps create a new feature idea?) might increase the potential use cases for Blueprint.
  • If Blueprint seems to be the best way to go, one possibility would be simply to remove the association after the initial course sync, which would prevent any future updating of content but leave the initial content sync in place.
  • If your institution is using Commons (What is Canvas Commons?), it might be worth considering whether that's a better approach for the course templates.  @fitsum ‌ put together a handy guide comparing the two - Blueprints vs. Commons.

I hope this helps!


Community Champion

 @lindalee ‌, appreciate the feedback! 

  • I know we brought the idea of controlling the course-sync list up a few times early on. Might be time to search or renew a feature idea.
  • We change the original templates as needed, prior to each semester (we have 12 semesters that utilize these). If we removed the association after the initial sync, could we add new courses the next semester and sync those without disturbing the prior semester courses?
  • Commons doesn't offer the control we need, as well as this whole process is automated with over 900+ templates.


  - Ira

Community Participant

Not sure if this is the best place to ask, but is locking sections (and assignments for those respective sections) not a thing? The associated courses I just created do not have any of the sections I added, nor are the assignments assigned to specific sections, as I worked on in the master BP course. 

Community Participant

This is a really delayed response to your question Ira, so no doubt you've already figured out that disassociating courses from the blueprint does preserve the course as it is so that future blueprint syncs are not messing things up. I still feel like blueprints should be created anew each term or semester by copying things into a new blueprint that belongs to the correct term, but I haven't gotten that far in my process yet.

Community Member

@lindalee In your pilot, did you ever encounter syncs affecting student-submitted work? Thanks!

Community Participant

I'm just delving into this with our recent switch to Canvas.  The link to the "consider our "failed" Blueprint pilot course (Lessons Learned about Blueprint: When Blueprint Wasn't the Solution)."  I'd like to know what you felt were deal breakers for using Blueprint courses and if Commons or some other solution was the answer.  

Community Contributor

For us there are two key considerations.  

  • You need to make updates throughout the semester to all the copies of the course.
  • You want all the course copies to stay the same.

Those are the reasons to use blueprint.  If you won't have updates throughout the semester, you don't really need a blueprint.  A template course in your instance that all the child course instructors have access to will work as will something on commons.  This way the instructors can collaborate on the template and still make their own changes to their copies.

If the course template is just a starting point and you don't care if the copes are altered, again you don't need blueprint.  If instead you are trying keep the course content nearly the same, blueprint is a good option because you can lock the content, preventing editing and changing of schedules.

There are of course mixes of these options too.  Our main use is to copy lab content into multiple courses, keeping it mainly locked, and then instructors of the course copies build their own lecture materials.  This allows us to have one common lab amongst sections that have different instructors.  It's a bit complex to reset each semester but there is an academic technologist that manages the semester restart of the courses to ensure that content doesn't get mixed up into a mess.