Moodle

Quiz review is denied when 'responses' is not selected in the review options

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 1.9.2
  • Fix Version/s: 1.9.3
  • Component/s: Quiz
  • Labels:
    None
  • Environment:
    The bug is replicable on Moodle Features Demo at demo.moodle.org
  • Affected Branches:
    MOODLE_19_STABLE
  • Fixed Branches:
    MOODLE_19_STABLE

Description

General description:
Setting up a quiz such that the (review options) 'responses' option is not selected for one or more of the quiz phases prevents the review from opening for all existing attempts at the corresponding phase.

Steps in a standard quiz:
1. As a student attempt the quiz and submit.
2. As a teacher open the quiz settings and clear the 'responses' options in 'Later, while the quiz is still open'.
3. As the student go to the quiz and click on the attempt link (note: if the 'responses' option is cleared in all quiz phases the link to the attempt review will not appear)
4. Message: You are not allowed to review this quiz

Activity

Hide
Tim Hunt added a comment -

The behaviour that if you are not allowed to review responses, you are not allowed to review anything, is correct. So review.php is doing the right thing.

There is a minor bug in view.php that the attempt number should not be displayed as a link in this case. I will correct that.

Show
Tim Hunt added a comment - The behaviour that if you are not allowed to review responses, you are not allowed to review anything, is correct. So review.php is doing the right thing. There is a minor bug in view.php that the attempt number should not be displayed as a link in this case. I will correct that.
Hide
Tim Hunt added a comment -

This was already working in head where this code has been refactored. It did not make sense to backport to earlier branches, because the logic in review.php there is screwy. I cleaned it up for 1.9.

Show
Tim Hunt added a comment - This was already working in head where this code has been refactored. It did not make sense to backport to earlier branches, because the logic in review.php there is screwy. I cleaned it up for 1.9.
Hide
Itamar Tzadok added a comment -

I guess this makes sense, but then 'responses' should not be a selectable option in the review options settings or selectable such that if it is cleared all other options should be cleared and disabled. But that's just cosmetics. My problem is with the response history. It reveals something I want to hide from my students. Can that be made an option or reverted all together?

Show
Itamar Tzadok added a comment - I guess this makes sense, but then 'responses' should not be a selectable option in the review options settings or selectable such that if it is cleared all other options should be cleared and disabled. But that's just cosmetics. My problem is with the response history. It reveals something I want to hide from my students. Can that be made an option or reverted all together?
Hide
Itamar Tzadok added a comment -

Checked again and it seems that the response history is a feature of 'adaptive' mode which makes a lot of sense and with which I've begun playing only recently. So it is not a change in Moodle after all but only in me . Bottom line, no problem. Sorry for the trouble and thank you for your prompt response.

Show
Itamar Tzadok added a comment - Checked again and it seems that the response history is a feature of 'adaptive' mode which makes a lot of sense and with which I've begun playing only recently. So it is not a change in Moodle after all but only in me . Bottom line, no problem. Sorry for the trouble and thank you for your prompt response.
Hide
Tim Hunt added a comment -

Out of interest, which part of the history do you not want your students to see?

If you can edit the code, it is easy to disable this, just change the line

$options->history = ($isteacher and !$attempt->preview) ? 'all' : 'graded';

near the top of review.php to

$options->history = ($isteacher and !$attempt->preview) ? 'all' : false;

Show
Tim Hunt added a comment - Out of interest, which part of the history do you not want your students to see? If you can edit the code, it is easy to disable this, just change the line $options->history = ($isteacher and !$attempt->preview) ? 'all' : 'graded'; near the top of review.php to $options->history = ($isteacher and !$attempt->preview) ? 'all' : false;
Hide
Itamar Tzadok added a comment -

Well, the response history may be a problem for me in certain cloze questions I constructed. The student is supposed to solve a problem in a custom javascript editor embedded in the question. The editor evaluates the answer and returns a string with the result (true/false) and the answer. I pass this string to a (HTML-) hidden shortanswer field. The question will be marked correct if the shortanswer starts with 'true' and incorrect otherwise. The response history reveals the content of the shortanswer field and with it the strategy, such that some may be tempted to hack the page and insert to the shortanswer field only the 'true' part and the question will be marked correct. This is not a big issue because such cases should be easy to detect as the editor indicates errors in the answer independent of the Quiz assessment so a quick review of the answers should reveal such attempts. But still I prefer that students won't see that information and as far as I can tell disabling the adaptive mode which is not essential in these quizzes will ensure that. Of course, capable hackers can still crack this system but if they do they already deserve A+ in this course (Introduction to Logic) although they may not be very happy with other possible consequences. So again this is not a major issue.

Unfortunately I don't have access to the php and since this is a big university and any change affects many courses, system admin will not make changes to standard versions unless it is a serious security issue. So I do what I can with javascript and so far no complaints.

Thanks again.

Show
Itamar Tzadok added a comment - Well, the response history may be a problem for me in certain cloze questions I constructed. The student is supposed to solve a problem in a custom javascript editor embedded in the question. The editor evaluates the answer and returns a string with the result (true/false) and the answer. I pass this string to a (HTML-) hidden shortanswer field. The question will be marked correct if the shortanswer starts with 'true' and incorrect otherwise. The response history reveals the content of the shortanswer field and with it the strategy, such that some may be tempted to hack the page and insert to the shortanswer field only the 'true' part and the question will be marked correct. This is not a big issue because such cases should be easy to detect as the editor indicates errors in the answer independent of the Quiz assessment so a quick review of the answers should reveal such attempts. But still I prefer that students won't see that information and as far as I can tell disabling the adaptive mode which is not essential in these quizzes will ensure that. Of course, capable hackers can still crack this system but if they do they already deserve A+ in this course (Introduction to Logic) although they may not be very happy with other possible consequences. So again this is not a major issue. Unfortunately I don't have access to the php and since this is a big university and any change affects many courses, system admin will not make changes to standard versions unless it is a serious security issue. So I do what I can with javascript and so far no complaints. Thanks again.
Hide
Mathieu Petit-Clair added a comment -

Closed, based on comments from Itamar and from looking at the code.

Show
Mathieu Petit-Clair added a comment - Closed, based on comments from Itamar and from looking at the code.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: