edX Feature Flags
This wiki page is out-of-date. There is an in-progress effort to programmatically generate this documentation from code annotations as specified in OEP-17. You can see the latest result of that effort in the edx-platform technical reference.
The Docs team is documenting existing feature flags in the Installing, Configuring, and Running the Open edX Platform guide. We plan to start with a table that shows the flag name, description, default value, and status (similar to the following table), then add individual pages over time for currently supported or important flags in order of priority (as indicated in the Priority column by devs familiar with the flags). We will exclude all edx-internal flags, though they'll still be listed here on this wiki page.
Please fill out as much of this table as you can; if you're currently pressed for time, please fill out at least the Default Value, Status, and Contact columns.
Column descriptions:
Status: Development, Supported, Supported Non-Conforming, Deprecated, edx-internal.
Contact: The best person to ask about the flag.
More Information: Where to find more information about the flag. I (Sylvia) did some digging on the wiki and added what I could find here.
Priority (1-4): How important an individual page for this flag is/how quickly the page should be created.
Absolutely needs its own page, like, yesterday
Important to have its own page, but not as urgent
Should probably have its own page, eventually
Only needs to be listed in the table
Associated Feature: The feature, if any, the flag relates to.
Additional Steps to Enable: If the feature requires additional steps to enable, enter a Y in this column with a link to more information (or I'll just plan to check with the person listed in the Contact column). If the steps are short enough, feel free to add them here.
This table is LARGE! Scroll right to see all the columns.
Feature Flag | Status | Default Value | Contact | Description | More Information | Priority (1-4) | Associated Feature | Additional Steps to Enable |
|---|---|---|---|---|---|---|---|---|
USE_DJANGO_PIPELINE | Supported | TRUE |
| http://django-pipeline.readthedocs.org/ – whatever version we specify in our requirements.txt |
|
|
|
|
DISPLAY_DEBUG_INFO_TO_STAFF | Supported | TRUE |
|
|
|
|
|
|
DISPLAY_HISTOGRAMS_TO_STAFF | Deprecated? | FALSE |
| For large courses this slows down courseware access for staff. | Doesn't scale, but small code impact. |
|
|
|
REROUTE_ACTIVATION_EMAIL | ? | FALSE |
| nonempty string = address for all activation emails |
|
|
|
|
DEBUG_LEVEL | Deprecated | 0 |
| 0 = lowest level, least verbose, 255 = max level, most verbose | This doesn't actually appear to be used anywhere in the code. |
|
|
|
DISABLE_START_DATES | edx-internal | FALSE |
| When True, all courses will be active, regardless of start date |
|
|
|
|
SUBDOMAIN_COURSE_LISTINGS | Deprecated | FALSE |
| Expects you to define COURSE_LISTINGS, a dictionary mapping | @Dave Ormsbee (Deactivated): SUBDOMAIN_COURSE_LISTINGS should die (doesn't work anymore) |
|
|
|
SUBDOMAIN_BRANDING | Deprecated | FALSE |
| When True, will override certain branding with university specific values Expects a SUBDOMAIN_BRANDING dictionary that maps the subdomain to the university to use for branding purposes | @Dave Ormsbee (Deactivated): Also should die (doesn't work anymore) |
|
|
|
FORCE_UNIVERSITY_DOMAIN | Deprecated | FALSE |
| set this to the university domain to use, as an override to HTTP_HOST set to None to do no university selection |
|
|
|
|
ENABLE_DISCUSSION_SERVICE | Supported | TRUE |
| enables or disables the Discussion tab (aka Forums) in courseware for all courses. | Setting this to False will not suppress inline discussion components in a course that contains them. 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. |
|
|
|
ENABLE_TEXTBOOK | Supported | TRUE |
|
| We should just bake it as on, and not make it a flag. |
|
|
|
ENABLE_STUDENT_NOTES | Supported | TRUE |
| enables the student notes API and UI. |
|
|
|
|
ENABLE_DISCUSSION_HOME_PANEL | Supported | FALSE |
| Hides or displays a welcome panel under the Discussion tab, which includes a subscription on/off setting for discussion digest emails. | Because of the way the Discussion tab UI works, this should always be set to True if the notifier service is set up to send daily digest emails, because it is the only place a user can currently opt in / out of those mails. |
|
|
|
ENABLE_DISCUSSION_EMAIL_DIGEST | Supported | FALSE |
| Set this to True if you want the discussion digest emails enabled automatically for new users. This will be set on all new account registrations. It is not recommended to enable this feature if ENABLE_DISCUSSION_HOME_PANEL is not enabled, since subscribers who receive digests in that case will only be able to unsubscribe via links embedded in their emails, and they will have no way to resubscribe. | OSPR-369 |
|
|
|
ENABLE_PSYCHOMETRICS | Deprecated | FALSE | Does MIT use this? | real-time psychometrics (eg item response theory analysis in instructor dashboard | We should do a formal check again with MIT, but as far as I know, we can kill the whole app. |
|
|
|
ENABLE_DJANGO_ADMIN_SITE | Supported | TRUE |
| set true to enable djangos admin site, even on prod (e.g. for course ops) | This should just be always on, I think. |
|
|
|
ENABLE_SQL_TRACKING_LOGS | Deprecated? | FALSE |
|
| Doesn't scale, but low code impact. Stanford found this very useful in the past, I'm not sure if this is something we can deprecate. |
|
|
|
ENABLE_LMS_MIGRATION | Deprecated | FALSE |
|
| The migration here is when we went from having only XML based courses and the LMS to the LMS/Studio split and Mongo backed courses. This was code to make sure that MIT's publishing flow wouldn't break in the transition. |
|
|
|
ENABLE_MANUAL_GIT_RELOAD | Supported | FALSE |
|
| I think we can kill this, now that we've removed all of our XML courses. It didn't work on a multi-process system anyway. |
|
|
|
ENABLE_MASQUERADE | Supported? | TRUE |
| allow course staff to change to student view of courseware |
|
|
|
|
ENABLE_SYSADMIN_DASHBOARD | Deprecated? | FALSE | I think that MIT still uses this, please reach out to them. (So does the open source community) | sysadmin dashboard, to see what courses are loaded, to delete & load courses | /wiki/spaces/TNL/pages/34013441
|
|
|
|
DISABLE_LOGIN_BUTTON | Supported | FALSE |
| used in systems where login is automatic, eg MIT SS |
|
|
|
|
ACCESS_REQUIRE_STAFF_FOR_COURSE | Supported Non-conforming | FALSE |
| external access methods |
|
|
|
|
AUTH_USE_OPENID | Supported Non-conforming | FALSE |
|
|
|
|
|
|
AUTH_USE_CERTIFICATES | Supported Non-conforming | FALSE |
|
|
|
|
|
|
AUTH_USE_OPENID_PROVIDER | Supported Non-conforming | FALSE |
|
|
|
|
| |
AUTH_USE_SHIB | Supported Non-conforming | FALSE |
| Even though external_auth is in common, shib assumes the LMS views / urls, so it should only be enabled in LMS |
|
|
|
|
AUTH_USE_CAS | Supported Non-conforming | TRUE |
|
|
|
|
|
|
SHIB_DISABLE_TOS | Supported Non-conforming | FALSE |
| This flag disables the requirement of having to agree to the TOS for users registering with Shib. Feature was requested by Stanford's office of general counsel |
|
|
|
|
ENABLE_OAUTH2_PROVIDER | Supported | FALSE |
| Toggles OAuth2 authentication provider |
|
|
| |
ENABLE_XBLOCK_VIEW_ENDPOINT | Supported | FALSE |
| Allows to enable an API endpoint to serve XBlock view, used for example by external applications. See jquey-xblock: | /wiki/spaces/SOL/pages/39584742 Perhaps not immediately, but this seems like a candidate for inclusion by installation: a separate django app that, when installed, exposes this view. |
|
|
|
ENABLE_CORS_HEADERS | Supported | FALSE |
| Allows to configure the LMS to provide CORS headers to serve requests from other domains |
|
|
| |
COURSES_ARE_BROWSABLE | Deprecated? | TRUE |
| Can be turned off if course lists need to be hidden. Effects views and templates. |
|
|
|
|
RESTRICT_ENROLL_BY_REG_METHOD | Deprecated? | FALSE |
| Enables ability to restrict enrollment in specific courses by the user account login method |
|
|
|
|
ENABLE_INSTRUCTOR_EMAIL | Supported | TRUE |
| Enables the LMS bulk email feature for course staff |
|
|
|
|
REQUIRE_COURSE_EMAIL_AUTH | Supported | TRUE |
| If True and ENABLE_INSTRUCTOR_EMAIL: Forces email to be explicitly turned on for each course via django-admin interface. If False and ENABLE_INSTRUCTOR_EMAIL: Email will be turned on by default for all Mongo-backed courses. |
|
|
|
|
ENABLE_INSTRUCTOR_ANALYTICS | Deprected | FALSE |