There are two generations of Content Libraries in the platform. The Open edX user interface has referred to them by different names across releases, so to disambiguate, we use the code-names “V1” and “V2”.
V1 Libraries will be removed as soon as TeakUlmo. This living document explains how we currently plan to migrate convert existing V1 Library content and references over to V2. We will update it with higher-fidelity mocks/screenshots over time and eventually transfer this information into the official release notes.
Contents:
Table of Contents | ||
---|---|---|
|
Content Libraries in past releases
Info |
---|
In all Open edX releases since Cypress, Content Libraries (all versions) can be globally disabled by setting |
Cypress through Redwood
Studio had a feature called Content Libraries. In practical terms, they were bare-bones problem banks. These libraries had a very minimal authoring environment. They supported only Problem, Video and Text components. They supported OLX import/export. Library content was stored in MongoDB.These are V1 Libraries.
...
The only way to use V1 Library content in a course was to add “library_content"
to the course’s Advanced Module List, and then add Randomized Content Block components to the course’s units. Each learner would see a (configurable) number of components, selected from the entire library, and optionally filtered to a particular problem type. This is the V1 Library Content Component.
Starting in Olive, the V1 Library Content Component was renamed to Library Content, and it became available on all courses without having to configure the Advanced Module List.
Sumac
A new Libraries (Beta) feature is introduced. It features a much richer authoring environment, allowing authors to organize, tag, sort, and filter their library, and empowering authors to manage a much higher volume of content than would have been suitable in the V1 Libraries environment. It initially supports Problem, Video, and Text components. OLX import/export is not yet supported. Content is stored in MySQL and indexed in Meilisearch. These are V2 Libraries.
...
To new Waffle flags are introduced: contentstore.new_studio_mfe.disable_new_libraries
and contentstore.new_studio_mfe.disable_legacy_libraries
, which can be toggled on in order todisable the V2 and V1 experiences, respectively. These flags exist in addition to the FEATURES['ENABLE_CONTENT_LIBRARIES']
Django setting which, when set to False, disables both the V1 and V2 library experiences entirely
Content Libraries in upcoming releases
General migration notes
Each V1 Library will be convertible to a collectionwithin a V2 Library. The conversion process will be very straightforward. In general, V1 Library Content references in courses will continue to work seamlessly, whether or not its source material has been converted.
Teak
The authoring environment for V2 Libraries, still known as Libraries (Beta), will have several new features, including but not limited to: support for certain Advanced components, support for Units, Subsections, and Sections; ability to import content from courses; various general UX improvements.
...
V1 Libraries and V1 Library Content Components are still available to be used, although there may be warning encouraging authors to use V2 Libraries for all new content.Provisional
Sumac->Teak Migration Path
...
From Django Admin, site-global staff will have the option to select one or more V1 Libraries and perform the Migrate Legacy Library to new Library Collection admin action. The staff member will be able to specify any existing V2 Library or V2 Library Collection as the target of the migrationconversion.
...
Once migratedconverted, the V1 Library will continue to be listed under the Legacy Libraries tab, but there will be a visual indication that the migration conversion has been performed, and clicking on the library’s tile will forward the user to the target V2 Library or V2 Library Collection. The V1 Library authoring environment will no longer be available for this library.
...
Crucially, in courses, existing V1 Library Content Components referencing this library will continue working, with identical behavior. Moreso, these components willact like Problem Banks referencing to the migrated content in the target V2 library. In other words, if updates are made to the migrated content in the target V2 Library, then those updates will be made available to the existing course components.
...
Ulmo and Verawood
V2 Libraries will be rebranded simply to Libraries. The authoring environment, the V2 Problem Bank and V2 Library Content Components, and the content update workflows will all receive more improvements. Reuse of Units, Subsections, and Sections will be fully supported. OLX import/export will be supported.
The V1 Libraries authoring environment will no longer be available. In courses, existing V1 Library Content Components will continue working, but they will be unable to receive updates from V1 Libraries.Migration Plan:
Teak->Ulmo Migration Path
...
The Legacy Libraries tab will show a list of V1 Libraries that are in the system. V1 Libraries that were already migrated converted to the V2 environment will continue to be indicated as they were in Teak. V1 Libraries that are not yet migrated converted will feature a prominent “Migrate Now” call-to-action, allowing library authors to select a destination V2 Library or V2 Library Collection.
As with Teak, all existing V1 Library Content References will seamlessly use the migrated V2 Library content.
Willow(?) and beyond
In order to eventually remove MongoDB as a dependency of Open edX, there will be a future release where the Legacy Libraries tab is removed and V1 Libraries Content becomes completely unavailable. Operators who wish to preserve their V1 Library contents will need to perform the migration described above before upgrading to such a future release.
We expect that any remaining un-migrated Un-converted V1 Library Content Components will continue working in isolation, but will be unable to receive content updateswill work, with some caveats, depending on technical constraints that may arise during the eventual retirement of MongoDB from the platform stack. The DEPR process will be used to communicate any future change in support level to un-converted V1 Library content.