Libraries Relaunch Proposal: For Product Review

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

Problem Statement(s):

When Content Libraries V1 first launched in 2018, it was intended to be a very barebones MVP. The intent was to build a prototype for Libraries around one specific use case - that was, creating pools of problems independently from the course content in order to randomize them - and then to build more robust functionality later. Today, Libraries V1 still exists in its MVP form, with many barriers:

  • Any time authors wish to create multiple pools of content, they must create a new Library, which can result in long lists of Libraries. Furthermore, there is no way to organize Libraries.

  • Use cases for Libraries expand well beyond the need to randomize content, in particular around needs for being able to reuse existing content and to sync content updates centrally from one source to many courses. Libraries do not currently provide any of the functionality to meet these needs.

  • The V1 Library block still contains json fields and is not user friendly.

There is a huge opportunity to rethink the purpose and scope of Libraries, and to develop them into true hubs of content management, enabling rich and robust workflows for reusing existing content. This will streamline authoring workflows, make it more efficient to reuse content, and move the platform toward supporting more flexible learning pathways.

Use Cases

Community use cases for content reuse and modularity that will rely on Content Libraries:

 Harvard Medical School has a catalog of dozens of courses. They want to be able to modularize their catalog by extracting lessons from their courses (where lesson = section) and delivering them independently. They also want to create custom learning pathways by remixing sections from different courses. They need a place to store, organize and manage the extracted sections and new learning pathways. [Note: the delivery environment of new learning contexts/presentations is out of scope for this Content Libraries document.]

 Western Governors University is taking a different approach to their general education requirements. They are breaking down their catalog of gen ed courses into competencies (where competency = section). Advisors will be able to custom select which competencies a student needs in order to meet their gen ed requirements. They need a place to create, organize and manage these competencies independently of the courses. They want to be able to create a competency as a stand-alone entity, in an authoring environment that is independent from the course. They may also want to extract sections from previously existing courses and be able to manage each section as an independent entity. They also need to be able to tag sections with competency metadata. [Note: the delivery environment of new learning contexts/presentations is out of scope for this Content Libraries document.]

 Western Governors University wants easier ways for authors to customize course content for different audiences by substituting specific pieces of content (a problem, a unit, a section) to effectively create two versions of a course. For example, a course may have a unit on design thinking. The content within that unit was created for a business course. The IT college wants to use the same course, but swap out the unit for a different one that has content catered to the IT audience. Authors want to build a library with various iterations of the units that can be used and reused in different courses. [Note: an adjacent feature to copy a course run and remix is out of scope for this Content Libraries document.]

 MITx has a similar use case, where they want to iterate on the same course for two different audiences, such that audience 1 can take V1 of the course and audience 2 can take V2 of the course, and the courses are the same except for one section, or a few units. They need a place to create, store and manage the swappable course components. [Note: an adjacent feature to copy a course run and remix is out of scope for this Content Libraries document.]

 MRI Online wants to create dozens or hundreds of case studies (where case study = unit) that can be offered to administrators in a catalog and administrators can pre-select which case studies will be offered to learners. Case studies can be stacked to count to CME credits. They need an authoring environment to create these units, and to manage them. They also need to be able to add tags from learning taxonomies to the units. 

 The Spanish Consortium wants to be able to reuse sections of courses. “This section is good for another course that I am teaching and I want to reuse it in that other course and I don’t want to recreate it from scratch.”

 Penn State wants to be able to create a library of evergreen course lessons (where lesson = section) that they can use over and over without needing to rebuild it each time. 

 Penn State wants to be able to create libraries of course lessons (where lesson = section) that can be offered as stand-alone credits. [Note: the delivery environment of new learning contexts/presentations is out of scope for this Content Libraries document.]

 MITx wants better ways to organize content in their libraries, to make it easier to find content. 

 Western Governors University is looking for ways to create modularized content at scale, more quickly and efficiently. They want authors to be able to create content templates at the unit level that can be copied and quickly populated with component xblocks.


User Stories:

The above use cases can be distilled into the following high-level user stories for Content Libraries:

As a content author: 

  • I want to create a component (a video, a problem, a text block), or unit or a section independently from the course, so that I can reuse the content in many different courses.

  • I want to be able to extract components, units or sections from courses that already exist and put them into a Library for reuse later. I may want to do this with individual units or sections, or pull all the sections from a course into a library. 

  • I want to be able to reuse any content that I create in a Library - whether a component xblock, a unit or a section -  in any course, as many times as I want to. 

  • I want to be able to update Library content in the Library and push out updates to courses using the content. Course teams can make the decision to accept or reject updates.

  • I want to be able to search and find units, sections, components and any other content in my Library easily with tools like keyword searches, sorts and filters.

  • I want to be able to add tags to content in my Libraries, so that I can align my content to learning competencies, or subjects, or skills. This will help me to find the right content for reuse later.

  • When I am ready to use content from my Library in a course, I want an easy way to search the content in my library while I’m in the course authoring environment. 

  • I want to be able to organize or categorize content in my library, maybe into playlists, or into folders, or by tags, so that I can easily find what I need later. 

  • I want to be able to create a template for a unit or a section, then copy that template and quickly populate it with the right component content.


Proposed Solution:

We have developed a multi-phased project to build more robust content management functionality into Libraries, and to make content reuse workflows more intuitive and streamlined.

Phase 1: Relaunch Libraries for Sumac

The Sumac Relaunch will focus on overcoming the current barrier of needing to create a new Library for every new content set by enabling Libraries to support many Collections within them. This is akin to how a Library works in real life; there is a section of shelves for the Science Fiction Collection, another for the History Collection, another for the Cooking Collection, and all of these Collections live within the same Library. In the same way, authors will be able to Collections within Libraries, for example problem banks for a particular course or based on a more general subject, or a collection of videos on a certain topic. Libraries will support all component types (problems, videos, text). We will make drastic improvements to the Library UI, with better content management tools like the ability to add tags to content. We will also make drastic improvements to the “Use Existing Content” workflows in Courses, making it easier for authors to choose content from their Libraries to reuse, and to make central updates to content from the Library and sync those updates to courses where the content is being used. This will include both static content reuse and the ability to randomize. This phase will also include a plan to migrate old V1 Libraries into the new Library environment/infrastructure.

Each of the epics linked below contain detailed user stories, specs and requirements.

Phase 2: Libraries support all levels of the course hierarchy (Teak, “U”)

Future releases will expand Library support for all levels of the course hierarchy. Authors will be able to create units, subsections and sections independently in Libraries, and reuse that content in many courses. This work will be a critical step toward platform capabilities to sequence and deliver more customized and flexible learning pathways.

UX/UI Discovery:

Early UX discovery work has focused on mapping the entire user journey across Libraries and Courses where Library content is used.

The first screenshot captures two UX journeys, one through Libraries and one through Courses.

The second set of screenshots are early mocks of what a new Library landing/homepage could include, what a Collection page could include, and what at-a-glance data could include.

Screen Shot 2024-03-11 at 1.03.14 PM.png


Screen Shot 2024-03-11 at 1.04.34 PM.png



Competitive Research

Libraries are conceptually similar to a number of Open Educational Resource repositories, such as Merlot and the SDG Academy Library. Key features that these repositories include are:

  • The ability to search through large amounts of content, including free text searches and sorting and filtering

  • Helpful at-a-glance metadata about the subject, rating and other fields

  • The ability to create playlists or subsets of favorite content

A key difference is that most OER repositories are stand-alone projects, with content meant to be used via simple linking or via LTI in courses in any LMS.

The “reuse existing content” workflow can be informed by Canvas Commons, which is a public repository of Canvas content that can be used in Canvas courses. Canvas Commons contains similar functionality as above, along with a workflow to import content from the Commons into a Canvas course. This workflow is clunky and doesn’t allow for central syncing of updates.

The differentiating factor between Open edX Libraries and the examples above is that Open edX Libraries will be able to support complex sequences of content, such as full units or subsections, in addition to singular pieces of content like a video or a problem. This opens the door to modularized learning, where authors can create dynamic content sequences of any length or level of complexity.

UX competitive research:

Delivery Team:

Schema Education, OpenCraft, Axim Collaborative