cancel
Showing results for 
Search instead for 
Did you mean: 
axelsena
Community Contributor

What is the best way to export all student data from a course?

Is there an single easy method to export all data, including student data from a course?  I've been digging, but I'm not finding anything.

9 Replies
kona
Community Coach
Community Coach

 @axelsena , are you coming at this as an Instructor, Admin, Programmer...? As an Instructor, the answer is there really isn't a good way other than manually downloading and saving things. As an Admin you have a few more tools in your tool belt, but ultimately to get all data (which by this I'm assuming you mean assignment submissions, analytics, etc) you'd probably need to use the Canvas API or Canvas Data (so more of the Programmers side of the house).

axelsena
Community Contributor

I'm coming at this from the Admin / Developer angle.  I was hoping there was just some option i wasn't able to find ...

jperkins
Instructure
Instructure

What data are you looking for? What does all student data mean for you?

axelsena
Community Contributor

Please do, thanks!

axelsena
Community Contributor

Grades, assignments, discussions.  Any data that the student submitted.  Just looking for a way to keep it offline for records and retention.

llawson
Community Contributor

There is no one API call or method (that I know of) that can just export all of this data. However if you are willing to put the time in for a scripting project, there is a way you can export various assignment submissions and discussion data, and that is by making API calls for each of those things.

For example, if you just wanted to focus on discussions, you would need something along the lines of:

For every discussion topic in a course...

GET https://school.instructure.com/api/v1/courses/:course_id/discussion_topics/:topic_id/entries?page=1&per_page=100
.
.
GET https://school.instructure.com/api/v1/courses/:course_id/discussion_topics/:topic_id/entries?page=10&per_page=100

Then export this to some flat file. By default response data is in JSON format, so to turn this into Excel-friendly data you would most likely need to format that into a CSV. Obviously Canvas is not meant for offline retention of grade and submitted content, but it can work.

dranzolin
Community Participant

rcanvas can get you most of these things via:

gradebook <- get_course_gradebook(course_id)
chofer
Community Coach
Community Coach

Hello  @axelsena ‌...

I thought I would check in with you because there hasn't been any new activity in this particular discussion topic since about the middle of February.  It looks like you've gotten some good help here, but I wanted to see if any of the above replies have helped to answer your question.  If so, please feel free to mark one of the replies as "Correct".  However, if you are still seeking assistance with your initial question, please come back here to let the Canvas Community know that, too.  For now, I am going to mark your question as "Assumed Answered" since this topic has been quiet for quite a while now, but that won't prevent you or others from posting additional replies below.  I hope that is okay with you.  Looking forward to hearing from you soon, Aaron.