Bundle copies into submissions for each student
Closes #166 (closed)
Changes:
- Database:
- Add a new
Copy
table. - Remove
copy_number
fromSubmission
table. - Pages are now coupled to a
Copy
instead of aSubmission
. - Adds a migration to the new schema:
- If there are duplicate feedback options or not all solutions of a student are graded, the merged solution will be marked as ungraded.
- Add a new
- API
- Add a new
api/copies/
endpoint-
GET api/copies/[exam]
: list of all copies -
GET api/copies/[exam]/[number]
: retrieve a specific copy -
PUT api/copies/[exam]/[number]
: assign a student to a copy -
GET api/copies/missing_pages
: moved fromapi/submissions/missing_pages
.
-
- Changes to
api/submissions
endpoint- The returned field
submission.id
is now actually the submission id, no longer the copy number. - Remove
PUT api/submissions
, replaced byPUT api/copies
. - Remove
GET api/submissions/missing_pages
, replaced byapi/copies/missing_pages
.
- The returned field
- Changes to
api/images/solutions
:- All copies from a given solution are stacked vertically into a single image.
- Add a new
- Grading
- No pregrading is done for submissions with multiple copies
- All feedback options are removed from a submission if another copy is added to it (in most cases)
- When another copy is assigned to a submission and a solution only has the feedback option
Blank
, the feedback options are not removed.
- Frontend
- Renamed
Submissions
toScans
. - The data for
Scans
is now fully localised and the URL points to the specific exam. - The
Students
page now has localised data, only from theapi/copies
endpoint. - The
Students
now has a URL that includes the exam id. - The grading view uses the submission id instead of the copy number. The submission id is not shown in the user interface (except for anonymous grading) since it is of no value for the user.
- Renamed
- User warnings:
- When a feedback option appears multiple times over all the solutions of a single student, it will be merged into a single one since we only keep one solution per (verified) student. This can lead to a change of the student score if this pattern is present.
Edited by Hugo Kerstens