Libraries Relaunch: MVP Requirements

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:



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. 



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:

Kanban Board: