Posted by Giovanni Cimolin da Silva on August 3, 2020
Note: we no longer offer our Pro & Teacher Plan
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.
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
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:
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.
This year, the Open edX Conference will be held from July 2 – 5, 2024 in Stellenbosch, South Africa. I’m so excited for the community to visit my beautiful country! And what’s more, we have some awesome talks lined up by our very own OpenCrafters. Getting Started with Frontend Pluggability Tuesday 10:00 AM | Braden […]
The arrival of new AI technology has sent the world of online education abuzz. The new technologies have brought new excitement to e-learning, but it’s difficult to tell what’s hype and what’s not. What will the impact of AI be in the online learning space? What’s likely to change? What will remain the same? We’ll […]
Open edX presents Content Tagging! "Tagging" has been a long-requested feature for managing content in Studio, and now OpenCraft is finally designing and building it for Axim Collaborative! While there are big plans, the first release will be a user-friendly, minimal viable product. Here are some of the things everyone can look forward to: So, get ready for more organized learning content. Tagging […]