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 Teak. This living document explains how we currently plan to migrate existing V1 Library content and references over to V2.
...
Release(s)
...
V1 Libraries
...
V2 Libraries
...
Cypress → Redwood
...
Library Authoring Environment
...
Libraries support 3 component types: Problem, Text, Video
No support for: tagging, filtering, sorting, searching, collections
No support for: uploads
OLX import/export supported
Content is stored in MongoDB
...
Not available
...
Course Authoring Environment
...
Before Nutmeg:
To enable library content in a course, go to Advanced Settings → Advanced Module List, and append
”library_content"
.In the Studio unit page, under Advanced, add a Randomized Content Block, and select a source library and a count of components to add.
Starting in Nutmeg:
Randomized Content Block is now called the Library Content component. It is available in the Studio unit page for all courses. No need to edit Advanced Settings .
Each student will see a stable list of blocks (size configurable), randomly selected from an entire library, optionally filtered by problem type.
...
OLX
...
Entire libraries can be exported to and imported from OLX.
Courses with Library Content can be exported to and imported from OLX. Library content in courses will be wrapped in <library_content>...</library_content>
tags.
...
Configuration
...
Enabled by default. To disable site-wide, set Django setting FEATURES['ENABLE_CONTENT_LIBRARIES'] = False
...
Sumac
...
Library Authoring Environment
...
Tab has been renamed to Legacy Libraries.
Otherwise, the feature is unchanged.
...
New Libraries (Beta) tab in Studio home. Select an existing library or click + New Library. Authors will see:
A fully revamped, feature-rich authoring environment.
Collections, tagging, sorting, filtering, and searching are all supported. It’s now feasible to manage hundreds or thousands of library items.
Uploads are supported (?).
Initially, same 3 component types are supported: Problem, Text, Video
OLX import/export is not yet supported.
Content is stored in MySQL and indexed in Meilisearch.
...
Course Authoring Environment
...
The Library Content component is renamed to the Legacy Library component. It is still available in the Studio unit page for all courses. New and existing Legacy Library components will have no change in behavior in comparison to older releases.
...
Problem Bank: explain
Library Content: explain
...
OLX
...
Entire legacy libraries can still be exported to and imported from OLX.
Courses with Legacy Library components can still be exported to and imported from OLX. Legacy library content in courses will still be wrapped in <library_content>...</library_content>
tags.
Entire Libraries (Beta) cannot yet be exported to or imported from OLX.
...
Each Library Content (Beta) component will appear directly as a child to its containing unit. Its library source will be indicated using the
upstream=
attribute.Problem Banks (Beta) will be wrap their contents in
<itembank>...</itembank>
tags, and each child node will be an XBlock with anupstream=
attribute.
For example, here is a unit with (1) a regular component, (2) a Library Content (Beta) component, and (3) a Problem Bank (Beta) containing two library components.
Code Block | ||
---|---|---|
| ||
<vertical>
<problem>...</problem>
<problem upstream="lib:MyOrg:problem:2">...</problem>
<itembank>
<problem upstream="lib:MyOrg:problem:3a">...</problem>
<problem upstream="lib:MyOrg:problem:3b">...</problem>
</itembank>
</vertical> |
...
Configuration
...
Enabled by default. To disable site-wide, either:
Toggle on the Waffle flag
contentstore.new_studio_mfe.disable_legacy_libraries
Set Django setting
FEATURES['ENABLE_CONTENT_LIBRARIES'] = False
...
Enabled by default. To disable site-wide, either:
Toggle on the Waffle flag
contentstore.new_studio_mfe.disable_new_libraries
Set Django setting
FEATURES['ENABLE_CONTENT_LIBRARIES'] = False
...
Teak
...
Library Authoring Environment
...
Deprecation message
...
Course Authoring Environment
...
OLX
...
Configuration
...
Ulmo
...
Library Authoring Environment
...
No longer available
...
Course Authoring Environment
...
OLX
...
Configuration
...
Verawood → beyond
...
Library Authoring Environment
...
No longer available
...
Course Authoring Environment
...
No longer available
...
OLX
...
Configuration
...
No longer available
...
Table of Contents | ||
---|---|---|
|
Content Libraries in Past Releases
In all Open edX releases since Cypress, Content Libraries (all versions) can be globally enabled or disabled using the flagFEATURES['ENABLE_CONTENT_LIBRARIES']
.
...
Cypress through Redwood
Studio had a feature called Libraries; in essence, they are 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.
...
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
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 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 migration.
...
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: The Legacy Libraries tab will show a list of V1 Libraries that are in the system. Libraries that were already migrated to the V2 environment will continue to be indicated as they were in Teak. Libraries that are not yet migrated 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.
...