edx-platform
edx-platform copied to clipboard
[DEPR]: Legacy ("V1") Content Libraries
This deprecation is blocked by the Libraries Relaunch,which is expected in Sumac. There will be a 1-2 release period of overlapping support between Legacy Libraries and relaunched Libraries.
Proposal Date
~2023-6-14~
2024-??-??
Target Ticket Acceptance Date
~2023-8-14~
2024-??-??
Earliest Open edX Named Release Without This Functionality
Tenatively: U* (~2025-11-09)
Rationale
TODO: This section will be updated
~TNL is rolling out the last parts of V2 content libraries which will surpass parity with the v1 experience. Consequently, it does not make sense to keep V1 content libraries around for too long. In addition, modular learning and a plethora of other features are slated to be built on top of V2 libraries. It is therefore essential that V1 libraries become deprecated, and become the non-default means of interacting with randomized and reusable content on edx-platform.~
Removal
- The legacy library authoring pages (HTML,CSS,JS): https://github.com/openedx/edx-platform/blob/master/cms/templates/library.html
- The parts of the contenstore which support V1 libraries:
- https://github.com/openedx/edx-platform/blob/489e23983ffe0ff3c40674fa4c1505d029370bd6/cms/djangoapps/contentstore/views/library.py#L4
- The parts of the randomized content libraries xblock which support v1. https://github.com/openedx/edx-platform/blob/489e23983ffe0ff3c40674fa4c1505d029370bd6/xmodule/library_content_block.py
- The parts of split mongo modulestore which support the storing of libraries.
-
studio_post_duplicate
https://github.com/openedx/edx-platform/issues/35192
Replacement
https://openedx.atlassian.net/wiki/spaces/COMM/pages/3061186611/BD-14+Content+Libraries+and+Editing+Project+Overview
We will also plan to provide a path to copy over V1 content libraries to V2. That runbook will be made public before the acceptance period ends. TNL will help to set up teams for success in this migration.
Deprecation
No response
Migration
TODO: This will be updated
Using a series of management commands:
- Disable edits on V1 libraries, display message
- Run the Storage Management Command. The storage management command copies V1 libraries into V2 libraries. Validate its success If fail: identify failure logs run reverse migration(aka remove new v2 libs), Re-enable edits, remove message, go back to step 0.
- Run the Reference Management Command. This updates all existing randomized content blocks in courses to reference their new V2 libraries Validate its success. If fail: identify failure logs run reverse migration(aka roll back references to point to v1), run reverse migration(aka remove new v2 libs), Re-enable edits, remove message, go back to step 0.
- Turn on V2 Content Libraries (enable the MFE). Validate its success (CRUD for libraries) If fail: Go back to step 0
- Wait till it seems like all is good.
- Run the Cleanup management command.
Additional Info
No response