edx-platform icon indicating copy to clipboard operation
edx-platform copied to clipboard

[DEPR]: Legacy ("V1") Content Libraries

Open connorhaugh opened this issue 1 year ago • 3 comments

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

  1. The legacy library authoring pages (HTML,CSS,JS): https://github.com/openedx/edx-platform/blob/master/cms/templates/library.html
  2. The parts of the contenstore which support V1 libraries:
  3. https://github.com/openedx/edx-platform/blob/489e23983ffe0ff3c40674fa4c1505d029370bd6/cms/djangoapps/contentstore/views/library.py#L4
  4. The parts of the randomized content libraries xblock which support v1. https://github.com/openedx/edx-platform/blob/489e23983ffe0ff3c40674fa4c1505d029370bd6/xmodule/library_content_block.py
  5. The parts of split mongo modulestore which support the storing of libraries.
  6. 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:

  1. Disable edits on V1 libraries, display message
  2. 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.
  3. 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.
  4. Turn on V2 Content Libraries (enable the MFE). Validate its success (CRUD for libraries) If fail: Go back to step 0
  5. Wait till it seems like all is good.
  6. Run the Cleanup management command.

Additional Info

No response

connorhaugh avatar Jun 14 '23 13:06 connorhaugh