[Proposal] Grouping Product (Catalog Concept)
View the Github ticket for proposal status update
Overview
The Grouping Product introduces a new catalog concept in Open edX that allows for configurable content packaging. It enables institutions to offer modular, stackable, and credential-friendly learning pathways by grouping existing learning objects, courses, sequences, diagnostics, and blocks, into coherent bundles.
Problem
Currently, course delivery teams lack a flexible mechanism to create and manage learning programs that span multiple types of learning content. There is no unified way to group different content types into tailored pathways that can be easily discovered, enrolled in, and credentialed, limiting the platform’s ability to support modular and lifelong learning.
Use Cases
As a course author, I need to be able to group related learning content (courses, sequences, diagnostics) to create modular programs, in order to provide targeted and credential-friendly learning pathways for different learner needs.
As an instructor, I need to track learner progress across groupings of content and offer micro-credentials, so that I can support stackable learning outcomes and reduce learner drop-off.
As a learner, I need to find and enroll in curated learning bundles that match my goals, in order to pursue shorter, more flexible, and recognized learning pathways.
Supporting Market Data
The need for grouping and packaging learning content in Open edX is already reflected in the existence of two key features: Discovery and Programs. While both are expected to be deprecated in the near future, their original purpose highlights a clear and validated market demand, the ability to curate, organize, and present related learning content as a unified offering.
Discovery was introduced to manage and expose course and program metadata across the platform, enabling catalog-like discovery experiences and centralized configuration.
Programs were created to allow bundling multiple course runs into a single enrollable and credentialed entity.
The fact that these two systems were developed, and used by multiple platform adopters demonstrates that grouping functionality is a critical need for institutions. However, both implementations have limitations: Programs are largely static and limited to courses, while Discovery requires complex infrastructure.
This Grouping proposal addresses that need with a more flexible and future-ready solution that supports multiple content types and dynamic rules, going beyond the limitations of Discovery and Programs.
Additionally, platforms like http://LabXchange.org have extended Open edX in custom ways to support grouping and sequencing content, further demonstrating how users are bending the platform to meet this need. This proposal offers a more flexible, scalable solution that addresses these use cases natively, supporting multiple content types and dynamic rules.
edX Programs, defined and configured using the now deprecated Discovery service, was a critical capability to allow for stackable courses, degrees, etc using the Open edX platform. Various limitations to how these programs could be configured were evident through the use of this service, and some additional flexibility around completion requirements for groupings have been incorporated based on limitations / issues with this original programs capability.
Recently, other Open edX groups have published similar platform proposals that lend credence to the value of supporting additional mechanisms for stackable learning content packaging, as evidenced by the Arbisoft's Programs plugin proposal that we see as very related and complementary to this (slightly more abstract) proposal for similar stacking capabilities.
Proposed Solution
Implement a Grouping Product that allows course teams to configure groupings of content (courses, sequences, diagnostics, blocks) in a flexible, catalog-driven manner.
Groupings could have different names (e.g., Playlist, Program, Degree, Challenge, Certification) that can be adapted to local contexts and branding.
Groupings would support configurable requirements (dependencies, ordering, flexible completion rules), enabling different models of credentialing and progression.
Groupings would be configured in Studio but would not be authored like courses, they are configured reusing existing authored content.
Groupings should also connect to the platform’s credential service in some TBD way, enabling credentials to be awarded upon completion of Groupings that meet institutional or programmatic needs.
Other Approaches Considered
Expanding the existing Programs feature instead of introducing Groupings: This would not address the broader need to group diverse content types beyond courses. Moreover, Groupings allow for greater flexibility to cover a wider range of use cases and educational contexts, making it easier to adapt to different teaching and learning scenarios.
Building micro-courses (sequences) only: Sequences are great for small learning chunks, but they lack the ability to aggregate multiple types of content for larger programs.
Competitive Research
Canvas
Blueprint Courses: Canvas offers Blueprint Courses, which let administrators create a master course that synchronizes with multiple associated courses. This streamlines content management and updates across an institution, but it does not provide a flexible catalog-level grouping mechanism for different types of content (Blueprint Courses - Canvas).
Modules: The Modules functionality allows instructors to structure a course’s content in logical, sequential steps, facilitating a clear path for learners within a single course. However, it is limited to organizing content inside that course and does not support grouping content from different courses or resource types (Modules - Canvas).
Mastery Paths: Enable personalized learning within a course by adapting the learner’s next steps based on their performance. However, this personalization only applies within the course and does not allow for catalog-level grouping or reuse of other learning content types (Mastery Paths - Canvas).
Moodle
Programs: Let administrators group courses into structured learning pathways. While this provides some flexibility to create longer learning journeys, it does not allow combining smaller building blocks or different content types like diagnostics or independent sequences (Programs - Moodle).
Certifications: Allow for managing learning programs that require periodic renewal, with expiration dates and automatic recertification rules. Although this supports credential control, it only groups courses and does not include smaller learning objects. In our proposed Grouping solution, we should give authors the ability to create similar rules (like expiration and recertification) within Groupings, which will be especially useful for employers running training and retraining programs (Certifications - Moodle).
Coursera
Specializations: On Coursera are series of courses designed to build deep skills in a specific topic, usually ending with a capstone project. While these create modular learning paths with courses, they do not provide a configurable system to integrate smaller building blocks from a general catalog (Specializations - Coursera).
MasterTrack Certificates: Split parts of master’s degree programs into online modules, allowing learners to earn partial academic credit. This supports modular credentials, but it only works at the course level and does not allow grouping other types of learning content (MasterTrack Certificates - Coursera).
Guided Projects: Help learners quickly acquire specific skills through hands-on, project-based experiences. Although these projects are useful for targeted learning, they are not part of a flexible mechanism for grouping or integrating with other platform content (Guided Projects - Coursera).
Implementation Plan
Ownership & Funding:
Initial proposal driven by Schema, seeking alignment and funding from the Product Working Group.
If funded, development can begin with pilot partners and expand as needed.
This project is proposed to be implemented in stages to ensure alignment with the broader Open edX community and leverage ongoing work by different stakeholders:
Stage 1 – Concept Model Alignment
Align the conceptual model of the Grouping Product with other initiatives in the Open edX community, such as the lightweight catalog service proposed by Felipe/edunext and the Programs plugin Django app proposed by Mahnoor/Edly. With Axim’s support to facilitate collaborative discussions, potentially through a series of meetings, formal project structures, or a working group. The goal is to achieve a shared understanding of how Grouping can contribute to an improved discovery and catalog service.
Stage 2 – Technical and Architecture Review
Focus on defining the technical and architectural foundations that Grouping would rely on, particularly how it interfaces with the catalog service and other features like Programs. Produce community-visible documents such as ADRs (Architectural Decision Records) and OEPs (Open edX Proposals) to formalize and align these technical decisions.
Stage 3 – Basic Grouping Configuration Tools
Design and build an initial interface in Studio to allow for the creation of Grouping types (e.g., Playlist, Program, Challenge) and the configuration of specific instances (e.g., “MIT’s Physics Playlist”, “My Custom Program”). Although Groupings are not authored like courses, this stage would ensure authors and course staff can flexibly configure them to fit their learning design needs. Ideally, each Grouping type would sync directly with the new catalog service in the future.
Stage 4 – Defining Requirements for Groupings
This stage focuses on exploring and defining the initial criteria and mechanisms that will determine how content is grouped within Groupings. This includes simple selection methods like manually choosing specific content items, as well as more advanced rule-based systems that automatically include content based on certain characteristics (e.g., “any course run with the name CS50, except these three runs”). By the end of this stage, we will have a clear framework for how Groupings can flexibly include both existing and future content, supporting dynamic and evolving learning pathways.
Stage 5 – Additional Tools for Authors
Identify and provide additional configuration tools that authors can choose to integrate into their Groupings as needed. These could include options like enrollment pages, entry requirements, credentialing (e.g., certifications), publishing schedules, license details, and visibility rules (open to the web, private, etc.). These tools would ensure that Groupings can be tailored to different educational and institutional use cases.
Plan for Long-Term Ownership/Maintainership
Groupings will be managed as part of the catalog service within Open edX potentially, unless the technology team members advise this be created as its own standalone plugin that syncs with the catalog similar to how courses and other learning objects might in the future.
Ownership will be shared between the platform maintainers and key institutional partners using the feature.
Open Questions for Rollout/Releases
How will Groupings integrate with existing features like: discovery, enrollment flow, and Programs?
Additional work is necessary to flexibly define the “requirements” that make up a grouping’s configuration to enable tools like electives, branching, choice, etc. While we decide to keep that detail out of v1 of this proposal, we have put in some definition work into exploring how to define requirements flexibly enough to cover a wider range of grouping and stacking rules for completion of a grouping object.
We have not specified where / how a learner would experience / review the completion requirements and status for their groupings, though it may echo program dashboard capabilities that help learners understand the stackable reality of their groupings, while motivating continued engagement through the grouping’s content requirements.