Occasionally, someone will report that a grade failed to update on Canvas. Although rare, students are notably upset by this because grades are basically currency to them. Given that its rare, my first thought is that it has to do with the fact that sending the grade to Canvas is more likely to fail than the average request to our server - simply because it requires a trip from client to Think to Canvas and back. I doubt we can get 100% success rate with this, but we should probably:
Make it more obvious when a grade has failed to be updated on Canvas' side. We already return whether or not the grade passback was successful as part of the Client->Server ajax request, so its just a matter of deciding the appropriate response. Probably a modal dialog asking "Do you want to try again?" Alternatively, we could have the system just try again after a little delay (and store the event until it succeeds, like we do for other kinds of events).
Register failed submissions with the grading_status failed. This fits with the new model for separate Submission and Grading status that is part of LTI and the new version of BlockPy's database. Instructors (and admins) should get a convenient mechanism to filter Failed grading statuses in the BlockPy Dashboard.
When they find a failed submission, instructors should have the ability to retry a grade submit. This will connect with the other new features for instructors to "release" feedback on manually reviewed submissions.
Currently, as a stop-gap, a student can force a grade update by clicking the "Update Submission" label at the bottom of the BlockPy window. This is meant as a quick-fix by instructors when a student reports an issue like this and wants to force BlockPy's data to resync with Canvas.
Occasionally, someone will report that a grade failed to update on Canvas. Although rare, students are notably upset by this because grades are basically currency to them. Given that its rare, my first thought is that it has to do with the fact that sending the grade to Canvas is more likely to fail than the average request to our server - simply because it requires a trip from client to Think to Canvas and back. I doubt we can get 100% success rate with this, but we should probably:
grading_status
failed. This fits with the new model for separate Submission and Grading status that is part of LTI and the new version of BlockPy's database. Instructors (and admins) should get a convenient mechanism to filterFailed
grading statuses in the BlockPy Dashboard.Currently, as a stop-gap, a student can force a grade update by clicking the "Update Submission" label at the bottom of the BlockPy window. This is meant as a quick-fix by instructors when a student reports an issue like this and wants to force BlockPy's data to resync with Canvas.