Moodle

Late quiz attempts should be closed automatically

Details

  • Type: Bug Bug
  • Status: Development in progress Development in progress
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 1.8, 1.9.12, 2.0.3
  • Fix Version/s: DEV backlog
  • Component/s: Quiz
  • Environment:
    All

Description

In the new quiz code, when an attempt is past its time limit or when the closing date for a quiz has closed, the attempt should automatically be marked and closed.

Issue Links

Activity

Hide
Harry Smith added a comment -

Would also be good if it could be linked to session time whether or not the quiz is timed - just had four people have to resit as the session timed out before they submitted . . . they weren't happy people! (quiz set to open in secure window, guessing the session cookie doesn't take account of that?)

Perhaps a warning could pop up say 1 minute before it times out?

Show
Harry Smith added a comment - Would also be good if it could be linked to session time whether or not the quiz is timed - just had four people have to resit as the session timed out before they submitted . . . they weren't happy people! (quiz set to open in secure window, guessing the session cookie doesn't take account of that?) Perhaps a warning could pop up say 1 minute before it times out?
Hide
Tim Hunt added a comment -

I'm not sure if automatic attempt closing is the right thing to do. The alternative is to give teachers an interface to close attempts selectively. http://moodle.org/mod/forum/discuss.php?d=47561 has useful discussion.

(Session timeouts are a separate issue. I you insist on having a huge long quiz as a single page, and don't encourage your students to save their work periodically as they go along, then there are plenty of other hazards. What if their browser crashes. Anway, please don't disucss session issues in this report. Please take it to the quiz forum in the first instance.)

Show
Tim Hunt added a comment - I'm not sure if automatic attempt closing is the right thing to do. The alternative is to give teachers an interface to close attempts selectively. http://moodle.org/mod/forum/discuss.php?d=47561 has useful discussion. (Session timeouts are a separate issue. I you insist on having a huge long quiz as a single page, and don't encourage your students to save their work periodically as they go along, then there are plenty of other hazards. What if their browser crashes. Anway, please don't disucss session issues in this report. Please take it to the quiz forum in the first instance.)
Hide
Gustav W Delius added a comment -

Why wouldn't closing the attempt be the right thing to do? Student's don't have a chance to make changes to their answers any more anyway, so the attempt can just as well be closed.

I am surprised that people have been willing to live with this bug for over two years! Of course it was my fault to create the bug in the first place.

Show
Gustav W Delius added a comment - Why wouldn't closing the attempt be the right thing to do? Student's don't have a chance to make changes to their answers any more anyway, so the attempt can just as well be closed. I am surprised that people have been willing to live with this bug for over two years! Of course it was my fault to create the bug in the first place.
Hide
Elena Ivanova added a comment -

Same issue with 1.8, by the way.
Student click "Save without Submit" button, instead of submitting, then the quiz closes, but the attempt will be sitting as "open".
The worst part - grade will not show up in the gradebook, and there is no way for the instructor to manually overwrite anything in such attempt, or "force"/close submission.

Show
Elena Ivanova added a comment - Same issue with 1.8, by the way. Student click "Save without Submit" button, instead of submitting, then the quiz closes, but the attempt will be sitting as "open". The worst part - grade will not show up in the gradebook, and there is no way for the instructor to manually overwrite anything in such attempt, or "force"/close submission.
Hide
Anthony Borrow added a comment -

Tim - Giving the teacher a convenient way to close open quizzes would be quite useful. One thought I have is that it would be nice to add to the list of options when selecting attempts. I think it would be helpful to add Close Selected Attempts and Regrade Selected Attempts in addition to Delete. Given the suggestions on: http://moodle.org/mod/forum/discuss.php?d=47561 giving teacher the ability to close all attempts should be fairly simple. I'd be interested in your thoughts on the matter. It seems to be enough of an issue to periodically come up (most recently at http://moodle.org/mod/forum/discuss.php?d=62465). I know as a teacher I found this to be occasionally frustrating. The only workaround that I know of is to login as the student and have the teacher submit it for them; however, this is very time consuming if there are multiple attempts. Peace - Anthony

Show
Anthony Borrow added a comment - Tim - Giving the teacher a convenient way to close open quizzes would be quite useful. One thought I have is that it would be nice to add to the list of options when selecting attempts. I think it would be helpful to add Close Selected Attempts and Regrade Selected Attempts in addition to Delete. Given the suggestions on: http://moodle.org/mod/forum/discuss.php?d=47561 giving teacher the ability to close all attempts should be fairly simple. I'd be interested in your thoughts on the matter. It seems to be enough of an issue to periodically come up (most recently at http://moodle.org/mod/forum/discuss.php?d=62465). I know as a teacher I found this to be occasionally frustrating. The only workaround that I know of is to login as the student and have the teacher submit it for them; however, this is very time consuming if there are multiple attempts. Peace - Anthony
Hide
Tim Hunt added a comment -

The trouble is that the code that finishes an attempt is all mixed up in attempt.php. This certainly needs to be implemented, but it requires a bit of refactoring to pull off, so it is a bit of work.

Show
Tim Hunt added a comment - The trouble is that the code that finishes an attempt is all mixed up in attempt.php. This certainly needs to be implemented, but it requires a bit of refactoring to pull off, so it is a bit of work.
Hide
Steve Hannah added a comment -

Could an automatic "warning" be populated on the quiz template or as a popup as Harry suggests that if the student does not "Save and Submit" before the timer runs out their quiz will not be graded? This would probably be an easier interim fix. But I also vote for automatic closing for a number of reasons.

Show
Steve Hannah added a comment - Could an automatic "warning" be populated on the quiz template or as a popup as Harry suggests that if the student does not "Save and Submit" before the timer runs out their quiz will not be graded? This would probably be an easier interim fix. But I also vote for automatic closing for a number of reasons.
Hide
Matt Jenner added a comment -

We struggle though this problem too.

We have a Course Administrator role (which isn't too dissimilar from Tutor) which we wondered about adding the capability of 'Log in as other users' to give chosen users the ability to close off open quiz submissions. Does anyone does this, or recommend against it?

Ideally a tutor would be able to close off open but yet Closed submissions, or indeed for the Moodle system to do such a task automatically in a cron job when the quiz time has passed?

Keep up the good work Tim.

Show
Matt Jenner added a comment - We struggle though this problem too. We have a Course Administrator role (which isn't too dissimilar from Tutor) which we wondered about adding the capability of 'Log in as other users' to give chosen users the ability to close off open quiz submissions. Does anyone does this, or recommend against it? Ideally a tutor would be able to close off open but yet Closed submissions, or indeed for the Moodle system to do such a task automatically in a cron job when the quiz time has passed? Keep up the good work Tim.
Hide
Clark Shah-Nelson added a comment -

This is definitely needed - seeing too many students start an attempt and leave it open, then have the time run out, the quiz close, and the attempt is still marked as open - so the instructor must re-open the quiz, login as the student and click on "save and submit" to get the quiz graded. The functionality in the description above is what is needed to resolve that.

Show
Clark Shah-Nelson added a comment - This is definitely needed - seeing too many students start an attempt and leave it open, then have the time run out, the quiz close, and the attempt is still marked as open - so the instructor must re-open the quiz, login as the student and click on "save and submit" to get the quiz graded. The functionality in the description above is what is needed to resolve that.
Hide
Tim Hunt added a comment -

Just updating the summary, having struggled to find this in a search.

Show
Tim Hunt added a comment - Just updating the summary, having struggled to find this in a search.
Hide
Ian Wilson added a comment -

This is also an issue in 1.9. I am running Moodle 1.9.5+ (Build: 20090902) on a Mac Pro with Mac OS 10.5.8.

An interesting point is that even if a student "saves without submitting" his/her answers before the time limit (and the system knows this because it shows the (non-zero) raw score), the student still ends up with a grade of 0 if s/he doesn't "submit all and finish" before the time limit.

Show
Ian Wilson added a comment - This is also an issue in 1.9. I am running Moodle 1.9.5+ (Build: 20090902) on a Mac Pro with Mac OS 10.5.8. An interesting point is that even if a student "saves without submitting" his/her answers before the time limit (and the system knows this because it shows the (non-zero) raw score), the student still ends up with a grade of 0 if s/he doesn't "submit all and finish" before the time limit.
Hide
Juan Raul Garcia Canet added a comment -

I have tested the Sigurdur Smarason's solution in http://moodle.org/mod/forum/discuss.php?d=118343 and it worked correctly in my version 1.9.5 +.

Could be a good solution.

Show
Juan Raul Garcia Canet added a comment - I have tested the Sigurdur Smarason's solution in http://moodle.org/mod/forum/discuss.php?d=118343 and it worked correctly in my version 1.9.5 +. Could be a good solution.
Hide
Luis de Vasconcelos added a comment -

Another related discussion:

The old problem the late quiz attempts are not closed automatically ...
http://moodle.org/mod/forum/discuss.php?d=138660

It links to: http://docs.moodle.org/en/Development:States_of_a_quiz_attempt

Show
Luis de Vasconcelos added a comment - Another related discussion: The old problem the late quiz attempts are not closed automatically ... http://moodle.org/mod/forum/discuss.php?d=138660 It links to: http://docs.moodle.org/en/Development:States_of_a_quiz_attempt
Hide
Wen Hao Chuang added a comment -

Seems like this issue also affects 1.9.x, should we change the "Affects Version/s" in this ticket to reflect this fact as well? Just my 2 cents..

Show
Wen Hao Chuang added a comment - Seems like this issue also affects 1.9.x, should we change the "Affects Version/s" in this ticket to reflect this fact as well? Just my 2 cents..
Hide
Tim Hunt added a comment -

No. Don't bother.

Show
Tim Hunt added a comment - No. Don't bother.
Hide
Cay Horstmann added a comment -

This is particularly frustrating when you use a "quiz" to collect homework problem, each of which takes the student some effort. They come to the question, paste in their first solution, click on "Save without submitting", work on their next problem, come back, etc.

When they are done, they get to choose between "Submit page" and "Submit all and finish".

"Submit page" sounds like a reasonable choice, so some of them click it and walk away, have the time expire, and wonder why they get an F.

What is URGENTLY needed is an option "Close quiz after it expires"!

Show
Cay Horstmann added a comment - This is particularly frustrating when you use a "quiz" to collect homework problem, each of which takes the student some effort. They come to the question, paste in their first solution, click on "Save without submitting", work on their next problem, come back, etc. When they are done, they get to choose between "Submit page" and "Submit all and finish". "Submit page" sounds like a reasonable choice, so some of them click it and walk away, have the time expire, and wonder why they get an F. What is URGENTLY needed is an option "Close quiz after it expires"!
Hide
Dennis Meyer added a comment -

Tim wrote "The alternative is to give teachers an interface to close attempts selectively".
That would be nice and functionally for me It directly shows the teacher: oh... maybe there was an error on the internet-connection and this Student couldn't close the test by himself...

Would be nice to be fixed that way.

Show
Dennis Meyer added a comment - Tim wrote "The alternative is to give teachers an interface to close attempts selectively". That would be nice and functionally for me It directly shows the teacher: oh... maybe there was an error on the internet-connection and this Student couldn't close the test by himself... Would be nice to be fixed that way.
Hide
Richard Lobb added a comment -

I teach a class of 400 students who each sit 10 quizzes in a one semester course and another class of 120 students who each sit 15 quizzes. That's a total of around 5800 quiz-sittings. The quizzes count towards students' final grades. In all cases the quizzes are open for a week or more, while students work through associated laboratory exercises. Further, the quizzes are set up so students can submit each question as they do it. This means the green ticks steadily mount day by day as do their apparent total marks. Under these circumstances it's very easy and natural for students to forget to click the "Submit all and finish" button. Even if only 1% do so (and the actual number is probably around that), I still have 58 disgruntled students to deal with, for each of whom I have to open the quiz (for everyone in the class) and wait while the student logs in and clicks that silly close button and then I can close the quiz again.

This is the first year I've used Moodle after years of using Blackboard. I love the Moodle quiz module except for this one ghastly bug. Even the thoroughly inferior Blackboard quiz module would let me force submission of all incomplete quizzes. The proposal to allow me to manually log on as each student and force submission of that student's quizzes would help slightly but would still be a poor substitute for a global closure of incomplete submissions.

Show
Richard Lobb added a comment - I teach a class of 400 students who each sit 10 quizzes in a one semester course and another class of 120 students who each sit 15 quizzes. That's a total of around 5800 quiz-sittings. The quizzes count towards students' final grades. In all cases the quizzes are open for a week or more, while students work through associated laboratory exercises. Further, the quizzes are set up so students can submit each question as they do it. This means the green ticks steadily mount day by day as do their apparent total marks. Under these circumstances it's very easy and natural for students to forget to click the "Submit all and finish" button. Even if only 1% do so (and the actual number is probably around that), I still have 58 disgruntled students to deal with, for each of whom I have to open the quiz (for everyone in the class) and wait while the student logs in and clicks that silly close button and then I can close the quiz again. This is the first year I've used Moodle after years of using Blackboard. I love the Moodle quiz module except for this one ghastly bug. Even the thoroughly inferior Blackboard quiz module would let me force submission of all incomplete quizzes. The proposal to allow me to manually log on as each student and force submission of that student's quizzes would help slightly but would still be a poor substitute for a global closure of incomplete submissions.
Hide
Tim Hunt added a comment -

The good news, for people who care about this bug, is that the OU now cares about this, so it is now on my priority list. It is not at the top yet, but it is getting there.

Also note that having had some time to think about it, the solution on http://docs.moodle.org/en/Development:States_of_a_quiz_attempt seems about right to me. (Sorry that page is a bit long and rambling, the key stuff is at the end when it gets to specific proposals.)

If you can, please review that page and comment on whether the solution suggested there fixes the problem for you.

Show
Tim Hunt added a comment - The good news, for people who care about this bug, is that the OU now cares about this, so it is now on my priority list. It is not at the top yet, but it is getting there. Also note that having had some time to think about it, the solution on http://docs.moodle.org/en/Development:States_of_a_quiz_attempt seems about right to me. (Sorry that page is a bit long and rambling, the key stuff is at the end when it gets to specific proposals.) If you can, please review that page and comment on whether the solution suggested there fixes the problem for you.
Hide
Elena Ivanova added a comment -

Great news, Tim

I think those 3 would be the most useful from the list in wiki:

  • Teacher should have the option to submit an attempt when the student forgot.
  • If allowed, Students should have the option to submit an attempt late (but not answer any more questions) when they forgot.
  • Quiz has an option set to automatically submit any quiz attempt the moment time has expired.

So, I imagine "Submit attempt" button/link in the Results area
And 2 checkboxes for the quiz settings page:

  • Force quiz submission after the time expires
  • Allow students to submit late attempts
Show
Elena Ivanova added a comment - Great news, Tim I think those 3 would be the most useful from the list in wiki:
  • Teacher should have the option to submit an attempt when the student forgot.
  • If allowed, Students should have the option to submit an attempt late (but not answer any more questions) when they forgot.
  • Quiz has an option set to automatically submit any quiz attempt the moment time has expired.
So, I imagine "Submit attempt" button/link in the Results area And 2 checkboxes for the quiz settings page:
  • Force quiz submission after the time expires
  • Allow students to submit late attempts
Hide
Barbara Taylor added a comment -

Any update to getting this fixed? Will it be fixed for 2.0?

Show
Barbara Taylor added a comment - Any update to getting this fixed? Will it be fixed for 2.0?
Hide
Tim Hunt added a comment -

No. Not in 2.0. Hopefully in 2.1.

Show
Tim Hunt added a comment - No. Not in 2.0. Hopefully in 2.1.
Hide
Dennis Meyer added a comment -

Any chance for a fix in 1.9.x?

Show
Dennis Meyer added a comment - Any chance for a fix in 1.9.x?
Hide
Angela Sivia added a comment -

Dennis, I assume it won't be fixed in 1.9x since Moodle 2 is out. My institution is on 1.9.11 and we would like this to be fixed, too but after reading this, it doesn't look like it will be (I have no proof - just an assumption).

Show
Angela Sivia added a comment - Dennis, I assume it won't be fixed in 1.9x since Moodle 2 is out. My institution is on 1.9.11 and we would like this to be fixed, too but after reading this, it doesn't look like it will be (I have no proof - just an assumption).
Hide
Kyle Temkin added a comment - - edited

Since this is still marked unresolved, I thought I'd share my not-quite-solution. This doesn't resolve the issue, but it does provide a workaround, and I use a variant of it to currently address the issue on my Moodle 2.0 server.

http://labs.ktemkin.com/simple/closeattempt.zip
Unzip to /mod/quiz/reports/.

Similar to the 1.9 hack above, this adds a report to the Quiz module. Unlike the hack above, this allows you to select which attempts to close, and has some nice filtering that make the process more convenient.

Screenshot: http://labs.ktemkin.com/simple/closeattempt_sshot.png

The filter options allow you to filter the view by:
-Quiz attempts open after the due date, after overrides are factored in
-Quiz attempts open after the due date, ignoring overrides
-All attempts

A few days after the quiz is due, I typically close all quiz attempts still open after the due date, counting overrides; this only takes me two clicks (select all, close attempts).

I can't guarantee that this will work properly on your server, though I've been using it for a few weeks on my 2.0 production server, and everything seems fine. As always, I'm not responsible for anything this could unintentionally do.

This is most definitely not a solution, but it does make my life a lot easier. I'm hoping it might save you guys some time, as well.

Show
Kyle Temkin added a comment - - edited Since this is still marked unresolved, I thought I'd share my not-quite-solution. This doesn't resolve the issue, but it does provide a workaround, and I use a variant of it to currently address the issue on my Moodle 2.0 server. http://labs.ktemkin.com/simple/closeattempt.zip Unzip to /mod/quiz/reports/. Similar to the 1.9 hack above, this adds a report to the Quiz module. Unlike the hack above, this allows you to select which attempts to close, and has some nice filtering that make the process more convenient. Screenshot: http://labs.ktemkin.com/simple/closeattempt_sshot.png The filter options allow you to filter the view by: -Quiz attempts open after the due date, after overrides are factored in -Quiz attempts open after the due date, ignoring overrides -All attempts A few days after the quiz is due, I typically close all quiz attempts still open after the due date, counting overrides; this only takes me two clicks (select all, close attempts). I can't guarantee that this will work properly on your server, though I've been using it for a few weeks on my 2.0 production server, and everything seems fine. As always, I'm not responsible for anything this could unintentionally do. This is most definitely not a solution, but it does make my life a lot easier. I'm hoping it might save you guys some time, as well.
Hide
Tim Hunt added a comment -
Show
Tim Hunt added a comment - I should not here that a proper solution is being planned. See
Hide
Richard Newton added a comment -

I tried installing this patch on my moodle 2.1 server with no luck. The report does not appear in the show/download drop down menu on the quiz attempt review page.

Any advice? Thanks.

Show
Richard Newton added a comment - I tried installing this patch on my moodle 2.1 server with no luck. The report does not appear in the show/download drop down menu on the quiz attempt review page. Any advice? Thanks.
Hide
Tim Hunt added a comment -

Which patch?

My branch (https://github.com/timhunt/moodle/compare/master...MDL-3030) is very much work-in-progress, and does not work yet.

Show
Tim Hunt added a comment - Which patch? My branch (https://github.com/timhunt/moodle/compare/master...MDL-3030) is very much work-in-progress, and does not work yet.
Hide
Kyle Temkin added a comment -

I'm assuming he's referring to the hack I posted earlier.

If so, the reason it doesn't work is very likely the question engine overhaul which was part of the Moodle 2.1 release. When I wrote that patch, my university was still using 2.0, and the old question engine.

I'm going to be using the winter semester break to try and bring our Moodle setup up to date. Since it looks like the proper solution will come out with Moodle 2.3, which I believe is scheduled for June, I may update my hack to work with the new question engine, as a stand-in. I'll post here if I do.

Show
Kyle Temkin added a comment - I'm assuming he's referring to the hack I posted earlier. If so, the reason it doesn't work is very likely the question engine overhaul which was part of the Moodle 2.1 release. When I wrote that patch, my university was still using 2.0, and the old question engine. I'm going to be using the winter semester break to try and bring our Moodle setup up to date. Since it looks like the proper solution will come out with Moodle 2.3, which I believe is scheduled for June, I may update my hack to work with the new question engine, as a stand-in. I'll post here if I do.
Hide
Eloy Lafuente (stronk7) added a comment -

side note: while I'm using this as example branch to test some integration things, I've detected "create mode 100755 mod/quiz/report/attemptsreport_table.php"... ciao

Show
Eloy Lafuente (stronk7) added a comment - side note: while I'm using this as example branch to test some integration things, I've detected "create mode 100755 mod/quiz/report/attemptsreport_table.php"... ciao
Hide
Eloy Lafuente (stronk7) added a comment -

100% offtopic:

Tim, just for experimenting, I've uploaded one xml file showing the automated results of various checks (upgrade savepoints, phpcs, phpdocs against your MDL-3030 branch).

One of the biggest doubts I've had (and continue having), is if I should run all the static tests against your branch once merged with current master or, simply, against your branch. For sure the dynamic ones (installation, db schema, unit-tests, must be run with the merged branch, but statics... not really sure what will be better for fixing them by the developer, as line numbers can diverge.

The SMURF file attached above has been calculated after merging with current master.

If you get some mins, plz take a look to it (the xml format is self-explanatory, imagine it's already html/whatever).

TIA and ciao

Show
Eloy Lafuente (stronk7) added a comment - 100% offtopic: Tim, just for experimenting, I've uploaded one xml file showing the automated results of various checks (upgrade savepoints, phpcs, phpdocs against your MDL-3030 branch). One of the biggest doubts I've had (and continue having), is if I should run all the static tests against your branch once merged with current master or, simply, against your branch. For sure the dynamic ones (installation, db schema, unit-tests, must be run with the merged branch, but statics... not really sure what will be better for fixing them by the developer, as line numbers can diverge. The SMURF file attached above has been calculated after merging with current master. If you get some mins, plz take a look to it (the xml format is self-explanatory, imagine it's already html/whatever). TIA and ciao