Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mparzen
Community Member

delete many discussion topics at once?

Delete many discussion topics at once??

I made the mistake of importing an old class to start a new canvas site and imported over 100 discussion topics. Is there an easy way to delete them all at once? Canvas support said it can't be done and they have to be deleted individually but maybe someone here knows better? thanks

6 Replies
James
Community Champion

 @mparzen ,

There is a lot of stuff out there that I don't know about, but I have written a bunch of code to speed up repetitive processes and I don't remember seeing solutions being offered for mass deletion of discussions. There normally aren't that many of them and deleting them isn't really that difficult, so there's not much demand for it.

Even though 100 is a lot, it's probably going to be quicker to delete them individually. That's because someone would have to write code to do it, put an interface on it so that it didn't delete the ones that you wanted to keep. There are some things out there that you could use as a starting point, possibly Bulk Publish / Delete Pages (which handles bulk deletion) in combination with Adjust All Assignment Dates on One Page (which deals with discussions), but it it's not going to be trivial (change one or two lines of code).  And you're going to wait much longer for someone to do that than it will take you to go through and manually do it.

You may be able to make use of a macro program that sends the keystrokes necessary to open the admin cog, select Delete, and answer confirmations it asks about. But unless you've done that before, it's going to take longer to learn how to program the macro than to delete them manually.

Another option is to delete them through the API, but that requires programming as well. Any other solutions that might exist are probably going to require you to install Python or another programming language and configure a script.

I hope someone else has an easy workable solution for you, but I suspect you can manually delete them in the time it takes anyone to respond with a different solution.

That means that any solution other than manual deletion is going to involve drastic measures.

If your class hasn't started yet, you may be able to reset the course and re-import the information. If you've done a lot of work already on development, you may also be able to start a new course and copy the information from the current into that one. Please double check with your local Canvas Admin before you do that, though. At our institution, doing a course reset will break the connection our SIS has with your course and certain things will stop working properly. Other institutions may not cache the Canvas course ID like we do so it may not matter. Copying a course could be problematic if the SIS ID is already in the course since they can't be duplicated.

mparzen
Community Member

Thank you! This has to be one of the most intelligent answers I've ever seen on this forum. I'll do it manually but like the idea of a keyboard macro but don't know how to set that up. Cheers.

 @mparzen ‌

We agree, James is a gem! 

Oh man, have I been here...  Along with all of the great information that James provided, there is one more tip you'll want to know as you get started.  When completing manual cleanup in the past I always accidentally deleted something that I didn't want to.  Thankfully, it was never lost forever.  If you're not already aware, here are a couple blog posts on the powerful Undelete tool.

 

Undeleting things in Canvas 

Undelete 

I almost forgot, there is another technique I've used in the past.  I have recovered courses from Beta and Test instances in the past by resetting my course and uploading a course cartridge from one of the two.  

This sounds like it is more extreme than what you need to do, but it is an option.  

It is an option that you might want to test in a test course before doing to a live course.  You also wouldn't want to do this to an ongoing course with students and submissions.

kmeeusen
Community Coach
Community Coach

Hi  @mparzen  

We take the very simple route - we reset the new course shell, wiping out the imported content, then re-import using the "Select Specific Content' import option, and not selecting what we didn't want. 5 minutes tops, no scripting, no fuss no muss. https://community.canvaslms.com/docs/DOC-10408-415257102 

Of course we do the resetting of the course, because we do not allow faculty access to that A-Bomb dangerous "Reset Course Content" link, but they do their own re-import.

Kelley

I like what  @James ‌ mentions about doing a reset. You could then re-import the old class. I have done that with instructors at my college. We are in the middle of a transition to Canvas, and some of them are accidentally doubling their imports of the export files from our soon-to-be-former system.