Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is a reference (n imperfect) glossary for various customization and extensibility mechanisms in the Open edX Platform. In the short term, this document is linked from an Extensibility and Customization Survey I (David Joy) am doing ahead of my talk on the subject at the 2023 Open edX Conference.

Configuration

Django Settings

Django Settings are the most fundamental way of configuring the Open edX Platform and customizing it to your environment.

Micro-frontend Environment Variables

Micro-frontends are configured via a set of environment variables that are baked into the MFE at build time. They can also be overridden via API at runtime using the MFE config API.

Translations

Backend Translations

This is the server-side (and legacy frontend) way of doing i18n and localizations in the Open edX Platform. It uses the Django translation libraries and .po files checked into the backend service’s repository.

...

APIs and Events

Event Bus

The “event bus” allows for decoupled, event-based communication between micro-services. Event hooks from the Hooks Extension Framework may be broadcast onto the event bus.

...

Theming and Branding

Comprehensive Theming

Comprehensive Theming is a mechanism by which you can overlay or override elements of a legacy frontend (i.e., not a micro-frontend) by creating a “theme” that mirrors the file structure of the application’s default UI elements (JavaScript, SASS/CSS, Django templates, etc.)

...

Components

Custom in-course JavaScript Apps

Allows course authors to embed custom JavaScript apps into their courses. (Also called custom JavaScript problems or JS Input problems)

LTI

Learning Tool Interoperability is a standard that allows the Open edX Platform to load third party tools into our courses and interfaces. It generally uses iframes to accomplish this.

...

  • (Documentation for this forthcoming, it was lost in the ReadTheDocs → docs.openedx.org transition.)

Applications

Django App Plugins

Description

...