Open edX Platform Atlasv1.0
Authoring Experiences

Flexible Content Libraries

Scaffold

Overview

Flexible Content Libraries allow course authors to create reusable content blocks that can be referenced across multiple courses — useful for shared questions, standardized content, and random problem selection. Libraries decouple content authoring from course structure.

The platform currently has two library implementations:

• Libraries v1: The original library system built on the Studio monolith

• Libraries v2: A complete rewrite on the `openedx-learning` backend, offering better versioning, publishing workflows, and hierarchical organization

Current State (2026)

• Libraries v1: Still supported; allows creating question banks and referencing blocks in courses via a "Randomized Content Block"

• Libraries v2: New implementation on `openedx-learning`; available in `frontend-app-authoring`; better component model and publishing workflow

• UI: Both v1 and v2 library management accessible from `frontend-app-authoring`

• Randomization: Libraries are the primary mechanism for randomized assessment — courses draw random blocks from a library for each learner

Architecture

• Libraries v1: Backed by MongoDB (same as course content); managed via Studio CMS in `edx-platform`

• Libraries v2: Backed by `openedx-learning` Django service (relational DB); new content component model with versioning and publishing states

• Course reference: Courses reference library blocks via "library content block" XBlock (`LibraryContentBlock`)

• Publishing: Libraries v2 introduces explicit publish states (draft/published) for each component

History

Origin

• Year introduced: ~2016 (Libraries v1 introduced as "Content Libraries" feature)

• Initial implementation: Studio-based library editor storing content in MongoDB, same storage as course content

• Context: Instructors needed reusable question banks for randomized assessments; libraries solved the copy-paste problem

Key Milestones

~2016

Libraries v1 ("Content Libraries") introduced

~2021–2022

Libraries v2 design and `openedx-learning` development begins

~2023–2025

Libraries v2 progressively released

Open Questions

  • ?When were Content Libraries first introduced and what was the product motivation?
  • ?What limitations of v1 drove the decision to rewrite as v2?
  • ?What is the `openedx-learning` project's full scope beyond libraries?
  • ?How does randomization from libraries work technically at the learner level?
  • ?What are the most common use cases for content libraries in production deployments?