To Our Amazing Educators Everywhere,
Happy Teacher Appreciation Week!
Found this content helpful? Log in or sign up to leave a like!
Hi - I'm just starting to dig into using the Canvas API - first task is to figure out how to copy a course.
I've seen a few posts but most are at least a couple years old, so I'm going to repost just in case there's a more modern way to do it or if there are new resources/documentation available.
I created a Test Course, and the API says to copy the course, I send a request to create a 'content_migration' - done. The response is:
Solved! Go to Solution.
As I understand it, a content migration copies content from one course to another, and you must create the destination course first if it doesn't already exist.
When creating the content migration, you specify the destination course ID in the URL and the source course ID in the settings[source_course_id] request parameter.
As I understand it, a content migration copies content from one course to another, and you must create the destination course first if it doesn't already exist.
When creating the content migration, you specify the destination course ID in the URL and the source course ID in the settings[source_course_id] request parameter.
The API documentation is confusing--it refers to "course copy" when it should say "course content copy."
Thanks @dgrobani - that's helpful. We currently build blank, structured but empty Course templates use as a base to create new Course objects - is that still achievable via the API, or is the initial creation of the destination Course just a blank slate (no structure)? and we'd have to apply any structural changes before copying content?
I'm not clear what you mean by "structured," "structured but empty," and "structural changes."
BTW, have you looked into blueprint courses?
Hi @dgrobani - I've been chatting with our Canvas admin and I think we have it sorted out.
Basically we're going to do what you suggested - create a blank course obj with that initial API call to get the new obj id, then use the content_migration call to populate the content from the existing course template to the new course obj.
I was thinking that content was different from structure - ie, two courses could use the same navigation (structure) but different associated files (content).
I did check out the Blueprint API & discussed with our admin - seems not the right solution for our use case, but we might be able to leverage it in the future.
Thx for the help!
My pleasure! I'm glad you got it sorted out.
To participate in the Instructure Community, you need to sign up or log in:
Sign In