Skip to content

[DEPR]: old Learner Course Dashboard #35326

Open

Description

@deborahgu

Proposal Date

2024-08-19

Target Ticket Acceptance Date

2024-09-19

Earliest Open edX Named Release Without This Functionality

Teak - 2025-04

Rationale

Since the Quince release, using the new learner dashboard MFE has been the default behavior for everyone.

Removal

⚠️The developer doing this removal should be careful; this list might not be comprehensive of everything, and it's possible new code relies on legacy paths. Verify the list, and if anything is not removable at this time, create tickets for follow-up work and comment appropriately in the code.

It is possible that code, tests, stylesheets, or themes in other locations will become defunct as part of this deprecation, but it is the responsibility of the removing developer to find each of these and verify that it isn't used elsewhere (eg. in learner_home).

There are also files in https://github.com/openedx/edx-platform/tree/master/lms/static/js/learner_dashboard -- anything used for the program dash rendering should be left alone.

Additional surface found on re-verification (2026-07-31, master 387ee5d93c) -- not in the original list:

  • The legacy render path in the student_dashboard view itself: common/djangoapps/student/views/dashboard.py. The view redirects to the MFE when learner_home_mfe.enabled is on and otherwise builds and renders the full legacy dashboard (roughly the back half of the file plus its helper functions). Keep the redirect; remove the legacy render path and anything only it uses.
  • lms/templates/dashboard.html -- the top-level template, separate from the lms/templates/dashboard/ directory already listed above.
  • The learner_home_mfe.enabled waffle flag (lms/djangoapps/learner_home/waffle.py) and the /dashboard route (lms/urls.py): decide the end state. Once there is no legacy page, the flag/redirect can collapse so /dashboard unconditionally serves the MFE (or is a permanent redirect) and the flag can be removed.

Replacement

The existing learner dashboard MFE.

As part of this work, all non-Program Dash code should be removed from https://github.com/openedx/edx-platform/tree/master/lms/djangoapps/learner_dashboard if any is left, and a README should be added saying that this app is just the program dash now. (Possibly partly copied from https://github.com/openedx/edx-platform/blob/master/lms/djangoapps/learner_dashboard/PROGRAMS.rst).

Deprecation

No response

Migration

No response

Additional Info

⚠️This is the old learner course dashboard only, not the program dashboard.

Reopened 2026-07-31. This was closed 2025-03-18 with no removal PR or commit attached; none of the code above was actually removed (every path is still present on master). Re-verifying also corrected the Rationale above: the MFE is the default on Tutor (its MFE init enables learner_home_mfe.enabled), but in vanilla edx-platform the flag is off by default, so the legacy dashboard is still the vanilla default render, not dead code. Removal therefore has to be sequenced after the vanilla default flips (or the flag is removed). The README for lms/djangoapps/learner_dashboard requested under Replacement was also never added -- still owed.

Blocked by: #39089 -- the cross-course "Search Your Courses" widget lives only on this legacy dashboard (dashboard.html, gated by ENABLE_DASHBOARD_SEARCH) and has no MFE equivalent. The legacy course search frontend DEPR (#39089, which supersedes the earlier cross-course search DEPR #38941) removes that widget from dashboard.html; this dashboard removal is blocked until that lands. Tracked in #38936.

Task List

No response

Activity

  1. added
    deprProposal for deprecation & removal per OEP-21
    on Aug 19, 2024
  2. Agrendalath commented on Sep 17, 2024

    @Agrendalath
    Member

    @deborahgu, there seems to be no alternative to the search functionality from the legacy dashboard. Shouldn't it be possible to gain feature parity before the old dashboard is removed?

  3. self-assigned this
    on Mar 18, 2025
  4. moved this from Proposed to Removed in DEPR: Deprecation & Removalon Mar 18, 2025
  5. feanil commented on Jul 31, 2026

    @feanil
    Contributor

    It looks like this removal was never done so I'm gonna re-open this, FYI I've opened #38941 to figure out if we want to retain the all course search feature or it's okay to drop that.

  6. reopened this on Jul 31, 2026
  7. assigned and unassigned on Jul 31, 2026
  8. moved this from Plan Completed to Draft in DEPR: Deprecation & Removalon Jul 31, 2026
  9. added theissue type on Oct 29, 2026
  10. feanil commented on Oct 29, 2026

    @feanil
    Contributor

    #38941 is closed as not planned so this is now fully unblocked. The MFE is now considered in parity with the rest of the features the old dashboard provided.

  11. moved this from Draft to Breaking Changes Unblocked in DEPR: Deprecation & Removalon Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

deprProposal for deprecation & removal per OEP-21

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions