You can release new E-Commerce service features and functionality behind a feature gate. This project uses the Waffle library for feature gating.
Waffle supports the following types of feature gates.
For more information about creating or updating features and feature gates, see the Waffle documentation.
Waffle offers the following feature gates.
|user_enrollments_on_dashboard||Switch||Display a user’s current enrollments on the dashboard user detail page.|
|publish_course_modes_to_lms||Switch||Publish prices and SKUs to the LMS after every course modification.|
|async_order_fulfillment||Sample||Specify what percentage of orders are fulfilled asynchronously.|
|ENABLE_CREDIT_APP||Switch||Enable the credit checkout page, from which learners can purchase credit in a course.|
|ENABLE_NOTIFICATIONS||Switch||Enable email notifications for a variety of user actions, such as when an order is placed.|
|PAYPAL_RETRY_ATTEMPTS||Switch||Enable users to retry unsuccessful PayPal payments.|
|allow_missing_lms_user_id||Switch||Allow a missing LMS user id without raising a MissingLmsUserIdException. For background, see 0004-unique-identifier-for-users|
If you want to make a feature permanent, remove its feature gate from relevant code and tests, and delete the gate from the database.