openedx / openedx/openedx-platform
[DEPR]: Legacy instructor dashboard
@feanil is already working on this.
Since Jun 18, 2026.
- Dominant language
- Python
- Stars
- 8.2k
- Forks
- 4.4k
- Avg merge
- 6d 18h
- Merged PRs (30d)
- 42
Description
RFC Start Date
2026-04-23
Target Plan Accepted Date
2026-05-07
Target Transition Unblocked Date
2026-09-23 (pending completion of CCX dashboard MFE page)
Earliest Breaking Changes Unblocked Date
2026-10-23 (pending completion of CCX dashboard MFE page + Willow code cut)
The legacy CCX instructor dash page is currently IFramed in to MFE experience. That means that operators can transition to the MFE now, but we can't break the underlying legacy CCX dashboard code until the MFE is replaced with a native MFE experience.
Earliest Open edX Named Release with Breaking Changes
Verawood - 2026-04
Xylon - 2027-04
Rationale
The new instructor dashboard is nearly in all place. Is is the default experience for all instructor dashboard functionality except CCX the dashboard. Once the CCX dash is complete, the legacy instructor dashboard will be redundant.
Removal
The implementation for the old instructor dashboard view + related code + related tests, related tests will have the DEPR-38432 number tagged in a comment
Divided (cohorted) discussions management. Folded in from #38945, whose RFC decided the enrollment-track and per-topic parts of this feature will not be rebuilt in the MFE. This DEPR removes the legacy dashboard's Discussions section and the staff-only endpoints that exist only to serve it:
- The dashboard section
_section_discussions_managementinlms/djangoapps/instructor/views/instructor_dashboard.pyand its templatelms/templates/instructor/instructor_dashboard_2/discussions_management.html. - The Backbone/Underscore UI under
lms/static/js/discussions_management/(divided_discussions*.js, modelscourse_discussions_settings.js/course_discussions_detail.js), its RequireJS build entrylms/static/js/instructor_dashboard/discussions_management.js, and thedivided-discussions-*.underscoretemplates. - The two staff-only config endpoints that back this section:
course_discussions_settings_handler(^courses/{course_id}/discussions/settings$) anddiscussion_topics(^courses/{course_id}/discussion/topics$) inlms/djangoapps/discussion/views.py(URLs inlms/urls.py). They exist only to serve this UI, so they come out with it.
Cohort-based division is not lost by removing this section - it's also configured through the Pages & Resources discussions settings, which stays.
Not in this DEPR: the backend removal of the dropped capabilities (enrollment-track + per-topic division, plus a data migration) remains in #38945 as a follow-up.
Replacement
Link to the new instructor dashboard:
https://github.com/openedx/frontend-app-instructor-dashboard
Deprecation
All code that was found while working on enabling the instructor dashboard redirection by default was marked with the "DEPR-XXXX" tag so it's easily identifiable.
Additional Info
Users that need to revert to the legacy dashboard can enable the following waffle flag:
instructor.legacy_instructor_dashboard
This DEPR absorbs the dashboard-side scope of #38945 (divided/cohorted-discussions management - the section, its Backbone UI, and the two config endpoints that back it). #38945 stays open for the backend removal of the dropped capabilities (enrollment-track + per-topic division). Cohort-based division stays (configured via Pages & Resources).
Transition Unblocked Tasks
No response
Feature Removal Tasks
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.