Versions Compared

Key

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

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.

...

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 collections.

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 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.

What does success look like?

  • Trend of fewer libraries created and more collections created

  • Increased usage of the referenced library content AND the Problem Bank block

Functional requirements

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, advanced) 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

MVP Milestones

Library-side Epics:

Epic 0: Update Libraries tab on Studio Home. The Libraries Listing tab needs to be updated in both design and functionality to achieve parity with the new Course Listing tab. This includes design updates to the Library tiles/cards, search and filter, and pagination.

Epic 1: Implement new library homepage. The new Library homepage is the fulcrum of the new Library experience. It must make it clear to users immediately that Libraries are intended to be large repositories of content. This epic includes the introduction of content cards with metadata, search and filters, sort options, refinement tabs, and improvements to the workflows to create/add content in libraries.

Epic 2: Collections. The ability to create and organize content into collections is central to the behavior changes we want to see in Libraries. This epic includes the creation of collection pages, adding content to collections, searching/filtering in collections, and a collections tab so all collections can be viewed in one place.

Epic 3: Context-aware sidebars. This functionality is also central to the behavior changes we want to see, in that users must be able to quickly identify content and track its usage. Context-aware sidebars support content reuse workflows by letting users track usage and manage content for reuse.

Epic 4: Port over current editors to Libraries. Users will expect parity with the most current editors in courses, including the text, problem and video editors.

Epic 5: Users can add tags to content in Libraries. Tags are critical to letting users manage content for reuse and organize large amounts of content.

Course-side Epics:

Epic 6: Updates to library block and editing locally. In courses, the Library block must be updated to reflect the new use cases that libraries support, namely being able to reuse any content and not being limited to randomized block uses. We want to introduce the concept of creating new content versus reusing content workflows. This epic will make it easier for authors to search libraries in-course and choose content for resue.

Epic 7: Add problem bank to courses. We need to retain parity with the legacy library use case of creating randomized pools of questions for exams and assessments. This epic will simplify that workflow.

Epic 8: Library sync page. In support of simplifying the reuse of content story, users will be able to review and accept syncs in a central location in their course.

Epic 9: Migrate legacy libraries. All legacy libraries will be migrated to collections in the new environment, with Libraries created at the course level.

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