[Discussions] Download discussion board posts

We would like to be able to download all of the discussion board posts from our course this semester for faculty analysis. We would also like students to be able to download and/or view all of their posts to review at the end of the semester in one place. This would create a type of e-portfolio for each student based on their work during the semester.

 

87 Comments
Renee_Carney
Community Team
Community Team
  Idea is currently in Product Radar Learn more about this stage...
liuyingh
Community Novice

Hi Chris

Do you mind share with me how to download the discussion through Canvas Data?  Should this be through our Institution's Canvas Administrator?

Thank  you!

cward
Instructure Alumni
Instructure Alumni

Yes, your Canvas Administrator can help with this!

mak0023
Community Novice

Hey guys! I figured out how to download an entire discussion thread. It took some reverse engineering, but this is what you have to do:

Create a URL similar to this:

https://schoolname.instructure.com/api/v1/courses/{course_id}/discussion_topics/{discussion_id}/view?include_new_entries=1&include_enrollment_state=1

This will download the entire discussion thread as a JSON file. JSON is a structured file format that can be easily used for analysis or anything else. I don't know what other options one can include with the view?{options} part. Would be nice to dig around or hear from Instructure about that.

I've been doing a research project with student personality types, grades, attitudes and feed it through a neural network so its essential to get structured data.

nancy_lachance
Community Contributor

Thanks @Markus Kreitzer -- I was able to make this work, clean it up (a lot), convert it to a csv, and then clean it up (a lot). Since I have a board with over 900 posts, it was actually time-saving at the end of the day. Thank you!

sbrierton
Community Member

That's great.  Our Admin needs to get on this.  He's a pretty good guy, but way busy.  @ptart 

danpuperi
Community Member

Thank you  @mak0023 !

This is something that I just "needed", so I wrote my own Python script to take the JSON file than you can get from the Canvas API and save it into individual HTML files which are the same format as if students submitted a text-entry assignment in Canvas.

I put the script on github - it uses Python on the command line so not for everybody, but I put it on github in hopes that it will be useful to somebody.

GitHub - dsp444/save_canvas_discussion: Tool to convert JSON formatted discussion posts on Canvas LM... 

Stef_retired
Instructure Alumni
Instructure Alumni

 @danpuperi  I'd like to wish you a somewhat belated Welcome to the Canvas Community, and thank you for sharing that script! I'm concerned that it might not be readily discoverable here in the comments section under an idea. Would you be willing to write a quick discussion post in the https://community.canvaslms.com/groups/canvas-developers?sr=search&searchId=a9127263-b194-4ca3-bc26-...‌ group and share it to the https://community.canvaslms.com/groups/admins?sr=search&searchId=54aa9c3b-a35d-4082-9d1d-da01d840f1a...‌ groups so people with the requisite skills will see it and be able to implement it? If you're not yet a member of these groups, you can easily join by clicking on the link to each group and selecting Join Group from the Actions dropdown that appears at the upper right of the group home page.

kinardk
Community Novice

I would like to be able to click a button and have all comments posted under a discussion board post (thread) collected into a pdf file and be downloadable. I am responsible for Title III work at my school in the field of statistics. I have created discussion board posts to help students explore career pathways in the field of statistics, by meta major grouping areas as well as in general. I am responsible for creating a report at the end of each year for our school's Title III coordinator, and this would be a wonderful way to offer documentation of our work. I thought of this because when our school used Blackboard for our LMS, it had a "collect" feature that did just that. Thank you for considering this idea.

mwe_sci
Community Explorer

     I've been copying and pasting Canvas discussions to MS Word files for years. However, the resulting formatting is a mess, requiring a time-consuming cleanup routine. And the nice indentation we see in Canvas is lost when pasted into Word, making it unclear who is replying to whom.
     Exporting a well-formatted discussion (as an RTF file) would enable convenient offline composition for students and instructors. We could download the same discussion over time to document student involvement and progress. I personally like an entire discussion to search as ideas come to mind while I'm working offline on multiple draft entries.
     Many other good reasons have already been given in response to Julia's suggestion. In addition, the "export discussions" idea created by Cynthia Kerns back in May, 2015 has 146 up votes with 66 comment contributions. And according to Michelle Miller, "there was a similar request in the old voting system…" So this idea has been requested for years by many instructors for good reason, with probably more than 400 up votes. I think there's no end to the value of a well-designed discussion exporting tool to both students and instructors.