Automatically collect scanned submissions#8069
Merged
david-yz-liu merged 10 commits intoJul 23, 2026
Merged
Conversation
Collaborator
Coverage Report for CI Build 30018677425Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage increased (+0.08%) to 90.513%Details
Uncovered Changes
Coverage RegressionsNo coverage regressions found. Coverage Stats💛 - Coveralls |
david-yz-liu
left a comment
Collaborator
There was a problem hiding this comment.
Thanks @akarki2005. I left a few inline comments, and in response to your question let's not worry about including a message to the user about this. Instead we'll rely on the behaviour that complete papers are always collected and incomplete papers aren't, unless the instructor collects them manually.
…o fix error function
# Conflicts: # Changelog.md
akarki2005
force-pushed
the
automatically-collect-scanned-submissions
branch
from
July 23, 2026 15:02
2b13517 to
dda50fd
Compare
david-yz-liu
approved these changes
Jul 23, 2026
david-yz-liu
left a comment
Collaborator
There was a problem hiding this comment.
Nice work, @akarki2005!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed Changes
This adds automatic submission collection for scanned exam papers. Currently, once all of a paper's pages have been scanned and matched (or matched after manually fixing any error pages), an instructor still has to go to the Submissions tab and manually collect it before grading can begin. With this change, MarkUs collects the submission automatically as soon as a paper is complete and hasn't already been collected, so this manual step is no longer needed for the common case.
Completion can happen in two different places, so autocollection is triggered from both: when a batch of scans is uploaded and a paper's pages all match successfully on the first pass (
SplitPdfJob), and when an instructor manually fixes the last missing or erroring page for a paper through "Fix Errors" (ExamTemplate#fix_error). To support this, theExamTemplatemodel now contains methods#missing_pagesand#paper_complete?to determine whether a paper is done, and#collect_if_complete, which performs the actual collection once it is.Type of Change
(Write an
Xor a brief description next to the type or types that best describe your changes.)Checklist
(Complete each of the following items for your pull request. Indicate that you have completed an item by changing the
[ ]into a[x]in the raw text, or by clicking on the checkbox in the rendered description on GitHub.)Before opening your pull request:
After opening your pull request:
Questions and Comments
Hi @david-yz-liu, I wanted to ask whether or not we should have some sort of UI feedback telling instructors that some submissions were automatically collected when they upload scans in bulk (something like "X submissions are now complete and were automatically collected")?