Document lms/djangoapps/grades feature toggles

This commit is contained in:
Régis Behmo
2020-08-31 16:48:31 +02:00
parent 7dc460d50a
commit 9445bbe930
4 changed files with 75 additions and 2 deletions

View File

@@ -134,7 +134,7 @@ def undo_override_subsection_grade(user_id, course_key_or_id, usage_key_or_id, f
def should_override_grade_on_rejected_exam(course_key_or_id):
"""Convienence function to return the state of the CourseWaffleFlag REJECTED_EXAM_OVERRIDES_GRADE"""
"""Convenience function to return the state of the CourseWaffleFlag REJECTED_EXAM_OVERRIDES_GRADE"""
from .config.waffle import waffle_flags, REJECTED_EXAM_OVERRIDES_GRADE
course_key = _get_key(course_key_or_id, CourseKey)
return waffle_flags()[REJECTED_EXAM_OVERRIDES_GRADE].is_enabled(course_key)

View File

@@ -24,6 +24,19 @@ class PersistentGradesEnabledFlag(ConfigurationModel):
feature to take effect.
.. no_pii:
.. toggle_name: PersistentGradesEnabledFlag.enabled
.. toggle_implementation: ConfigurationModel
.. toggle_default: False
.. toggle_description: When enabled, grades are persisted. This means that PersistentCourseGrade objects are
created for student grades. In order for this to take effect, CoursePersistentGradesFlag objects must also be
created individually for each course. Alternatively, the PersistentGradesEnabledFlag.enabled_for_all_courses
waffle flag or the PERSISTENT_GRADES_ENABLED_FOR_ALL_TESTS feature flag can be set to True to enable this
feature for all courses.
.. toggle_use_cases: monitored_rollout
.. toggle_creation_date: 2016-08-26
.. toggle_tickets: https://github.com/edx/edx-platform/pull/13329
.. toggle_status: supported
"""
# this field overrides course-specific settings to enable the feature for all courses
enabled_for_all_courses = BooleanField(default=False)

View File

@@ -10,13 +10,73 @@ from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag, WaffleFlagNam
WAFFLE_NAMESPACE = u'grades'
# Switches
# .. toggle_name: grades.assume_zero_grade_if_absent
# .. toggle_implementation: WaffleSwitch
# .. toggle_default: False
# .. toggle_description: When enabled, an absent grade is assumed to be zero. Alternatively, defining the
# `settings.FEATURES["ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS"]` feature flag in the LMS will enable this feature
# for all courses.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-04-11
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/14771
# .. toggle_status: supported
# .. toggle_warnings: This requires the PersistentGradesEnabledFlag to be enabled.
ASSUME_ZERO_GRADE_IF_ABSENT = u'assume_zero_grade_if_absent'
# .. toggle_name: grades.disable_regrade_on_policy_change
# .. toggle_implementation: WaffleSwitch
# .. toggle_default: False
# .. toggle_description: When enabled, a change in grading policy will not trigger re-grading.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-08-03
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/15733
# .. toggle_status: supported
DISABLE_REGRADE_ON_POLICY_CHANGE = u'disable_regrade_on_policy_change'
# Course Flags
# .. toggle_name: grades.rejected_exam_overrides_grade
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: When enabled, a rejected exam will trigger a grade override. Note that this flag is not used
# in edx-platform, but only in edx-proctoring.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2019-05-29
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/20719
# .. toggle_status: supported
REJECTED_EXAM_OVERRIDES_GRADE = u'rejected_exam_overrides_grade'
# .. toggle_name: grades.rejected_exam_overrides_grade
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: When enabled, grades can no longer be updated 30 days after a course has ended. Note that this
# is only valid for courses which actually have an end date.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-10-01
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/19026
# .. toggle_status: supported
ENFORCE_FREEZE_GRADE_AFTER_COURSE_END = u'enforce_freeze_grade_after_course_end'
# .. toggle_name: grades.writable_gradebook
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: When enabled, add GET/POST endpoints for updating gradebook entries in bulk. Also, a link to
# the writable gradebook is added to the instructor dashboard.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-10-03
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/19054
# .. toggle_warnings: Enabling this requires that the `WRITABLE_GRADEBOOK_URL` setting be properly defined.
# .. toggle_status: supported
WRITABLE_GRADEBOOK = u'writable_gradebook'
# .. toggle_name: grades.bulk_management
# .. toggle_implementation: CourseWaffleFlag
# .. toggle_default: False
# .. toggle_description: When enabled, bulk features are visible for management in masters course. As far
# as we understand, this feature is now unused and obsolete.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2019-08-20
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/21389
# .. toggle_status: supported
BULK_MANAGEMENT = u'bulk_management'

View File

@@ -61,5 +61,5 @@ class GradesService(object):
return api.undo_override_subsection_grade(user_id, course_key_or_id, usage_key_or_id, feature=feature)
def should_override_grade_on_rejected_exam(self, course_key_or_id):
"""Convienence function to return the state of the CourseWaffleFlag REJECTED_EXAM_OVERRIDES_GRADE"""
"""Convenience function to return the state of the CourseWaffleFlag REJECTED_EXAM_OVERRIDES_GRADE"""
return api.should_override_grade_on_rejected_exam(course_key_or_id)