[ARCHIVED] Blueprint with automated copy process and centralized administration business model
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are a fully online college, with terms occurring every 8 weeks. Our courses are centrally authored, created and administered. Instructors have limited permissions and in most cases are not able to make many edits to a course. Courses do not belong to the instructors, and they are not responsible for any type of setup, or copy.
We have a high level of integration between Canvas and our SIS, keying off unique SIS ID's. Many of our course processes are automated using API's. This includes course shell creation, course content copying, student and instructor enrollment, grade extraction. These processes took well over a year to get into place, and we currently do not have the generous availability of our developers time that we had when we were implementing these integrations.
We are once again reviewing the possibility of using blueprint courses.
Our current course copy process is as follows:
- Course section records are created in our SIS for the expected number of sections for each course title for a given term - this is done many months before the term starts - in some cases a year ahead of time.
- Empty course shells are created in Canvas, based on the above course section entries in SIS, several months before the course start date. This is done via an API
- Student registration opens shortly after the empty Canvas shells have been created. Students can register online, and will automatically be pushed from SIS into the appropriate empty Canvas shell.
- Each course title has a "Master Template". Three weeks before our term starts, the content from each master template is copied into the appropriate empty Canvas sections. This is done using an API, and dates shift forward based on the start and end date in each master template, and the dates on the upcoming term. Correct content is identified based on the SIS ID of each "Canvas Master Template", matching up to the SIS ID of each of the shells. These follow a strict naming convention, and will not work if SIS ID is mis-formed.
- For the 3 weeks prior to the term start date, no changes can be made to the master templates, since new sections get created and copied from the master template as needed during that time frame.
- Once the term starts, changes can then be made to master templates for the next term. This happens frequently.
In the past, our major concerns around blueprint have been twofold:
- How would all of this work with the API? Some really big questions here - manually copying a blueprint course into an empty shell does not associate the destination course with the blueprint master, so it seems the association would have to occur after the copying process (would that create duplicate files?), or the copying process would need to completely change - using the blueprint API instead of the course content copying API?? Additionally, would either of these routes have any impact on all of our other API automated process such as course enrollment and grade extraction.
- Since we make frequent changes to our master templates every term, it seems we would be looking at creating new master templates every term. This alone would be seem to be prohibitive, but additionally, our current course copy procedure is dependent on a consistent SIS ID naming convention of our "master template". SIS ID's are unique identifiers, so we don't know if/how that could work. Also, we have many courses that are integrated (deep links) with various publishers,etc. The courses are integrated and deep links set up, categorized and added to modules in the master template for each course title, and then copy forward each term - minimizing much of the set up in all sections every term. If we frequently had to create new master templates, the overhead for that would be prohibitive.
I'm wondering if anyone has any blueprint experience with a similar centralized and API automated model, or if anyone very familiar with blueprint could weigh in on the feasibility of using blueprint in our model.
Thanks so much for any info or feedback you can offer 🙂
Kathleen Barringer
Excelsior College
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @kathleen1,
If you were to use Blueprints, then in your process, you could stop using the copy step in your process as it would no longer be needed.
You could use API calls to associate the courses to their respective blueprint course based on the naming conventions that you have set-up. https://canvas.instructure.com/doc/api/blueprint_courses.html#method.master_courses/master_templates...
Once they are associated, you can then use the API call to begin a migration push to the associated courses, which will copy over the content. https://canvas.instructure.com/doc/api/blueprint_courses.html#method.master_courses/master_templates...
If you want changes to potentially be pushed out during the semester if there are changes made to the template, then you should lock those items so instructors can't change them. If they aren't locked and an instructor edits the item, then a new sync to push out changes may fail to update that item.
Since you have courses with deep links, you may just want to do some testing with them to ensure they still function properly. If you haven't had any issues with course copy in the past, then most likely it should still work with blueprints.
Course enrollments aren't affected by blueprinting. I'm not sure what is involved in your grade extraction to know if blueprinting would affected. Again I would recommend testing this, but most likely if you haven't had issues with course copies you will be fine with blueprints.
We un-associate our blueprints before courses start to ensure updates aren't accidentally pushed out to live classes which could potentially cause problems that are difficult to clean-up since you can't just undo a sync. This is definitely not a fun lesson to learn the hard way.
This discussion post is outdated and has been archived. Please use the Community question forums and official documentation for the most current and accurate information.