Skip to content

Bundle copies into submissions for each student

Hugo Kerstens requested to merge 166-multiple-submissions-by-same-student into master

Closes #166 (closed)

Changes:

  • Database:
    • Add a new Copy table.
    • Remove copy_number from Submission table.
    • Pages are now coupled to a Copy instead of a Submission.
    • 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.
  • 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 from api/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 by PUT api/copies.
      • Remove GET api/submissions/missing_pages, replaced by api/copies/missing_pages.
    • Changes to api/images/solutions:
      • All copies from a given solution are stacked vertically into a single image.
  • 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 to Scans.
    • 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 the api/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.
  • 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

Merge request reports