Feature Toggles#
This is the list of all Open edX feature toggles used in edx-platform. These feature toggles can be used to enable or disable features manually on every platform.
ALLOW_HIDING_DISCUSSION_TAB#
Default: False
Source: lms/djangoapps/discussion/settings/common.py (line 6)
Desc: If True, it adds an option to show/hide the discussions tab.
Creation Date: 2015-06-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ALLOW_PUBLIC_ACCOUNT_CREATION#
Default: True
Source: openedx/envs/common.py (line 1228)
Desc: Allow public account creation. If this is disabled, users will no longer have access to the signup page.
Creation Date: 2017-04-12
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ANONYMOUS_SURVEY_REPORT#
Default: False
Source: lms/envs/common.py (line 3235)
Desc: If enable, the survey report will be send a UUID as ID instead of use lms site name.
Creation Date: 2023-02-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
AUTOMATIC_AUTH_FOR_TESTING#
Default: False
Source: openedx/envs/common.py (line 1068)
Desc: Set to True to perform acceptance and load test. Auto auth view is responsible for load testing and is controlled by this feature flag. Session verification (of CacheBackedAuthenticationMiddleware) is a security feature, but it can be turned off by enabling this feature flag.
Warning
If this has been set to True then the account activation email will be skipped.
Creation Date: 2013-07-25
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
BADGES_ENABLED#
Default: False
Source: openedx/envs/common.py (line 1357)
Desc: Set to True to enable badges functionality.
Creation Date: 2024-04-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
BULK_EMAIL_SEND_USING_EDX_ACE#
Default: False
Source: lms/djangoapps/bulk_email/toggles.py (line 19)
Desc: If True, use edx-ace to send bulk email messages
Creation Date: 2022-02-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
CERTIFICATES_HTML_VIEW#
Default: False
Source: openedx/envs/common.py (line 1152)
Desc: Set to True to enable course certificates on your instance of Open edX.
Warning
You must enable this feature flag in both Studio and the LMS and complete the configuration tasks described here: https://docs.openedx.org/en/latest/site_ops/install_configure_run_guide/configuration/enable_certificates.html pylint: disable=line-too-long,useless-suppression
Creation Date: 2015-03-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
COURSES_INVITE_ONLY#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 114)
Desc: Setting this sets the default value of INVITE_ONLY across all courses in a given deployment
Creation Date: 2019-05-16
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
CREATE_COURSE_WITH_DEFAULT_ENROLLMENT_START_DATE#
Default: False
Source: build/lib/xmodule/course_block.py (line 63)
Desc: The default behavior, when this is disabled, is that a newly created course has no enrollment_start date set. When the feature is enabled - the newly created courses will have the enrollment_start_date set to DEFAULT_START_DATE. This is intended to be a permanent option. This toggle affects the course listing pages (platform’s index page, /courses page) when course search is performed using the `lms.djangoapp.branding.get_visible_courses` method and the COURSE_CATALOG_VISIBILITY_PERMISSION setting is set to ‘see_exists’. Switching the toggle to True will prevent the newly created (empty) course from appearing in the course listing.
Creation Date: 2023-06-22
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
CUSTOM_COURSES_EDX#
Default: False
Source: openedx/envs/common.py (line 1052)
Desc: Set to True to enable Custom Courses for edX, a feature that is more commonly known as CCX. Documentation for configuring and using this feature is available at https://docs.openedx.org/en/latest/site_ops/install_configure_run_guide/configuration/enable_ccx.html
Warning
When set to true, ‘lms.djangoapps.ccx.overrides.CustomCoursesForEdxOverrideProvider’ will be added to MODULESTORE_FIELD_OVERRIDE_PROVIDERS
Creation Date: 2015-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’, ‘circuit_breaker’]
CourseDurationLimitConfig.enabled#
Default: False
Source: openedx/features/course_duration_limits/models.py (line 15)
Desc: 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.
Creation Date: 2018-11-02
Implementation: [‘ConfigurationModel’]
Use Cases: [‘opt_in’]
CourseHLSPlaybackEnabledFlag.course_id#
Default: False
Source: openedx/core/djangoapps/video_config/models.py (line 67)
Desc: Add the “hls” profile to all displayed videos for a single course.
Creation Date: 2017-04-19
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
CourseVideoUploadsEnabledByDefault.course_id#
Default: False
Source: openedx/core/djangoapps/video_pipeline/models.py (line 104)
Desc: Allow video uploads for a specific course. This enables the “Video Uploads” menu in the CMS.
Creation Date: 2017-11-10
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
DEFAULT_MOBILE_AVAILABLE#
Default: False
Source: openedx/envs/common.py (line 2398)
Desc: This specifies if the courses are available for mobile by default. To make any individual course available for mobile one can set the value of Mobile Course Available to true in Advanced Settings from the studio when this is False.
Creation Date: 2021-01-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
DISABLE_DEPRECATED_SIGNIN_URL#
Default: False
Source: cms/envs/common.py (line 1162)
Desc: Toggle for removing the deprecated /signin url.
Warning
This url can be removed once it no longer has any real traffic.
Creation Date: 2019-12-02
Target Removal Date: 2020-06-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
DISABLE_DEPRECATED_SIGNUP_URL#
Default: False
Source: cms/envs/common.py (line 1173)
Desc: Toggle for removing the deprecated /signup url.
Warning
This url can be removed once it no longer has any real traffic.
Creation Date: 2019-12-02
Target Removal Date: 2020-06-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
DISABLE_JWT_FOR_MOBILE#
Default: False
Source: openedx/core/djangoapps/oauth_dispatch/toggles.py (line 10)
Desc: Set toggle to True to ignore mobile requests for JWTs, and instead provide the legacy opaque Bearer token. This toggle can be used as a temporary kill switch as the mobile app attempts to rollout the transition to JWT authentication for the first time.
Creation Date: 2022-10-14
Target Removal Date: 2022-12-30
Implementation: [‘WaffleSwitch’]
Use Cases: [‘temporary’]
DISABLE_START_DATES#
Default: False
Source: openedx/envs/common.py (line 990)
Desc: When True, all courses will be active, regardless of start date.
Warning
This will cause ALL courses to be immediately visible.
Creation Date: 2012-07-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
DISABLE_UNENROLLMENT#
Default: False
Source: openedx/envs/common.py (line 1345)
Desc: Set to True to disable self-unenrollments via REST API. This also hides the “Unenroll” button on the Learner Dashboard.
Warning
For consistency in user experience, keep the value in sync with the setting of the same name in the LMS and CMS.
Creation Date: 2021-10-11
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
EMBARGO#
Default: False
Source: openedx/envs/common.py (line 1092)
Desc: Turns on embargo functionality, which blocks users from the site or courses based on their location. Embargo can restrict users by states and whitelist/blacklist (IP Addresses (ie. 10.0.0.0), Networks (ie. 10.0.0.0/24)), or the user profile country.
Warning
reverse proxy should be configured appropriately for example Client IP address headers (e.g HTTP_X_FORWARDED_FOR) should be configured.
Creation Date: 2014-02-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_AUTHN_LOGIN_BLOCK_HIBP_POLICY#
Default: False
Source: lms/envs/common.py (line 2925)
Desc: When enabled, this toggle prevents the use of known-vulnerable passwords in the login flow if their frequency exceeds a threshold. Passwords are assessed by calling the Pwned Passwords service using a k-anonymity method that does not expose the password. The service tells us whether the password has been seen in any data breaches, and if so, how often. This count is converted to a “frequency” by taking the logarithm base 10. The login flow can reject all vulnerable passwords, or only passwords with a frequency above a configured threshold. In existing deployments, the threshold should be set high and tightened gradually in order to avoid large spikes in password resets and support requests. For example, setting ``HIBP_LOGIN_BLOCK_PASSWORD_FREQUENCY_THRESHOLD`` to 5 would reject logins when the password has been seen 100,000 or more times in the Pwned Passwords dataset. The goal should be to gradually reduce this to 0, meaning even a single occurrence will cause a rejection. (The threshold can take any real-number value.)
Creation Date: 2022-03-29
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_AUTHN_LOGIN_NUDGE_HIBP_POLICY#
Default: False
Source: lms/envs/common.py (line 2910)
Desc: When enabled, the login flow detects vulnerable passwords and prompts users to change their password if their frequency exceeds a threshold. See ENABLE_AUTHN_LOGIN_BLOCK_HIBP_POLICY for more details.
Creation Date: 2022-03-29
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_AUTHN_REGISTER_HIBP_POLICY#
Default: False
Source: lms/envs/common.py (line 2895)
Desc: When enabled, this toggle prevents the use of known-vulnerable passwords in the registration flow if their frequency exceeds a threshold. See ENABLE_AUTHN_LOGIN_BLOCK_HIBP_POLICY for more details.
Creation Date: 2022-03-25
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_AUTHN_RESET_PASSWORD_HIBP_POLICY#
Default: False
Source: lms/envs/common.py (line 2885)
Desc: When enabled, this toggle prevents the use of known-vulnerable passwords in the password reset flow. See ENABLE_AUTHN_LOGIN_BLOCK_HIBP_POLICY for more details.
Creation Date: 2021-12-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_AUTO_GENERATED_USERNAME#
Default: False
Source: openedx/core/djangoapps/user_authn/toggles.py (line 29)
Desc: Set to True to enable auto-generation of usernames.
Warning
Changing this setting may affect user authentication, account management and discussions experience.
Creation Date: 2024-02-20
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_CHANGE_USER_PASSWORD_ADMIN#
Default: False
Source: openedx/envs/common.py (line 1275)
Desc: 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.
Creation Date: 2020-02-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_COMPREHENSIVE_THEMING#
Default: False
Source: openedx/envs/common.py (line 2446)
Desc: When enabled, this toggle activates the use of the custom theme defined by DEFAULT_SITE_THEME.
Creation Date: 2016-06-30
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_CONTENT_LIBRARIES#
Default: True
Source: cms/djangoapps/contentstore/toggles.py (line 258)
Desc: Enables use of the legacy and v2 libraries waffle flags. Note that legacy content libraries are only supported in courses using split mongo.
Warning
This flag is deprecated in Sumac, and will be removed in favor of the disable_legacy_libraries and disable_new_libraries waffle flags.
Creation Date: 2015-03-06
Target Removal Date: 2025-04-09
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
ENABLE_COPPA_COMPLIANCE#
Default: False
Source: openedx/envs/common.py (line 1376)
Desc: When True, enforces COPPA compliance and removes YOB field from registration form and account
Creation Date: 2021-10-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_CREDIT_ELIGIBILITY#
Default: True
Source: openedx/envs/common.py (line 1366)
Desc: 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.
Creation Date: 2015-06-17
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_CSMH_EXTENDED#
Default: True
Source: openedx/envs/common.py (line 1209)
Desc: Write Courseware Student Module History (CSMH) to the extended table: this logs all student activities to MySQL, in a separate database.
Warning
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 “lms.djangoapps.coursewarehistoryextended” from the INSTALLED_APPS and the “StudentModuleHistoryExtendedRouter” from the DATABASE_ROUTERS. This is needed in the LMS and CMS for migration consistency.
Creation Date: 2020-11-05
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_DATES_COURSE_APP#
Default: False
Source: cms/envs/common.py (line 246)
Desc: Controls whether the Dates course app is surfaced via the course apps API/UI.
Creation Date: 2026-02-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_DISCUSSION_SERVICE#
Default: True
Source: openedx/envs/common.py (line 1003)
Desc: When True, it will enable the Discussion tab in courseware for all courses. Setting this to False will not contain inline discussion components and discussion tab in any courses.
Warning
If the discussion panel is present in the course and the value for this flag is False then, attempting to expand those components will cause errors. So, this should only be set to False with an LMS that is running courses that do not contain discussion components. For consistency in user-experience, keep the value in sync with the setting of the same name in the CMS.
Creation Date: 2012-08-14
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_DYNAMIC_REGISTRATION_FIELDS#
Default: False
Source: openedx/envs/common.py (line 1892)
Desc: When enabled, this toggle adds fields configured in
Creation Date: 2022-04-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
ENABLE_EXPORT_GIT#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 9)
Desc: When enabled, a “Export to Git” menu item is added to the course studio for courses that have a valid “giturl” attribute. Exporting a course to git causes the course to be exported in the directory indicated by the GIT_REPO_EXPORT_DIR setting. Note that when this feature is disabled, courses can still be exported to git with the git_export management command.
Warning
To enable this feature, the GIT_REPO_EXPORT_DIR setting must be properly defined and point to an existing directory.
Creation Date: 2014-02-13
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
ENABLE_HELP_LINK#
Default: True
Source: openedx/envs/common.py (line 1031)
Desc: When True, a help link is displayed on the main navbar. Set False to hide it.
Creation Date: 2021-03-05
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_INTEGRITY_SIGNATURE#
Default: False
Source: openedx/envs/common.py (line 1312)
Desc: Whether to display honor code agreement for learners before their first grade assignment.
Creation Date: 2022-02-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_LEARNER_RECORDS#
Default: True
Source: openedx/core/djangoapps/credentials/helpers.py (line 9)
Desc: Enable learner records for the whole platform. This setting may be overridden by site- and org-specific site configurations with the same name.
Warning
Enabling this feature requires that the definition of the ``CREDENTIALS_PUBLIC_SERVICE_URL`` setting.
Creation Date: 2020-10-01
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
ENABLE_LTI_PII_ACKNOWLEDGEMENT#
Default: False
Source: openedx/envs/common.py (line 1323)
Desc: Enables the lti pii acknowledgement feature for a course
Creation Date: 2023-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_MFE_CONFIG_API#
Default: False
Source: lms/envs/common.py (line 3048)
Desc: Set to True to enable MFE Config API. This is disabled by default.
Creation Date: 2022-05-20
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_MKTG_SITE#
Default: False
Source: openedx/envs/common.py (line 1106)
Desc: Toggle to enable alternate urls for marketing links.
Warning
When this is enabled, the MKTG_URLS setting should be defined. The use case of this feature toggle is uncertain.
Creation Date: 2014-03-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_ORA_ALL_FILE_URLS#
Default: False
Source: openedx/envs/common.py (line 1287)
Desc: 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.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2020-03-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
ENABLE_ORA_TEAM_SUBMISSIONS#
Default: False
Source: lms/djangoapps/teams/toggles.py (line 12)
Desc: Set to True to enable team-based ORA submissions.
Warning
This temporary feature toggle does not have a target removal date. This can be overridden by a course waffle flags or a waffle switch with identical name.
Creation Date: 2020-03-03
Implementation: [‘SettingToggle’]
Use Cases: [‘temporary’]
ENABLE_ORA_USER_STATE_UPLOAD_DATA#
Default: False
Source: openedx/envs/common.py (line 1300)
Desc: 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.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2020-03-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
ENABLE_PASSWORD_RESET_FAILURE_EMAIL#
Default: False
Source: openedx/envs/common.py (line 1250)
Desc: 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.
Creation Date: 2017-07-20
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_REQUIRE_THIRD_PARTY_AUTH#
Default: False
Source: lms/envs/common.py (line 751)
Desc: Set to True to prevent using username/password login and registration and only allow authentication with third party auth
Warning
Requires configuration of third party auth
Creation Date: 2020-09-16
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_SPECIAL_EXAMS#
Default: False
Source: openedx/envs/common.py (line 1174)
Desc: Enable to use special exams, aka timed and proctored exams.
Creation Date: 2015-09-04
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENABLE_TEXTBOOK#
Default: True
Source: openedx/envs/common.py (line 1016)
Desc: Add PDF and HTML textbook tabs to the courseware.
Warning
For consistency in user-experience, keep the value in sync with the setting of the same name in the CMS.
Creation Date: 2014-03-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
ENFORCE_SAFE_SESSIONS#
Default: True
Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 136)
Desc: Invalidate session and response if mismatch detected. That is, when the `user` attribute of the request object gets changed or no longer matches the session, the session will be invalidated and the response cancelled (changed to an error). This is intended as a backup safety measure in case an attacker (or bug) is able to change the user on a session in an unexpected way.
Warning
Should be disabled if debugging mismatches using the LOG_REQUEST_USER_CHANGE_HEADERS toggle, otherwise series of mismatching requests from the same user cannot be investigated. Additionally, if enabling for the first time, confirm that incidences of the string “SafeCookieData user at request” in the logs are very rare; if they are not, it is likely that there is either a bug or that a login or registration endpoint needs to call ``mark_user_change_as_expected``.
Creation Date: 2021-12-01
Implementation: [‘SettingToggle’]
Use Cases: [‘opt_out’]
ENFORCE_SESSION_EMAIL_MATCH#
Default: False
Source: lms/envs/common.py (line 2951)
Desc: When enabled, this setting invalidates sessions in other browsers upon email change, while preserving the session validity in the browser where the email change occurs. This toggle is just being used for rollout.
Creation Date: 2023-12-07
Target Removal Date: 2024-04-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
ENTRANCE_EXAMS#
Default: False
Source: openedx/core/toggles.py (line 9)
Desc: Enable entrance exams feature. When enabled, students see an exam xblock as the first unit of the course.
Creation Date: 2015-12-01
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
EVENT_BUS_PRODUCER_CONFIG[‘org.openedx.learning.course.unenrollment.completed.v1’] [‘course-unenrollment-lifecycle’][‘enabled’]#
Default: False
Source: lms/envs/common.py (line 3176)
Desc: Enables sending COURSE_UNENROLLMENT_COMPLETED events over the event bus.
Warning
The default may be changed in a later release. See https://github.com/openedx/openedx-events/issues/265
Creation Date: 2023-09-18
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
EVENT_BUS_PRODUCER_CONFIG[‘org.openedx.learning.xblock.skill.verified.v1’] [‘learning-xblock-skill-verified’][‘enabled’]#
Default: False
Source: lms/envs/common.py (line 3191)
Desc: Enables sending xblock_skill_verified events over the event bus.
Warning
The default may be changed in a later release. See https://github.com/openedx/openedx-events/issues/265
Creation Date: 2023-09-18
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘ALLOW_AUTOMATED_SIGNUPS’]#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 62)
Desc: Enable to show a section in the membership tab of the instructor dashboard to allow an upload of a CSV file that contains a list of new accounts to create and register for course.
Creation Date: 2014-10-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘ALLOW_COURSE_STAFF_GRADE_DOWNLOADS’]#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 52)
Desc: Enable to give course staff unrestricted access to grade downloads; if set to False, only edX superusers can perform the downloads.
Creation Date: 2018-03-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘BATCH_ENROLLMENT_NOTIFY_USERS_DEFAULT’]#
Default: True
Source: lms/djangoapps/instructor/settings/common.py (line 101)
Desc: Controls if the “Notify users by email” checkbox in the batch enrollment form on the instructor dashboard is already checked on page load or not.
Creation Date: 2017-07-05
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_out’]
FEATURES[‘CERTIFICATES_INSTRUCTOR_GENERATION’] # pylint: disable=annotation-missing-token#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 85)
Desc: Enable to allow batch generation of certificates from the instructor dashboard. In case of self-paced courses, the certificate generation button is hidden if certificate generation is not explicitly enabled globally or for the specific course.
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘DISPLAY_ANALYTICS_ENROLLMENTS’]#
Default: True
Source: lms/djangoapps/instructor/settings/common.py (line 12)
Desc: Enable display of enrollment counts in instructor dashboard and analytics section.
Creation Date: 2014-11-12
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_out’]
FEATURES[‘ENABLE_AUTOMATED_SIGNUPS_EXTRA_FIELDS’]#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 73)
Desc: When True, the CSV file that contains a list of new accounts to create and register for a course in the membership tab of the instructor dashboard will accept the cohort name to assign the new user and the enrollment course mode.
Creation Date: 2021-10-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
FEATURES[‘ENABLE_CCX_ANALYTICS_DASHBOARD_URL’]#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 22)
Desc: Display the ‘Analytics’ tab in the instructor dashboard for CCX courses. Note: This has no effect unless ANALYTICS_DASHBOARD_URL is already set, because without that setting, the tab does not show up for any courses.
Creation Date: 2016-10-07
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘ENABLE_CERTIFICATES_INSTRUCTOR_MANAGE] # pylint: disable=annotation-missing-token#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 94)
Desc: Allow course instructors to manage certificates from the instructor dashboard.
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
FEATURES[‘ENABLE_FORUM_DAILY_DIGEST’]#
Default: False
Source: lms/djangoapps/discussion/config/settings.py (line 13)
Desc: 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.
Creation Date: 2020-03-09
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
FEATURES[‘ENABLE_GRADE_DOWNLOADS’]#
Default: False
Source: lms/djangoapps/instructor/settings/common.py (line 41)
Desc: Enable grade CSV downloads from the instructor dashboard. Grade calculation started from the instructor dashboard will write grades CSV files to the configured storage backend and give links for downloads.
Creation Date: 2016-07-06
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
GLOBAL_NOTICE_ENABLED#
Default: False
Source: openedx/core/djangoapps/util/user_messages.py (line 187)
Desc: When enabled, show the contents of GLOBAL_NOTICE_MESSAGE as a message on every page. This is intended to be used as a way of communicating an upcoming or currently active maintenance window or to warn of known site issues. HTML is not supported for the message content, only plaintext. Message styling can be controlled with GLOBAL_NOTICE_TYPE, set to one of INFO, SUCCESS, WARNING, or ERROR (defaulting to INFO). Also see openedx.core.djangoapps.util.maintenance_banner.add_maintenance_banner for a variation that only shows a message on specific views.
Creation Date: 2021-09-08
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
HLSPlaybackEnabledFlag.enabled_for_all_courses#
Default: False
Source: openedx/core/djangoapps/video_config/models.py (line 16)
Desc: Add the “hls” profile to all displayed videos on the platform.
Creation Date: 2017-04-19
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
IGNORED_ERRORS[N][‘LOG_ERROR’]#
Default: False
Source: openedx/core/lib/request_utils.py (line 155)
Desc: If True, the error will be logged with a message like: “Ignored error …”.
Creation Date: 2021-03-11
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
IGNORED_ERRORS[N][‘LOG_STACK_TRACE’]#
Default: False
Source: openedx/core/lib/request_utils.py (line 162)
Desc: If True, the stacktrace will be included with the logging message.
Warning
Requires ``LOG_ERROR`` to be set to True, otherwise this value will be ignored.
Creation Date: 2021-03-11
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
JWT_AUTH_ADD_KID_HEADER#
Default: False
Source: openedx/core/djangoapps/oauth_dispatch/jwt.py (line 279)
Desc: When True, add KID header to JWT using asymmetrical key.
Creation Date: 2024-03-20
Target Removal Date: 2024-04-20
Implementation: [‘SettingToggle’]
Use Cases: [‘temporary’]
JWT_AUTH_FORCE_CREATE_ASYMMETRIC#
Default: False
Source: openedx/core/djangoapps/oauth_dispatch/jwt.py (line 204)
Desc: When True, forces the LMS to only create JWTs signed with the asymmetric key. This is a temporary rollout toggle for DEPR of symmetric JWTs.
Creation Date: 2023-04-10
Target Removal Date: 2023-07-31
Implementation: [‘SettingToggle’]
Use Cases: [‘temporary’]
LICENSING#
Default: False
Source: openedx/envs/common.py (line 1142)
Desc: Toggle platform-wide course licensing. The course.license attribute is then used to append license information to the courseware.
Creation Date: 2015-05-14
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
LOG_REQUEST_USER_CHANGES#
Default: False
Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 101)
Desc: Turn this toggle on to provide additional debugging information in the case of a user verification error. It will track anytime the `user` attribute of a request object is changed and store this information on the request. This will also track the location where the change is coming from to quickly find issues. If user verification fails at response time, all of the information about these changes will be logged.
Warning
Adds some processing overhead to all requests to gather debug info. Will also double the logging for failed verification checks.
Creation Date: 2021-03-25
Implementation: [‘SettingToggle’]
Use Cases: [‘opt_in’]
LOG_REQUEST_USER_CHANGE_HEADERS#
Default: False
Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 116)
Desc: Turn this toggle on to log all request headers, for all requests, for all user ids involved in any user id change detected by safe sessions. The headers will provide additional debugging information. The headers will be logged for all requests up until LOG_REQUEST_USER_CHANGE_HEADERS_DURATION seconds after the time of the last mismatch. The header details will be encrypted, and only available with the private key.
Warning
Logging headers of subsequent requests following a mismatch will only work if LOG_REQUEST_USER_CHANGES is enabled and ENFORCE_SAFE_SESSIONS is disabled; otherwise, only headers of the initial mismatch will be logged. Also, SAFE_SESSIONS_DEBUG_PUBLIC_KEY must be set. See https://github.com/openedx/edx-platform/blob/master/common/djangoapps/util/log_sensitive.py for instructions.
Creation Date: 2021-12-22
Implementation: [‘SettingToggle’]
Use Cases: [‘opt_in’]
MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW#
Default: False
Source: openedx/envs/common.py (line 1333)
Desc: If enabled, the Library Content Block is marked as complete when users view it. Otherwise (by default), all children of this block must be completed.
Warning
For consistency in user-experience, keep the value in sync between the LMS and CMS
Creation Date: 2022-03-22
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
MILESTONES_APP#
Default: False
Source: common/djangoapps/util/milestones_helpers.py (line 24)
Desc: Enable the milestones application, which manages significant Course and/or Student events in the Open edX platform. (see https://github.com/openedx/edx-milestones) Note that this feature is required to enable course pre-requisites.
Creation Date: 2014-11-21
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
ORGANIZATIONS_AUTOCREATE#
Default: True
Source: cms/envs/common.py (line 1192)
Desc: When enabled, creating a course run or content library with an “org slug” that does not map to an Organization in the database will trigger the creation of a new Organization, with its name and short_name set to said org slug. When disabled, creation of such content with an unknown org slug will instead result in a validation error. If you want the Organization table to be an authoritative information source in Studio, then disable this; however, if you want the table to just be a reflection of the orgs referenced in Studio content, then leave it enabled.
Creation Date: 2020-11-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
RATELIMIT_ENABLE#
Default: True
Source: lms/envs/common.py (line 2806)
Desc: When enabled, RATELIMIT_RATE is applied. When disabled, RATELIMIT_RATE is not applied.
Creation Date: 2018-01-08
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
REDACT_CERTIFICATES_HISTORICAL_PII#
Default: False
Source: lms/djangoapps/certificates/config.py (line 18)
Desc: Clears the `name` field in the django-simple-history audit table for retiring users’ certificate records.
Creation Date: 2026-05-29
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
RESTRICT_AUTOMATIC_AUTH#
Default: True
Source: openedx/envs/common.py (line 1080)
Desc: 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.
Creation Date: 2018-05-07
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SAML_METADATA_URL_ALLOW_PRIVATE_IPS#
Default: False
Source: openedx/envs/common.py (line 1938)
Desc: When False (the default), fetching SAML metadata from private IP address ranges (RFC 1918: 10.x, 172.16.x, 192.168.x) is blocked as a defense against SSRF attacks. Set to True only in deployments where the SAML Identity Provider is hosted on the same private network as the Open edX server. Note: loopback (127.x) and link-local (169.254.x) addresses remain blocked regardless of this toggle. Operators are also encouraged to enforce network-level egress filtering as a complementary control, particularly to cover hostname-based URLs that are not subject to IP validation.
Creation Date: 2026-04-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SEARCH_SKIP_INVITATION_ONLY_FILTERING#
Default: True
Source: lms/envs/common.py (line 2398)
Desc: If enabled, invitation-only courses will appear in search results.
Creation Date: 2021-08-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SEARCH_SKIP_SHOW_IN_CATALOG_FILTERING#
Default: True
Source: lms/envs/common.py (line 2405)
Desc: If enabled, courses with a catalog_visibility set to “none” will still appear in search results.
Creation Date: 2021-08-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SHOW_FOOTER_LANGUAGE_SELECTOR#
Default: False
Source: openedx/envs/common.py (line 1199)
Desc: When set to True, language selector will be visible in the footer.
Warning
LANGUAGE_COOKIE_NAME is required to use footer-language-selector, set it if it has not been set.
Creation Date: 2017-05-25
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SHOW_HEADER_LANGUAGE_SELECTOR#
Default: False
Source: openedx/envs/common.py (line 1183)
Desc: When set to True, language selector will be visible in the header.
Warning
You should set the languages in the DarkLangConfig table to get this working. If you have not set any languages in the DarkLangConfig table then the language selector will not be visible in the header.
Creation Date: 2017-05-25
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SHOW_PROGRESS_BAR#
Default: False
Source: build/lib/xmodule/seq_block.py (line 50)
Desc: Set to True to show progress bar.
Creation Date: 2022-02-09
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
SHOW_REGISTRATION_LINKS#
Default: True
Source: openedx/envs/common.py (line 1238)
Desc: Allow registration links. If this is disabled, users will no longer see buttons to the the signup page.
Creation Date: 2023-03-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SOME_FEATURE_NAME#
Default: False
Source: openedx/envs/common.py (line 1659)
Desc: Flag would be used to show account activation popup after the registration
Creation Date: 2021-06-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
SURVEY_REPORT_ENABLE#
Default: True
Source: lms/envs/common.py (line 3223)
Desc: Set to True to enable the feature to generate and send survey reports.
Creation Date: 2024-01-30
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
TPA_AUTOMATIC_LOGOUT_ENABLED#
Default: False
Source: lms/envs/common.py (line 829)
Desc: Redirect the user to the TPA logout URL if this flag is enabled, the TPA logout URL is configured, and the user logs in through TPA.
Warning
Enabling this toggle skips rendering logout.html, which is used to log the user out from the different IDAs. To ensure the user is logged out of all the IDAs be sure to redirect back to <LMS>/logout after logging out of the TPA.
Creation Date: 2023-05-07
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
USE_EXTRACTED_ANNOTATABLE_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2071)
Desc: Enables the use of the extracted annotatable XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_DISCUSSION_BLOCK#
Default: False
Source: openedx/envs/common.py (line 2107)
Desc: Enables the use of the extracted Discussion XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Warning
Not production-ready until relevant subtask https://github.com/openedx/edx-platform/issues/34827 is done.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_HTML_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2098)
Desc: Enables the use of the extracted HTML XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_LTI_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2089)
Desc: Enables the use of the extracted LTI XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_POLL_QUESTION_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2080)
Desc: Enables the use of the extracted poll question XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_PROBLEM_BLOCK#
Default: False
Source: openedx/envs/common.py (line 2117)
Desc: Enables the use of the extracted Problem XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Warning
Not production-ready until relevant subtask https://github.com/openedx/edx-platform/issues/34827 is done.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_VIDEO_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2127)
Desc: Enables the use of the extracted Video XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
USE_EXTRACTED_WORD_CLOUD_BLOCK#
Default: True
Source: openedx/envs/common.py (line 2062)
Desc: Enables the use of the extracted Word Cloud XBlock, which has been shifted to the ‘openedx/xblocks-contrib’ repo.
Creation Date: 2024-11-10
Target Removal Date: 2026-04-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
VEMPipelineIntegration.enabled#
Default: False
Source: openedx/core/djangoapps/video_pipeline/models.py (line 13)
Desc: Send videos to the Video Encode Manager (VEM) as part of the video pipeline.
Creation Date: 2020-06-04
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
VideoUploadsEnabledByDefault.enabled_for_all_courses#
Default: False
Source: openedx/core/djangoapps/video_pipeline/models.py (line 54)
Desc: Allow video uploads for all courses of the platform. This enables the “Video Uploads” menu in the CMS.
Creation Date: 2017-11-10
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
WIKI_ACCOUNT_HANDLING#
Default: False
Source: lms/envs/common.py (line 1044)
Desc: We recommend you leave this as ‘False’ for an Open edX installation to get the proper behavior for register, login and logout. For the original docs see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py
Creation Date: 2012-08-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
WIKI_ANONYMOUS#
Default: False
Source: lms/envs/common.py (line 1054)
Desc: Enabling this allows access to anonymous users. For the original docs, see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py
Warning
Setting allow anonymous access to `True` may have styling issues.
Creation Date: 2012-08-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
WIKI_ENABLED#
Default: True
Source: openedx/envs/common.py (line 2999)
Desc: This setting allows us to have a collaborative tool to contribute or modify content of course related materials.
Creation Date: 2012-07-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
WIKI_LINK_LIVE_LOOKUPS#
Default: False
Source: lms/envs/common.py (line 1079)
Desc: This setting is defined in the original docs: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py
Creation Date: 2012-08-23
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
WIKI_USE_BOOTSTRAP_SELECT_WIDGET#
Default: False
Source: lms/envs/common.py (line 1070)
Desc: Enabling this will use the bootstrap select widget. For the original docs, see: https://github.com/openedx/django-wiki/blob/edx_release/wiki/conf/settings.py
Creation Date: 2012-08-22
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
agreements.enable_lti_pii_acknowledgement#
Default: False
Source: openedx/core/djangoapps/agreements/toggles.py (line 9)
Desc: Enables the lti pii acknowledgement feature for a course
Creation Date: 2023-10
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
bulk_email.EMAIL_USE_COURSE_ID_FROM_FOR_BULK#
Default: False
Source: lms/djangoapps/bulk_email/toggles.py (line 7)
Desc: If False, use the same BULK_EMAIL_DEFAULT_FROM_EMAIL or DEFAULT_FROM_EMAIL as the from_addr for all bulk email, to avoid issues with spam filtering
Creation Date: 2020-10-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
certificates.auto_certificate_generation#
Default: False
Source: lms/djangoapps/certificates/config.py (line 10)
Desc: This toggle will enable certificates to be automatically generated
Creation Date: 2017-09-14
Implementation: [‘WaffleSwitch’]
Use Cases: [‘open_edx’]
content_tagging.auto#
Default: False
Source: openedx/core/djangoapps/content_tagging/toggles.py (line 9)
Desc: Setting this enables automatic tagging of content
Creation Date: 2023-08-30
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
content_tagging.disabled#
Default: False
Source: openedx/core/djangoapps/content_tagging/toggles.py (line 21)
Desc: Setting this disables the tagging feature
Creation Date: 2024-04-30
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.bypass_olx_failure#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 41)
Desc: Enables bypassing olx validation failures during course import.
Creation Date: 2021-04-15
Target Removal Date: 2021-05-15
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.default_enable_flexible_peer_openassessments#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 235)
Desc: This flag turns on the force_on_flexible_peer_openassessments setting for course reruns or new courses, where enabled.
Warning
Creation Date: 2023-06-27
Target Removal Date: 2024-01-27
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
contentstore.enable_course_optimizer#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 331)
Desc: This flag enables the course optimizer tool in the authoring MFE.
Creation Date: 2025-01-17
Target Removal Date: 2025-05-30
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
contentstore.enable_course_optimizer_check_prev_run_links#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 351)
Desc: When enabled, allows the Course Optimizer to detect and update links pointing to previous course runs. This feature enables instructors to fix internal course links that still point to old course runs after creating a course rerun.
Creation Date: 2025-07-21
Target Removal Date: 2026-02-25
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
contentstore.individualize_anonymous_user_id#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 124)
Desc: This flag enables the use of unique anonymous_user_id during studio preview
Creation Date: 2022-05-04
Target Removal Date: 2022-05-30
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
contentstore.mock_video_uploads#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 216)
Desc: This flag mocks contentstore video uploads for local development, if you don’t have access to AWS
Warning
Creation Date: 2023-7-25
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.new_studio_mfe.disable_legacy_libraries#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 272)
Desc: Hides legacy (v1) Libraries tab in Authoring MFE. This toggle interacts with ENABLE_CONTENT_LIBRARIES toggle: if this is disabled, then legacy libraries are also disabled.
Warning
Legacy libraries are deprecated in Sumac, cf https://github.com/openedx/edx-platform/issues/32457
Creation Date: 2024-10-02
Target Removal Date: 2025-04-09
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.new_studio_mfe.disable_new_libraries#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 300)
Desc: Hides new Libraries v2 tab in Authoring MFE. This toggle interacts with settings.MEILISEARCH_ENABLED and ENABLE_CONTENT_LIBRARIES toggle: if these flags are False, then v2 libraries are also disabled.
Warning
Libraries v2 are in beta for Sumac, will be fully supported in Teak.
Creation Date: 2024-10-02
Target Removal Date: 2025-04-09
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.new_studio_mfe.use_new_video_uploads_page#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 162)
Desc: This flag enables the use of the new studio video uploads page MFE. Note: This page only works on edx.org or other sites that have reverse-engineered the edX video pipeline. It is off by default for the community.
Creation Date: 2023-05-15
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’]
contentstore.split_library_on_studio_dashboard#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 28)
Desc: Enables data new view for library on studio dashboard.
Creation Date: 2020-07-8
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
contentstore.use_react_markdown_editor#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 144)
Desc: This flag enables the use of the Markdown editor when creating or editing problems in the authoring MFE
Creation Date: 2025-4-11
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’]
course_apps.exams_ida#
Default: False
Source: openedx/core/djangoapps/course_apps/toggles.py (line 9)
Desc: Uses exams IDA
Creation Date: 2022-07-27
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
course_assets.allow_download_code_library#
Default: False
Source: openedx/core/djangoapps/contentserver/views.py (line 274)
Desc: Whether to allow learners to download the course code library that is used for custom Python-graded problem blocks. (This is conventionally ``python_lib.zip``, but configurable with Django setting ``PYTHON_LIB_FILENAME``). This file may contain custom grading code or problem answers that should not be revealed to learners.
Warning
This flag is only intended as a temporary override for use in rollout, to be removed before Ulmo. Courses that rely on learners being able to download the code library should find an alternative workflow, or the toggle should be re-documented as permanent.
Creation Date: 2025-05-01
Target Removal Date: 2025-10-01
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
course_blocks_api.hide_access_denials#
Default: False
Source: lms/djangoapps/course_api/blocks/toggles.py (line 10)
Desc: Waffle flag to hide access denial messages in the course blocks.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2019-09-27
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
course_experience.calendar_sync#
Default: False
Source: openedx/features/course_experience/__init__.py (line 72)
Desc: This course flag enables a course tool (which is a tool that is added on a course home page) that sends course assignment calendars to course students, whenever they click on the “Subscribe to calendar updates” button. The email contains an ics attachment that students can then use to sync with their own calendar apps.
Warning
For this toggle to have an effect, the RELATIVE_DATES_FLAG toggle must be enabled, too.
Creation Date: 2021-01-26
Target Removal Date: 2021-04-26
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
course_experience.enable_course_goals#
Default: False
Source: openedx/features/course_experience/__init__.py (line 24)
Desc: Used to determine whether or not to use course goals for the particular course.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2017-09-11
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_out’, ‘temporary’]
course_experience.enable_ses_for_goalreminder#
Default: False
Source: openedx/features/course_experience/__init__.py (line 34)
Desc: Used to determine whether or not to use AWS SES to send goal reminder emails for the course.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2024-10-06
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’, ‘temporary’]
course_experience.enforce_masquerade_start_dates#
Default: False
Source: openedx/features/course_experience/__init__.py (line 86)
Desc: When enabled, staff masquerading as students will see the same start date restrictions as actual students. This provides a more accurate preview experience by enforcing section and subsection start dates even when viewing the course as a masqueraded user. When disabled (default), masquerading continues to bypass start date restrictions as before.
Warning
Enabling this flag means staff members masquerading as students will not be able to access course content before its start date, which may impact course testing workflows. Also, when you masquerade as a student in a course that starts in the future, you will lock yourself out of the course in the current Django session. To revert this, you need to log out and log back in.
Creation Date: 2025-10-08
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’]
course_experience.relative_dates#
Default: False
Source: openedx/features/course_experience/__init__.py (line 50)
Desc: Waffle flag to enable relative dates for course content. A ‘Dates’ tab will be visible in the course view showing key course dates. Was previously an ExperimentWaffleFlag with experiment_id=17.
Warning
To set a relative due date for self-paced courses, the weeks_to_complete field for a course run needs to be set. Currently it can be set through the publisher app.
Creation Date: 2020-02-10
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’]
course_experience.relative_dates_disable_reset#
Default: False
Source: openedx/features/course_experience/__init__.py (line 62)
Desc: Waffle flag to disable resetting deadlines by learners in self-paced courses. The ‘Dates’ tab will no longer show a banner about missed deadlines. The deadlines banner will also be hidden on unit pages.
Warning
For this toggle to have an effect, the RELATIVE_DATES_FLAG toggle must be enabled, too.
Creation Date: 2023-04-27
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
course_home.course_home_mfe_progress_tab#
Default: False
Source: lms/djangoapps/course_home_api/toggles.py (line 9)
Desc: This toggle controls the user interface behavior of the progress tab in the Learning Management System. When set to True, the progress tab utilizes the newly introduced Learning MFE graphs. When set to False (default), it utilizes existing grade graph from edx-platform.
Creation Date: 2021-03-12
Target Removal Date: 2024-01-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
course_home.send_course_progress_analytics_for_student#
Default: False
Source: lms/djangoapps/course_home_api/toggles.py (line 39)
Desc: This toggle controls whether the system will enqueue a Celery task responsible for emitting an analytics events describing how much course content a learner has completed in a course.
Creation Date: 2025-04-02
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
course_list_api_rate_limit.rate_limit_10#
Default: False
Source: lms/djangoapps/course_api/__init__.py (line 17)
Desc: Waffle switch to enable the throttling of 10 requests/minute to the course API. For staff users, this limit is 20 requests/minute.
Creation Date: 2018-06-12
Implementation: [‘WaffleSwitch’]
Use Cases: [‘circuit_breaker’]
course_list_api_rate_limit.rate_limit_2#
Default: False
Source: lms/djangoapps/course_api/__init__.py (line 8)
Desc: Waffle switch to enable the throttling of 2 requests/minute to the course API. For staff users, this limit is 10 requests/minute.
Creation Date: 2018-06-12
Implementation: [‘WaffleSwitch’]
Use Cases: [‘circuit_breaker’]
courseware.discovery_default_language_filter#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 131)
Desc: Enable courses to be filtered by user language by default.
Warning
The ENABLE_COURSE_DISCOVERY feature flag should be enabled.
Creation Date: 2023-11-02
Implementation: [‘WaffleSwitch’]
Use Cases: [‘open_edx’]
courseware.enable_new_financial_assistance_flow#
Default: False
Source: lms/djangoapps/courseware/config.py (line 9)
Desc: enables new internal only financial assistance flow, when active.
Creation Date: 2022-03-25
Implementation: [‘WaffleSwitch’]
Use Cases: [‘opt_in’]
courseware.mfe_courseware_search#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 58)
Desc: Enables Courseware Search on Learning MFE
Warning
None.
Creation Date: 2023-09-28
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
courseware.mfe_progress_milestones#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 28)
Desc: Waffle flag to display learner progress milestones in a course. Supports staged rollout to students for a new micro-frontend-based implementation of the courseware page.
Warning
Also set settings.LEARNING_MICROFRONTEND_URL.
Creation Date: 2020-10-07
Target Removal Date: none
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
courseware.mfe_progress_milestones_streak_celebration#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 42)
Desc: Waffle flag to display a celebration modal when learner completes a configurable streak Supports staged rollout to students for a new micro-frontend-based implementation of the courseware page.
Warning
Also set settings.LEARNING_MICROFRONTEND_URL and COURSEWARE_MICROFRONTEND_PROGRESS_MILESTONES.
Creation Date: 2021-02-16
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
courseware.mfe_progress_milestones_streak_discount_enabled#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 86)
Desc: This flag enables an engagement discount incentive message.
Warning
This flag depends on the streak celebration feature being enabled
Creation Date: 2021-08-26
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_out’, ‘open_edx’]
courseware.microfrontend_course_exit_page#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 13)
Desc: Supports staged rollout of the new micro-frontend-based implementation of the course exit page.
Warning
Also set settings.LEARNING_MICROFRONTEND_URL.
Creation Date: 2020-10-02
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’, ‘temporary’]
courseware.optimized_render_xblock#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 100)
Desc: Waffle flag that determines whether we speed up the render_xblock for browsers by removing unnecessary JavaScript and CSS. It is possible that this could introduce edge cases with content that relies on these assets, so being a CourseWaffleFlag will give us the flexibility to exempt courses from these optimizations.
Creation Date: 2021-02-09
Target Removal Date: 2021-05-01
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
courseware.unify_site_and_translation_language#
Default: False
Source: lms/djangoapps/courseware/toggles.py (line 144)
Desc: Update LMS to use site language for xpert unit translations and enable new header site language switcher.
Creation Date: 2026-01-08
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_in’]
discounts.enable_discounting#
Default: False
Source: openedx/features/discounts/applicability.py (line 43)
Desc: Toggle discounts always being disabled
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2019-4-16
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
discounts.enable_first_purchase_discount_override#
Default: False
Source: openedx/features/discounts/applicability.py (line 31)
Desc: Waffle flag to enable the First Purchase Discount to be overridden from EDXWELCOME/BIENVENIDOAEDX 15% discount to a new code.
Warning
This feature toggle does not have a target removal date.
Creation Date: 2024-07-18
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_in’]
discussion.enable_captcha#
Default: False
Source: lms/djangoapps/discussion/config/settings.py (line 23)
Desc: When the flag is ON, users will be able to see captcha for discussion
Warning
When the flag is ON, users will be able to see captcha for discussion.
Creation Date: 2025-07-12
Target Removal Date: 2025-07-29
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.enable_discussions_mfe#
Default: False
Source: lms/djangoapps/discussion/toggles.py (line 8)
Desc: Waffle flag to use the new MFE experience for discussions in the course tab
Creation Date: 2021-11-05
Target Removal Date: 2022-12-05
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.enable_new_structure_discussions#
Default: False
Source: openedx/core/djangoapps/discussions/config/waffle.py (line 36)
Desc: Waffle flag to toggle on the new structure for in context discussions
Creation Date: 2022-02-22
Target Removal Date: 2022-12-22
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.enable_rate_limit#
Default: False
Source: lms/djangoapps/discussion/toggles.py (line 32)
Desc: Waffle flag to enable rate limit on discussions
Creation Date: 2025-07-29
Target Removal Date: 2026-07-29
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.only_verified_users_can_post#
Default: False
Source: lms/djangoapps/discussion/toggles.py (line 20)
Desc: Waffle flag to allow only verified users to post in discussions
Creation Date: 2025-22-07
Target Removal Date: 2026-04-01
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.override_discussion_legacy_settings#
Default: False
Source: openedx/core/djangoapps/discussions/config/waffle.py (line 9)
Desc: Waffle flag to override visibility of discussion settings for legacy experience.
Warning
When the flag is ON, the discussion settings will be available on legacy experience.
Creation Date: 2021-06-15
Target Removal Date: 2021-12-31
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
discussions.pages_and_resources_mfe#
Default: False
Source: openedx/core/djangoapps/discussions/config/waffle.py (line 23)
Desc: Waffle flag to enable new Pages and Resources experience for course.
Warning
When the flag is ON, the new experience for Pages and Resources will be enabled.
Creation Date: 2021-05-24
Target Removal Date: 2021-12-31
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
effort_estimation.disabled#
Default: False
Source: openedx/features/effort_estimation/toggles.py (line 9)
Desc: If effort estimations are confusing for a given course (e.g. the course team has added manual estimates), you can turn them off case by case here.
Creation Date: 2021-07-27
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_out’]
experiments.add_dashboard_info#
Default: False
Source: lms/djangoapps/experiments/utils.py (line 47)
Desc: Toggle for adding info about each course to the dashboard metadata
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2019-3-28
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
experiments.add_programs#
Default: False
Source: lms/djangoapps/experiments/utils.py (line 32)
Desc: Toggle for adding the current course’s program information to user metadata
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2019-2-25
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
experiments.add_upsell_tracking#
Default: False
Source: lms/djangoapps/experiments/utils.py (line 59)
Desc: Make sure upsell tracking JS works as expected.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2020-7-7
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
experiments.mobile_upsell_rev934#
Default: False
Source: lms/djangoapps/experiments/views_custom.py (line 27)
Desc: Toggle mobile upsell enabled
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2019-09-05
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
export_course_metadata#
Default: False
Source: cms/djangoapps/export_course_metadata/toggles.py (line 7)
Desc: Export of course metadata (initially to s3 for use by braze)
Creation Date: 2021-03-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
grades.bulk_management#
Default: False
Source: lms/djangoapps/grades/config/waffle.py (line 65)
Desc: When enabled, bulk features are visible for management in masters course. As far as we understand, this feature is now unused and obsolete.
Creation Date: 2019-08-20
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
grades.disable_regrade_on_policy_change#
Default: False
Source: lms/djangoapps/grades/config/waffle.py (line 17)
Desc: When enabled, a change in grading policy will not trigger re-grading.
Creation Date: 2017-08-03
Implementation: [‘WaffleSwitch’]
Use Cases: [‘open_edx’]
grades.rejected_exam_overrides_grade#
Default: False
Source: lms/djangoapps/grades/config/waffle.py (line 40)
Desc: 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.
Creation Date: 2018-10-01
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
grades.writable_gradebook#
Default: False
Source: lms/djangoapps/grades/config/waffle.py (line 53)
Desc: 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.
Warning
Enabling this requires that the `WRITABLE_GRADEBOOK_URL` setting be properly defined.
Creation Date: 2018-10-03
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
instructor.enable_data_download_v2#
Default: False
Source: lms/djangoapps/instructor/toggles.py (line 10)
Desc: instructor
Creation Date: 2020-07-8
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
instructor.legacy_instructor_dashboard#
Default: False
Source: lms/djangoapps/instructor/toggles.py (line 31)
Desc: Waffle flag to enable the legacy instructor experience
Creation Date: 2026-04-20
Target Removal Date: 2026-11-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_out’, ‘temporary’]
instructor_task.use_on_disk_grade_reporting#
Default: False
Source: lms/djangoapps/instructor_task/config/waffle.py (line 19)
Desc: When generating grade reports, write chunks to disk to avoid out of memory errors.
Creation Date: 2022-12-01
Target Removal Date: 2022-01-10
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
learner_dashboard.enable_masters_program_tab_view#
Default: False
Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 25)
Desc: Waffle flag to enable new Masters Program discussion experience for masters program. This flag is used to decide whether we need to render master program data in “tab” view or simple view. In the new tab view, we have tabs like “journey”, “live”, “discussions”
Warning
When the flag is ON, the new tabbed experience for Master Program Page will be enabled.
Creation Date: 2021-10-19
Target Removal Date: 2021-12-31
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
learner_dashboard.enable_program_tab_view#
Default: False
Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 8)
Desc: Waffle flag to enable new Program discussion experience in tab view for course. This flag is used to decide whether we need to render program data in “tab” view or simple view. In the new tab view, we have tabs like “journey”, “live”, “discussions”
Warning
When the flag is ON, the new experience for Program discussions will be enabled.
Creation Date: 2021-08-25
Target Removal Date: 2021-12-31
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
learner_home_mfe.enabled#
Default: False
Source: lms/djangoapps/learner_home/waffle.py (line 11)
Desc: Waffle flag to enable to redirect user to learner home mfe
Creation Date: 2022-10-11
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
legacy_studio.course_outline#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 185)
Desc: Temporarily fall back to the old Studio Course Outline editor.
Warning
In Ulmo, this toggle will be removed. Only the new (React-based) experience will be available.
Creation Date: 2025-03-14
Target Removal Date: 2025-09-14
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
legacy_studio.exam_settings#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 70)
Desc: Temporarily fall back to the old proctored exam settings view.
Warning
In Ulmo, this toggle will be removed. Only the new (React-based) experience will be available.
Creation Date: 2025-03-14
Target Removal Date: 2025-09-14
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
legacy_studio.pdf_editor#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 89)
Desc: Use the PDF XBlock’s studio_view instead of the new React-based editor. You may wish to do this if you run a custom PDF block.
Creation Date: 2026-03-10
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_out’]
legacy_studio.unit_editor#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 197)
Desc: Temporarily fall back to the old Studio unit editing page.
Warning
In Ulmo, this toggle will be removed. Only the new (React-based) experience will be available.
Creation Date: 2025-03-14
Target Removal Date: 2025-09-14
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
new_core_editors.use_video_gallery_flow#
Default: False
Source: cms/djangoapps/contentstore/toggles.py (line 106)
Desc: This flag enables the use the video selection gallery on the flow of the new core video xblock editor
Warning
This controls the new core video xblock editor flow.
Creation Date: 2023-04-03
Target Removal Date: 2023-6-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
notifications.disable_email_notifications#
Default: False
Source: openedx/core/djangoapps/notifications/config/waffle.py (line 21)
Desc: Waffle flag to disable the Email Notifications feature
Warning
When the flag is ON, Email Notifications feature will be disabled.
Creation Date: 2026-02-03
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
notifications.disable_notifications#
Default: False
Source: openedx/core/djangoapps/notifications/config/waffle.py (line 10)
Desc: Waffle flag to disable the Notifications feature
Warning
When the flag is ON, Notifications feature is disabled.
Creation Date: 2026-02-03
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
notifications.enable_push_notifications#
Default: False
Source: openedx/core/djangoapps/notifications/config/waffle.py (line 32)
Desc: Waffle flag to enable push Notifications feature on mobile devices
Warning
When the flag is ON, Notifications will go through ace push channels.
Creation Date: 2025-05-27
Target Removal Date: 2026-05-27
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
open_edx_util.display_maintenance_warning#
Default: False
Source: openedx/core/djangoapps/util/waffle.py (line 8)
Desc: Displays the maintenance warning, when active.
Creation Date: 2018-03-20
Implementation: [‘WaffleSwitch’]
Use Cases: [‘opt_in’]
require_course_email_auth#
Default: True
Source: lms/djangoapps/bulk_email/models.py (line 478)
Desc: 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.
Creation Date: 2016-05-05
Implementation: [‘ConfigurationModel’]
Use Cases: [‘open_edx’]
schedules.enable_debugging#
Default: False
Source: openedx/core/djangoapps/schedules/config.py (line 13)
Desc: Enable debug level of logging for schedules messages.
Creation Date: 2017-09-17
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
send_to_submission_course.enable#
Default: False
Source: build/lib/xmodule/services.py (line 319)
Desc: Enables use of the submissions service instead of legacy xqueue for course problem submissions.
Creation Date: 2024-04-03
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘opt_in’]
settings.ALLOW_ADMIN_ENTERPRISE_COURSE_ENROLLMENT_DELETION#
Default: False
Source: lms/envs/common.py (line 655)
Desc: If true, allows for the deletion of EnterpriseCourseEnrollment records via Django Admin.
Creation Date: 2021-01-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
settings.ALLOW_COURSE_RERUNS#
Default: True
Source: cms/envs/common.py (line 133)
Desc: This will allow staff member to re-run the course from the studio home page and will always use the split modulestore. When this is set to False, the Re-run Course link will not be available on the studio home page.
Creation Date: 2015-02-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ALLOW_EMAIL_ADDRESS_CHANGE#
Default: True
Source: lms/envs/common.py (line 561)
Desc: Allow users to change their email address on the Account Settings page. If this is disabled, users will not be able to change their email address.
Creation Date: 2017-06-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER#
Default: True
Source: lms/envs/common.py (line 369)
Desc: When a logged in user goes to the homepage (‘/’) the user will be redirected to the dashboard page when this flag is set to True - this is default Open edX behavior. Set to False to not redirect the user.
Creation Date: 2014-09-16
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING#
Default: False
Source: lms/envs/common.py (line 260)
Desc: If set to True, then we want to skip posting anything to Software Secure. Bypass posting anything to Software Secure if the auto verify feature for testing is enabled. We actually don’t even create the message because that would require encryption and message signing that rely on settings.VERIFY_STUDENT values that aren’t set in dev. So we just pretend like we successfully posted and automatically approve student identity verification attempts.
Creation Date: 2013-10-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.BADGES_ENABLED#
Default: False
Source: lms/envs/common.py (line 729)
Desc: Set to True to enable badges functionality.
Creation Date: 2024-04-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.COURSES_ARE_BROWSABLE#
Default: True
Source: lms/envs/common.py (line 169)
Desc: When this is set to True, all the courses will be listed on the /courses page and Explore Courses link will be visible. Set to False if courses list and Explore Courses link need to be hidden.
Warning
This Effects views and templates.
Creation Date: 2013-09-28
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.CUSTOM_CERTIFICATE_TEMPLATES_ENABLED#
Default: False
Source: lms/envs/common.py (line 475)
Desc: Set to True to enable custom certificate templates which are configured via Django admin.
Creation Date: 2015-08-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DEPRECATE_OLD_COURSE_KEYS_IN_STUDIO#
Default: True
Source: cms/envs/common.py (line 157)
Desc: Warn about removing support for deprecated course keys. To enable, set to True. To disable, set to False. To enable with a custom support deadline, set to an ISO-8601 date string: eg: ‘2020-09-01’
Warning
This can be removed once support is removed for deprecated course keys.
Creation Date: 2020-06-12
Target Removal Date: 2021-04-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
settings.DISABLE_ADVANCED_SETTINGS#
Default: False
Source: cms/envs/common.py (line 195)
Desc: Set to `True` to disable the advanced settings page in Studio for all users except those having `is_superuser` or `is_staff` set to `True`.
Creation Date: 2023-03-31
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISABLE_ALLOWED_ENROLLMENT_IF_ENROLLMENT_CLOSED#
Default: False
Source: lms/envs/common.py (line 698)
Desc: Set to True to disable enrollment for user invited to a course
Creation Date: 2022-06-06
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISABLE_COURSE_CREATION#
Default: False
Source: cms/envs/common.py (line 173)
Desc: If set to True, it disables the course creation functionality and hides the “New Course” button in studio. It is important to note that the value of this flag only affects if the user doesn’t have a staff role, otherwise the course creation functionality will work as it should.
Warning
Another toggle DISABLE_LIBRARY_CREATION overrides DISABLE_COURSE_CREATION, if present.
Creation Date: 2013-12-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISABLE_HONOR_CERTIFICATES#
Default: False
Source: lms/envs/common.py (line 218)
Desc: Set to True to disable honor certificates. Typically used when your installation only allows verified certificates, like courses.edx.org.
Creation Date: 2019-05-14
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISABLE_LOGIN_BUTTON#
Default: False
Source: lms/envs/common.py (line 149)
Desc: Removes the display of the login button in the navigation bar. Change is only at the UI level. Used in systems where login is automatic, eg MIT SSL
Creation Date: 2013-12-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISABLE_MOBILE_COURSE_AVAILABLE#
Default: False
Source: openedx/envs/common.py (line 1265)
Desc: Set to True to remove Mobile Course Available UI Flag from Studio’s Advanced Settings page else Mobile Course Available UI Flag will be available on Studio side.
Creation Date: 2020-02-14
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISPLAY_DEBUG_INFO_TO_STAFF#
Default: True
Source: lms/envs/common.py (line 78)
Desc: Add a “Staff Debug” button to course blocks for debugging by course staff.
Creation Date: 2015-09-04
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.DISPLAY_HISTOGRAMS_TO_STAFF#
Default: False
Source: lms/envs/common.py (line 88)
Desc: This displays histograms in the Staff Debug Info panel to course staff.
Warning
Generating histograms requires scanning the courseware_studentmodule table on each view. This can make staff access to courseware very slow on large courses.
Creation Date: 2014-02-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.EDITABLE_SHORT_DESCRIPTION#
Default: True
Source: cms/envs/common.py (line 94)
Desc: This feature flag allows editing of short descriptions on the Schedule & Details page in Open edX Studio. Set to False if you want to disable the editing of the course short description.
Creation Date: 2014-02-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_ACCOUNT_DELETION#
Default: True
Source: lms/envs/common.py (line 599)
Desc: Whether to display the account deletion section on Account Settings page. Set to False to hide this section.
Creation Date: 2018-06-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_AUTHN_MICROFRONTEND#
Default: False
Source: lms/envs/common.py (line 609)
Desc: Supports staged rollout of a new micro-frontend-based implementation of the logistration.
Warning
Also set settings.AUTHN_MICROFRONTEND_URL for rollout. This temporary feature toggle does not have a target removal date.
Creation Date: 2020-09-08
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’, ‘open_edx’]
settings.ENABLE_BULK_ENROLLMENT_VIEW#
Default: False
Source: lms/envs/common.py (line 571)
Desc: When set to True the bulk enrollment view is enabled and one can use it to enroll multiple users in a course using bulk enrollment API endpoint (/api/bulk_enroll/v1/bulk_enroll).
Creation Date: 2017-07-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_BULK_USER_RETIREMENT#
Default: False
Source: lms/envs/common.py (line 664)
Desc: Set to True to enable bulk user retirement through REST API. This is disabled by default.
Creation Date: 2021-03-11
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_CATALOG_MICROFRONTEND#
Default: False
Source: lms/envs/common.py (line 621)
Desc: Supports staged rollout of a new micro-frontend-based implementation of the catalog.
Creation Date: 2025-05-15
Target Removal Date: 2025-11-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
settings.ENABLE_CERTIFICATES_IDV_REQUIREMENT#
Default: False
Source: lms/envs/common.py (line 688)
Desc: Whether to enforce ID Verification requirements for course certificates generation
Creation Date: 2022-04-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER#
Default: False
Source: lms/envs/common.py (line 401)
Desc: Display the standard footer in the login page. This feature can be overridden by a site- specific configuration.
Creation Date: 2016-06-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COOKIE_CONSENT#
Default: False
Source: lms/envs/common.py (line 547)
Desc: Enable header banner for cookie consent using this service: https://cookieconsent.insites.com/
Creation Date: 2017-03-03
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COSMETIC_DISPLAY_PRICE#
Default: False
Source: lms/envs/common.py (line 249)
Desc: 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.
Warning
The use case of this feature toggle is uncertain.
Creation Date: 2014-10-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSEWARE_SEARCH#
Default: False
Source: lms/envs/common.py (line 434)
Desc: When enabled, this adds a Search the course widget on the course outline and courseware pages for searching courseware data.
Warning
In order to get this working, your courses data should be indexed in Elasticsearch. You will see the search widget on the courseware page only if the DISABLE_COURSE_OUTLINE_PAGE_FLAG is set.
Creation Date: 2015-01-29
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF#
Default: False
Source: lms/envs/common.py (line 447)
Desc: When enabled, this adds a Search the course widget on the course outline and courseware pages for searching courseware data but for course staff users only.
Warning
In order to get this working, your courses data should be indexed in Elasticsearch. If ENABLE_COURSEWARE_SEARCH is enabled then the search widget will be visible to all learners and this flag’s value does not matter in that case. This flag is enabled in devstack by default.
Creation Date: 2019-12-06
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSEWARE_SEARCH_VERIFIED_REQUIRED#
Default: False
Source: lms/envs/common.py (line 720)
Desc: When enabled, the courseware search feature will only be enabled for users in a verified enrollment track.
Creation Date: 2024-04-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSE_ASSESSMENT_GRADE_CHANGE_SIGNAL#
Default: False
Source: lms/envs/common.py (line 644)
Desc: Set to True to start sending signals for assessment level grade updates. Notably, the only handler of this signal at the time of this writing sends assessment updates to enterprise integrated channels.
Creation Date: 2020-12-09
Target Removal Date: 2021-02-01
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
settings.ENABLE_COURSE_DISCOVERY#
Default: False
Source: lms/envs/common.py (line 486)
Desc: 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.
Warning
The COURSE_DISCOVERY_MEANINGS setting should be properly defined.
Creation Date: 2015-04-23
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSE_FILENAME_CCX_SUFFIX#
Default: False
Source: lms/envs/common.py (line 499)
Desc: If set to True, CCX ID will be included in the generated filename for CCX courses.
Warning
Turning this feature ON will affect all generated filenames which are related to CCX courses.
Creation Date: 2021-03-16
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSE_HOME_REDIRECT#
Default: True
Source: lms/envs/common.py (line 391)
Desc: 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.
Creation Date: 2019-01-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_COURSE_SORTING_BY_START_DATE#
Default: True
Source: lms/envs/common.py (line 380)
Desc: 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.
Creation Date: 2015-03-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_CREDIT_ELIGIBILITY#
Default: True
Source: lms/envs/common.py (line 738)
Desc: 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.
Creation Date: 2015-06-17
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_DASHBOARD_SEARCH#
Default: False
Source: lms/envs/common.py (line 460)
Desc: When enabled, this adds a Search Your Courses widget on the dashboard page for searching courseware data.
Warning
In order to get this working, your courses data should be indexed in Elasticsearch.
Creation Date: 2015-01-29
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_DISCUSSION_EMAIL_DIGEST#
Default: False
Source: lms/envs/common.py (line 103)
Desc: 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.
Warning
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.
Creation Date: 2014-08-19
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_DISCUSSION_HOME_PANEL#
Default: True
Source: openedx/envs/common.py (line 1386)
Desc: Hides or displays a welcome panel under the Discussion tab, which includes a subscription on/off setting for discussion digest emails. (Note: set to False by default in the CMS).
Warning
This should remain off in production until digest notifications are online.
Creation Date: 2013-07-30
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_DJANGO_ADMIN_SITE#
Default: True
Source: lms/envs/common.py (line 129)
Desc: Set to False if you want to disable Django’s admin site.
Warning
It is not recommended to disable this feature as there are many settings available on
Creation Date: 2013-09-26
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_EDXNOTES#
Default: False
Source: openedx/envs/common.py (line 1119)
Desc: This toggle enables the students to save and manage their annotations in the course using the notes service. The bulk of the actual work in storing the notes is done by a separate service (see the edx-notes-api repo).
Warning
Requires the edx-notes-api service properly running and to have configured the django settings EDXNOTES_INTERNAL_API and EDXNOTES_PUBLIC_API. If you update this setting, also update it in Studio.
Creation Date: 2015-01-04
Implementation: [‘SettingToggle’]
Use Cases: [‘open_edx’]
settings.ENABLE_FOOTER_MOBILE_APP_LINKS#
Default: False
Source: lms/envs/common.py (line 414)
Desc: Set to True if you want show the mobile app links (Apple App Store & Google Play Store) in the footer.
Warning
If you set this to True then you should also set your mobile application’s app store and play store URLs in the MOBILE_STORE_URLS settings dictionary. These links are not part of the default theme. If you want these links on your footer then you should use the edx.org theme.
Creation Date: 2015-01-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_HIDE_FROM_TOC_UI#
Default: False
Source: cms/envs/common.py (line 218)
Desc: When enabled, exposes hide_from_toc xblock attribute so course authors can configure it as
Creation Date: 2024-02-29
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_HTML_XBLOCK_STUDENT_VIEW_DATA#
Default: False
Source: lms/envs/common.py (line 584)
Desc: Whether HTML Block returns HTML content with the Course Blocks API when the API is called with student_view_data=html query parameter.
Warning
Because the Course Blocks API caches its data, the cache must be cleared (e.g. by re-publishing the course) for changes to this flag to take effect.
Creation Date: 2017-08-28
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_LOGIN_MICROFRONTEND#
Default: False
Source: lms/envs/common.py (line 230)
Desc: Enable the login micro frontend.
Warning
The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
Creation Date: 2018-05-07
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_LTI_PII_ACKNOWLEDGEMENT#
Default: False
Source: cms/envs/common.py (line 185)
Desc: Enables the lti pii acknowledgement feature for a course
Creation Date: 2023-10
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_LTI_PROVIDER#
Default: False
Source: lms/envs/common.py (line 534)
Desc: When set to True, Open edX site can be used as an LTI Provider to other systems and applications.
Warning
After enabling this feature flag there are multiple steps involved to configure edX as LTI provider. Full guide is available here: https://docs.openedx.org/en/latest/site_ops/install_configure_run_guide/configuration/lti/index.html
Creation Date: 2015-04-24
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_MASQUERADE#
Default: True
Source: lms/envs/common.py (line 141)
Desc: None
Creation Date: 2013-04-13
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_MAX_FAILED_LOGIN_ATTEMPTS#
Default: True
Source: openedx/envs/common.py (line 1397)
Desc: This feature will keep track of the number of failed login attempts on a given user’s email. If the number of consecutive failed login attempts - without a successful login at some point - reaches a configurable threshold (default 6), then the account will be locked for a configurable amount of seconds (30 minutes) which will prevent additional login attempts until this time period has passed. If a user successfully logs in, all the counter which tracks the number of failed attempts will be reset back to 0. If set to False then account locking will be disabled for failed login attempts. (Note: set to False by default in the CMS).
Creation Date: 2014-01-30
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_NEW_BULK_EMAIL_EXPERIENCE#
Default: False
Source: lms/envs/common.py (line 676)
Desc: When true, replaces the bulk email tool found on the instructor dashboard with a link to the new communications MFE version instead. Setting the tool to false will leave the old bulk email tool experience in place.
Creation Date: 2022-03-21
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
settings.ENABLE_ORA_USERNAMES_ON_DATA_EXPORT#
Default: False
Source: lms/envs/common.py (line 632)
Desc: Set to True to add deanonymized usernames to ORA data report.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2020-06-11
Implementation: [‘DjangoSetting’]
Use Cases: [‘temporary’]
settings.ENABLE_SEND_XBLOCK_LIFECYCLE_EVENTS_OVER_BUS#
Default: False
Source: cms/envs/common.py (line 205)
Desc: Enables sending xblock lifecycle events over the event bus. Used to create the EVENT_BUS_PRODUCER_CONFIG setting
Warning
The default may be changed in a later release. See https://github.com/openedx/openedx-events/issues/265
Creation Date: 2023-10-10
Target Removal Date: 2023-10-12
Implementation: [‘DjangoSetting’]
Use Cases: [‘opt_in’]
settings.ENABLE_SPECIAL_EXAMS#
Default: False
Source: lms/envs/common.py (line 525)
Desc: Enable to use special exams, aka timed and proctored exams.
Creation Date: 2015-09-04
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_STUDENT_HISTORY_VIEW#
Default: True
Source: lms/envs/common.py (line 191)
Desc: This provides a UI to show a student’s submission history in a problem by the Staff Debug tool. Set to False if you want to hide Submission History from the courseware page.
Creation Date: 2013-02-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_THIRD_PARTY_AUTH#
Default: False
Source: lms/envs/common.py (line 294)
Desc: 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. 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.
Creation Date: 2014-09-15
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_UNICODE_USERNAME#
Default: False
Source: lms/envs/common.py (line 118)
Desc: 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.
Creation Date: 2017-06-27
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.ENABLE_XBLOCK_VIEW_ENDPOINT#
Default: False
Source: lms/envs/common.py (line 158)
Desc: 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/openedx/jquery-xblock
Creation Date: 2014-03-14
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED#
Default: False
Source: lms/envs/common.py (line 181)
Desc: When set, it hides the Courses list on the Learner Dashboard page if the learner has not yet activated the account and not enrolled in any courses.
Creation Date: 2018-05-18
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.IN_CONTEXT_DISCUSSION_ENABLED_DEFAULT#
Default: True
Source: cms/envs/common.py (line 228)
Desc: Set to False to disable in-context discussion for units by default.
Creation Date: 2024-09-02
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
settings.SEND_LEARNING_CERTIFICATE_LIFECYCLE_EVENTS_TO_BUS#
Default: False
Source: lms/envs/common.py (line 708)
Desc: When True, the system will publish certificate lifecycle signals to the event bus. This toggle is used to create the EVENT_BUS_PRODUCER_CONFIG setting.
Warning
The default may be changed in a later release. See https://github.com/openedx/openedx-events/issues/265
Creation Date: 2023-10-10
Implementation: [‘SettingToggle’]
Use Cases: [‘opt_in’]
settings.SKIP_EMAIL_VALIDATION#
Default: False
Source: lms/envs/common.py (line 239)
Desc: Turn this on to skip sending emails for user validation. Beware, as this leaves the door open to potential spam abuse.
Warning
The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
Creation Date: 2018-05-07
Implementation: [‘DjangoSetting’]
Use Cases: [‘open_edx’]
student.courseenrollment_admin#
Default: False
Source: common/djangoapps/student/admin.py (line 60)
Desc: This toggle will enable the rendering of the admin view of the CourseEnrollment model.
Warning
Enabling this toggle may cause performance problems. The CourseEnrollment admin view makes DB queries that could cause site outages for a large enough Open edX installation.
Creation Date: 2018-08-01
Implementation: [‘WaffleSwitch’]
Use Cases: [‘opt_in’, ‘open_edx’]
student.enable_enrollment_confirmation_email#
Default: False
Source: common/djangoapps/student/toggles.py (line 10)
Desc: Enable course enrollment email template
Creation Date: 2022-08-05
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_in’]
student.redirect_to_courseware_after_enrollment#
Default: False
Source: common/djangoapps/student/toggles.py (line 29)
Desc: Redirect to courseware after enrollment instead of dashboard.
Creation Date: 2023-02-06
Implementation: [‘WaffleSwitch’]
Use Cases: [‘open_edx’]
studio.custom_relative_dates#
Default: False
Source: cms/djangoapps/contentstore/config/waffle.py (line 26)
Desc: Waffle flag to enable custom pacing input for Personalized Learner Schedule (PLS).
Warning
Flag course_experience.relative_dates should also be active for relative dates functionalities to work.
Creation Date: 2021-07-12
Target Removal Date: 2021-12-31
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’]
teams.content_groups_for_teams#
Default: False
Source: openedx/core/lib/teams_config.py (line 23)
Desc: This flag enables content groups for teams. Content groups are virtual groupings of learners who will see a particular set of course content. When this flag is enabled, course authors can create teams and assign content to each of them. Then, when a learner joins a team, they will see the content that is assigned to that team’s content group. This flag is only relevant for courses that have teams enabled.
Creation Date: 2024-04-01
Target Removal Date: Teak
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘opt_in’]
teams.enable_teams_app#
Default: False
Source: lms/djangoapps/teams/waffle.py (line 8)
Desc: Waffle flag to enable teams app for a course
Warning
When the flag is ON, the teams app will be visible in the new course authoring mfe.
Creation Date: 2021-10-07
Target Removal Date: 2021-11-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
third_party_auth.apple_user_migration#
Default: False
Source: common/djangoapps/third_party_auth/toggles.py (line 9)
Desc: Enable User ID matching while apple migration is in process
Warning
None.
Creation Date: 2023-02-27
Target Removal Date: 2023-05-01
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’]
user_authn.enable_login_using_thirdparty_auth_only#
Default: False
Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 9)
Desc: When enabled, users must be sign in using their allowed domain SSO account. This includes sign- ins to the Django admin dashboard at “/admin”.
Warning
Requires THIRD_PARTY_AUTH_ONLY_DOMAIN to also be set.
Creation Date: 2019-11-20
Target Removal Date: 2020-01-31
Implementation: [‘WaffleSwitch’]
Use Cases: [‘temporary’]
user_authn.enable_pwned_password_api#
Default: False
Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 23)
Desc: When enabled, user password’s vulnerability would be checked via pwned password database
Creation Date: 2021-09-22
Target Removal Date: 2021-12-31
Implementation: [‘WaffleSwitch’]
Use Cases: [‘temporary’]
user_tours.tours_disabled#
Default: False
Source: lms/djangoapps/user_tours/toggles.py (line 7)
Desc: This flag disables user tours in LMS.
Creation Date: 2024-02-06
Implementation: [‘WaffleFlag’]
Use Cases: [‘opt_out’]
verify_student.optimised_is_small_course#
Default: False
Source: lms/djangoapps/instructor/toggles.py (line 20)
Desc: Supports staged rollout to improved is_small_course method.
Warning
Description mentions staged rollout, but the use case is not set as temporary. This may actually be a temporary toggle.
Creation Date: 2020-07-02
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]
verify_student.use_new_email_templates#
Default: False
Source: lms/djangoapps/verify_student/toggles.py (line 10)
Desc: Supports staged rollout to students for a new email templates implementation for ID verification.
Warning
This temporary feature toggle does not have a target removal date.
Creation Date: 2020-06-25
Implementation: [‘WaffleFlag’]
Use Cases: [‘temporary’, ‘open_edx’]
video_config.transcript_feedback#
Default: False
Source: openedx/core/djangoapps/video_config/toggles.py (line 19)
Desc: Gates access to the transcript feedback widget feature.
Creation Date: 2023-05-10
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘opt_in’]
video_config.xpert_translations_ui#
Default: False
Source: openedx/core/djangoapps/video_config/toggles.py (line 30)
Desc: Gates access to the Xpert Translations UI feature.
Creation Date: 2023-10-11
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘temporary’, ‘opt_in’]
videos.deprecate_youtube#
Default: False
Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 14)
Desc: Waffle flag telling whether youtube is deprecated. When enabled, videos are no longer uploaded to YouTube as part of the video pipeline.
Creation Date: 2018-08-03
Implementation: [‘CourseWaffleFlag’]
Use Cases: [‘open_edx’]
videos.enable_devstack_video_uploads#
Default: False
Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 24)
Desc: 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.]
Warning
Enabling this feature requires that the ROLE_ARN, MFA_SERIAL_NUMBER, MFA_TOKEN settings are properly defined.
Creation Date: 2020-03-12
Implementation: [‘WaffleFlag’]
Use Cases: [‘open_edx’]