cdeville
Community Participant

Blueprint pitfalls

I wanted to share unexpected pitfalls I've found while working with Blueprints. My main example is using the blueprint_course_id field. Let's say you already have 100 courses associated with Blueprint_A. Next, you upload one new course using an SIS import csv like the one below.

course_id,short_name,long_name,status,term_id,account_id,blueprint_course_id
COURSE_101,SPRING 2018 1550,Special Topics on Vibranium,active,2181,CLAS,BLUEPRINT_A

You'd expect COURSE_101 to be associated with BLUEPRINT_A. COURSE_101 also gets an initial content and settings sync, which basically gives it an identical setup to the Blueprint. This is nice.

However, you might not expect that all 100 previously associated courses in BLUEPRINT_A will also get a content sync at the same time. So if your instructional designers have been "cleaning up" or re-arranging in one of those previously associated courses, they may be surprised to notice that the blueprint has pushed out content to their courses again.


One other quirk: the sync to the new course includes settings and content from the Blueprint. However, previously associated courses will only get a content sync from this sync trigger.

Have you noticed any other unexpected Blueprint behavior?

18 Replies
carrie
Instructure Alumni
Instructure Alumni

Hi  @cdeville , 

Glad to now you are experimenting with Blueprint!

When a "master" is created, any "dependent" course will pick up the synched changes, even if those dependent courses are from an earlier, perhaps concluded, term or semester. It might be worth considering varied "masters", e.g a SU2018 Master, a FA2018 Master, etc for each term with alignments to the dependent courses running during those time frames. That way, keeping varied master templates, you can keep past courses separate from current courses when updating the master. 

There are a few really great Blueprint blog posts that are worth looking a read. Ken and Linda are great resources to reach out to for advice, too. 

Hope this helps!

Cheers, Carrie 

am_jagusztyn
Community Novice

HiChristin Deville, thank you for this important piece of information. Did you figure this out on your own or did Canvas inform you? How do you feel about this "However, you might not expect that all 100 previously associated courses in BLUEPRINT_A will also get a content sync at the same time. So if your instructional designers have been "cleaning up" or re-arranging in one of those previously associated courses, they may be surprised to notice that the blueprint has pushed out content to their courses again. One other quirk: the sync to the new course includes settings and content from the Blueprint. However, previously associated courses will only get a content sync from this sync trigger." It doesn't seem like a quirk, but an unwanted behavior. The idea with the various "master" copies is a critical idea. 

0 Kudos

I figured it out on my own as I was trying to replicate the template system we had in our previous Blackboard system. What we've done since I've written this post is change our blueprint system to a limited time frame. We allow Blueprint updates only during a limited window, and we remove all Blueprint associations before the semester begins. It still would be nice if there were a function to make this behave like a template for new courses.

I've implemented a very similar system. However, we do allow associations to stay for 1 month past the course start date and we allow very well-documented changes to Blueprints, but the changes can only be for what is upcoming to be taught and nothing currently or what has been taught can be changed. Then, the courses are disassociated. We've just started with Blueprints and Canvas this September. I imagine after a year I would prefer to switch to disassociating the course before the beginning of the trimester to prevent accidents. Thank you for your comments.

I do have another question if you don’t mind. SIS imports are not supposed

to override UI changes unless a specific element is selected to do so.

I dissociated courses from a Blueprint manually from the blueprint, but

didn’t remove them from the SIS import. When I uploaded the SIS import, it

reassociated the courses. I would have imagined this wouldn’t happen since

I made a UI change. Have you experienced this as well?

Thank you in advance.

W dniu wt., 27.11.2018 o 17:46 cdeville@uccs.edu <instructure@jiveon.com>

napisał(a):

Canvas LMS Community

<https://community.canvaslms.com/?et=watches.email.thread>

Re: Blueprint pitfalls

reply from Christin Deville

<https://community.canvaslms.com/people/cdeville@uccs.edu?et=watches.email.thread>

in Canvas Admins - View the full discussion

<https://community.canvaslms.com/message/126951-re-blueprint-pitfalls?commentID=126951&et=watches.email.thread#comment-126951>

No problem. That field is actually not "sticky" so UI changes will be overwritten in the next SIS import. You can find all the fields and stickiness here: SIS Import Format Documentation - Canvas LMS REST API Documentation 

Thank you. I hadn’t seen this when I posted my reply.

W dniu śr., 28.11.2018 o 00:32 cdeville@uccs.edu <instructure@jiveon.com>

napisał(a):

Canvas LMS Community

<https://community.canvaslms.com/?et=watches.email.thread>

Re: Blueprint pitfalls

reply from Christin Deville

<https://community.canvaslms.com/people/cdeville@uccs.edu?et=watches.email.thread>

in Canvas Admins - View the full discussion

<https://community.canvaslms.com/message/127113-re-blueprint-pitfalls?commentID=127113&et=watches.email.thread#comment-127113>

0 Kudos

I have actually already found the answer from the sis import documentation

which is accessible at the account level in the sis imports tab. Because

blueprint ids are not considered “sticky”, anything in the sis import will

override UI changes.

W dniu śr., 28.11.2018 o 00:26 tdelillo@alamo.edu <instructure@jiveon.com>

napisał(a):

Canvas LMS Community

<https://community.canvaslms.com/?et=watches.email.outcome>

Blueprint pitfalls

Tracey DeLillo

<https://community.canvaslms.com/people/tdelillo@alamo.edu?et=watches.email.outcome>

marked Ariel Jagusztyn

<https://community.canvaslms.com/people/am.jagusztyn@gmail.com?et=watches.email.outcome>'s

reply on Blueprint pitfalls

<https://community.canvaslms.com/thread/22579-blueprint-pitfalls?et=watches.email.outcome>

as helpful. View the full reply

<https://community.canvaslms.com/message/126953?commentID=126953&et=watches.email.outcome#comment-126953>

0 Kudos
mnahmias
Community Novice

To avoid completed courses from having content changed, I dissociate the completed courses from their blueprints using the API and Python.

Any advice to someone who is a non-programmer on how to do this? Much

appreciated.

W dniu śr., 12.12.2018 o 22:09 kschneider25@alamo.edu <

instructure@jiveon.com> napisał(a):

Canvas LMS Community

<https://community.canvaslms.com/?et=watches.email.outcome>

Blueprint pitfalls

Kori Schneider

<https://community.canvaslms.com/people/kschneider25@alamo.edu?et=watches.email.outcome>

marked Mike Nahmias

<https://community.canvaslms.com/people/mnahmias@baystate.edu?et=watches.email.outcome>'s

reply on Blueprint pitfalls

<https://community.canvaslms.com/thread/22579-blueprint-pitfalls?et=watches.email.outcome>

as helpful. View the full reply

<https://community.canvaslms.com/message/127593-re-blueprint-pitfalls?commentID=127593&et=watches.email.outcome#comment-127593>

0 Kudos

Hello,

If you mean advice on how to dissociate courses from blueprints en masse, then here is a walk through.

1) Create an SIS import file with all the courses you want to dissociate.
2) Use excel or some word processing software to add a field to the header called "blueprint_course_id". Here's an example header: 
course_id,short_name,long_name,status,term_id,account_id,blueprint_course_id
3) The value for the blueprint_course_id should be "dissociate" for all courses. You do not need to know which blueprint you are dissociating from.
An example line with header:
course_id,short_name,long_name,status,term_id,account_id,blueprint_course_id
Course11222333,SPRING 2019 HSCI 6090 011, Graduate Research Project - SPRING 2019 HSCI 6090 SEC011,active,SPRING18,NURS,dissociate
4) Upload the file using the SIS Import in the UI. I would test this on your test server before uploading to production, of course.

Christin,

Dumb question perhaps, but would your automated SIS re-associate these courses when the courses file runs again?

0 Kudos

It would re-associate if your automated SIS still has the blueprint_course_id field, yes. You should make sure that is changed before your next SIS upload (I didn't specify that, so I can see how it would be confusing).

0 Kudos
am_jagusztyn
Community Novice

I wanted to add another current pitfall, or perhaps it might be a bug as of Jan 13, 2018. Blueprint syncs will not update the rubric associated to an assignment after a rubric copy is created. Canvas is working with their engineering team to address this. As a temporary work around for this issue — making any small additional change to an affected assignment and re-syncing will correctly update the assignment's rubric in the associated courses. 

Also, if you had created course-level outcomes in a course, and then replaced those in the Blueprints with account-level outcomes, modified every single rubric with the new outcomes and then completely deleted the old outcomes, in the child courses, all outcomes will be present, even the old outcomes that are not attached to any rubric. The only way to delete is to manually do this in every course associated with the Blueprint (time consuming), or via the API, however, I have no idea how to do this. Anyone know or can share? Thanks!

Thanks for sharing this! Do you know if this issue has been fixed since then?
0 Kudos
rislis
Community Champion

We had many pitfalls using the Google LTI app in Blueprints, that many teachers bailed.

0 Kudos

We are just starting to run into these too... Feels like we're building the plane at the same time as flying it.

0 Kudos

Last year was a nightmare for us with Blueprints. We're too small to really need them - so crosslisting and sharing courses works much better! Have a good year!

0 Kudos