feat: add FeaturesProxy integration for feature flag management in CMS and LMS#175
Conversation
There was a problem hiding this comment.
Pull Request Overview
This PR implements FeaturesProxy integration for feature flag management in both CMS and LMS configuration files. The changes introduce a backwards-compatible mechanism for transitioning away from direct FEATURES dictionary usage while maintaining existing functionality.
Key changes:
- Adds FeaturesProxy import and initialization in both CMS and LMS configuration files
- Implements try-catch blocks to handle ImportError gracefully for backwards compatibility
- Follows the exact pattern described in the breaking change documentation
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| py_configuration_files/lms.py | Adds FeaturesProxy integration with error handling for LMS configuration |
| py_configuration_files/cms.py | Adds FeaturesProxy integration with error handling for CMS configuration |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
@Akanshu-2u do we use "!" in commits when breaking changes are made internally ? Can you also add 2U private jira link ? |
jcapphelix
left a comment
There was a problem hiding this comment.
Can we add a comment that these changes are temporary and are supposed to be removed ?
Upon looking into the files these comments may not be needed as these are anyways internal implementation of devstack.py file so its okay to not have it there. |
Description
Breaking change:
Operators who maintain custom settings modules that write to
FEATURESmust add the following snippet at the top of their settings file(s) to ensure backwards compatibility:This allows existing references to
FEATURES[...]to continue functioning while Open edX transitions off of it.Reference:
FEATURES = FeaturesProxy(...)to your django settings openedx/openedx-platform#373452U Private Jira Link :