Versions Compared

Key

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

Value Statement

...

The relaunch of Libraries includes a suite of new features and functionality that make Libraries centralized hubs for authoring and content management. Authors can create content independently of the course outline, and reuse it in as many courses as they’d like, with synced updates. Authors can choose to reuse single pieces of content independently, or to create pools of content that can be randomized. Libraries will flexibly hold as much content as needed, with tools for searching, filtering and adding tags. Users can also create subsets, or collections of content, within Libraries. The first phase of the relaunch will include the ability to create and reuse components, add tags, search, and create content subsets.

Requirements:

These are the firm requirements needed before we can relaunch Libraries in a Community Release:

  1. The Library authoring environment includes the latest text editor, problem editor and video editor, and static asset support.

  2. The Library authoring environment supports the ability to create multiple subsets of components for reuse.

  3. The Library authoring environment supports tags and taxonomies as the primary mode of managing components.

  4. The Library authoring environment has keyword search and the ability to filter/facet by tags.

  5. The Library block supports both static reuse and randomized reuse.

    1. Product definition for overriding, course local copies

  6. The Library block and the Library authoring environment are designed in a user-friendly and intuitive way.

  7. Full support for Library ---> Library import/export

  8. Libraries are built on/migrated to Learning Core.

  9. Architecture plan to support better library/course behavior, interactions

  10. A solid migration plan for getting V1 libraries into the new library environment.

  11. The right branding.

  12. Full support for Course ---> Library import/export [This could be post-MVP]

Major epics/milestones to get us to the Libraries Relaunch

Estimations for remaining work:

The Library authoring environment includes the latest text editor, problem editor and video editor.

This seemed like it was a toggle issue but also has a contingency on the V1 - V2 migration.

The Library authoring environment supports the ability to create multiple subsets of components for reuse.

Need UI estimates first, then implementation estimates.

Is there technical discovery that needs to be done?

The Library authoring environment supports tags and taxonomies as the primary mode of managing components.

Already underway, estimates https://docs.google.com/spreadsheets/d/1HFS3h8HI9P-AJUVHX-ZtY0u_yLAeSdmObns8ORw9kvs/edit#gid=0

The Library authoring environment has keyword search and the ability to filter/facet by tags.

Already underway, estimates https://docs.google.com/spreadsheets/d/1HFS3h8HI9P-AJUVHX-ZtY0u_yLAeSdmObns8ORw9kvs/edit#gid=0

The Library block supports both static reuse and randomized reuse.

Is this the extend of the remaining technical work? https://github.com/openedx/edx-platform/issues/33640

The Library block and the Library authoring environment are designed in a user-friendly and intuitive way.

Need UI estimates for any improvements.

Full support for Library ---> Library import/export

Needs more product definition. Is partial import/export required? Preserve version history?

Libraries are built on/migrated to Learning Core.

?

Architecture plan to support better library/course behavior, interactions

~3-4 of dev time

Migration plan

What the process looks like. What the intermediate state is. Expected behavior.
Needs UI.

...

Goals for the MVP

The primary goal for the Libraries MVP is to deliver a feature-complete workflow that demonstrates the full range of new functionality and that indicates a clear path toward future phases of work/future growth. The MVP must adequately demonstrate the new value proposition for Libraries, which is that Libraries are centralized hubs for content creation, content management, and content reuse.

The MVP will introduce two new key concepts for authors, each with an anticipated behavior change:

1.

Libraries are designed to enable generalized content reuse, and are not limited to the randomized reuse case. 

This is a radical shift away from the way users utilize legacy Libraries, where the only supported use case support is for the randomized content block. Instead, Libraries are authoring spaces that function independently from the course, where authors can create content independently of the prescriptive course outline, reuse that content in any/many courses, and sync updates centrally. 

The UX/UI optimizes for this shift, with a new delineation in the course outline between “new content” and “reusable content”, a new Library page within the course to track and sync updates, and improvements to the workflow for pulling content from a library into a course. 

2.

Libraries are designed to hold and manage large, diverse sets of content. 

This is also a radical shift away from the way users utilize legacy Libraries, where users must create a new Library each time they wish to create a new pool of problems to randomize. This results in dozens or even hundreds of Libraries for a single exam or course. Rather, Libraries should be akin to a library in real life, where there’s a shelf for the fiction section, a shelf for the history section, etc, with all the books under one roof. 

The UX/UI optimizes for this shift, with new features like collections, tagging, search, filter and content cards.

The MVP includes user stories that bridge workflows in Libraries and workflows in courses. On the Library side, the MVP must make it easy for authors to create and manage large amounts of content within a single Library. On the Course side, the MVP must make it easy for authors to reuse content from Libraries and to sync with updates from the Library. Additionally, we must preserve the current use case for legacy Libraries, which is the use of randomized content pools, while updating that workflow to make it easier to create and randomize subsets of problems.

Functional requirements: Library Side

  • Users can create new components (text, video, problems) in a Library

  • Users can create new collections in a Library and add and remove components

  • User can add tags to Library content and to collections

  • Users can search, filter and sort Library content with free-text keyword searches, by tags and by content type, and refine searches

  • Users can publish libraries and publish components

  • Users can track key metadata on Library content, including which courses it’s used in

Functional requirements: Course Side

  • Users can search Libraries for course content from within the course outline

  • Users receive notifications about content updates

  • Users can review and accept/deny content updates

  • Users can add and configure problem banks (randomized content)

  • Users are warned adequately when making edits locally

Design Files: https://www.figma.com/design/Y3gSyrpG6uncUUfjK7eQuo/Content-Libraries-and-Taxonomies?node-id=89-309

Kanban Board: https://github.com/orgs/openedx/projects/66/views/1