[Proposal] Stackable Catalog
Overview
The Stackable Catalog is a modern replacement for the outdated Discovery service in Open edX. It aims to provide a flexible, modular, and taxonomy-driven course catalog infrastructure that improves how courses and learning objects are published, discovered, and related across platforms.
Problem
The lack of a standardized, feature catalog service in Open edX has resulted in fragmented publishing experiences and poor discoverability of content, leading to user confusion and a significant barrier to adoption.
Use cases
As a course author, I need to define reusable catalog courses that can link to multiple course runs so that I can maintain consistency and reduce duplication in the discovery process for learners.
As a learner, I need to discover courses (and other learning objects) based on subject area, topic, or organization in order to find offerings that align with my goals.
Relates to Grouping proposal, Diagnostic proposal, Learning Sequences proposal, or the future ability to publish Videos / individual content blocks for discovery and use.
As a platform administrator, I need to control course visibility and scheduling options to ensure learners only see what’s relevant and current.
As a marketing or CMS team, I need to embed or synchronize catalog information in external platforms to promote offerings across channels.
Supporting market data
Section being drafted still - coming soon
Proposed solution
We propose developing the Stackable Catalog as a standalone service that will:
Core Capabilities
Plugin Capabilities - Publishing / CMS Integration
Other approaches considered
Several alternative approaches were considered before arriving at the Stackable Catalog proposal:
Enhancing the existing Discovery service with new capabilities, which was rejected due to technical debt and architectural limitations.
Adopting a third-party catalog solution, which raised concerns about integration complexity and long-term sustainability within the Open edX ecosystem.
Building catalog functionality directly into the LMS, which would limit flexibility and potentially create performance issues.
Competitive research
Research on competitive platforms reveals several key insights that can inform our Stackable Catalog development:
Coursera's catalog offers advanced filtering by skills, level, and duration - features our stakeholders have specifically requested. Their course-to-program stackability echoes the need for the catalog to be able to represent groupings of content objects flexibly. (related: Grouping Concept Product Proposal)
Canvas Catalog demonstrates strong integration with LMS functionality while maintaining a distinct discovery experience, which aligns with our architectural approach. Their institution-specific catalog views could inform our multi-tenant capabilities.
Implementation Plan
Section coming soon
Plan for long-term ownership/maintainership
Section coming soon
Open questions for rollout/releases
What is the best strategy for migrating from Discovery to the Stackable Catalog?
How will permissions and roles be managed across course authors, marketing teams, and admins?