Developer Platform — Area Overview
Platform area: Developer Platform
Color: Dark (#223545)
Audience: Engineers, technical integrators, plugin developers, community contributors
What This Area Covers
The Developer Platform covers the technical infrastructure that enables Open edX to be extended, integrated, deployed, and maintained — including the XBlock framework, REST APIs, Events and Filters (the hooks system), deployment tooling, and the community governance process through OEPs.
This area is what makes Open edX genuinely extensible rather than just configurable. It's the foundation that providers, operators, and the community depend on to build on top of the platform without forking.
Feature Areas
| # | Feature Area | Description | Status |
|---|---|---|---|
| 1 | XBlocks & Extensibility | XBlock framework, MFE plugin system, web fragments | scaffold |
| 2 | APIs & Integration | REST APIs, Events (OEP-41), Filters (OEP-50), event bus | scaffold |
| 3 | Deployment & DevOps | Cookiecutters, build tooling, CI standards, repo health | scaffold |
| 4 | Open Source Community | OEPs, governance, contribution process, translations | scaffold |
| 5 | AI & Advanced Features | AI extensions framework and emerging capabilities | scaffold |
Key Architecture Themes
- XBlock is the original extensibility model (2012+): Python components defining learning content with backend + frontend. Still the primary way to add new problem/content types.
- Hooks & Filters (OEP-50) is the newer extensibility model for modifying platform behavior at runtime — used by Django Plugins to intercept enrollment, login, grading, etc.
- Open edX Events (OEP-41) provides async event emission via Django signals, bridged to Kafka or Redis for event bus integration across services
- MFE Plugin Framework extends frontend extensibility — allows injecting React components into named "slots" in any MFE without forking
- Tutor plugin ecosystem is the deployment-level extensibility layer — most production Open edX deployments use Tutor plugins to configure services
Primary Repositories
| Repository | Role |
|---|---|
| XBlock | XBlock spec and runtime interfaces |
| openedx-events | AsyncSignal definitions (OEP-41) |
| openedx-filters | Hooks & Filters framework (OEP-50) |
| frontend-plugin-framework | MFE slot-based plugin system |
| openedx-proposals | OEPs: platform governance and RFCs |
| openedx-ai-extensions | AI extensions framework |
| frontend-platform | Shared MFE framework (auth, logging, analytics) |