Speedgrader not showing all students for certain assignments
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have an instructor that wants to see all student's regardless of submission or not in SpeedGrader for all of her assignments so that she doesn't have to grade from the assignment and the gradebook. She only sees the students that have submitted in Discussions and Quizzes. These are assigned to Everyone and there is only one section in the course. Is this typical behavior for these assignment types? She states that she has always been able to see all students in the past.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I understand correctly, this sounds like a problem we encountered.
An instructor went into SpeedGrader for an assignment in a class with 20 students and only 2 students were showing. Those two students had not completed the assignment, it was just showing those two students. I could not find anything unique about those two students. All but one of the students was added to the class at the same time. They were all there before any content was added to the class. They were all there when the course was published. The assignment was "no submission" so none of them had submitted anything. There was nothing distinguishing about those two students.
I did a lot of digging around and I discovered that the submission record for those 18 students was missing. A long time (many years) ago, Canvas did not create submission records for all assignments and students, but it hasn't been that way for a really long time (I've been using Canvas since 2012). There should be a submission record for each assignment and student. The submission record is necessary for SpeedGrader to know about it so the names were not showing up in SpeedGrader. You could go into the gradebook and enter grades and it would create the missing submission record at that point, but not through SpeedGrader.
Knowing that it was related to the submission record, I searched and found this known issue. Classic quizzes are not creating submission object for all students on import when shifting dates. This issue was was fixed and deployed on January 15, 2025. But this was happening on January 31, so it shouldn't be the issue, right???
In typical Canvas fashion, they fixed the symptom without fixing the bigger issue. They fixed it so that when you import a classic quiz, the submission records get created. But they didn't go back and fix all of the missing submission records that weren't created when it was broken. It also turned out to be a bigger issue than just classic quizzes without dates. For assignments that allowed submissions, students might not be able to submit the assignment. Opening SpeedGrader might give the message that there are no students, at least none that you can grade. The students don't see the assignment on their To Do list because there's no submission record for it.
The problem also turned out to be much bigger than just the one instructor who let us know about it. We're small, with just 377 currently active courses. I had about 80 courses with 680 assignments and over 6000 missing submission records.
We filed a ticket with Canvas -- or at least we told the instructor to. I don't have access to that, so I don't know if they did or not. I've dealt enough with Canvas support to know that they're going to deny there's an issue, then tell you to take a video, finally agree that there is an issue and it needs escalated. Then it will take a couple of weeks to months to years to eventually "we're cleaning up our system so we're just going to close this ticket."
We couldn't wait, so I decided to take matters into my own hand to fix. That means that Canvas may not be able to find a problem for our site because I've already fixed it.
The fix Canvas gives is to edit the due date. They also had another suggestion in their workaround that they have since removed. It referred to a script they have that isn't documented anywhere that I could find and it's not in their source code. That might be something Canvas support could do, but it's not something an individual could do.
Here's what we found that works.
- If the assignment can be unpublished, unpublish it and republish it. You can do this quickly from the Assignments page. This worked for the vast majority of our assignments (maybe 675 out of the 680).
- If the assignment cannot be unpublished because students have submitted, then you can edit the due date. Most of our assignments do not have a due date. I used the Assign To feature to open the flyout dialog and put in a date, hit save, and then hit clear to remove the date, and hit save again.
Both of those may result in notifications to students, but it's a necessary evil. It's way better than not being able to submit or even know about an assignment being due.
This is something that Canvas should check on their backend and fix. It's too complicated to expect end-users to be able to find and fix; it gives support to the student's argument "I didn't know I had this assignment". Thankfully, it was early in the semester and most of those assignments had no due dates (generally this is bad for the student experience, but it actually helped here).
I used Canvas Data 2 (CD2) to identify the missing submission records. I wrote code to check for assignment overrides, but they all seemed okay, so I took that part of the check out. Then I used GraphQL to get a list of all assignments within those courses that could be unpublished. I wrote a little script that compared the list of assignments that needed fixed to those that could be unpublished and went through and unpublished and then published those assignments. For the five or so that I had left, I went in and manually changed the dates.