feat: add grading method support for problems with multiple attempts (#33911)
A new field in the Problem settings for choosing a Grading Method. Currently, the only Grading Method is the Last Score. From now on, when turning the feature flag on, the new grading methods available for configuration in Studio are: - Last Score (Default): The last score made is taken for grading. - First Score: The first score made is taken for grading. - Highest Score: The highest score made is taken for grading. - Average Score: The average of all scores made is taken for grading.
This commit is contained in:
committed by
GitHub
parent
24db4dfb53
commit
85620ec73c
@@ -391,6 +391,9 @@ def _reset_module_attempts(studentmodule):
|
||||
problem_state = json.loads(studentmodule.state)
|
||||
# old_number_of_attempts = problem_state["attempts"]
|
||||
problem_state["attempts"] = 0
|
||||
problem_state["score_history"] = []
|
||||
problem_state["correct_map_history"] = []
|
||||
problem_state["student_answers_history"] = []
|
||||
|
||||
# save
|
||||
studentmodule.state = json.dumps(problem_state)
|
||||
|
||||
@@ -543,7 +543,10 @@ class TestInstructorEnrollmentStudentModule(SharedModuleStoreTestCase):
|
||||
'attempts': 1,
|
||||
'saved_files_descriptions': ['summary', 'proposal', 'diagrams'],
|
||||
'saved_files_sizes': [1364677, 958418],
|
||||
'saved_files_names': ['case_study_abstract.txt', 'design_prop.pdf', 'diagram1.png']
|
||||
'saved_files_names': ['case_study_abstract.txt', 'design_prop.pdf', 'diagram1.png'],
|
||||
'score_history': [],
|
||||
'correct_map_history': [],
|
||||
'student_answers_history': [],
|
||||
}
|
||||
team_state = json.dumps(self.team_state_dict)
|
||||
|
||||
|
||||
@@ -1049,7 +1049,16 @@ FEATURES = {
|
||||
# .. toggle_use_cases: opt_in
|
||||
# .. toggle_creation_date: 2023-10-10
|
||||
# .. toggle_tickets: https://github.com/openedx/openedx-events/issues/210
|
||||
'SEND_LEARNING_CERTIFICATE_LIFECYCLE_EVENTS_TO_BUS': False
|
||||
'SEND_LEARNING_CERTIFICATE_LIFECYCLE_EVENTS_TO_BUS': False,
|
||||
|
||||
# .. toggle_name: FEATURES['ENABLE_GRADING_METHOD_IN_PROBLEMS']
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enables the grading method feature in capa problems.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2024-03-22
|
||||
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/33911
|
||||
'ENABLE_GRADING_METHOD_IN_PROBLEMS': False,
|
||||
}
|
||||
|
||||
# Specifies extra XBlock fields that should available when requested via the Course Blocks API
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<%page expression_filter="h"/>
|
||||
<%!
|
||||
from django.utils.translation import ngettext, gettext as _
|
||||
from openedx.core.djangolib.markup import HTML
|
||||
from openedx.core.djangolib.markup import HTML, Text
|
||||
%>
|
||||
|
||||
<%namespace name='static' file='static_content.html'/>
|
||||
@@ -90,6 +90,9 @@ from openedx.core.djangolib.markup import HTML
|
||||
% if attempts_allowed and (not submit_disabled_cta or attempts_used == 0):
|
||||
${ngettext("You have used {num_used} of {num_total} attempt", "You have used {num_used} of {num_total} attempts", attempts_allowed).format(num_used=attempts_used, num_total=attempts_allowed)}
|
||||
% endif
|
||||
% if grading_method:
|
||||
<div>${Text(_("Grading method: {grading_method}")).format(grading_method=grading_method)}</div>
|
||||
% endif
|
||||
<span class="sr">${_("Some problems have options such as save, reset, hints, or show answer. These options follow the Submit button.")}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user