Periodically autosave answers on timed gateway tests#3059
Conversation
drgrice1
left a comment
There was a problem hiding this comment.
This is not the right way to do this. Submitting a test already causes a lot of server overhead, and so making a test preview auto submit on a regular basis is really not going to work. Particularly with no option to disable it, and no options to set the period or anything.
This will need more thought and better development. In any case, this is certainly something that will need to wait until the next release. Please re-target to the develop branch.
|
Changed target to develop. Happy to discuss it further. I'll add an option and have it disabled by default. |
e28c93c to
fdb389b
Compare
Submit the gwquiz form in the background as a preview request so the server saves the last answers, protecting students on timed tests from losing work to a crash or dropped connection. Disabled by default; enabled by setting $gatewayAutosaveInterval (seconds) in the course environment. Saves are skipped when the answers have not changed and when an instructor is acting as another user.
fdb389b to
2cc3c59
Compare
|
Added the option: |
|
There have been many discussions about how to improve the capture of student answers if they don't submit the exam (including #1156). At this point having one question per page has almost entirely solved the issue for me since answers are saved when a student navigates between pages. Historically this caused other problems because students would submit the entire exam after answering the first question, but there are now multiple features that have reduced that to a very rare occurrence; namely the popup that appears warning students of this, and in the 2.21 release the "previous page/next page" buttons that are more prominent than the "Grade Test" button. Here are a couple of alternative ideas for saving answers:
|
Periodically submit the gwquiz form in the background as a preview request on timed gateway tests, so the server saves the student's latest answers and work is not lost to a crash or dropped connection.
Per review: disabled by default. Set
$gatewayAutosaveInterval(seconds) in the course environment to enable and control the period. Saves are skipped when answers have not changed since the last save, and the interval is randomized upward by up to a third to stagger load. Not active when an instructor acts as another user.No server code changes; the preview pipeline already stores last answers.