Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove the checkboxes for showing correct answers and solutions. #2275

Merged
merged 6 commits into from
Feb 7, 2024

Conversation

drgrice1
Copy link
Member

@drgrice1 drgrice1 commented Dec 8, 2023

Remove the "Show solutions" checkbox for tests (a.k.a. gateway quizzes) Solutions are just shown when they can be. This is the same as this is for homework problems. There is just no reason for the checkbox in tests either.

The show correct answers checkbox is also removed for both homework and tests. Correct answers are just shown when they "can" be. However, there are two cases in which I don't think that it is appropriate to show the correct answers without any user interaction. This is where the corresponding PG pull request (openwebwork/pg#982) that adds a "Reveal" button for correct answers comes in.

The first case is in "Show Me Another" problems when the course configuration is set to allow correct answers to be shown for these problems. Students should be able to see feedback messages and such without seeing the correct answer. The point of these problems is for students to obtain practice working problems without simply looking at the correct answers, so an additional step should be needed to see the correct answer.

The second case is for instructors viewing problems before answers are available for students. The instructor may be viewing the problem with students present (for example, when working problems in class) and may want to be able to show messages and such without showing the correct answer.

There is a new course configuration option in "Problem Display/Answer Checking". If this option is true, then answer feedback is immediately available in problems after answers are available. Students do not even need to click "Submit Answers" to make this feedback appear. Furthermore, the $showPartialCorrectAnswers variable set in some problems that prevents showing which of the answers are correct is ignored if this option is true. This option is true by default, but if it is believed that the majority won't want this, then it can be switched to false. This option was actually added as an afterthought. It was initially implemented with automatic feedback after answers are available with no option to disable that behavior. I would also be happy reverting to that if we feel that this is something everyone will want.

This automatic feedback is particularly useful for tests that have multiple pages. Currently you need to change the page, click the show correct answers checkbox, then click check test, and that has to be repeated for each page. That is a real pain if each problem is on its own page. The check box is gone, but you still have to click check test after changing pages. With this option the feedback is there with each page change (the same as it was before when the problem grader is enabled).

Also the %must hash has been removed. It was not used at all except in Problem.pm for one permission, and that usage was incorrect. It resulted in recordAnswers always being forced to be true with the default setting of avoid_recording_answers set to "nobody". The %must hash can not force an option to be disabled. It can only force it to be enabled. This permission was done correctly in the GatewayQuiz.pm module, so that approach is now used in Problem.pm also.

Edit: This now takes the automatic feedback option a bit further (as requested by @dlglin). Now the automatic feedback is shown anytime that a student returns to a problem that has been previously answered.

Also there is another new option added. If the $pg{options}{correctRevealBtnAlways} option is true, then the "Reveal" button will be shown instead of the correct answer being immediately visible anytime that correct answers are available in the feedback (except when the problem grader is active and the last time that a student sees a problem before needing to request a new problem version when problem randomization and show correct on randomize are enabled). This option is false by default. This was also requested by @dlglin.

@drgrice1 drgrice1 force-pushed the checkbox-removal branch 4 times, most recently from cfcb1a5 to 4f26479 Compare December 14, 2023 13:34
@drgrice1 drgrice1 force-pushed the checkbox-removal branch 3 times, most recently from fb95bf4 to 126af5f Compare December 19, 2023 13:53
@drgrice1 drgrice1 force-pushed the checkbox-removal branch 2 times, most recently from e2332b5 to 8718106 Compare January 8, 2024 22:47
Solutions are just shown when they can be.  This is the same as this is
for homework problems.  There is just no reason for the checkbox.
Correct answers are shown when they "can" be.  However, there are two
cases in which I don't think that it is appropriate to show the correct
answers without any user interaction.  This is where the corresponding
PG pull request that adds a "Reveal" button for correct answers comes
in.

The first case is in "Show Me Another" problems when the course
configuration is set to allow correct answers to be shown for these
problems.  Students should be able to see feedback messages and such
without seeing the correct answer.  The point of these problems is for
students to obtain practice working problems without simply looking at
the correct answers, so an additional step should be needed to see the
correct answer.

The second case is for instructors viewing problems before answers are
available for students.  The instructor may be viewing the problem with
students present (for example, when working problems in class) and may
want to be able to show messages and such without showing the correct
answer.

There is a new course configuration option in the "Optional Modules".
If this option is true, then answer feedback is immediately available in
problems after answers are available. Students do not even need to click
"Submit Answers" to make this feedback appear. Furthermore, the
$showPartialCorrectAnswers variable set in some problems that prevents
showing which of the answers are correct is ignored if this option is
true. This option is true by default, but if it is beleived that the
majority won't want this, then it can be switched to false.  This option
was actually added as an afterthought.  It was initially implemented
with automatic feedback after answers are available with no option to
disable that behavior. I would also be happy reverting to that if we
feel that this is something everyone will want.

This automatic feedback is particularly useful for tests that have
multiple pages. Currently you need to change the page, click the show
correct answers checkbox, then click check test, and that has to be
repeated for each page.  That is a real pain if each problem is on its
own page. The check box is gone, but you still have to click check test
after changing pages.  With this option the feedback is there with each
page change (the same as it was before when the problem grader is
enabled).

Also the %must hash has been removed.  It was not used at all except in
Problem.pm for one permission, and that usage was incorrect.  It
resulted in recordAnswers always being forced to be true with the
default setting of avoid_recording_answers set to "nobody".  The %must
hash can not force an option to be disabled. It can only force it to be
enabled.  This permission was done correctly in the GatewayQuiz.pm
module, so that approach is now used in Problem.pm also.
Now if the `$pg{options}{automaticAnswerFeedback}` option is true, then
feedback will also be automatically shown anytime a student returns to a
problem that has already been answered.
This option makes it so that correct answers are not visible and the
"Reveal" button must be clicked to show them even after answers are
available for students.  This was requested by @dlglin.
@pstaabp pstaabp merged commit de37036 into openwebwork:develop Feb 7, 2024
1 check passed
@drgrice1 drgrice1 deleted the checkbox-removal branch February 7, 2024 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants