An Extensible Core Platform that accelerates the evolution (via rapid development and experimentation) of platform features supports integrations in the frontend, backend, and to/from external services. As shown in the diagram below, a combination of technologies enable various integrations.
Technology Category | Description | Use Cases | Technology Examples |
---|---|---|---|
Real-time Eventing API | See OEP-26: Real-time Events. | Adaptive Learning, Enterprise & University integrations. | xAPI/Caliper, Web Sockets, Kafka |
Data API | An interface to access data and reports of various platform domain concepts, such as Courses, Users, Completions, etc. | Data Visualizations, Admin Dashboards, Registrar Integrations | GraphQL, REST, Data Mart APIs |
Frontend Plugins | A plugin framework that allows code outside of the core platform to enhance the front-end experience. The code runs within the web browser, preferably within a secure sandbox, such as an iFrame. | Adaptive | Web Components, React Components, LTI |
Backend Plugins | A plugin framework that allows developers to extend the core platform without needing to fork the core codebase. The code runs alongside the LMS backend. | Django App Plugins, Python APIs | |
Content Plugins | Custom Graders | xBlock, Course Blocks API, Graders API | |
Content Integrations | LTI, OLX, Scorm |