Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-11821

AssignmentService allows creation of duplicate submission objects, need to separate submitter_id out to form unique constrait, and improve tool performance by using new db columns

    Details

    • Type: Bug
    • Status: CLOSED
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.1.0, 2.1.1, 2.1.2, 2.2.0, 2.2.1, 2.2.2, 2.2.3, 2.3.0, 2.3.1, 2.3.2, 2.4.0, 2.4.1, 2.5.0, 2.5.2, 2.5.3
    • Fix Version/s: 2.5.0
    • Component/s: Assignments
    • Labels:
      None

      Description

      The assignment service permits the creation of duplicate submission objects (i.e. 2 or more submissions for the same student and assignment).

      While the UI should prevent this from happening, at various stages in the evolution of the Assignments code, bugs, race conditions or other failures have led to duplicate objects being created.

      In a recent check on our production database, duplicate assignment submissions were identified dating back to Sakai 2.1.

      The effect of duplicate submissions is that assignments can show up with an incorrect status, and more seriously, assignment marks can be "lost" and not counted towards a final course grade.

      As this type of failure is in effect similar to losing data, this should be considered a blocker and resolved for the 2.5 release.

      Specifically, ASSIGNMENT_SUBMISSION should have a field identifying the submitter, and a unique database constraint enforced on the table.

      IU appears to be making local modifications to assignments to achieve this in 2-4-x, so perhaps these can be merged into trunk for 2.5.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  Unassigned
                  Reporter:
                  smarquard Stephen Marquard
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  9 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code