Installing into Open edX
How to install the coursekit XBlock into Open edX so your educators can author inside Studio.
This page is for the person installing coursekit into Open edX. It assumes you administer an Open edX instance and can install Python packages into the LMS and Studio environments.
The end state: coursekit appears as an advanced component in Studio. Educators add it to a unit; it renders inside both Studio (author view) and the LMS (learner view). Grades flow through the standard Open edX submission path.
What you need
- An Open edX instance you can install Python packages into. The adapter is tested against the Maple release.
- Write access to install Python packages in the Studio and LMS Python environments.
- Studio admin access to enable the advanced component.
Install the Python package
The xblock package is coursekit-xblock. Install it into both the
Studio and LMS environments using your distribution’s standard
process.
For Tutor, install in both lms and cms containers. For native /
manual installs, install into the same virtualenv that runs Studio
and the LMS.
If you’re installing from source, the repository builds the package with:
pnpm --filter @coursekit/adapter-xblock build
python3 -m pip install adapters/xblock
The build step compiles the editor frontend; the pip install makes
the xblock available to Python.
Enable the xblock
The xblock identifier is coursekit. Add it to your Open edX
advanced settings policy under advanced_modules so educators can
add it to a course unit:
{
"advanced_modules": ["coursekit"]
}
This is the same place you enable any other advanced xblock.
Add it to a course
In Studio, open a unit, choose Advanced under the Add New Component panel, and select Coursekit from the list. The block mounts the editor. Educators author inside Studio; learners see the rendered page inside the LMS.
Where the data lives
Coursekit pages are stored as JSON inside the xblock’s own state field. No new tables, no external service. The xblock owns the stored document.
Submitted answers, results, and attempt counts are stored in the xblock’s user-state field, so they survive page reloads.
Grades are published through Open edX’s standard grade event mechanism — coursekit doesn’t write to the gradebook directly.
Adapter behaviour worth knowing
- Single author per page. Real-time collaboration is disabled in the Open edX adapter; Studio is treated as a single-author surface.
- Media uploads use the Open edX contentstore. Uploads require Studio write permission. The LMS resolves existing assets but doesn’t upload new ones.
- Server-side grading. The xblock mirrors coursekit’s grading library on the server side. Browser submissions don’t decide the grade; the server reconstructs the answer key from the stored JSON and grades from there.
What’s next
- Installing into Moodle is the equivalent page for Moodle.