Skip to content

[DEPR]: Remove ability to modify Learning MFE sidebar behavior with waffle flags #316

@brian-smith-tcril

Description

@brian-smith-tcril

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

https://discuss.openedx.org/t/deprecation-ability-to-modify-learning-mfe-sidebar-behavior-with-waffle-flags/15119

Rationale

There are currently multiple ways to configure sidebar behavior in the Learning MFE:

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

Labels

deprProposal for deprecation & removal per OEP-21

Type

No type

Projects

Status

Breaking Changes Unblocked

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions