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

Bulk download of submissions index

Bulk download of submissions index

0 Kudos

Can i recommend some feature improvement such that you can match up the file names downloaded in the bulk download to the ordering in speedgrader.

Ideally when you do the bulk download it would be "student 1.. file", "student 2.. file" and these student numbers would be the student numbers in speedgrader

At the moment, the bulk download bears no relation to the ordering in SpeedGrader, or Turnitin, or the gradebook, so it's very difficult to match files to students for inputting grades/comments. Essentially this makes the bulk download feature useless.

Community Team
Community Team
Status changed to: Open
Community Member


By bulk download, are you talking about from the assignment page where it says "Download Submissions" right under the SpeedGrader link? Currently, the names of the files are a combination of the student's name, their Canvas ID, the submission_id, and the name the student gave the file.

That information is necessary for Canvas to be able to accept the re-upload of submissions once downloaded. At a minimum, the student ID and submission ID are needed. The name is for human readability, but it does make a name that the computer can parse and extract the information.

If you rename the files Student 1, Student 2, etc, to be in the order of SpeedGrader, you have just broken things.

There is no permanent order to SpeedGrader. I can go in to the settings and at any time change it. I can also go through and filter by section. All of those change the order and the list of students and who student 1 is. Even if I don't change anything in SpeedGrader, if I have my sort order by submission status, a new student could submit an assignment and alter the order.

In other words, what you downloaded cannot be re-uploaded if you change the names the way you're recommending.

What you can do with the existing setup is go into SpeedGrader and set to the sort order to by student name. Then the list of names is alphabetical and the list of downloads is alphabetical because the student's last name comes first.

New Member

Hi James, thanks for this extra information.

Yes I am referring to the bulk download feature right under the SpeedGrader link. The problem is the filenames I see don't match up to your description. The file names are anonymized e.g. anon_2fwA5_6815421_coursework.pdf. If I had the student name, I could just sort alphabetically as you say. 

Instead, files are sorted by the 5-digit letter/number combination (presumably some hash of the submission ID and student name) which doesn't match the order in Speedgrader -- I've tried sorting by student name/submission date/status. Is there a way to get the ordering of the files to match an ordering option in SpeedGrader?


Community Member

I had wondered if anonymous IDs were involved, but we don't use them so I wasn't sure. I had to research the lesson How do I add an assignment that includes anonymous grading? from the Canvas Instructor Guide.

I wondered if perhaps alphabetical listing in SpeedGrader matches up with the anonymous IDs that are used. If, in alphabetical order, my students are 1, 2, ..., 7, when I hid the student names in SpeedGrader, the order changed to 1, 3, 6, 2, 4, 7, 5. Is that a random order or is it alphabetical based on the anonymous user ID?

To answer that question, I had to go into my beta instance of Canvas (anonymous grading is disabled at the account level in production) and enable anonymous grading. Then I turned on anonymous grading for that assignment and went into SpeedGrader. Now the order of the students is 1, 2, ..., 7. 

I notice the URL now ends with anonymous_id= and a code. Those codes are in alphabetical order (in my limited sample of 7 students).

I can get the anonymous IDs through the Submissions API, which also includes the user ID, so that kind of defeats the anonymity for those who know where to look. But that also means that you can do a mapping from a student's real name and the anonymous ID if you needed to.

For purposes of what you're trying to accomplish, sorting alphabetically in SpeedGrader will return the same order of students as the names of the files.

You still have to be on the lookout for missing assignments, though. I only get 5 attachments in my class of 7 because 2 haven't turned it in yet. They're still listed in SpeedGrader, though.

Finally, you need to do a case sensitive sort of the file names: "H" comes before "a". The file sort in Windows is not case sensitive and "a" comes before "H". That defeats the success you've made.

If you don't care about re-uploading the information to Canvas, then you can get your Student# naming scheme through programming. It's not available through the web interface, but you could use the Submissions API to get a list of all of the submissions that include the anonymous ID. Then sort that list alphabetically using a case sensitive sort. Then scan through all the files in the folder and rename them to be student#. This also has the benefit of skipping the students who didn't have a submission, which is something that cannot be done through the web interface.

One note about using Student#, you will need to left-pad the number with spaces or zeros in order to get them to sort right in the file explorer. Student11 would come before Student2 if you don't. How many spaces or zeros you use depends on how many students are in the course.