Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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 an upstream= 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
languagexml
<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 flagcontentstore.new_studio_mfe.disable_legacy_libraries

...

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
stylenone

Content Libraries in past releases

...

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

...

Info

In all Open edX releases since Cypress, Content Libraries (all versions) can be globally disabled by settingFEATURES['ENABLE_CONTENT_LIBRARIES'] = False

...

Enabled by default. To disable site-wide, either:

  • Toggle on the Waffle flagcontentstore.new_studio_mfe.disable_new_libraries

  • Set Django setting FEATURES['ENABLE_CONTENT_LIBRARIES'] = False

. This will continue to be the case, at least for Teak.

Cypress through Redwood

Studio had a feature called Libraries; in essence Content Libraries. In practical terms, they are 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.

This features could be globally disabled using the Django setting FEATURES['ENABLE_CONTENT_LIBRARIES'].

Previous Releases: Olive through Redwood

The Starting in Olive, the V1 Library Content Component was renamed to Library Content, and it was became available on all courses without having to configure the Advanced Module List. A Show Reset Button option was added to the component. Otherwise, the feature was unchanged.

...

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.

...

Subsets of V2 Libraries can be randomized into course content via the new Problem Bank component. Subsets of V2 Libraries can be statically shown in courses via a new Library Content component. These are the V2 Problem Bank Component and V2 Library Content Component, respectively.

V1 Libraries are still available for authoring, but they have been renamed Legacy Libraries. V1 Library Content Components can still be edited and created, but they have been renamed to Legacy Library Content.

...

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.