Degraded AWS performance is currently impacting some Canvas users in the North American region. Check Canvas Status for updates.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ahayson
Instructure
Instructure

Export Activity Data for Individual User Accounts

Jump to solution

Hello Canvas Community!

I have a quick question regarding the Canvas' ability to export user account data.

As a student leaves the college, or finishes a course we than have an account sitting on our Canvas instance not in use (student is made inactive).

What is the best way to export total activity/ submissions for that particular user account so I can than store it under the user file in our Student Management System?

I need to be able to export all submissions/ resubmission's (for both marked quizzes and assignments), as well as any feedback/ marks associated with that users account. Is there a best practice when doing this, or is this something that the system is currently unable to do?

Thanks so much in advance for any and all assistance with my question! Smiley Happy

- Am

1 Solution

Accepted Solutions
James
Community Champion

Deactivated user‌,

Currently the only way to get the actual submission information is through the API. It's not pretty or fast. You might be able to store it in some format that combines it all into one usable file, but it's not going to come that way. What I had heard from people before Canvas Data came along is that they were warehousing the data themselves, but that it often meant downloading the entire data set every time because many of the API calls don't have filtering based on a date. In your case, that shouldn't be as big of a problem since you're only doing the archiving once they're done. But obtaining information through the API is about the only route you have when trying to get information that's not in Canvas Data.

Some of the information you'll want is available in Canvas Data, like submission comments and information about submissions and users, so you can start there and then get the rest through the API. Things like answers to quizzes will have to come through the API.

It seems I just wrote this with more details in another message a couple of weeks ago, but I'm having trouble finding it right now.

 

The italicized about the only route is because you could do something crazy like use a headless browser to log into Canvas and then fetch things through the web interface. You can also get many of the student responses on a quiz -- albeit for all students in the class -- through the student analysis report. There are issues with that approach, too.

Basically, there's no easy way to get it. You might gather some useful information in the discussion https://community.canvaslms.com/message/38047  where someone said that they had Canvas take a snapshot of the instance and keep it on a different server for 3 years.

View solution in original post

8 Replies
jschaffer
Community Champion

Deactivated user‌,

I am not sure how familiar, or comfortable you are with making API calls, but there are some canned reports (How do I view reports for an account? ) that may help.  For instance the Student Submissions report looks like it could meet your needs.  If not, then you may want to try Canvas Data (What is Canvas Data? ) or going in and exporting the Page Views in the user account.  (https://community.canvaslms.com/docs/DOC-3089 ).  While the views may not give you a submission, it should tell you if they did something and participated, versus, just looking at the page/content.  

Jason 

jschaffer

Thanks for the response. I have played around with the reports a little.

I may be missing something however. I need to be able to actually extra all work and submissions. Not just students grades and outcomes.

Ideally, I want to be able to place this as a file withing our Student Management System.

- Am

James
Community Champion

Deactivated user‌,

Currently the only way to get the actual submission information is through the API. It's not pretty or fast. You might be able to store it in some format that combines it all into one usable file, but it's not going to come that way. What I had heard from people before Canvas Data came along is that they were warehousing the data themselves, but that it often meant downloading the entire data set every time because many of the API calls don't have filtering based on a date. In your case, that shouldn't be as big of a problem since you're only doing the archiving once they're done. But obtaining information through the API is about the only route you have when trying to get information that's not in Canvas Data.

Some of the information you'll want is available in Canvas Data, like submission comments and information about submissions and users, so you can start there and then get the rest through the API. Things like answers to quizzes will have to come through the API.

It seems I just wrote this with more details in another message a couple of weeks ago, but I'm having trouble finding it right now.

 

The italicized about the only route is because you could do something crazy like use a headless browser to log into Canvas and then fetch things through the web interface. You can also get many of the student responses on a quiz -- albeit for all students in the class -- through the student analysis report. There are issues with that approach, too.

Basically, there's no easy way to get it. You might gather some useful information in the discussion https://community.canvaslms.com/message/38047  where someone said that they had Canvas take a snapshot of the instance and keep it on a different server for 3 years.

View solution in original post

jschaffer
Community Champion

 @James ‌,

You are right.  I would also imagine that with the API calls, you would need to account for throttling if you are pulling a lot of information.  It would not be pretty or easy.  

Regards, 

Jason 

Awesome  @James 

Thanks for the breakdown. Hopefully there is a cleaner/ more user-friendly way (later down the track) to export a students files for storage. That way when the auditors come knocking every re-registration period we can store this information, without the user acount (subscription) costs to store the files. For us, we need to store a students files 30 years from their starting dates.

Thanks again!

James
Community Champion

Holy cow -- 30 years? That almost means an acid-proof paper copy stored in an environmentally-controlled, fire-proof, nuclear-hardened vault buried kilometers inside a mountain. Guaranteeing that any technology you use to store data on will be available and readable in 30 years is pushing it. Otherwise, every upgrade path has to upgrade the data as well.

Good luck.

Haha  @James  that's exactly how I feel. So you can understand how I feel about the cost associated with maintaining inactive student accounts. I may need to scope out an idea for the 'Feature Idea' part of the community.

Thanks for the support! Smiley Happy