Merge pull request #24815 from regisb/regisb/document-feature-toggles
[BD-21] Document feature toggles
This commit is contained in:
@@ -50,13 +50,11 @@ SHOW_REVIEW_RULES_FLAG = CourseWaffleFlag(
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggles the new micro-frontend-based implementation of the library authoring experience.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-08-03
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.LIBRARY_AUTHORING_MICROFRONTEND_URL and ENABLE_LIBRARY_AUTHORING_MICROFRONTEND.
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/wiki/spaces/COMM/pages/1545011241/BD-14+Blockstore+Powered+Content+Libraries+Taxonomies
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_LIBRARY_AUTHORING_MICROFRONTEND = WaffleFlag(
|
||||
waffle_namespace=waffle_flags(),
|
||||
flag_name='library_authoring_mfe',
|
||||
|
||||
@@ -170,9 +170,10 @@ FEATURES = {
|
||||
'ENABLE_DISCUSSION_SERVICE': True,
|
||||
'ENABLE_TEXTBOOK': True,
|
||||
|
||||
# When True, all courses will be active, regardless of start date
|
||||
# DO NOT SET TO True IN THIS FILE
|
||||
# Doing so will cause all courses to be released on production
|
||||
'DISABLE_START_DATES': False, # When True, all courses will be active, regardless of start date
|
||||
'DISABLE_START_DATES': False,
|
||||
|
||||
# email address for studio staff (eg to request course creation)
|
||||
'STUDIO_REQUEST_EMAIL': '',
|
||||
@@ -303,8 +304,6 @@ FEATURES = {
|
||||
# Whether or not the dynamic EnrollmentTrackUserPartition should be registered.
|
||||
'ENABLE_ENROLLMENT_TRACK_USER_PARTITION': True,
|
||||
|
||||
# Whether to send an email for failed password reset attempts or not. This is mainly useful for notifying users
|
||||
# that they don't have an account associated with email addresses they believe they've registered with.
|
||||
'ENABLE_PASSWORD_RESET_FAILURE_EMAIL': False,
|
||||
|
||||
# Whether archived courses (courses with end dates in the past) should be
|
||||
@@ -338,14 +337,11 @@ FEATURES = {
|
||||
# .. toggle_name: ENABLE_CHANGE_USER_PASSWORD_ADMIN
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable changing a user password through django admin. This is disabled by default because enabling allows a method to bypass password policy.
|
||||
# .. toggle_category: admin
|
||||
# .. toggle_description: Set to True to enable changing a user password through django admin. This is disabled by
|
||||
# default because enabling allows a method to bypass password policy.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2020-02-21
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: 'https://github.com/edx/edx-platform/pull/21616'
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
'ENABLE_CHANGE_USER_PASSWORD_ADMIN': False,
|
||||
|
||||
### ORA Feature Flags ###
|
||||
@@ -354,42 +350,36 @@ FEATURES = {
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable team-based ORA submissions.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_TEAM_SUBMISSIONS': False,
|
||||
|
||||
# .. toggle_name: ENABLE_ORA_ALL_FILE_URLS
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
|
||||
# discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying
|
||||
# file metadata in staff assessments.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: graceful_degradation
|
||||
# discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying file
|
||||
# metadata in staff assessments.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_ALL_FILE_URLS': False,
|
||||
|
||||
# .. toggle_name: ENABLE_ORA_USER_STATE_UPLOAD_DATA
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
|
||||
# discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: graceful_degradation
|
||||
# discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_USER_STATE_UPLOAD_DATA': False,
|
||||
|
||||
# .. toggle_name: DEPRECATE_OLD_COURSE_KEYS_IN_STUDIO
|
||||
@@ -400,26 +390,24 @@ FEATURES = {
|
||||
# To disable, set to False.
|
||||
# To enable with a custom support deadline, set to an ISO-8601 date string:
|
||||
# eg: '2020-09-01'
|
||||
# .. toggle_category: n/a
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-06-12
|
||||
# .. toggle_expiration_date: 2020-12-01
|
||||
# .. toggle_warnings: This can be removed once support is removed for deprecated course keys.
|
||||
# .. toggle_target_removal_date: 2020-12-01
|
||||
# .. toggle_warnings: This can be removed once support is removed for deprecated
|
||||
# course keys.
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/DEPR-58
|
||||
# .. toggle_status: supported
|
||||
'DEPRECATE_OLD_COURSE_KEYS_IN_STUDIO': True,
|
||||
|
||||
# .. toggle_name: ENABLE_LIBRARY_AUTHORING_MICROFRONTEND
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable the Library Authoring MFE
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-06-20
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/wiki/spaces/COMM/pages/1545011241/BD-14+Blockstore+Powered+Content+Libraries+Taxonomies
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: Also set settings.LIBRARY_AUTHORING_MICROFRONTEND_URL and see REDIRECT_TO_LIBRARY_AUTHORING_MICROFRONTEND for rollout.
|
||||
# .. toggle_warnings: Also set settings.LIBRARY_AUTHORING_MICROFRONTEND_URL and see
|
||||
# REDIRECT_TO_LIBRARY_AUTHORING_MICROFRONTEND for rollout.
|
||||
'ENABLE_LIBRARY_AUTHORING_MICROFRONTEND': False,
|
||||
}
|
||||
|
||||
@@ -2271,26 +2259,22 @@ EDXAPP_PARSE_KEYS = {}
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle for removing the deprecated /signin url.
|
||||
# .. toggle_category: n/a
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-12-02
|
||||
# .. toggle_expiration_date: 2020-06-01
|
||||
# .. toggle_target_removal_date: 2020-06-01
|
||||
# .. toggle_warnings: This url can be removed once it no longer has any real traffic.
|
||||
# .. toggle_tickets: ARCH-1253
|
||||
# .. toggle_status: supported
|
||||
DISABLE_DEPRECATED_SIGNIN_URL = False
|
||||
|
||||
# .. toggle_name: DISABLE_DEPRECATED_SIGNUP_URL
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle for removing the deprecated /signup url.
|
||||
# .. toggle_category: n/a
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-12-02
|
||||
# .. toggle_expiration_date: 2020-06-01
|
||||
# .. toggle_target_removal_date: 2020-06-01
|
||||
# .. toggle_warnings: This url can be removed once it no longer has any real traffic.
|
||||
# .. toggle_tickets: ARCH-1253
|
||||
# .. toggle_status: supported
|
||||
DISABLE_DEPRECATED_SIGNUP_URL = False
|
||||
|
||||
##### LOGISTRATION RATE LIMIT SETTINGS #####
|
||||
|
||||
@@ -11,15 +11,13 @@ These are all of our well-documented feature toggles!
|
||||
{{ group.toggle_description }}
|
||||
|
||||
* Type: {{ group.toggle_type[0] }}
|
||||
* Status: {{ group.toggle_status }}
|
||||
* Use cases: {{ group.toggle_use_cases|join(", ") }}
|
||||
{% if group.toggle_warnings != 'None' -%}
|
||||
* Warnings: {{ group.toggle_warnings }}
|
||||
{% endif -%}
|
||||
{% if group.toggle_expiration_date != 'None' -%}
|
||||
* Expiration date: {{ group.toggle_expiration_date }}
|
||||
{% if group.toggle_target_removal_date != 'None' -%}
|
||||
* Expiration date: {{ group.toggle_target_removal_date }}
|
||||
{% endif -%}
|
||||
* Category: {{ group.toggle_category }}
|
||||
{% if group.toggle_tickets != 'None' -%}
|
||||
* Tickets: {{ group.toggle_tickets }}
|
||||
{% endif -%}
|
||||
|
||||
@@ -468,18 +468,6 @@ class CourseAuthorization(models.Model):
|
||||
return u"Course '{}': Instructor Email {}Enabled".format(text_type(self.course_id), not_en)
|
||||
|
||||
|
||||
# .. toggle_name: require_course_email_auth
|
||||
# .. toggle_implementation: ConfigurationModel
|
||||
# .. toggle_default: True (enabled)
|
||||
# .. toggle_description: If the flag is enabled, course-specific authorization is required, and the course_id is either
|
||||
# not provided or not authorixed, the feature is not available.
|
||||
# .. toggle_category: bulk email
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2016-05-05
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_tickets: None
|
||||
# .. toggle_status: supported
|
||||
@python_2_unicode_compatible
|
||||
class BulkEmailFlag(ConfigurationModel):
|
||||
"""
|
||||
@@ -490,6 +478,15 @@ class BulkEmailFlag(ConfigurationModel):
|
||||
2. Course-specific authorization not required, or course authorized to use bulk email.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: require_course_email_auth
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: True (enabled)
|
||||
.. toggle_description: If the flag is enabled, course-specific authorization is
|
||||
required, and the course_id is either not provided or not authorized, the feature
|
||||
is not available.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2016-05-05
|
||||
"""
|
||||
# boolean field 'enabled' inherited from parent ConfigurationModel
|
||||
require_course_email_auth = models.BooleanField(default=True)
|
||||
|
||||
@@ -5,5 +5,21 @@ from openedx.core.djangoapps.waffle_utils import WaffleSwitch, WaffleSwitchNames
|
||||
|
||||
WAFFLE_SWITCH_NAMESPACE = WaffleSwitchNamespace(name='course_list_api_rate_limit')
|
||||
|
||||
# .. toggle_name: course_list_api_rate_limit.rate_limit_2
|
||||
# .. toggle_implementation: WaffleSwitch
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Waffle switch to enable the throttling of 2 requests/minute to the course API. For staff
|
||||
# users, this limit is 10 requests/minute.
|
||||
# .. toggle_use_cases: circuit_breaker
|
||||
# .. toggle_creation_date: 2018-06-12
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/LEARNER-5527
|
||||
USE_RATE_LIMIT_2_FOR_COURSE_LIST_API = WaffleSwitch(WAFFLE_SWITCH_NAMESPACE, 'rate_limit_2', __name__)
|
||||
# .. toggle_name: course_list_api_rate_limit.rate_limit_10
|
||||
# .. toggle_implementation: WaffleSwitch
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Waffle switch to enable the throttling of 10 requests/minute to the course API. For staff
|
||||
# users, this limit is 20 requests/minute.
|
||||
# .. toggle_use_cases: circuit_breaker
|
||||
# .. toggle_creation_date: 2018-06-12
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/LEARNER-5527
|
||||
USE_RATE_LIMIT_10_FOR_COURSE_LIST_API = WaffleSwitch(WAFFLE_SWITCH_NAMESPACE, 'rate_limit_10', __name__)
|
||||
|
||||
@@ -3,23 +3,17 @@ Toggles for Course API.
|
||||
"""
|
||||
|
||||
|
||||
from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag, WaffleFlag, WaffleFlagNamespace
|
||||
from openedx.core.djangoapps.waffle_utils import WaffleFlag, WaffleFlagNamespace
|
||||
|
||||
|
||||
COURSE_BLOCKS_API_NAMESPACE = WaffleFlagNamespace(name=u'course_blocks_api')
|
||||
|
||||
# Waffle flag to hide access denial message.
|
||||
# .. toggle_name: course_blocks_api.hide_access_denials
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: ??
|
||||
# .. toggle_category: course api
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_creation_date: 2019-04-10
|
||||
# .. toggle_expiration_date: ??
|
||||
# .. toggle_warnings: ??
|
||||
# .. toggle_tickets: ??
|
||||
# .. toggle_status: ??
|
||||
# .. toggle_description: Waffle flag to hide access denial messages in the course blocks.
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
HIDE_ACCESS_DENIALS_FLAG = WaffleFlag(
|
||||
waffle_namespace=COURSE_BLOCKS_API_NAMESPACE,
|
||||
flag_name=u'hide_access_denials',
|
||||
|
||||
@@ -8,35 +8,33 @@ from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag, WaffleFlagNam
|
||||
# Namespace for courseware waffle flags.
|
||||
WAFFLE_FLAG_NAMESPACE = WaffleFlagNamespace(name='courseware')
|
||||
|
||||
# Waffle flag to redirect to another learner profile experience.
|
||||
# .. toggle_name: courseware.courseware_mfe
|
||||
# .. toggle_implementation: ExperimentWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout to students for a new micro-frontend-based implementation of the courseware page.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_description: Waffle flag to redirect to another learner profile experience. Supports staged rollout to
|
||||
# students for a new micro-frontend-based implementation of the courseware page.
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-01-29
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and ENABLE_COURSEWARE_MICROFRONTEND.
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and
|
||||
# ENABLE_COURSEWARE_MICROFRONTEND.
|
||||
# .. toggle_tickets: TNL-7000
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_COURSEWARE_MICROFRONTEND = ExperimentWaffleFlag(
|
||||
WAFFLE_FLAG_NAMESPACE, 'courseware_mfe', __name__, use_course_aware_bucketing=False
|
||||
)
|
||||
|
||||
# Waffle flag to display a link for the new learner experience to course teams without redirecting students.
|
||||
#
|
||||
# .. toggle_name: courseware.microfrontend_course_team_preview
|
||||
# .. toggle_implementation: CourseWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout to course teams of a new micro-frontend-based implementation of the courseware page.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_description: Waffle flag to display a link for the new learner experience to course teams without
|
||||
# redirecting students. Supports staged rollout to course teams of a new micro-frontend-based implementation of the
|
||||
# courseware page.
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-03-09
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and ENABLE_COURSEWARE_MICROFRONTEND.
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and
|
||||
# ENABLE_COURSEWARE_MICROFRONTEND.
|
||||
# .. toggle_tickets: TNL-6982
|
||||
# .. toggle_status: supported
|
||||
COURSEWARE_MICROFRONTEND_COURSE_TEAM_PREVIEW = CourseWaffleFlag(
|
||||
WAFFLE_FLAG_NAMESPACE, 'microfrontend_course_team_preview', __name__
|
||||
)
|
||||
|
||||
@@ -6,14 +6,11 @@ from django.conf import settings
|
||||
# .. toggle_name: FEATURES['ENABLE_FORUM_DAILY_DIGEST']
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Settings for forums/discussions to on/off daily digest feature. Set this to True if you want to enable users to subscribe and unsubscribe for daily digest. This setting enables deprecation of daily digest.
|
||||
# .. toggle_category: discussion
|
||||
# .. toggle_description: Settings for forums/discussions to on/off daily digest
|
||||
# feature. Set this to True if you want to enable users to subscribe and unsubscribe
|
||||
# for daily digest. This setting enables deprecation of daily digest.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2020-03-09
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: None
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
ENABLE_FORUM_DAILY_DIGEST = 'enable_forum_daily_digest'
|
||||
|
||||
|
||||
|
||||
@@ -38,13 +38,11 @@ experiments_namespace = WaffleFlagNamespace(name=u'experiments')
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle for adding the current course's program information to user metadata
|
||||
# .. toggle_category: experiments
|
||||
# .. toggle_use_cases: monitored_rollout
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-2-25
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: REVEM-63, REVEM-198
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
PROGRAM_INFO_FLAG = WaffleFlag(
|
||||
waffle_namespace=experiments_namespace,
|
||||
flag_name=u'add_programs',
|
||||
@@ -55,13 +53,11 @@ PROGRAM_INFO_FLAG = WaffleFlag(
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle for adding info about each course to the dashboard metadata
|
||||
# .. toggle_category: experiments
|
||||
# .. toggle_use_cases: monitored_rollout
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-3-28
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: REVEM-118
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
DASHBOARD_INFO_FLAG = WaffleFlag(experiments_namespace, u'add_dashboard_info', __name__)
|
||||
# TODO END: clean up as part of REVEM-199 (End)
|
||||
|
||||
@@ -70,13 +66,11 @@ DASHBOARD_INFO_FLAG = WaffleFlag(experiments_namespace, u'add_dashboard_info', _
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Make sure upsell tracking JS works as expected.
|
||||
# .. toggle_category: experiments
|
||||
# .. toggle_use_cases: monitored_rollout
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-7-7
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: REV-1205
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
UPSELL_TRACKING_FLAG = WaffleFlag(
|
||||
waffle_namespace=experiments_namespace,
|
||||
flag_name=u'add_upsell_tracking',
|
||||
|
||||
@@ -31,17 +31,15 @@ from student.models import CourseEnrollment
|
||||
from track import segment
|
||||
|
||||
|
||||
# .. feature_toggle_name: experiments.mobile_upsell_rev934
|
||||
# .. feature_toggle_type: flag
|
||||
# .. feature_toggle_default: False
|
||||
# .. feature_toggle_description: Toggle mobile upsell enabled
|
||||
# .. feature_toggle_category: experiments
|
||||
# .. feature_toggle_use_cases: monitored_rollout
|
||||
# .. feature_toggle_creation_date: 2019-09-05
|
||||
# .. feature_toggle_expiration_date: None
|
||||
# .. feature_toggle_warnings: None
|
||||
# .. feature_toggle_tickets: REV-934
|
||||
# .. feature_toggle_status: supported
|
||||
# .. toggle_name: experiments.mobile_upsell_rev934
|
||||
# .. toggle_type: flag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle mobile upsell enabled
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-09-05
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: REV-934
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
MOBILE_UPSELL_FLAG = WaffleFlag(
|
||||
waffle_namespace=WaffleFlagNamespace(name=u'experiments'),
|
||||
flag_name=u'mobile_upsell_rev934',
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -24,6 +24,18 @@ 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: temporary
|
||||
.. toggle_creation_date: 2016-08-26
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/13329
|
||||
"""
|
||||
# this field overrides course-specific settings to enable the feature for all courses
|
||||
enabled_for_all_courses = BooleanField(default=False)
|
||||
|
||||
@@ -10,13 +10,67 @@ 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_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
|
||||
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
|
||||
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
|
||||
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.
|
||||
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
|
||||
BULK_MANAGEMENT = u'bulk_management'
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -11,14 +11,13 @@ WAFFLE_FLAG_NAMESPACE = WaffleFlagNamespace(name='verify_student')
|
||||
# .. toggle_name: verify_student.use_new_email_templates
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout to students for a new email templates implementation for ID verification.
|
||||
# .. toggle_category: verify student
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_description: Supports staged rollout to students for a new email templates
|
||||
# implementation for ID verification.
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-06-25
|
||||
# .. toggle_expiration_date: n/a
|
||||
# .. toggle_warnings: n/a
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
# .. toggle_tickets: PROD-1639
|
||||
# .. toggle_status: supported
|
||||
USE_NEW_EMAIL_TEMPLATES = WaffleFlag(
|
||||
waffle_namespace=WAFFLE_FLAG_NAMESPACE,
|
||||
flag_name='use_new_email_templates',
|
||||
@@ -35,13 +34,11 @@ def use_new_templates_for_id_verification_emails():
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout to students for the new IDV flow.
|
||||
# .. toggle_category: verify student
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-07-09
|
||||
# .. toggle_expiration_date: n/a
|
||||
# .. toggle_warnings: n/a
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
# .. toggle_tickets: MST-318
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_IDV_MICROFRONTEND = WaffleFlag(
|
||||
waffle_namespace=WAFFLE_FLAG_NAMESPACE,
|
||||
flag_name='redirect_to_idv_microfrontend',
|
||||
|
||||
@@ -82,65 +82,127 @@ IDA_LOGOUT_URI_LIST = []
|
||||
|
||||
# Features
|
||||
FEATURES = {
|
||||
# .. toggle_name: DISPLAY_DEBUG_INFO_TO_STAFF
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Add a "Staff Debug" button to course modules for debugging
|
||||
# by course staff.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-09-04
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/2425
|
||||
'DISPLAY_DEBUG_INFO_TO_STAFF': True,
|
||||
'DISPLAY_HISTOGRAMS_TO_STAFF': False, # For large courses this slows down courseware access for staff.
|
||||
|
||||
'REROUTE_ACTIVATION_EMAIL': False, # nonempty string = address for all activation emails
|
||||
|
||||
# .. toggle_name: DISABLE_START_DATES
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: When True, all courses will be active, regardless of start
|
||||
# date.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_warnings: This will cause ALL courses to be immediately visible.
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/17913
|
||||
## DO NOT SET TO True IN THIS FILE
|
||||
## Doing so will cause all courses to be released on production
|
||||
'DISABLE_START_DATES': False, # When True, all courses will be active, regardless of start date
|
||||
'DISABLE_START_DATES': False,
|
||||
|
||||
# for consistency in user-experience, keep the value of the following 3 settings
|
||||
# in sync with the corresponding ones in cms/envs/common.py
|
||||
'ENABLE_DISCUSSION_SERVICE': True,
|
||||
|
||||
# .. toggle_name: ENABLE_TEXTBOOK
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Add PDF and HTML textbook tabs to the courseware.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-03-27
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/3064
|
||||
'ENABLE_TEXTBOOK': True,
|
||||
|
||||
# discussion home panel, which includes a subscription on/off setting for discussion digest emails.
|
||||
# this should remain off in production until digest notifications are online.
|
||||
'ENABLE_DISCUSSION_HOME_PANEL': False,
|
||||
|
||||
# Set this to True if you want the discussion digest emails enabled automatically for new users.
|
||||
# This will be set on all new account registrations.
|
||||
# It is not recommended to enable this feature if ENABLE_DISCUSSION_HOME_PANEL is not enabled, since
|
||||
# subscribers who receive digests in that case will only be able to unsubscribe via links embedded
|
||||
# in their emails, and they will have no way to resubscribe.
|
||||
# .. toggle_name: ENABLE_DISCUSSION_EMAIL_DIGEST
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set this to True if you want the discussion digest emails
|
||||
# enabled automatically for new users. This will be set on all new account
|
||||
# registrations.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-08-19
|
||||
# .. toggle_warnings: It is not recommended to enable this feature if ENABLE_DISCUSSION_HOME_PANEL is not enabled,
|
||||
# since subscribers who receive digests in that case will only be able to unsubscribe via links embedded in
|
||||
# their emails, and they will have no way to resubscribe.
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/4891
|
||||
'ENABLE_DISCUSSION_EMAIL_DIGEST': False,
|
||||
|
||||
# .. toggle_name: ENABLE_UNICODE_USERNAME
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set this to True to allow unicode characters in username. Enabling this will also
|
||||
# automatically enable SOCIAL_AUTH_CLEAN_USERNAMES. When this is enabled, usernames will have to match the
|
||||
# regular expression defined by USERNAME_REGEX_PARTIAL.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2017-06-27
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/14729
|
||||
'ENABLE_UNICODE_USERNAME': False,
|
||||
|
||||
'ENABLE_DJANGO_ADMIN_SITE': True, # set true to enable django's admin site, even on prod (e.g. for course ops)
|
||||
'ENABLE_LMS_MIGRATION': False,
|
||||
|
||||
'ENABLE_MASQUERADE': True, # allow course staff to change to student view of courseware
|
||||
# .. toggle_name: ENABLE_MASQUERADE
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2013-04-13
|
||||
'ENABLE_MASQUERADE': True,
|
||||
|
||||
# .. toggle_name: ENABLE_SYSADMIN_DASHBOARD
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: enables dashboard at /syadmin/ for django staff, for seeing overview of system status, for deleting and loading courses, for seeing log of git imports of courseware.
|
||||
# .. toggle_category: admin
|
||||
# .. toggle_description: enables dashboard at /syadmin/ for django staff, for seeing overview of system status, for
|
||||
# deleting and loading courses, for seeing log of git imports of courseware. Note that some views are noopen_edx
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2013-12-12
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_warnings: some views are not performant when there are more than 100 courses
|
||||
# .. toggle_tickets: None
|
||||
# .. toggle_status: unsupported
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: This feature is not supported anymore and should have a target removal date.
|
||||
'ENABLE_SYSADMIN_DASHBOARD': False, # sysadmin dashboard, to see what courses are loaded, to delete & load courses
|
||||
|
||||
'DISABLE_LOGIN_BUTTON': False, # used in systems where login is automatic, eg MIT SSL
|
||||
|
||||
# Toggles OAuth2 authentication provider
|
||||
# .. toggle_name: ENABLE_OAUTH2_PROVIDER
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable this feature to allow this Open edX platform to be an OAuth2 authentication
|
||||
# provider. This is necessary to enable some other features, such as the REST API for the mobile application.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2014-09-09
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_OAUTH2_PROVIDER': False,
|
||||
|
||||
# Allows to enable an API endpoint to serve XBlock view, used for example by external applications.
|
||||
# See jquey-xblock: https://github.com/edx-solutions/jquery-xblock
|
||||
# .. toggle_name: ENABLE_XBLOCK_VIEW_ENDPOINT
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable an API endpoint, named "xblock_view", to serve rendered XBlock views. This might be
|
||||
# used by external applications. See for instance jquery-xblock (now unmaintained):
|
||||
# https://github.com/edx-solutions/jquery-xblock
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-03-14
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/2968
|
||||
'ENABLE_XBLOCK_VIEW_ENDPOINT': False,
|
||||
|
||||
# Allows to configure the LMS to provide CORS headers to serve requests from other domains
|
||||
# Allows to configure the LMS to provide CORS headers to serve requests from other
|
||||
# domains
|
||||
'ENABLE_CORS_HEADERS': False,
|
||||
|
||||
# Can be turned off if course lists need to be hidden. Effects views and templates.
|
||||
'COURSES_ARE_BROWSABLE': True,
|
||||
|
||||
# Set to hide the courses list on the Learner Dashboard if they are not enrolled in any courses yet.
|
||||
# Set to hide the courses list on the Learner Dashboard if they are not enrolled in
|
||||
# any courses yet.
|
||||
'HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED': False,
|
||||
|
||||
# Give a UI to show a student's submission history in a problem by the
|
||||
@@ -180,14 +242,11 @@ FEATURES = {
|
||||
# .. toggle_name: DISABLE_HONOR_CERTIFICATES
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to disable honor certificates. Typically used when your installation only allows verified certificates, like courses.edx.org.
|
||||
# .. toggle_category: certificates
|
||||
# .. toggle_description: Set to True to disable honor certificates. Typically used when your installation only
|
||||
# allows verified certificates, like courses.edx.org.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2019-05-14
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/PROD-269
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: ???
|
||||
'DISABLE_HONOR_CERTIFICATES': False, # Toggle to disable honor certificates
|
||||
|
||||
'DISABLE_AUDIT_CERTIFICATES': False, # Toggle to disable audit certificates
|
||||
@@ -195,9 +254,36 @@ FEATURES = {
|
||||
# for acceptance and load testing
|
||||
'AUTOMATIC_AUTH_FOR_TESTING': False,
|
||||
|
||||
# Prevent auto auth from creating superusers or modifying existing users
|
||||
# .. toggle_name: RESTRICT_AUTOMATIC_AUTH
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Prevent auto auth from creating superusers or modifying existing users. Auto auth is a
|
||||
# mechanism where superusers can simply modify attributes of other users by accessing the "/auto_auth url" with
|
||||
# the right
|
||||
# querystring parameters.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2018-05-07
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/TE-2545
|
||||
'RESTRICT_AUTOMATIC_AUTH': True,
|
||||
|
||||
# .. toggle_name: ENABLE_LOGIN_MICROFRONTEND
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable the login micro frontend.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2018-05-07
|
||||
# .. toggle_warnings: The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
|
||||
'ENABLE_LOGIN_MICROFRONTEND': False,
|
||||
|
||||
# .. toggle_name: SKIP_EMAIL_VALIDATION
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Turn this on to skip sending emails for user validation.
|
||||
# Beware, as this leaves the door open to potential spam abuse.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_warnings: The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
|
||||
'SKIP_EMAIL_VALIDATION': False,
|
||||
|
||||
# Toggle the availability of the shopping cart page
|
||||
'ENABLE_SHOPPING_CART': False,
|
||||
|
||||
@@ -207,7 +293,15 @@ FEATURES = {
|
||||
# Enable flow for payments for course registration (DIFFERENT from verified student flow)
|
||||
'ENABLE_PAID_COURSE_REGISTRATION': False,
|
||||
|
||||
# Enable the display of cosmetic course price display (set in course advanced settings)
|
||||
# .. toggle_name: ENABLE_COSMETIC_DISPLAY_PRICE
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable the display of "cosmetic_display_price", set in a course advanced settings. This
|
||||
# cosmetic price is used when there is no registration price associated to the course.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-10-10
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/6876
|
||||
# .. toggle_warnings: The use case of this feature toggle is uncertain.
|
||||
'ENABLE_COSMETIC_DISPLAY_PRICE': False,
|
||||
|
||||
# Automatically approve student identity verification attempts
|
||||
@@ -238,11 +332,25 @@ FEATURES = {
|
||||
# defaults, so that we maintain current behavior
|
||||
'ALLOW_WIKI_ROOT_ACCESS': True,
|
||||
|
||||
# Turn on third-party auth. Disabled for now because full implementations are not yet available. Remember to run
|
||||
# migrations if you enable this; we don't create tables by default.
|
||||
# .. toggle_name: ENABLE_THIRD_PARTY_AUTH
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Turn on third-party auth. Disabled for now because full mplementations are not yet
|
||||
# available. Remember to run migrations if you enable this; we don't create tables by default. This feature can
|
||||
# be enabled on a per-site basis. When enabling this feature, remember to define the allowed authentication
|
||||
# backends with the AUTHENTICATION_BACKENDS setting.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-09-15
|
||||
'ENABLE_THIRD_PARTY_AUTH': False,
|
||||
|
||||
# Toggle to enable alternate urls for marketing links
|
||||
# .. toggle_name: ENABLE_MKTG_SITE
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle to enable alternate urls for marketing links.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2014-03-24
|
||||
# .. toggle_warnings: When this is enabled, the MKTG_URLS setting should be defined. The use case of this feature
|
||||
# toggle is uncertain.
|
||||
'ENABLE_MKTG_SITE': False,
|
||||
|
||||
# Prevent concurrent logins per user
|
||||
@@ -253,15 +361,40 @@ FEATURES = {
|
||||
# False to not redirect the user
|
||||
'ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER': True,
|
||||
|
||||
# When a user goes to the homepage ('/') the user sees the
|
||||
# courses listed in the announcement dates order - this is default Open edX behavior.
|
||||
# Set to True to change the course sorting behavior by their start dates, latest first.
|
||||
# .. toggle_name: ENABLE_COURSE_SORTING_BY_START_DATE
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: When a user goes to the homepage ('/') the user sees the courses listed in the
|
||||
# announcement dates order - this is default Open edX behavior. Set to True to change the course sorting behavior
|
||||
# by their start dates, latest first.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-03-27
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/7548
|
||||
'ENABLE_COURSE_SORTING_BY_START_DATE': True,
|
||||
|
||||
# .. toggle_name: ENABLE_COURSE_HOME_REDIRECT
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: When enabled, along with the ENABLE_MKTG_SITE feature toggle, users who attempt to access a
|
||||
# course "about" page will be redirected to the course home url. This url might be the course "info" page or the
|
||||
# unified course tab (when the UNIFIED_COURSE_TAB_FLAG waffle is enabled).
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2019-01-15
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/19604
|
||||
'ENABLE_COURSE_HOME_REDIRECT': True,
|
||||
|
||||
# Expose Mobile REST API. Note that if you use this, you must also set
|
||||
# ENABLE_OAUTH2_PROVIDER to True
|
||||
'ENABLE_MOBILE_REST_API': False,
|
||||
|
||||
# .. toggle_name: ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Display the standard footer in the login page. This feature can be overridden by a site-
|
||||
# specific configuration.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2016-06-24
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1320
|
||||
'ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER': False,
|
||||
|
||||
# Enable organizational email opt-in
|
||||
@@ -302,13 +435,29 @@ FEATURES = {
|
||||
# log all information from cybersource callbacks
|
||||
'LOG_POSTPAY_CALLBACKS': True,
|
||||
|
||||
# Toggle platform-wide course licensing
|
||||
# .. toggle_name: LICENSING
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle platform-wide course licensing. The course.license attribute is then used to append
|
||||
# license information to the courseware.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-05-14
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/7315
|
||||
'LICENSING': False,
|
||||
|
||||
# Certificates Web/HTML Views
|
||||
'CERTIFICATES_HTML_VIEW': False,
|
||||
|
||||
# Course discovery feature
|
||||
# .. toggle_name: ENABLE_COURSE_DISCOVERY
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Add a course search widget to the LMS for searching courses. When this is enabled, the
|
||||
# latest courses are no longer displayed on the LMS landing page. Also, an "Explore Courses" item is added to the
|
||||
# navbar.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-04-23
|
||||
# .. toggle_warnings: The COURSE_DISCOVERY_MEANINGS setting should be properly defined.
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/7845
|
||||
'ENABLE_COURSE_DISCOVERY': False,
|
||||
|
||||
# Setting for overriding default filtering facets for Course discovery
|
||||
@@ -326,7 +475,13 @@ FEATURES = {
|
||||
# How many seconds to show the bumper again, default is 7 days:
|
||||
'SHOW_BUMPER_PERIODICITY': 7 * 24 * 3600,
|
||||
|
||||
# Special Exams, aka Timed and Proctored Exams
|
||||
# .. toggle_name: ENABLE_SPECIAL_EXAMS
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable to use special exams, aka timed and proctored exams.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-09-04
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/9744
|
||||
'ENABLE_SPECIAL_EXAMS': False,
|
||||
|
||||
# Enable OpenBadge support. See the BADGR_* settings later in this file.
|
||||
@@ -346,10 +501,15 @@ FEATURES = {
|
||||
# Show the language selector in the footer
|
||||
'SHOW_FOOTER_LANGUAGE_SELECTOR': False,
|
||||
|
||||
# Write new CSM history to the extended table.
|
||||
# This will eventually default to True and may be
|
||||
# removed since all installs should have the separate
|
||||
# extended history table.
|
||||
# .. toggle_name: ENABLE_CSMH_EXTENDED
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Write Courseware Student Module History (CSMH) to the extended table: this logs all
|
||||
# student activities to MySQL, in a separate database.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_warnings: Even though most Open edX instances run with a separate CSMH database, it may not always be
|
||||
# the case. When disabling this feature flag, remember to remove "coursewarehistoryextended" from the
|
||||
# INSTALLED_APPS and the "StudentModuleHistoryExtendedRouter" from the DATABASE_ROUTERS.
|
||||
'ENABLE_CSMH_EXTENDED': True,
|
||||
|
||||
# Read from both the CSMH and CSMHE history tables.
|
||||
@@ -361,7 +521,14 @@ FEATURES = {
|
||||
# Set this to False to facilitate cleaning up invalid xml from your modulestore.
|
||||
'ENABLE_XBLOCK_XML_VALIDATION': True,
|
||||
|
||||
# Allow public account creation
|
||||
# .. toggle_name: ALLOW_PUBLIC_ACCOUNT_CREATION
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: Allow public account creation. If this is disabled, users will no longer have access to
|
||||
# the signup page.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2017-04-12
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/YONK-513
|
||||
'ALLOW_PUBLIC_ACCOUNT_CREATION': True,
|
||||
|
||||
# Enable footer banner for cookie consent.
|
||||
@@ -390,8 +557,16 @@ FEATURES = {
|
||||
# Whether HTML XBlocks/XModules return HTML content with the Course Blocks API student_view_data
|
||||
'ENABLE_HTML_XBLOCK_STUDENT_VIEW_DATA': False,
|
||||
|
||||
# Whether to send an email for failed password reset attempts or not. This is mainly useful for notifying users
|
||||
# that they don't have an account associated with email addresses they believe they've registered with.
|
||||
# .. toggle_name: ENABLE_CHANGE_USER_PASSWORD_ADMIN
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Whether to send an email for failed password reset attempts or not. This happens when a
|
||||
# user asks for a password reset but they don't have an account associated to their email. This is useful for
|
||||
# notifying users that they don't have an account associated with email addresses they believe they've registered
|
||||
# with. This setting can be overridden by a site-specific configuration.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2017-07-20
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1832
|
||||
'ENABLE_PASSWORD_RESET_FAILURE_EMAIL': False,
|
||||
|
||||
# Sets the default browser support. For more information go to http://browser-update.org/customize.html
|
||||
@@ -407,40 +582,35 @@ FEATURES = {
|
||||
# .. toggle_name: ENABLE_CHANGE_USER_PASSWORD_ADMIN
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable changing a user password through django admin. This is disabled by default because enabling allows a method to bypass password policy.
|
||||
# .. toggle_category: admin
|
||||
# .. toggle_description: Set to True to enable changing a user password through django admin. This is disabled by
|
||||
# default because enabling allows a method to bypass password policy.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2020-02-21
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: 'https://github.com/edx/edx-platform/pull/21616'
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
'ENABLE_CHANGE_USER_PASSWORD_ADMIN': False,
|
||||
|
||||
# .. toggle_name: ENABLE_COURSEWARE_MICROFRONTEND
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable the Courseware MFE at the platform level for global staff (see REDIRECT_TO_COURSEWARE_MICROFRONTEND for course rollout)
|
||||
# .. toggle_category: admin
|
||||
# .. toggle_description: Set to True to enable the Courseware MFE at the platform level for global staff (see
|
||||
# REDIRECT_TO_COURSEWARE_MICROFRONTEND for course rollout)
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2020-03-05
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: 'https://github.com/edx/edx-platform/pull/23317'
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and see REDIRECT_TO_COURSEWARE_MICROFRONTEND for rollout.
|
||||
# .. toggle_warnings: Also set settings.LEARNING_MICROFRONTEND_URL and see REDIRECT_TO_COURSEWARE_MICROFRONTEND for
|
||||
# rollout.
|
||||
'ENABLE_COURSEWARE_MICROFRONTEND': False,
|
||||
|
||||
# .. toggle_name: ENABLE_LOGISTRATION_MICROFRONTEND
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout of a new micro-frontend-based implementation of the logistration.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2020-09-08
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: 'https://github.com/edx/edx-platform/pull/24908'
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: Also set settings.ACCOUNT_MICROFRONTEND_URL and set REDIRECT_TO_ACCOUNT_MICROFRONTEND for rollout.
|
||||
# .. toggle_warnings: Also set settings.ACCOUNT_MICROFRONTEND_URL and set REDIRECT_TO_ACCOUNT_MICROFRONTEND for
|
||||
# rollout. This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_LOGISTRATION_MICROFRONTEND': False,
|
||||
|
||||
### ORA Feature Flags ###
|
||||
@@ -449,55 +619,48 @@ FEATURES = {
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to enable team-based ORA submissions.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_TEAM_SUBMISSIONS': False,
|
||||
|
||||
# .. toggle_name: ENABLE_ORA_ALL_FILE_URLS
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
|
||||
# discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying
|
||||
# file metadata in staff assessments.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: graceful_degradation
|
||||
# discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying
|
||||
# file metadata in staff assessments.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_ALL_FILE_URLS': False,
|
||||
|
||||
# .. toggle_name: ENABLE_ORA_USER_STATE_UPLOAD_DATA
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
|
||||
# discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: graceful_degradation
|
||||
# discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-03-03
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_USER_STATE_UPLOAD_DATA': False,
|
||||
|
||||
# .. toggle_name: ENABLE_ORA_USERNAMES_ON_DATA_EXPORT
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Set to True to add deanonymized usernames to ORA data report.
|
||||
# .. toggle_category: ora
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_description: Set to True to add deanonymized usernames to ORA data
|
||||
# report.
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-06-11
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: https://openedx.atlassian.net/browse/TNL-7273
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
'ENABLE_ORA_USERNAMES_ON_DATA_EXPORT': False,
|
||||
}
|
||||
|
||||
@@ -2761,6 +2924,14 @@ DISABLE_ACCOUNT_ACTIVATION_REQUIREMENT_SWITCH = "verify_student_disable_account_
|
||||
|
||||
################ Enable credit eligibility feature ####################
|
||||
ENABLE_CREDIT_ELIGIBILITY = True
|
||||
# .. toggle_name: ENABLE_CREDIT_ELIGIBILITY
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: True
|
||||
# .. toggle_description: When enabled, it is possible to define a credit eligibility criteria in the CMS. A "Credit
|
||||
# Eligibility" section then appears for those courses in the LMS.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2015-06-17
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/8550
|
||||
FEATURES['ENABLE_CREDIT_ELIGIBILITY'] = ENABLE_CREDIT_ELIGIBILITY
|
||||
|
||||
############# Cross-domain requests #################
|
||||
|
||||
@@ -11,13 +11,12 @@ from openedx.core.djangoapps.waffle_utils import WaffleFlag
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout of a new micro-frontend-based implementation of the order history page.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2019-04-11
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.ORDER_HISTORY_MICROFRONTEND_URL and site's ENABLE_ORDER_HISTORY_MICROFRONTEND.
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.ORDER_HISTORY_MICROFRONTEND_URL and site's
|
||||
# ENABLE_ORDER_HISTORY_MICROFRONTEND.
|
||||
# .. toggle_tickets: DEPR-17
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_ORDER_HISTORY_MICROFRONTEND = WaffleFlag('order_history', 'redirect_to_microfrontend', __name__)
|
||||
|
||||
|
||||
@@ -32,13 +31,11 @@ def should_redirect_to_order_history_microfrontend():
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout of a new micro-frontend-based implementation of the account page.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2019-04-30
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.ACCOUNT_MICROFRONTEND_URL and site's ENABLE_ACCOUNT_MICROFRONTEND.
|
||||
# .. toggle_tickets: DEPR-17
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_ACCOUNT_MICROFRONTEND = WaffleFlag('account', 'redirect_to_microfrontend', __name__)
|
||||
|
||||
|
||||
|
||||
@@ -11,14 +11,13 @@ _WAFFLE_SWITCH_NAMESPACE = WaffleSwitchNamespace(name=_WAFFLE_NAMESPACE, log_pre
|
||||
# .. toggle_name: user_authn.enable_login_using_thirdparty_auth_only
|
||||
# .. toggle_implementation: WaffleSwitch
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: When enabled, users must be sign in using their allowed domain SSO account.
|
||||
# .. toggle_category: authn
|
||||
# .. toggle_use_cases: incremental_release
|
||||
# .. toggle_description: When enabled, users must be sign in using their allowed domain SSO account. This includes sign-
|
||||
# ins to the Django admin dashboard at "/admin".
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-11-20
|
||||
# .. toggle_expiration_date: 2020-01-31
|
||||
# .. toggle_target_removal_date: 2020-01-31
|
||||
# .. toggle_warnings: Requires THIRD_PARTY_AUTH_ONLY_DOMAIN to also be set.
|
||||
# .. toggle_tickets: ENT-2461
|
||||
# .. toggle_status: supported
|
||||
ENABLE_LOGIN_USING_THIRDPARTY_AUTH_ONLY = WaffleSwitch(
|
||||
_WAFFLE_SWITCH_NAMESPACE,
|
||||
'enable_login_using_thirdparty_auth_only',
|
||||
|
||||
@@ -96,17 +96,14 @@ REGISTRATION_UTM_CREATED_AT = 'registration_utm_created_at'
|
||||
REGISTER_USER = Signal(providing_args=["user", "registration"])
|
||||
|
||||
|
||||
# .. feature_toggle_name: registration.enable_failure_logging
|
||||
# .. feature_toggle_type: flag
|
||||
# .. feature_toggle_default: False
|
||||
# .. feature_toggle_description: Enable verbose logging of registration failure messages
|
||||
# .. feature_toggle_category: registration
|
||||
# .. feature_toggle_use_cases: monitored_rollout
|
||||
# .. feature_toggle_creation_date: 2020-04-30
|
||||
# .. feature_toggle_expiration_date: 2020-06-01
|
||||
# .. feature_toggle_warnings: None
|
||||
# .. feature_toggle_tickets: None
|
||||
# .. feature_toggle_status: supported
|
||||
# .. toggle_name: registration.enable_failure_logging
|
||||
# .. toggle_type: flag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Enable verbose logging of registration failure messages
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2020-04-30
|
||||
# .. toggle_target_removal_date: 2020-06-01
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
REGISTRATION_FAILURE_LOGGING_FLAG = WaffleFlag(
|
||||
waffle_namespace=WaffleFlagNamespace(name=u'registration'),
|
||||
flag_name=u'enable_failure_logging',
|
||||
|
||||
@@ -23,6 +23,14 @@ class HLSPlaybackEnabledFlag(ConfigurationModel):
|
||||
take effect.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: HLSPlaybackEnabledFlag.enabled_for_all_courses
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: Add the "hls" profile to all displayed videos on the platform.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2017-04-19
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/14924
|
||||
"""
|
||||
# this field overrides course-specific settings
|
||||
enabled_for_all_courses = BooleanField(default=False)
|
||||
@@ -65,6 +73,14 @@ class CourseHLSPlaybackEnabledFlag(ConfigurationModel):
|
||||
enabled for this to take effect.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: CourseHLSPlaybackEnabledFlag.course_id
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: Add the "hls" profile to all displayed videos for a single course.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2017-04-19
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/14924
|
||||
"""
|
||||
KEY_FIELDS = ('course_id',)
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ from django.core.exceptions import ObjectDoesNotExist
|
||||
from oauth2_provider.models import Application
|
||||
from slumber.exceptions import HttpClientError
|
||||
|
||||
from openedx.core.djangoapps.video_pipeline.config.waffle import ENABLE_VEM_PIPELINE, waffle_flags
|
||||
from openedx.core.djangoapps.video_pipeline.models import VEMPipelineIntegration, VideoPipelineIntegration
|
||||
from openedx.core.djangoapps.video_pipeline.utils import create_video_pipeline_api_client
|
||||
|
||||
|
||||
@@ -8,8 +8,26 @@ from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag, WaffleFlag, W
|
||||
# Videos Namespace
|
||||
WAFFLE_NAMESPACE = 'videos'
|
||||
|
||||
# Waffle flag telling whether youtube is deprecated.
|
||||
# .. toggle_name: videos.deprecate_youtube
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Waffle flag telling whether youtube is deprecated. When enabled, videos are no longer uploaded
|
||||
# to YouTube as part of the video pipeline.
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2018-08-03
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/18765
|
||||
DEPRECATE_YOUTUBE = 'deprecate_youtube'
|
||||
# .. toggle_name: videos.enable_devstack_video_uploads
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: When enabled, use Multi-Factor Authentication (MFA) for authenticating to AWS. These short-
|
||||
# lived access tokens are well suited for development (probably?). [At the time of annotation, the exact consequences
|
||||
# of enabling this feature toggle are uncertain.]
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2020-03-12
|
||||
# .. toggle_warnings: Enabling this feature requires that the ROLE_ARN, MFA_SERIAL_NUMBER, MFA_TOKEN settings are
|
||||
# properly defined.
|
||||
# .. toggle_tickets: https://github.com/edx/edx-platform/pull/23375
|
||||
ENABLE_DEVSTACK_VIDEO_UPLOADS = 'enable_devstack_video_uploads'
|
||||
ENABLE_VEM_PIPELINE = 'enable_vem_pipeline'
|
||||
|
||||
|
||||
@@ -50,6 +50,15 @@ class VEMPipelineIntegration(ConfigurationModel):
|
||||
Manages configuration for connecting to the video encode manager service and using its API.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: VEMPipelineIntegration.enabled
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: Send videos to the Video Encode Manager (VEM) as part of the
|
||||
video pipeline.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2020-06-04
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/24093
|
||||
"""
|
||||
client_name = models.CharField(
|
||||
max_length=100,
|
||||
@@ -80,9 +89,18 @@ class VEMPipelineIntegration(ConfigurationModel):
|
||||
@python_2_unicode_compatible
|
||||
class VideoUploadsEnabledByDefault(ConfigurationModel):
|
||||
"""
|
||||
Enables video uploads enabled By default feature across the platform.
|
||||
Enables video uploads across the platform.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: VideoUploadsEnabledByDefault.enabled_for_all_courses
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: Allow video uploads for all courses of the platform. This
|
||||
enables the "Video Uploads" menu in the CMS.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2017-11-10
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/16536
|
||||
"""
|
||||
# this field overrides course-specific settings
|
||||
enabled_for_all_courses = models.BooleanField(default=False)
|
||||
@@ -122,10 +140,18 @@ class VideoUploadsEnabledByDefault(ConfigurationModel):
|
||||
@python_2_unicode_compatible
|
||||
class CourseVideoUploadsEnabledByDefault(ConfigurationModel):
|
||||
"""
|
||||
Enables video uploads enabled by default feature for a specific course. Its global feature must be
|
||||
enabled for this to take effect.
|
||||
Enables video uploads for a specific course.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: CourseVideoUploadsEnabledByDefault.course_id
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: Allow video uploads for a specific course. This enables the
|
||||
"Video Uploads" menu in the CMS.
|
||||
.. toggle_use_cases: open_edx
|
||||
.. toggle_creation_date: 2017-11-10
|
||||
.. toggle_tickets: https://github.com/edx/edx-platform/pull/16536
|
||||
"""
|
||||
KEY_FIELDS = ('course_id',)
|
||||
|
||||
|
||||
@@ -7,14 +7,11 @@ import json
|
||||
import ddt
|
||||
from django.test.testcases import TestCase
|
||||
from mock import Mock, patch
|
||||
from opaque_keys.edx.locations import CourseLocator
|
||||
from slumber.exceptions import HttpClientError
|
||||
from student.tests.factories import UserFactory
|
||||
|
||||
from openedx.core.djangoapps.video_pipeline.api import update_3rd_party_transcription_service_credentials
|
||||
from openedx.core.djangoapps.video_pipeline.config.waffle import ENABLE_VEM_PIPELINE, waffle_flags
|
||||
from openedx.core.djangoapps.video_pipeline.tests.mixins import VideoPipelineMixin
|
||||
from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
|
||||
@@ -378,17 +378,14 @@ def _get_waffle_flag_custom_metrics_set():
|
||||
waffle_flag_custom_metrics = waffle_flag_custom_metrics if waffle_flag_custom_metrics else []
|
||||
return set(waffle_flag_custom_metrics)
|
||||
|
||||
# .. toggle_name: WAFFLE_FLAG_CUSTOM_METRICS
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A list of waffle flag to track with custom metrics having values of (True, False, or Both).
|
||||
# .. toggle_category: monitoring
|
||||
# .. toggle_use_cases: opt_in
|
||||
# .. toggle_creation_date: 2020-06-17
|
||||
# .. toggle_expiration_date: None
|
||||
# .. toggle_tickets: None
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: Intent is for temporary research (1 day - several weeks) of a flag's usage.
|
||||
# .. toggle_name: WAFFLE_FLAG_CUSTOM_METRICS
|
||||
# .. toggle_implementation: DjangoSetting
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: A list of waffle flag to track with custom metrics having
|
||||
# values of (True, False, or Both).
|
||||
# .. toggle_use_cases: opt_in
|
||||
# .. toggle_creation_date: 2020-06-17
|
||||
# .. toggle_warnings: Intent is for temporary research (1 day - several weeks) of a flag's usage.
|
||||
_WAFFLE_FLAG_CUSTOM_METRICS = 'WAFFLE_FLAG_CUSTOM_METRICS'
|
||||
|
||||
# set of waffle flags that should be instrumented with custom metrics
|
||||
|
||||
@@ -18,6 +18,15 @@ class CourseDurationLimitConfig(StackedConfigurationModel):
|
||||
Configuration to manage the Course Duration Limit facility.
|
||||
|
||||
.. no_pii:
|
||||
|
||||
.. toggle_name: CourseDurationLimitConfig.enabled
|
||||
.. toggle_implementation: ConfigurationModel
|
||||
.. toggle_default: False
|
||||
.. toggle_description: When enabled, users will have a limited time to complete and audit the course. The exact
|
||||
duration is given by the "weeks_to_complete" course detail. When enabled, it is necessary to also define the
|
||||
"enabled_as_of" flag: only enrollments created after this date will be affected.
|
||||
.. toggle_use_cases: opt_in
|
||||
.. toggle_creation_date: 2018-11-02
|
||||
"""
|
||||
|
||||
STACKABLE_FIELDS = ('enabled', 'enabled_as_of')
|
||||
|
||||
@@ -90,13 +90,12 @@ COURSE_PRE_START_ACCESS_FLAG = WaffleFlag(WAFFLE_FLAG_NAMESPACE, 'pre_start_acce
|
||||
# .. toggle_implementation: CourseWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Used with our integration with CourseTalk to display reviews for a course.
|
||||
# .. toggle_category: course_experience
|
||||
# .. toggle_use_cases: monitored_rollout
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2017-06-19
|
||||
# .. toggle_expiration_date: ???
|
||||
# .. toggle_warnings: We are no longer integrating with CourseTalk, so this probably should be deprecated and the code for reviews should be removed.
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: We are no longer integrating with CourseTalk, so this probably should be deprecated and the code
|
||||
# for reviews should be removed. This temporary feature toggle should have a target removal date.
|
||||
# .. toggle_tickets: DEPR-48
|
||||
# .. toggle_status: unsupported
|
||||
SHOW_REVIEWS_TOOL_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'show_reviews_tool', __name__)
|
||||
|
||||
# Waffle flag to enable the setting of course goals.
|
||||
@@ -104,13 +103,10 @@ SHOW_REVIEWS_TOOL_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'show_reviews_t
|
||||
# .. toggle_implementation: CourseWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Used to determine whether or not to use course goals for the particular course.
|
||||
# .. toggle_category: course_experience
|
||||
# .. toggle_use_cases: opt_out, monitored_rollout
|
||||
# .. toggle_use_cases: opt_out, temporary
|
||||
# .. toggle_creation_date: 2017-09-11
|
||||
# .. toggle_expiration_date: ???
|
||||
# .. toggle_warnings: N/A
|
||||
# .. toggle_tickets: N/A
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
ENABLE_COURSE_GOALS = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'enable_course_goals', __name__)
|
||||
|
||||
# Waffle flag to control the display of the hero
|
||||
@@ -124,13 +120,10 @@ UPGRADE_DEADLINE_MESSAGE = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'upgrade_dead
|
||||
# .. toggle_implementation: CourseWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Used to switch between 'welcome message' and 'latest update' on the course home page.
|
||||
# .. toggle_category: course_experience
|
||||
# .. toggle_use_cases: opt_out
|
||||
# .. toggle_creation_date: 2017-09-11
|
||||
# .. toggle_expiration_date: ???
|
||||
# .. toggle_warnings: This is meant to be configured using waffle_utils course override only. Either do not create the actual waffle flag, or be sure to unset the flag even for Superusers.
|
||||
# .. toggle_tickets: N/A
|
||||
# .. toggle_status: supported
|
||||
# .. toggle_warnings: This is meant to be configured using waffle_utils course override only. Either do not create the
|
||||
# actual waffle flag, or be sure to unset the flag even for Superusers.
|
||||
LATEST_UPDATE_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'latest_update', __name__)
|
||||
|
||||
# Waffle flag to enable anonymous access to a course
|
||||
|
||||
@@ -13,13 +13,8 @@ WAFFLE_NAMESPACE = u'course_experience'
|
||||
# .. toggle_implementation: CourseWaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Used to determine whether to show custom HTML in the sidebar on the internal course about page.
|
||||
# .. toggle_category: course-experience
|
||||
# .. toggle_use_cases: open_edx
|
||||
# .. toggle_creation_date: 2018-01-26
|
||||
# .. toggle_expiration_date: ???
|
||||
# .. toggle_warnings: N/A
|
||||
# .. toggle_tickets: N/A
|
||||
# .. toggle_status: supported
|
||||
ENABLE_COURSE_ABOUT_SIDEBAR_HTML = u'enable_about_sidebar_html'
|
||||
|
||||
|
||||
|
||||
@@ -26,17 +26,15 @@ from openedx.features.discounts.models import DiscountPercentageConfig, Discount
|
||||
from student.models import CourseEnrollment
|
||||
from track import segment
|
||||
|
||||
# .. feature_toggle_name: discounts.enable_discounting
|
||||
# .. feature_toggle_type: flag
|
||||
# .. feature_toggle_default: False
|
||||
# .. feature_toggle_description: Toggle discounts always being disabled
|
||||
# .. feature_toggle_category: discounts
|
||||
# .. feature_toggle_use_cases: monitored_rollout
|
||||
# .. feature_toggle_creation_date: 2019-4-16
|
||||
# .. feature_toggle_expiration_date: None
|
||||
# .. feature_toggle_warnings: None
|
||||
# .. feature_toggle_tickets: REVEM-282
|
||||
# .. feature_toggle_status: supported
|
||||
# .. toggle_name: discounts.enable_discounting
|
||||
# .. toggle_type: flag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Toggle discounts always being disabled
|
||||
# .. toggle_use_cases: temporary
|
||||
# .. toggle_creation_date: 2019-4-16
|
||||
# .. toggle_target_removal_date: None
|
||||
# .. toggle_tickets: REVEM-282
|
||||
# .. toggle_warnings: This temporary feature toggle does not have a target removal date.
|
||||
DISCOUNT_APPLICABILITY_FLAG = WaffleFlag(
|
||||
waffle_namespace=WaffleFlagNamespace(name=u'discounts'),
|
||||
flag_name=u'enable_discounting',
|
||||
|
||||
@@ -15,13 +15,11 @@ WAFFLE_FLAG_NAMESPACE = WaffleFlagNamespace(name='learner_profile')
|
||||
# .. toggle_implementation: WaffleFlag
|
||||
# .. toggle_default: False
|
||||
# .. toggle_description: Supports staged rollout of a new micro-frontend-based implementation of the profile page.
|
||||
# .. toggle_category: micro-frontend
|
||||
# .. toggle_use_cases: incremental_release, open_edx
|
||||
# .. toggle_use_cases: temporary, open_edx
|
||||
# .. toggle_creation_date: 2019-02-19
|
||||
# .. toggle_expiration_date: 2020-12-31
|
||||
# .. toggle_target_removal_date: 2020-12-31
|
||||
# .. toggle_warnings: Also set settings.PROFILE_MICROFRONTEND_URL and site's ENABLE_PROFILE_MICROFRONTEND.
|
||||
# .. toggle_tickets: DEPR-17
|
||||
# .. toggle_status: supported
|
||||
REDIRECT_TO_PROFILE_MICROFRONTEND = WaffleFlag(WAFFLE_FLAG_NAMESPACE, 'redirect_to_microfrontend', __name__)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user