-
Notifications
You must be signed in to change notification settings - Fork 3
Description
RFC Start Date
2025-02-27
Target Plan Accepted Date
2025-03-14
Target Transition Unblocked Date
2025-03-14
Earliest Breaking Changes Unblocked Date
2025-06-06
Earliest Open edX Named Release Without This Functionality
Ulmo - 2025-06
Forum post
Rationale
There are currently multiple ways to configure sidebar behavior in the Learning MFE:
- Using Frontend Plugin Framework slots (as of feat: wrap existing sidebars in
frontend-plugin-framework
PluginSlot
s frontend-app-learning#1543, to be released in Teak) - Using the following waffle flags:
courseware.enable_navigation_sidebar
courseware.always_open_auxiliary_sidebar
There are downsides to having multiple ways to do one thing:
- Supporting 2 things requires more work from MFE maintainers than supporting 1 thing.
- Having 2 ways to configure something is more complicated for site operators than having 1 way.
There are also downsides to the waffle flags themselves:
- Supporting the waffle flags in the Learning MFE adds more complexity than the Frontend Plugin Framework slots do.
- The waffle flags do not provide as much flexibility in customization as the Frontend Plugin Framework slots do.
Removal
The following waffle flags will be removed:
courseware.enable_navigation_sidebar
courseware.always_open_auxiliary_sidebar
All of the logic surrounding those waffle flags in frontend-app-learning
will be removed.
Replacement
Context: All logic surrounding the use of courseware.enable_navigation_sidebar
and courseware.always_open_auxiliary_sidebar
has already been wrapped in Frontend Plugin Framework slots (as of openedx/frontend-app-learning#1543, to be released in Teak). This means the "default content" of the sidebar slots is where the logic is being used.
The default content of the sidebar slots in the Learning MFE will now always behave as it does currently when courseware.enable_navigation_sidebar
is true
and courseware.always_open_auxiliary_sidebar
is false
.
Site operators that wish to replicate any behavior that differs from that default will need to be move that logic into plugins that can be used with the existing sidebar slots.
Deprecation
No response
Migration
No response
Additional Info
No response
Task List
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status