Skip to content

Conversation

@itsjeyd
Copy link
Member

@itsjeyd itsjeyd commented Mar 3, 2016

This PR introduces an instance-wide option to hide global feedback and results (correct/incorrect) icons for Long Answer blocks in Problem Builder. When this option is enabled (and there are some attempts left), students will still receive global and per-question feedback after providing answers and submitting the containing block, but that feedback will not be visible when they return to the block.

cf. MCKIN-3858

Screenshots: LMS

Default settings:

lms-pb-option-disabled

Feedback hidden:

lms-pb-option-enabled


Screenshots: Apros

Default settings:

apros-pb-option-disabled

Feedback hidden:

apros-pb-option-enabled

Test instructions

  1. Create a subsection with two units and add a Problem Builder block to each one.

  2. Add a long answer, MCQ, Rating, MRQ, and Slider to one of the Problem Builder blocks.

  3. Publish the units.

  4. In LMS/Apros, provide answers to all questions and click "Submit".

  5. Navigate to the other unit, then come back to the first unit. Observe that Problem Builder shows global and per-question feedback for all questions.

  6. In lms.env.json, enable the new option by modifying the XBLOCK_SETTINGS for mentoring:

        "mentoring": {
            "theme": {
                // ...
            },
            "options": {
                "pb_hide_feedback_if_attempts_remain": true
            }
        },
  7. Restart LMS/Apros and reload the page showing the first unit. Observe that Problem Builder does not show global feedback and results for the Long Answer are hidden.

feedback should be shown when student returns to block.

The new setting is called "pb_hide_feedback_if_attempts_remain".

When set to True, Problem Builder blocks will not show global feedback
messages (as long as one or more attempts remain), and will hide
results (correct/incorrect icons) for Long Answer blocks.
),
)
@ddt.unpack
def test_persistence(self, options, after_reload_checks):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DDT stands for data driven testing, I think that names of methods that perform assertions don't qualify as "data" :). I think that splitting this into a helper method (very similar to test_persistence) and four methods that launch it would be beneficial in this case to the overall clarity.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jbzdak Fair enough :) Updated!

@jbzdak
Copy link
Contributor

jbzdak commented Mar 4, 2016

@itsjeyd It works, I have some minor remarks on code, so conditionally on fixing these/convincing me that status quo is better 👍 .

- More neutral default for "get_option"
- Separate integration tests for checking persistence behavior
itsjeyd added a commit that referenced this pull request Mar 4, 2016
Problem Builder: Add instance-wide option to hide global feedback and results for Long Answer blocks
@itsjeyd itsjeyd merged commit 3a9ded9 into master Mar 4, 2016
@xitij2000 xitij2000 deleted the hide-feedback branch December 13, 2019 06:43
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