Rebuilding our Open edX instance manager
Rebuilding our Open edX instance manager
Rebuilding our Open edX instance manager

Sign Up
for Our Blog
& Newsletter.

Sign up to receive email updates on the latest news from OpenCraft

A few months ago we decided to rebuild our Open edX instance manager frontend to provide more customization options and features to our Pro & Teacher plan subscribers and trial users. 

We needed to go from a simple registration form (shown below) to a full user console with theme customizations, LMS previews and other features.

Old registration form

From the start, the main goals of the project were: implement a new user console to allow users to self-service and enable our developers to work on the newer technologies that the platform is transitioning to.

Software Architecture

We’ve opted for a decoupled implementation between the frontend and the backend using React and a REST API. 

Changes made to the backend took form mostly as APIs to the new frontend, but we had to add some deployment hooks to allow passing custom configuration to the instance in provision time. drf-yasg handled the automatic generation of documentation.

The new frontend was built from scratch using React and Typescript. A TypeScript API client was generated using the backend's automatic documentation, using Swagger Codegen and saving us lots of development time.

Upstream features

While building the console, we leveraged a lot of features contributed over the years to the platform:

  • simple_theme ansible role to allow easy theme deployments
  • edx-simple-theme: a simple, but customizable Open edX theme
  • Static page content overrides from SiteConfiguration (see Pull Request)
    • We’re also upstreaming support to set SiteConfiguration variables on instance build time on this PR
  • Marketing URL overrides: allows modifying links in the LMS even when a marketing website is not set (see Pull Request)

The release

After a few months of implementation, we finally deployed our brand new user console:

New registration flow
Customization console

Feel free to try it out on https://console.opencraft.com, and you can even deploy your own from the source code! The entire instance manager is open source software and can be found at: https://github.com/open-craft/opencraft, and if you want to dig deeper, you can follow the PR trail on the implementation.

There’s still lots of improvements to be worked on and bugs to be fixed, so if you have any suggestions, feel free to create an issue on the repository or comment below.

Best,

Giovanni Cimolin da Silva - Open Source Developer

Other Articles

June 2023: OpenCraft Quarterly Catch Up

It’s that time again. Our quarterly catch up is here, and I’m about to dish out the hottest goss on all things […]

12-22 Newsletter — Olive Release, Listaflow, Call For Proposals

[Olive Released 🫒] The fifteenth Open edX community release, called Olive, is now out! The release was coordinated by the Open edX […]
A ghost in a field

Demystifying User Retirement in the Open edX platform

This article was written by team member Kaustav Banerjee. User Retirement in an Open edX platform is the very last […]
Back to News