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

samigo: Prevent timer-autosubmit race condition by disallowing autosubmit for timed tests

    Details

    • Test Plan:
      Hide
      1. Create a quiz with at least one question.
      2. Edit the Settings.
      3. Select the Autosubmit check box.
      4. Select the has a time limit of check box, and confirm:
        • The Autosubmit option becomes unchecked and disabled
        • The message next to the now-disabled Autosubmit box changes to

          Autosubmit is disabled for timed tests to avoid conflicts with timer submissions.

      5. Uncheck the has a time limit of box and confirm that the original message:

        Autosubmit saved student work after latest acceptance date, unless student has previously submitted

        reappears and you can now check the Autosubmit box again.
      6. Save Settings and Publish
      7. Go to Published Copies and repeat steps 2- 5 above to confirm behavior is the same in Published Copies.
      8. Make sure you can save the quiz settings with either a timer or autosubmit, but not both.
      Show
      Create a quiz with at least one question. Edit the Settings. Select the Autosubmit check box. Select the has a time limit of check box, and confirm: The Autosubmit option becomes unchecked and disabled The message next to the now-disabled Autosubmit box changes to Autosubmit is disabled for timed tests to avoid conflicts with timer submissions. Uncheck the has a time limit of box and confirm that the original message: Autosubmit saved student work after latest acceptance date, unless student has previously submitted reappears and you can now check the Autosubmit box again. Save Settings and Publish Go to Published Copies and repeat steps 2- 5 above to confirm behavior is the same in Published Copies . Make sure you can save the quiz settings with either a timer or autosubmit, but not both.

      Description

      Assessment timers and the Autosubmit job have no way of "talking" to one another. Consequently, if Autosubmit is enabled on a timed test, it is possible (extremely rare and impossible to reproduce consistently!) for the Autosubmit job to submit a student's quiz before the timer finishes saving and submitting.

      This can result in one of the following issues:

      1. Because Autosubmit does NOT save before submitting student work, the student's work may not be saved in their submission.
      2. A timer-autosubmit race condition can cause the complete loss of student submissions. In the instance we have seen of this, the students actually received email notification of a submission. However, the submission confirmation numbers in those emails are completely missing in the database.

      To prevent these issues (especially the latter) and ensure that timers can save and submit student work, I recommend preventing the use of Autosubmit on timed tests.

      The suggested change would work as follows:

      • Upon selecting the has a time limit of check box, the Autosubmit check box becomes disabled.
        • The text Autosubmit saved student work after latest acceptance date, unless student has previously submitted is replaced with the following:

          Autosubmit is disabled for timed tests to avoid conflicts with timer submissions.

      • Deselecting the has a time limit of box would allow the user to check the Autosubmit box again, and display the original message next to the Autosubmit option:

        Autosubmit saved student work after latest acceptance date, unless student has previously submitted

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                maintenanceteam Core Team
                Reporter:
                rainribbon Tiffany Stull
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Git Source Code