-
Notifications
You must be signed in to change notification settings - Fork 317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Associate feedback files with unique submission attempts #1200
Conversation
One idea I had was to, at submission time, generate a random token and put it into the submitted notebook and some cache. Then, there is less coupling between a hash algorithm and retrieving the notebook later (which is probably a good thing)... On the other hand, tracking tokens separately from the notebook makes more work. They could be embedded in the notebook metadata, but you have the same problem as the next paragraph. All this actually this makes me think: if a student A shares their notebook with student B, is B then able to retrieve A's results and grade? It would be best to avoid this if possible... |
Yeah, that's not a bad idea. Probably more efficient too as then you don't have to compute the hash of the entire notebook. Really I think you actually shouldn't need the hash at all; I think it should probably be enough to have the unique key of
Yes, I think the current setup would allow this. But I'm not really sure of a way around this barring having better access controls (which we should have once hubshare exists...). |
@meeseeksdev backport to 0.6.x |
…0-on-0.6.x Backport PR #1200 on branch 0.6.x (Associate feedback files with unique submission attempts)
This updates the logic for computing the feedback hashes so that the hash depends both on the feedback contents as well as the course, assignment id, notebook id, student id, and timestamp. Feedback files using the previous hashing scheme should still be detected, however, so this should be backwards compatible with previously generated feedback files.
This alleviates the issue in #1141 where it was possible to fetch feedback for only some notebooks in an assignment, which had feedback available because the notebook contents hadn't changed. It also fixes the confusing behavior whereby if a student submits an unchanged assignment, they immediately have feedback available---technically it will be the same behavior, but I found this surprising and confusing since I hadn't gone through the actual process of generating feedback yet.
In the process of doing this, I restructured a bit the integration between
nbgrader list
and the Assignment List extension:nbgrader list
now returns a list of submissions for each assignment, rather than a flat list of assignment submissions.nbgrader list
also now lists in the command line output what the status of feedback is (available, ready to be fetched, not available).feedback
orsubmitted
directories, or the way the nbgrader directory is structured.Submission
class to handle the view of each individual submission.Closes: #1141