kmccormick
(Kyle McCormick)
February 19, 2025, 6:32pm
1
We propose to remove all Legacy Studio frontends as early as 8 September 2025, in time to be part of the Ulmo release in December.
This proposal’s comment period is open until 5 March 2025. If there are no blocking concerns by that date, the plan will be considered “Accepted”. Please see the ticket below for high-level details, and click into the “Sub-Issues” for page-level details.
Thank you!
opened 02:18PM - 19 Feb 25 UTC
depr
### Proposal Date
2025-02-19
### Target Ticket Acceptance Date
2025-03-05
##… # Earliest Open edX Named Release Without This Functionality
Waffle flags will be inverted from _MFE opt-in_ to _MFE opt-out_ as early as **2025-04-05 (Teak)**
Legacy frontends will be removed as early as **2025-09-08 (Ulmo)**
### Rationale
Over the past several years, we have replaced nearly every Legacy Studio frontend page [1] with an equivalent or near-equivalent MFE [2] page.
[1] "Legacy Studio frontend" = a server-side-rendered page with templates, JS, and Sass in [edx-platform](https://github.com/openedx/edx-platform).
[2] "MFE" = "Micro-FrontEnd", a JSON API-driven React.JS page, written in [frontend-app-authoring](https://github.com/openedx/frontend-app-authoring) repository.
The Legacy pages that have not been replaced are of dubious utility, and we feel that their MFE replacement is not worth blocking the full removal of the Legacy Studio code.
Removing this code, which we anticipate to be on the order of 100,000 SLOC, will significantly reduce maintenance burden, confusion, repeated work, and toil for edx-platform contributors. Removing the redirects between Legacy and MFE will also unlock performance improvements for Studio end users. We expect clean-up to be hugely beneficial to both developer experience and user experience in the long-term.
### Removal
All legacy views, templates, JavaScript, Sass, and other resources in edx-platform's `cms/` directory tree will be removed.
The [studio-frontend](https://github.com/openedx/studio-frontend/) repository will be archived.
By Teak, all of the `new_studio_mfe.*` waffle flags and most `new_core_editor` waffle flags will be removed. A set of temporary `legacy_studio.*` waffle flags, with the inverse behavior, will be introduced just for Teak in order to allow operators to opt out of the MFE frontends for one final release. By Ulmo, all aformentioned waffle flags will be removed.
This deprecation of specific pages is split into several different sub-DEPR tickets, linked at the bottom of this notice. If you are interested in precise removal details, please see those tickets.
### Replacement
These items have direct drop-in replacements ready right now:
* #36108
* https://github.com/openedx/studio-frontend/issues/381
These items have direct replacements which are being completed or improved in time for the Teak release:
* #35261
* #36261
* #34692
* #35257
* #32457
These items do not yet have replacements, although the community is encouraged to propose replacements:
* #36263
* #36269
Lastly, these two issues are not DEPR tickets, but we are tracking them here, as they are necessary in order to ensure that MFE Studio is at feature parity with Legacy Studio:
* https://github.com/openedx/frontend-app-learning/issues/1455
* #36277
### Deprecation
We may emit a deprecation warning when any of the `legacy_studio` waffles described below are enabled.
### Migration
In Teak, each "Old Opt-In" waffle flag listed below will be replaced with an inverse "New Opt-Out" waffle flag. In Ulmo, the New Opt-Out waffles will be removed as well.
Operators can use the New Opt-Out waffles in order to temporarily hold back from the MFE pages during Teak. These waffles can be safely added before upgrading to Teak, ensuring a smooth Sumac->Teak transition.
For example, if your Sumac instance does _not_ enable `new_core_editors.use_new_problem_editor`, and you wish to continue using the legacy Problem editor when you first upgrade to Teak, then before upgrading, you can **enable** `legacy_studio.problem_editor`. However, upon upgrading to Ulmo, your instance will use the MFE Problem editor regardless of waffle flag states.
| Old Opt-In Waffle for MFE Page (Sumac & prior) | New Opt-Out Waffle for MFE Page (Teak Only!)
| -----------------------------------------------------------------|------------------------------------------------
| contentstore.new_studio_mfe.use_new_unit_page | legacy_studio.unit_editor
| new_core_editors.use_new_problem_editor | legacy_studio.problem_editor
| new_core_editors.use_new_text_editor | legacy_studio.text_editor
| new_core_editors.use_new_video_editor | legacy_studio.video_editor
| new_studio_mfe.use_new_home_page | legacy_studio.home
| contentstore.new_studio_mfe.use_new_custom_pages | legacy_studio.custom_pages
| contentstore.new_studio_mfe.use_new_schedule_details_page | legacy_studio.schedule_details
| contentstore.new_studio_mfe.use_new_advanced_settings_page | legacy_studio.advanced_settings
| contentstore.new_studio_mfe.use_new_grading_page | legacy_studio.grading
| contentstore.new_studio_mfe.use_new_updates_page | legacy_studio.updates
| contentstore.new_studio_mfe.use_new_import_page | legacy_studio.import
| contentstore.new_studio_mfe.use_new_export_page | legacy_studio.export
| contentstore.new_studio_mfe.use_new_files_uploads_page | legacy_studio.files_uploads
| contentstore.new_studio_mfe.use_new_video_uploads_page | legacy_studio.video_uploads
| contentstore.new_studio_mfe.use_new_course_outline_page | legacy_studio.course_outline
| contentstore.new_studio_mfe.use_new_course_team_page | legacy_studio.course_team
| contentstore.new_studio_mfe.use_new_certificates_page | legacy_studio.certificates
| contentstore.new_studio_mfe.use_new_textbooks_page | legacy_studio.textbooks
| contentstore.new_studio_mfe.use_new_group_configurations_page | legacy_studio.configurations
| N/A | legacy_studio.logged_out_home
### Additional Info
See linked sub-issues.
### Task List
See linked sub-issues.
5 Likes
pdpinch
(Peter Pinch)
February 27, 2025, 4:09pm
2
I wanted to test a few things about the new studio frontends, and I realized they aren’t all enabled in the open edX sandbox.
The new text editor is enabled. Would it be possible to enable the new problem editor and the new video editor too?
1 Like
pdpinch
(Peter Pinch)
February 28, 2025, 7:09pm
4
Sorry, should have included a link: https://sandbox.openedx.org
kmccormick
(Kyle McCormick)
March 3, 2025, 2:02pm
5
Good call out @pdpinch . The new Video and Problem editors are now both enabled on sandbox.openedx.org .
kmccormick
(Kyle McCormick)
March 4, 2025, 3:55pm
6
Due to the size and complexity of this deprecation, I am extending the comment period until EOD Friday 17 March, 2025. Please voice your concerns as soon as possible so we can account for them ahead before the plan is accepted!
I have updated the most complex sub-ticket, [DEPR]: Legacy ("V1") Content Libraries · Issue #32457 · openedx/edx-platform · GitHub , which a more detailed migration plan.
kmccormick
(Kyle McCormick)
March 17, 2025, 7:20pm
7
With no comments in objection, this proposal and all its sub-tickets are now Accepted.
We plan to make all MFE frontends opt-out instead of opt-in before the Teak cutoff . This will be a breaking change, albeit an easy-to-handle one.
We plan to remove all legacy frontends before the Ulmo cutoff . This will be a significant breaking change.
For detailed updates, please follow [DEPR]: All Legacy Studio Frontends · Issue #36275 · openedx/edx-platform · GitHub