I've set a quiz only can take one. when user start the quiz and close the window somehow during the quiz, when he returns to the quiz, the quiz check stops him from returning to the quiz.

CommentFileSizeAuthor
#1 2543828-0.patch776 bytesrogical

Comments

rogical’s picture

Status: Active » Needs review
StatusFileSize
new776 bytes

Status: Needs review » Needs work

The last submitted patch, 1: 2543828-0.patch, failed testing.

Status: Needs work » Needs review

djdevin queued 1: 2543828-0.patch for re-testing.

djdevin’s picture

If you apply this patch couldn't the user then take it an unlimited number of times? Just don't submit the last question.

I don't think this will work because if you have a timed quiz, or a quiz which shows you the correct answer after answering, you basically let the user see all the questions/answers and then they can logout and log back in again to take it fresh. So you really aren't limiting the number of attempts that they get, instead you should set the number of attempts to unlimited.

Do you have "allow resume" set on this quiz? That should allow the user to continue the last attempt?

rogical’s picture

I've checked allow resume for this quiz.

I know your meaning, for a time limited quiz, it would not allow user to take unlimited times, when he closed the browser and return to the quiz, he actually returns to the same quiz, and the time limit still works, the time clock starts when the quiz starts.

I'm using the quiz on mobile site, so it's quite usual that users would be interrupted during the quiz(like phone call), and he need to return to the quiz to continue.

While the quiz check right now stops this.

rogical’s picture

One more, according to the past results, a quiz limited to 1 try and limited time, reflects more accuracy of attendees' ability.

He doesn't have enough time to google and retry. The pass rates shows much more reasonable and our clients prefer to.

rogical’s picture

What about we add a check, if the quiz is time limited, then quiz only check evaluated, else quiz check without evaluated condition?

djdevin’s picture

I think you would have to add more and more checks, and we would be back in Quiz 4.x land where there is a giant if/else tree of conditions.

This seems pretty custom, as you said it is a client request and I don't think it makes sense for Quiz core. The expected functionality is to limit them to 1 attempt at a Quiz, and to ensure that they absolutely cannot bypass this restriction.

If you check "Allow resume" it should not lock them out if they come back to the site. They should still be on the first attempt. If the Quiz is not resuming after logging out/logging in then this may be a different bug.

We have some tests covering this so I'm not sure if it is a bug, maybe it is under some other circumstances. Could you give steps to reproducing including configuring a new quiz?

see
QuizTakingTestCase::testQuizResuming()
QuizTakingTestCase::testQuizNoResuming()

djdevin’s picture

Status: Needs review » Closed (won't fix)