Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions cms/djangoapps/contentstore/config/waffle.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,13 +50,11 @@ def waffle_flags():
# .. 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',
Expand Down
72 changes: 28 additions & 44 deletions cms/envs/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,9 +170,10 @@
'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': '',
Expand Down Expand Up @@ -303,8 +304,6 @@
# 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
Expand Down Expand Up @@ -338,14 +337,11 @@
# .. 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 ###
Expand All @@ -354,42 +350,36 @@
# .. 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
Expand All @@ -400,26 +390,24 @@
# 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,
}

Expand Down Expand Up @@ -2271,26 +2259,22 @@
# .. 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 #####
Expand Down
6 changes: 2 additions & 4 deletions doc.rst.j2
Original file line number Diff line number Diff line change
Expand Up @@ -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 -%}
Expand Down
21 changes: 9 additions & 12 deletions lms/djangoapps/bulk_email/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -468,18 +468,6 @@ def __str__(self):
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):
"""
Expand All @@ -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)
Expand Down
16 changes: 16 additions & 0 deletions lms/djangoapps/course_api/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,21 @@

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__)
14 changes: 4 additions & 10 deletions lms/djangoapps/course_api/blocks/toggles.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,17 @@
"""


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',
Expand Down
28 changes: 13 additions & 15 deletions lms/djangoapps/courseware/toggles.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,35 +8,33 @@
# 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__
)
9 changes: 3 additions & 6 deletions lms/djangoapps/discussion/config/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,11 @@
# .. 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'


Expand Down
24 changes: 9 additions & 15 deletions lms/djangoapps/experiments/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,11 @@
# .. 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',
Expand All @@ -55,13 +53,11 @@
# .. 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)

Expand All @@ -70,13 +66,11 @@
# .. 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',
Expand Down
Loading