Extending edX Platform
This table summarizes the types of extensions that are currently supported by the edX Platform:
Extension Type | Description | Current Support |
|---|---|---|
Courseware component types | Use XBlocks to create new types of components that can be included in a course. | |
External graders | Host an external grader separately from the edX platform. | |
LTI applications | Add external learning applications or digital textbooks. | |
Custom problem types | Add a new type of problem by including custom JavaScript. | |
LMS course tabs | Shows a new tab to the user when they are viewing a course. | |
Studio/LMS page | Add a new page to Studio or the LMS. Note that this currently requires making changes directly into the edX platform. | |
User partition schemes | Add a new scheme that will partition users into one of a set of groups. |
Useful links
There is more detail in the edX Developer's Guide: Options for Extending the edX Platform.
Web Fragments describes how to build pluggable user interfaces.
Feature Plugins for edX Platform describes how the platform could be extended to support feature plugins.
How to add a new feature to LMS or Studio describes the steps necessary to implement a new feature as a separate Django app.
How to add a new plugin entry point to edX platform describes how to go about providing a new type of plugin.