edX Feature Flags

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.

    1. Absolutely needs its own page, like, yesterday

    2. Important to have its own page, but not as urgent

    3. Should probably have its own page, eventually

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

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
subdomains to lists of course_ids
COURSE_LISTINGS = {
'default': [
'BerkeleyX/CS169.1x/2012_Fall',
'HarvardX/CS50x/2012',
'MITx/3.091x/2012_Fall',
],
'openedx': [
'BerkeleyX/CS169.1x/2012_Fall',
],
}
To see it in action, add the following to your /etc/hosts file:
127.0.0.1 openedx.dev

@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.
/wiki/spaces/MS/pages/9765044

 

 

 

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.

If the notifier is not in use, setting this to True could be problematic, as it will expose the opt-in/-out checkbox but it won't have any effect./wiki/spaces/MS/pages/9765044 

 

 

 

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

https://github.com/edx/edx-platform/pull/4891

/wiki/spaces/SOL/pages/11108590

 

 

 

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

https://openedx.atlassian.net/wiki/download/attachments/15466526/git-based-courses.pdf?version=1&modificationDate=1416931866603&api=v2

/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

 

 

/wiki/spaces/SOL/pages/36012923

 

 

 

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

/wiki/spaces/ArchiveEng/pages/23494657

 

 

 

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:
https://github.com/edx-solutions/jquery-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

/wiki/spaces/ECOM/pages/39584333

/wiki/spaces/ECOM/pages/30375988

 

 

 

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