Community Champion

Copying assignments from shared shells

I have some teachers trying to import quizzes from one course to another. After the initial import, they removed a subset of questions, changed the title/due date, etc, and then gave the quiz. Later, they wanted to import the same assignment to give a second set of questions. However, the second import overwrote all the changes for quiz 1.

Canvas shows the warning that importing the same item will replace any previous imports, so obviously this isn't a good method for - essentially - duplicating quizzes. 

Is there a reliable method for accomplishing this? They have a shared course shell which houses their master quizzes and they'd like to be able to pull, modify, and then pull again. I think the answer is "no, create individual quizzes in the shared course," but I wanted to make sure I wasn't missing anything.

Labels (1)
Tags (2)
0 Kudos
4 Replies
Community Coach
Community Coach

@bbennett2 -

Well I wrote all the stuff below and more or less decided I confused my self.  I am sure that you can manipulate the information around, and it may very well depend on whether it is classic or new quizzes.  If any of the stuff below makes sense, you can try it out.  Might be a good idea to create a dummy course and try the various techniques in it until you figure out the exact procedure.  I am sure it can be done, you just have to figure out what needs to be changed.


Random Rambling thoughts:

Based on the information you gave, they are using the copy function?  Or are they doing an actual import?  

As you know, Canvas assigns an id to any assignment for a course, so it does not matter if you change the name or not that number remains the same.  So Canvas must be creating a link between the original and the copied quiz.

One thing you could try is in the master course, creating a copy of the quiz in that course.  That will give it a new number. .  you could then iimport that new quiz.  However, I just realized that it is probably the question banks being overwritten themselves.  You could try renaming the question banks in the course being copied into and then importing the copied quiz - or just the question banks themselves.  


0 Kudos

Yeah, I did some work with the console and the API to see if it exposed an ID somewhere. The only one I can find is the public ID, so there's definitely something happening in the background that we don't have access to.

I prefer the question bank method, so I'll probably have them go that route rather than copying specific assignments.

0 Kudos

Hello @bbennett2 

There's a few factors that you can consider here. Are they using New Quizzes? If so, there is an easy option to duplicate the quiz which is exactly what they want:

How do I duplicate a New Quizzes quiz? - Instructure Community  

If they're using classic, they could technically migrate them to New and then also have the feature to duplicate: 

How do I migrate a Canvas quiz to New Quizzes? - Instructure Community  

If New Quizzes is not an option they can either go to build a new quiz from scratch and use "find questions" which will populate a list of all their quizzes and they can add question in bulk to the quiz. Takes a bit longer than "duplicate" but depending on the quiz could be quite quick and effective.

Besides that, their other option is to export/import the quizzes. After exporting the quizzes, they import them back to the course and there is an option to overwrite existing quizzes - obviously do not check that and they should effectively have duplicates. Hopefully this helps.

How do I export quiz content from a course? - Instructure Community  

How do I import quizzes from QTI packages? - Instructure Community  


Thanks, @greydon for putting it all in one place. That's also what I figured, so I'll pass it along to the team.