Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DEPR]: All Legacy Studio Frontends #36275

Open
kdmccormick opened this issue Feb 19, 2025 · 0 comments
Open

[DEPR]: All Legacy Studio Frontends #36275

kdmccormick opened this issue Feb 19, 2025 · 0 comments
Assignees
Labels
depr Proposal for deprecation & removal per OEP-21

Comments

@kdmccormick
Copy link
Member

kdmccormick commented Feb 19, 2025

Proposal Date

2025-02-19

Communicated: https://discuss.openedx.org/t/deprecation-removal-all-legacy-studio-frontends/15049

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.
[2] "MFE" = "Micro-FrontEnd", a JSON API-driven React.JS page, written in 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

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.

By Ulmo, all legacy views, templates, JavaScript, Sass, and other resources in edx-platform's cms/ directory tree will be removed.

By Ulmo, the entire https://github.com/openedx/studio-frontend repository, which has a handful of unused legacy ReactJS, will be archived.

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:

These items have direct replacements which are being completed or improved in time for the Teak release:

These items do not yet have replacements, although the community is encouraged to propose replacements:

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:

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
depr Proposal for deprecation & removal per OEP-21
Projects
Status: Communicated
Development

No branches or pull requests

1 participant