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)

If True, it adds an option to show/hide the discussions tab.

BADGR_ENABLE_NOTIFICATIONS

Default: False

Source: lms/envs/common.py (line 3563)

Optional setting for enabling email notifications. When set to “True”, learners will be notified by email when they earn a badge.

Warning

Review FEATURES[‘ENABLE_OPENBADGES’] for further context.

BLOCK_STRUCTURES_SETTINGS[‘PRUNING_ACTIVE’]

Default: False

Source: lms/envs/common.py (line 2776)

When `True`, only a specified number of versions of block structure files are kept for each structure, and the rest are cleaned up. The number of versions that are kept can be specified in the `BlockStructureConfiguration`, which can be edited in Django Admin. The default number of versions that are kept is `5`.

Warning

This toggle will likely be deprecated and removed.

COURSES_INVITE_ONLY

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 241)

Setting this sets the default value of INVITE_ONLY across all courses in a given deployment

CUSTOM_COURSES_EDX

Default: False

Source: lms/envs/common.py (line 299)

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://edx.readthedocs.io/projects/open-edx-ca/en/latest/set_up_course/custom_courses.html

Warning

When set to true, ‘lms.djangoapps.ccx.overrides.CustomCoursesForEdxOverrideProvider’ will be added to MODULESTORE_FIELD_OVERRIDE_PROVIDERS

CourseDurationLimitConfig.enabled

Default: False

Source: openedx/features/course_duration_limits/models.py (line 16)

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.

CourseHLSPlaybackEnabledFlag.course_id

Default: False

Source: openedx/core/djangoapps/video_config/models.py (line 67)

Add the “hls” profile to all displayed videos for a single course.

CourseVideoUploadsEnabledByDefault.course_id

Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 105)

Allow video uploads for a specific course. This enables the “Video Uploads” menu in the CMS.

DEFAULT_MOBILE_AVAILABLE

Default: False

Source: lms/envs/common.py (line 3966)

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.

DISABLE_DEPRECATED_SIGNIN_URL

Default: False

Source: cms/envs/common.py (line 2458)

Toggle for removing the deprecated /signin url.

Warning

This url can be removed once it no longer has any real traffic.

DISABLE_DEPRECATED_SIGNUP_URL

Default: False

Source: cms/envs/common.py (line 2469)

Toggle for removing the deprecated /signup url.

Warning

This url can be removed once it no longer has any real traffic.

ENABLE_AUTHN_RESET_PASSWORD_HIBP_POLICY

Default: False

Source: cms/envs/common.py (line 499)

When enabled, this toggle activates the use of the password validation HIBP Policy.

ENABLE_CODEJAIL_REST_SERVICE

Default: False

Source: common/lib/capa/capa/safe_exec/remote_exec.py (line 21)

Set this to True if you want to run Codejail code using a separate VM or container and communicate with edx-platform using REST API.

ENABLE_COMPREHENSIVE_THEMING

Default: False

Source: cms/envs/common.py (line 2033)

See LMS annotation.

ENABLE_COPPA_COMPLIANCE

Default: False

Source: cms/envs/common.py (line 477)

When True, inforces COPPA compliance and removes YOB field from registration form and accounnt

ENABLE_REQUIRE_THIRD_PARTY_AUTH

Default: False

Source: openedx/core/djangoapps/user_authn/toggles.py (line 12)

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

ENFORCE_SAFE_SESSIONS

Default: False

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 134)

Turn this toggle on to enforce safe-sessions policy. 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. The behavior will be available for the Nutmeg named release and will become permanent in Olive.

Warning

Before enabling, confirm that incidences of the string “SafeCookieData user at request” in the logs only show false positives, such as people logging in while in possession of an already-valid session cookie.

EXPECTED_ERRORS[N][‘IS_IGNORED’]

Default: True

Source: openedx/core/lib/request_utils.py (line 334)

Set this to False if the errors are not ignored by monitoring, but only expected, like for temporary problems that may take some time to fix. If True, adds the custom attributes ``error_ignored_class`` and ``error_ignored_message`` to help diagnose issues with ignored errors, since this data is not otherwise available. For example of ignoring errors in New Relic, see: https://docs.newrelic.com/docs/agents/manage-apm-agents/agent-data/manage-errors-apm-collect-ignore-or-mark-expected/#ignore pylint: disable=line-too-long,useless-suppression To query for ignored errors, you would use ``error_ignored_class IS NOT NULL``. Note: This is defaulted to True because it will be easier for us to detect if True is not the correct value, by seeing that these errors aren’t actually ignored.

EXPECTED_ERRORS[N][‘LOG_ERROR’]

Default: False

Source: openedx/core/lib/request_utils.py (line 353)

If True, the error will be logged with a message like: “Expected error …”.

EXPECTED_ERRORS[N][‘LOG_STACK_TRACE’]

Default: False

Source: openedx/core/lib/request_utils.py (line 360)

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.

FEATURES[‘ALLOW_ADMIN_ENTERPRISE_COURSE_ENROLLMENT_DELETION’]

Default: False

Source: lms/envs/common.py (line 920)

If true, allows for the deletion of EnterpriseCourseEnrollment records via Django Admin.

FEATURES[‘ALLOW_AUTOMATED_SIGNUPS’]

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 63)

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.

FEATURES[‘ALLOW_COURSE_RERUNS’]

Default: True

Source: cms/envs/common.py (line 292)

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.

FEATURES[‘ALLOW_COURSE_STAFF_GRADE_DOWNLOADS’]

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 53)

Enable to give course staff unrestricted access to grade downloads; if set to False, only edX superusers can perform the downloads.

FEATURES[‘ALLOW_EMAIL_ADDRESS_CHANGE’]

Default: True

Source: lms/envs/common.py (line 785)

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.

FEATURES[‘ALLOW_PUBLIC_ACCOUNT_CREATION’]

Default: True

Source: lms/envs/common.py (line 758)

Allow public account creation. If this is disabled, users will no longer have access to the signup page.

FEATURES[‘ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER’]

Default: True

Source: lms/envs/common.py (line 469)

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.

FEATURES[‘AUTOMATIC_AUTH_FOR_TESTING’]

Default: False

Source: lms/envs/common.py (line 329)

Set to True to perform acceptance and load test. Auto auth view is responsible for load testing and is controlled by this feature flag. Auto-auth causes issues in Bok Choy tests because it resets the requesting user. 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.

FEATURES[‘AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING’]

Default: False

Source: lms/envs/common.py (line 384)

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.

FEATURES[‘BATCH_ENROLLMENT_NOTIFY_USERS_DEFAULT’]

Default: True

Source: lms/djangoapps/instructor/settings/common.py (line 95)

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.

FEATURES[‘CERTIFICATES_HTML_VIEW’]

Default: False

Source: lms/envs/common.py (line 613)

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://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/enable_certificates.html pylint: disable=line-too-long,useless-suppression

FEATURES[‘CERTIFICATES_INSTRUCTOR_GENERATION’] # lint-amnesty, pylint: disable=annotation-missing-token

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 86)

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.

FEATURES[‘COURSES_ARE_BROWSABLE’]

Default: True

Source: lms/envs/common.py (line 233)

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.

FEATURES[‘CUSTOM_CERTIFICATE_TEMPLATES_ENABLED’]

Default: False

Source: lms/envs/common.py (line 626)

Set to True to enable custom certificate templates which are configured via Django admin.

FEATURES[‘DEPRECATE_OLD_COURSE_KEYS_IN_STUDIO’]

Default: True

Source: cms/envs/common.py (line 415)

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.

FEATURES[‘DISABLE_COURSE_CREATION’]

Default: False

Source: cms/envs/common.py (line 443)

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.

FEATURES[‘DISABLE_HONOR_CERTIFICATES’]

Default: False

Source: lms/envs/common.py (line 317)

Set to True to disable honor certificates. Typically used when your installation only allows verified certificates, like courses.edx.org.

FEATURES[‘DISABLE_LOGIN_BUTTON’]

Default: False

Source: lms/envs/common.py (line 198)

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

FEATURES[‘DISABLE_MOBILE_COURSE_AVAILABLE’]

Default: False

Source: cms/envs/common.py (line 369)

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.

FEATURES[‘DISABLE_START_DATES’]

Default: False

Source: lms/envs/common.py (line 104)

When True, all courses will be active, regardless of start date.

Warning

This will cause ALL courses to be immediately visible.

FEATURES[‘DISPLAY_ANALYTICS_ENROLLMENTS’]

Default: True

Source: lms/djangoapps/instructor/settings/common.py (line 13)

Enable display of enrollment counts in instructor dashboard and analytics section.

FEATURES[‘DISPLAY_DEBUG_INFO_TO_STAFF’]

Default: True

Source: lms/envs/common.py (line 81)

Add a “Staff Debug” button to course modules for debugging by course staff.

FEATURES[‘DISPLAY_HISTOGRAMS_TO_STAFF’]

Default: False

Source: lms/envs/common.py (line 91)

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.

FEATURES[‘EDITABLE_SHORT_DESCRIPTION’]

Default: True

Source: cms/envs/common.py (line 214)

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.

FEATURES[‘EMBARGO’]

Default: False

Source: lms/envs/common.py (line 426)

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.

FEATURES[‘ENABLE_ACCOUNT_DELETION’]

Default: True

Source: lms/envs/common.py (line 835)

Whether to display the account deletion section on Account Settings page. Set to False to hide this section.

FEATURES[‘ENABLE_ANNOUNCEMENTS’]

Default: False

Source: openedx/features/announcements/settings/common.py (line 5)

This feature can be enabled to show system wide announcements on the sidebar of the learner dashboard. Announcements can be created by Global Staff users on maintenance dashboard of studio. Maintenance dashboard can accessed at https://{studio.domain}/maintenance

Warning

TinyMCE is needed to show an editor in the studio.

FEATURES[‘ENABLE_AUTHN_MICROFRONTEND’]

Default: False

Source: lms/envs/common.py (line 859)

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.

FEATURES[‘ENABLE_AUTOMATED_SIGNUPS_EXTRA_FIELDS’]

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 74)

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.

FEATURES[‘ENABLE_BULK_ENROLLMENT_VIEW’]

Default: False

Source: lms/envs/common.py (line 795)

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).

FEATURES[‘ENABLE_BULK_USER_RETIREMENT’]

Default: False

Source: lms/envs/common.py (line 929)

Set to True to enable bulk user retirement through REST API. This is disabled by default.

FEATURES[‘ENABLE_CCX_ANALYTICS_DASHBOARD_URL’]

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 23)

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.

FEATURES[‘ENABLE_CHANGE_USER_PASSWORD_ADMIN’]

Default: False

Source: cms/envs/common.py (line 379)

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.

FEATURES[‘ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER’]

Default: False

Source: lms/envs/common.py (line 506)

Display the standard footer in the login page. This feature can be overridden by a site- specific configuration.

FEATURES[‘ENABLE_CONTENT_LIBRARIES_LTI_TOOL’]

Default: False

Source: cms/envs/common.py (line 261)

When set to True, Content Libraries in Studio can be used as an LTI 1.3 tool by external LTI platforms.

FEATURES[‘ENABLE_COSMETIC_DISPLAY_PRICE’]

Default: False

Source: lms/envs/common.py (line 373)

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.

FEATURES[‘ENABLE_COURSEWARE_SEARCH’]

Default: False

Source: lms/envs/common.py (line 562)

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.

FEATURES[‘ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF’]

Default: False

Source: lms/envs/common.py (line 575)

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.

FEATURES[‘ENABLE_COURSE_ASSESSMENT_GRADE_CHANGE_SIGNAL’]

Default: False

Source: lms/envs/common.py (line 909)

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.

FEATURES[‘ENABLE_COURSE_DISCOVERY’]

Default: False

Source: lms/envs/common.py (line 637)

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.

FEATURES[‘ENABLE_COURSE_FILENAME_CCX_SUFFIX’]

Default: False

Source: lms/envs/common.py (line 650)

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.

FEATURES[‘ENABLE_COURSE_HOME_REDIRECT’]

Default: True

Source: lms/envs/common.py (line 491)

When enabled, along with the ENABLE_MKTG_SITE feature toggle, users who attempt to access a course “about” page will be redirected to the course home url. This url might be the course “info” page or the unified course tab (when the DISABLE_UNIFIED_COURSE_TAB_FLAG waffle is not enabled).

FEATURES[‘ENABLE_COURSE_SORTING_BY_START_DATE’]

Default: True

Source: lms/envs/common.py (line 480)

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.

FEATURES[‘ENABLE_CREDIT_ELIGIBILITY’]

Default: True

Source: lms/envs/common.py (line 3421)

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.

FEATURES[‘ENABLE_CSMH_EXTENDED’]

Default: True

Source: lms/envs/common.py (line 737)

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.

FEATURES[‘ENABLE_DASHBOARD_SEARCH’]

Default: False

Source: lms/envs/common.py (line 588)

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.

FEATURES[‘ENABLE_DISCUSSION_EMAIL_DIGEST’]

Default: False

Source: lms/envs/common.py (line 152)

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.

FEATURES[‘ENABLE_DISCUSSION_HOME_PANEL’]

Default: True

Source: lms/envs/common.py (line 141)

Hides or displays a welcome panel under the Discussion tab, which includes a subscription on/off setting for discussion digest emails.

Warning

This should remain off in production until digest notifications are online.

FEATURES[‘ENABLE_DISCUSSION_SERVICE’]

Default: True

Source: lms/envs/common.py (line 117)

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.

FEATURES[‘ENABLE_DJANGO_ADMIN_SITE’]

Default: True

Source: lms/envs/common.py (line 178)

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

FEATURES[‘ENABLE_EDXNOTES’]

Default: False

Source: lms/envs/common.py (line 532)

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.

FEATURES[‘ENABLE_EXAM_SETTINGS_HTML_VIEW’]

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 67)

When enabled, users can access the new course authoring view for proctoring exams

FEATURES[‘ENABLE_EXPORT_GIT’]

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 6)

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.

FEATURES[‘ENABLE_FORUM_DAILY_DIGEST’]

Default: True

Source: lms/djangoapps/discussion/config/settings.py (line 6)

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.

FEATURES[‘ENABLE_GRADE_DOWNLOADS’]

Default: False

Source: lms/djangoapps/instructor/settings/common.py (line 42)

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.

FEATURES[‘ENABLE_HELP_LINK’]

Default: True

Source: cms/envs/common.py (line 455)

When True, a help link is displayed on the main navbar. Set False to hide it.

FEATURES[‘ENABLE_HTML_XBLOCK_STUDENT_VIEW_DATA’]

Default: False

Source: lms/envs/common.py (line 808)

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.

FEATURES[‘ENABLE_LEARNER_RECORDS’]

Default: True

Source: openedx/core/djangoapps/credentials/helpers.py (line 9)

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.

FEATURES[‘ENABLE_LIBRARY_AUTHORING_MICROFRONTEND’]

Default: False

Source: cms/envs/common.py (line 431)

Set to True to enable the Library Authoring MFE

Warning

Also set settings.LIBRARY_AUTHORING_MICROFRONTEND_URL and see REDIRECT_TO_LIBRARY_AUTHORING_MICROFRONTEND for rollout.

FEATURES[‘ENABLE_LOGIN_MICROFRONTEND’]

Default: False

Source: lms/envs/common.py (line 354)

Enable the login micro frontend.

Warning

The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.

FEATURES[‘ENABLE_LTI_PROVIDER’]

Default: False

Source: lms/envs/common.py (line 698)

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 invloved to configure edX as LTI provider. Full guide is available here: https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/lti/index.html

FEATURES[‘ENABLE_MASQUERADE’]

Default: True

Source: lms/envs/common.py (line 190)

None

FEATURES[‘ENABLE_MAX_FAILED_LOGIN_ATTEMPTS’]

Default: True

Source: lms/envs/common.py (line 408)

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.

FEATURES[‘ENABLE_MKTG_SITE’]

Default: False

Source: lms/envs/common.py (line 456)

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.

FEATURES[‘ENABLE_OAUTH2_PROVIDER’]

Default: False

Source: lms/envs/common.py (line 207)

Enable this feature to allow this Open edX platform to be an OAuth2 authentication provider. This is necessary to enable some other features, such as the REST API for the mobile application.

Warning

This temporary feature toggle does not have a target removal date.

FEATURES[‘ENABLE_OPENBADGES’]

Default: False

Source: lms/envs/common.py (line 685)

Enables support for the creation of OpenBadges as a method of awarding credentials.

Warning

The following settings (all of which are in the same file) should be set or reviewed prior to enabling this setting: BADGING_BACKEND, BADGR_API_TOKEN, BADGR_BASE_URL, BADGR_ISSUER_SLUG, BADGR_TIMEOUT. Full guide for setting up OpenBadges available here: https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/enable_badging.html pylint: disable=line-too-long,useless-suppression

FEATURES[‘ENABLE_ORA_ALL_FILE_URLS’]

Default: False

Source: cms/envs/common.py (line 389)

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.

FEATURES[‘ENABLE_ORA_TEAM_SUBMISSIONS’]

Default: False

Source: lms/djangoapps/teams/toggles.py (line 12)

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.

FEATURES[‘ENABLE_ORA_USERNAMES_ON_DATA_EXPORT’]

Default: False

Source: lms/envs/common.py (line 897)

Set to True to add deanonymized usernames to ORA data report.

Warning

This temporary feature toggle does not have a target removal date.

FEATURES[‘ENABLE_ORA_USER_STATE_UPLOAD_DATA’]

Default: False

Source: cms/envs/common.py (line 403)

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.

FEATURES[‘ENABLE_PASSWORD_RESET_FAILURE_EMAIL’]

Default: False

Source: lms/envs/common.py (line 820)

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.

FEATURES[‘ENABLE_SPECIAL_EXAMS’]

Default: False

Source: lms/envs/common.py (line 676)

Enable to use special exams, aka timed and proctored exams.

FEATURES[‘ENABLE_STUDENT_HISTORY_VIEW’]

Default: True

Source: lms/envs/common.py (line 265)

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.

FEATURES[‘ENABLE_TEXTBOOK’]

Default: True

Source: lms/envs/common.py (line 130)

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.

FEATURES[‘ENABLE_THIRD_PARTY_AUTH’]

Default: False

Source: lms/envs/common.py (line 445)

Turn on third-party auth. Disabled for now because full mplementations are not yet available. Remember to run migrations if you enable this; we don’t create tables by default. This feature can be enabled on a per-site basis. When enabling this feature, remember to define the allowed authentication backends with the AUTHENTICATION_BACKENDS setting.

FEATURES[‘ENABLE_UNICODE_USERNAME’]

Default: False

Source: lms/envs/common.py (line 167)

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.

FEATURES[‘ENABLE_V2_CERT_DISPLAY_SETTINGS’]

Default: False

Source: cms/envs/common.py (line 465)

Whether to use the reimagined certificates_display_behavior and certificate_available_date

FEATURES[‘ENABLE_XBLOCK_VIEW_ENDPOINT’]

Default: False

Source: lms/envs/common.py (line 218)

Enable an API endpoint, named “xblock_view”, to serve rendered XBlock views. This might be used by external applications. See for instance jquery-xblock (now unmaintained): https://github.com/edx-solutions/jquery-xblock

FEATURES[‘ENTRANCE_EXAMS’]

Default: False

Source: openedx/core/toggles.py (line 7)

Enable entrance exams feature. When enabled, students see an exam xblock as the first unit of the course.

FEATURES[‘HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED’]

Default: False

Source: lms/envs/common.py (line 255)

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.

FEATURES[‘LICENSING’]

Default: False

Source: lms/envs/common.py (line 603)

Toggle platform-wide course licensing. The course.license attribute is then used to append license information to the courseware.

FEATURES[‘MILESTONES_APP’]

Default: False

Source: common/djangoapps/util/milestones_helpers.py (line 25)

Enable the milestones application, which manages significant Course and/or Student events in the Open edX platform. (see https://github.com/edx/edx-milestones) Note that this feature is required to enable course pre-requisites.

FEATURES[‘RESTRICT_AUTOMATIC_AUTH’]

Default: True

Source: lms/envs/common.py (line 342)

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.

FEATURES[‘SHOW_HEADER_LANGUAGE_SELECTOR’]

Default: False

Source: lms/envs/common.py (line 711)

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.

FEATURES[‘SKIP_EMAIL_VALIDATION’]

Default: False

Source: lms/envs/common.py (line 363)

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.

GLOBAL_NOTICE_ENABLED

Default: False

Source: openedx/core/djangoapps/util/user_messages.py (line 187)

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.

HLSPlaybackEnabledFlag.enabled_for_all_courses

Default: False

Source: openedx/core/djangoapps/video_config/models.py (line 16)

Add the “hls” profile to all displayed videos on the platform.

LOG_REQUEST_USER_CHANGES

Default: False

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 100)

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.

LOG_REQUEST_USER_CHANGE_HEADERS

Default: False

Source: openedx/core/djangoapps/safe_sessions/middleware.py (line 115)

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

To work correctly, LOG_REQUEST_USER_CHANGES must be enabled and ENFORCE_SAFE_SESSIONS must be disabled. Also, SAFE_SESSIONS_DEBUG_PUBLIC_KEY must be set. See https://github.com/edx/edx-platform/blob/master/common/djangoapps/util/log_sensitive.py for instructions.

ORGANIZATIONS_AUTOCREATE

Default: True

Source: cms/envs/common.py (line 2509)

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.

PersistentGradesEnabledFlag.enabled

Default: False

Source: lms/djangoapps/grades/config/models.py (line 17)

When enabled, grades are persisted. This means that PersistentCourseGrade objects are created for student grades. In order for this to take effect, CoursePersistentGradesFlag objects must also be created individually for each course. Alternatively, the PersistentGradesEnabledFlag.enabled_for_all_courses waffle flag or the PERSISTENT_GRADES_ENABLED_FOR_ALL_TESTS feature flag can be set to True to enable this feature for all courses.

RATELIMIT_ENABLE

Default: True

Source: lms/envs/common.py (line 4569)

When enabled, RATELIMIT_RATE is applied. When disabled, RATELIMIT_RATE is not applied.

SOME_FEATURE_NAME

Default: False

Source: lms/envs/common.py (line 4885)

Flag would be used to show account activation popup after the registration

VEMPipelineIntegration.enabled

Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 14)

Send videos to the Video Encode Manager (VEM) as part of the video pipeline.

VideoUploadsEnabledByDefault.enabled_for_all_courses

Default: False

Source: openedx/core/djangoapps/video_pipeline/models.py (line 55)

Allow video uploads for all courses of the platform. This enables the “Video Uploads” menu in the CMS.

WIKI_ACCOUNT_HANDLING

Default: False

Source: lms/envs/common.py (line 1889)

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/edx/django-wiki/blob/edx_release/wiki/conf/settings.py

WIKI_ANONYMOUS

Default: False

Source: lms/envs/common.py (line 1899)

Enabling this allows access to anonymous users. For the original docs, see: https://github.com/edx/django-wiki/blob/edx_release/wiki/conf/settings.py

Warning

Setting allow anonymous access to `True` may have styling issues.

WIKI_ENABLED

Default: True

Source: lms/envs/common.py (line 1327)

This setting allows us to have a collaborative tool to contribute or modify content of course related materials.

WIKI_USE_BOOTSTRAP_SELECT_WIDGET

Default: False

Source: lms/envs/common.py (line 1915)

Enabling this will use the bootstrap select widget. For the original docs, see: https://github.com/edx/django-wiki/blob/edx_release/wiki/conf/settings.py

account.redirect_to_microfrontend

Default: False

Source: openedx/core/djangoapps/user_api/accounts/toggles.py (line 28)

Supports staged rollout of a new micro-frontend-based implementation of the account page. Its action can be overridden using site’s ENABLE_ACCOUNT_MICROFRONTEND setting.

Warning

Also set settings.ACCOUNT_MICROFRONTEND_URL.

agreements.enable_integrity_signature

Default: False

Source: openedx/core/djangoapps/agreements/toggles.py (line 10)

Supports rollout of the integrity signature feature

block_structure.invalidate_cache_on_publish

Default: False

Source: openedx/core/djangoapps/content/block_structure/config/__init__.py (line 12)

When enabled, the block structure cache is invalidated when changes to courses are published. If `block_structure.storage_backing_for_cache` is active, all block structures related to the published course are also cleared from storage.

Warning

This switch will likely be deprecated and removed.

block_structure.raise_error_when_not_found

Default: False

Source: openedx/core/djangoapps/content/block_structure/config/__init__.py (line 51)

Raises an error if the requested block structure does not exist in block structure store, or if it is outdated. Block structure store refers to both cache and storage, if enabled.

Warning

This switch will likely be deprecated and removed. The annotation will be updated with the DEPR ticket once that process has started.

block_structure.storage_backing_for_cache

Default: False

Source: openedx/core/djangoapps/content/block_structure/config/__init__.py (line 30)

When enabled, block structures are stored in a more permanent storage, like a database, which provides an additional backup for cache misses, instead having them regenerated. The regenration of block structures is a time consuming process. Therefore, enabling this switch is recommended for Production.

Warning

Depends on `BLOCK_STRUCTURES_SETTINGS[‘STORAGE_CLASS’]` and `BLOCK_STRUCTURES_SETTINGS[‘STORAGE_KWARGS’]`. This switch will likely be deprecated and removed. The annotation will be updated with the DEPR ticket once that process has started.

bulk_email.EMAIL_USE_COURSE_ID_FROM_FOR_BULK

Default: False

Source: lms/djangoapps/bulk_email/toggles.py (line 8)

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

bypass_olx_failure

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 38)

Enables bypassing olx validation failures during course import.

certificates.auto_certificate_generation

Default: False

Source: lms/djangoapps/certificates/config.py (line 11)

This toggle will enable certificates to be automatically generated

contentstore.library_authoring_mfe

Default: False

Source: cms/djangoapps/contentstore/config/waffle.py (line 55)

Toggles the new micro-frontend-based implementation of the library authoring experience.

Warning

Also set settings.LIBRARY_AUTHORING_MICROFRONTEND_URL and ENABLE_LIBRARY_AUTHORING_MICROFRONTEND.

course_apps.proctoring_settings_modal_view

Default: False

Source: openedx/core/djangoapps/course_apps/toggles.py (line 11)

When enabled, users will be directed to a new proctoring settings modal on the Pages and Resources view when accessing proctored exam settings.

course_blocks_api.hide_access_denials

Default: False

Source: lms/djangoapps/course_api/blocks/toggles.py (line 10)

Waffle flag to hide access denial messages in the course blocks.

Warning

This temporary feature toggle does not have a target removal date.

course_experience.calendar_sync

Default: False

Source: openedx/features/course_experience/__init__.py (line 82)

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.

course_experience.enable_about_sidebar_html

Default: False

Source: openedx/features/course_experience/waffle.py (line 11)

Used to determine whether to show custom HTML in the sidebar on the internal course about page.

course_experience.enable_course_goals

Default: False

Source: openedx/features/course_experience/__init__.py (line 34)

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.

course_experience.latest_update

Default: False

Source: openedx/features/course_experience/__init__.py (line 50)

Used to switch between ‘welcome message’ and ‘latest update’ on the course home page.

Warning

This is meant to be configured using waffle_utils course override only. Either do not create the actual waffle flag, or be sure to unset the flag even for Superusers. This is no longer used in the learning MFE and can be removed when the outline tab is fully moved to the learning MFE.

course_experience.relative_dates

Default: False

Source: openedx/features/course_experience/__init__.py (line 70)

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.

course_home.course_home_use_legacy_frontend

Default: False

Source: lms/djangoapps/course_home_api/toggles.py (line 14)

This flag enables the use of the legacy view of course home as the default course frontend.

course_list_api_rate_limit.rate_limit_10

Default: False

Source: lms/djangoapps/course_api/__init__.py (line 17)

Waffle switch to enable the throttling of 10 requests/minute to the course API. For staff users, this limit is 20 requests/minute.

course_list_api_rate_limit.rate_limit_2

Default: False

Source: lms/djangoapps/course_api/__init__.py (line 8)

Waffle switch to enable the throttling of 2 requests/minute to the course API. For staff users, this limit is 10 requests/minute.

course_modes.use_new_track_selection

Default: False

Source: common/djangoapps/course_modes/views.py (line 50)

This flag enables the use of the new track selection template for testing purposes before full rollout

Warning

This temporary feature toggle does not have a target removal date.

courseware.mfe_progress_milestones

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 58)

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.

courseware.mfe_progress_milestones_streak_celebration

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 72)

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.

courseware.mfe_progress_milestones_streak_discount_enabled

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 88)

This flag enables an engagement discount incentive message.

Warning

This flag depends on the streak celebration feature being enabled

courseware.microfrontend_course_exit_page

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 43)

Supports staged rollout of the new micro-frontend-based implementation of the course exit page.

Warning

Also set settings.LEARNING_MICROFRONTEND_URL.

courseware.microfrontend_course_team_preview

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 28)

Waffle flag to display a link for the new learner experience to course teams without redirecting students. Supports staged rollout to course teams of a new micro-frontend-based implementation of the courseware page.

Warning

Also set settings.LEARNING_MICROFRONTEND_URL.

courseware.optimized_render_xblock

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 103)

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.

courseware.use_legacy_frontend

Default: False

Source: lms/djangoapps/courseware/toggles.py (line 14)

Waffle flag to direct learners to the legacy courseware experience - the default behavior directs to the new MFE-based courseware in frontend-app-learning. Supports the ability to globally flip back to the legacy courseware experience.

discounts.enable_discounting

Default: False

Source: openedx/features/discounts/applicability.py (line 31)

Toggle discounts always being disabled

Warning

This temporary feature toggle does not have a target removal date.

discussions.enable_discussions_mfe

Default: False

Source: lms/djangoapps/discussion/toggles.py (line 8)

Waffle flag to use the new MFE experience for discussions in the course tab and in-context

discussions.override_discussion_legacy_settings

Default: False

Source: openedx/core/djangoapps/discussions/config/waffle.py (line 13)

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.

discussions.pages_and_resources_mfe

Default: False

Source: openedx/core/djangoapps/discussions/config/waffle.py (line 29)

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.

effort_estimation.disabled

Default: False

Source: openedx/features/effort_estimation/toggles.py (line 12)

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.

experiments.add_dashboard_info

Default: False

Source: lms/djangoapps/experiments/utils.py (line 44)

Toggle for adding info about each course to the dashboard metadata

Warning

This temporary feature toggle does not have a target removal date.

experiments.add_programs

Default: False

Source: lms/djangoapps/experiments/utils.py (line 29)

Toggle for adding the current course’s program information to user metadata

Warning

This temporary feature toggle does not have a target removal date.

experiments.add_upsell_tracking

Default: False

Source: lms/djangoapps/experiments/utils.py (line 56)

Make sure upsell tracking JS works as expected.

Warning

This temporary feature toggle does not have a target removal date.

experiments.mobile_upsell_rev934

Default: False

Source: lms/djangoapps/experiments/views_custom.py (line 27)

Toggle mobile upsell enabled

Warning

This temporary feature toggle does not have a target removal date.

export_course_metadata

Default: False

Source: cms/djangoapps/export_course_metadata/toggles.py (line 7)

Export of course metadata (initially to s3 for use by braze)

grades.assume_zero_grade_if_absent

Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 16)

When enabled, an absent grade is assumed to be zero. Alternatively, defining the `settings.FEATURES[“ASSUME_ZERO_GRADE_IF_ABSENT_FOR_ALL_TESTS”]` feature flag in the LMS will enable this feature for all courses.

Warning

This requires the PersistentGradesEnabledFlag to be enabled.

grades.bulk_management

Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 73)

When enabled, bulk features are visible for management in masters course. As far as we understand, this feature is now unused and obsolete.

grades.disable_regrade_on_policy_change

Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 28)

When enabled, a change in grading policy will not trigger re-grading.

grades.rejected_exam_overrides_grade

Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 50)

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.

grades.writable_gradebook

Default: False

Source: lms/djangoapps/grades/config/waffle.py (line 61)

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.

instructor.enable_data_download_v2

Default: False

Source: lms/djangoapps/instructor/toggles.py (line 11)

instructor

learner_dashboard.enable_masters_program_tab_view

Default: False

Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 25)

Waffle flag to enable new Masters Program discussion experience for masters program. This flag is used to decide weather 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.

learner_dashboard.enable_program_tab_view

Default: False

Source: lms/djangoapps/learner_dashboard/config/waffle.py (line 8)

Waffle flag to enable new Program discussion experience in tab view for course. This flag is used to decide weather 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.

learner_profile.redirect_to_microfrontend

Default: False

Source: openedx/features/learner_profile/toggles.py (line 12)

Supports staged rollout of a new micro-frontend-based implementation of the profile page.

Warning

Also set settings.PROFILE_MICROFRONTEND_URL and site’s ENABLE_PROFILE_MICROFRONTEND.

learning_sequences.use_for_outlines

Default: False

Source: openedx/core/djangoapps/content/learning_sequences/toggles.py (line 9)

Waffle flag to enable the use of the Learning Sequences Course Outline API (/api/learning_sequences/v1/course_outline/{course_key}). If this endpoint is not enabled for a given course, it will return a 403 error. The Courseware MFE should know how to detect this condition. To see the value of this API for a course before it has officially been rolled out for it, you can bypass this check by passing force_on=1 as a querystring parameter. This flag is also used to determine what is returned by the public_api_available learning_sequences API function, though other apps calling this API are always able to ignore this result and call any learning_sequences API directly (e.g. get_course_outline).

new_core_editors.use_new_problem_editor

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 124)

This flag enables the use of the new core problem xblock editor

Warning

new_core_editors.use_new_text_editor

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 86)

This flag enables the use of the new core text xblock editor

Warning

new_core_editors.use_new_video_editor

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 105)

This flag enables the use of the new core video xblock editor

Warning

open_edx_util.display_maintenance_warning

Default: False

Source: openedx/core/djangoapps/util/waffle.py (line 8)

Displays the maintenance warning, when active.

order_history.redirect_to_microfrontend

Default: False

Source: openedx/core/djangoapps/user_api/accounts/toggles.py (line 8)

Supports staged rollout of a new micro-frontend-based implementation of the order history page.

Warning

Also set settings.ORDER_HISTORY_MICROFRONTEND_URL and site’s ENABLE_ORDER_HISTORY_MICROFRONTEND.

registration.enable_failure_logging

Default: False

Source: openedx/core/djangoapps/user_authn/views/register.py (line 109)

Enable verbose logging of registration failure messages

Warning

This temporary feature toggle does not have a target removal date.

require_course_email_auth

Default: True

Source: lms/djangoapps/bulk_email/models.py (line 497)

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.

schedules.enable_debugging

Default: False

Source: openedx/core/djangoapps/schedules/config.py (line 14)

Enable debug level of logging for schedules messages.

split_library_on_studio_dashboard

Default: False

Source: cms/djangoapps/contentstore/toggles.py (line 25)

Enables data new view for library on studio dashboard.

student.courseenrollment_admin

Default: False

Source: common/djangoapps/student/admin.py (line 53)

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.

studio.custom_relative_dates

Default: False

Source: cms/djangoapps/contentstore/config/waffle.py (line 72)

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.

teams.enable_teams_app

Default: False

Source: lms/djangoapps/teams/waffle.py (line 8)

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.

user_authn.enable_login_using_thirdparty_auth_only

Default: False

Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 11)

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.

user_authn.enable_pwned_password_api

Default: False

Source: openedx/core/djangoapps/user_authn/config/waffle.py (line 27)

When enabled, user password’s vulnerability would be checked via pwned password database

user_authn.redirect_to_microfrontend

Default: False

Source: openedx/core/djangoapps/user_authn/toggles.py (line 26)

Supports staged rollout of a new micro-frontend-based implementation of the login and registration pages

Warning

Also set settings.AUTHN_MICROFRONTEND_URL and site’s ENABLE_AUTHN_MICROFRONTEND

user_tours.tours_enabled

Default: False

Source: lms/djangoapps/user_tours/toggles.py (line 7)

This flag enables the use of user tours in the LMS.

verify_student.optimised_is_small_course

Default: False

Source: lms/djangoapps/instructor/toggles.py (line 25)

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.

verify_student.use_new_email_templates

Default: False

Source: lms/djangoapps/verify_student/toggles.py (line 10)

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.

videos.deprecate_youtube

Default: False

Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 12)

Waffle flag telling whether youtube is deprecated. When enabled, videos are no longer uploaded to YouTube as part of the video pipeline.

videos.enable_devstack_video_uploads

Default: False

Source: openedx/core/djangoapps/video_pipeline/config/waffle.py (line 22)

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.