Here's a recap of our September newsletter:

TOC Election - Sep 30 deadline

In October, the Open edX Community will be called to elect 3 members of the new core decision-making body of the Open edX project — the Technical Oversight Committee (TOC) — and we need your help! The 3 elected community representatives will join the TOC, along with the 3 members from tCRIL and the 3 members from 2U.

The 3 elected community representatives have the mission to represent the community as a whole, but with each a specific focus:

If you are running an active course on Open edX, please register to vote! This includes any form of contribution to the authoring of a course, and particularly Teaching Assistants (TAs).

Voter registration is open until September 30th, and the election will be held in October. For more details about the election, see the TOC Community Election Charter.

-> Register to vote

Join a Working Group 

Working Groups are community-led teams dedicated to an Open edX-related project that fit under an easily definable business process. They are designed to create and/or facilitate a particular feature set within the Open edX platform. They are also an authoritative body giving the community structure and a process for decision-making. For example, see this recent Open edX blog post presenting the Translation Working Group. Join the Open edX community and take part in our collaboration efforts!

-> List of all working groups

Open edX Overview

Here's a frequently asked question: What's the distinction between edX, Open edX, and now tCRIL (The Center For Reimagining Learning)?

Ed Zarecor, Open edX's VP of Engineering, just helped solve the riddle by presenting an overview of the Open edX ecosystem at the September Community meetup. His presentation helps differentiate edX (the company, and learning destination), Open edX (the open source learning platform), and tCRIL (the non-profit entity that manages the Open edX platform along with the community). Ed also touches on the acquisition of edX by 2U in November 2021, tCRIL's mission, project governance, and a few more frequently asked questions. 

-> Watch presentation recording

Advanced Assessments

At the last Community meetup, Curricu.me founder John Swope presented a talk titled "Advanced Assessment in Open edX and how Anyone Can Use It", which offered insights into how non-technical or semi-technical course authors can leverage the platform's advanced components (JavaScript, Python, SCORM, etc.) to enhance their courses. 

-> Watch presentation recording

The Open edX Core Contributor Program grants community members expanded rights and ownership over various aspects of the Open edX Project, allowing them to actively participate in defining and deciding the direction of the platform. Members of the Core Contributor program earn this distinction by participating in Open edX community with distinction. They embody what we call the “3 Cs”: Commitment to the project, exemplary Conduct, and high Caliber contributions.

The program began in 2020, with an initial 9 community members being granted write access rights to various Open edX code repositories. Since then, the program has expanded to include nearly 40 core contributors, who not only commit code but oversee translations, manage projects, and more.

Recently we codified the program in OEP-54. “OEP” stands for Open edX (Enhancement) Proposal. An OEP is a document that details a specific decision being made by the Open edX community; the community agrees that they will follow the processes defined in the OEPs.

In OEP-54, we define various aspects of the Program, such as membership criteria and the nomination process for a new member. I’ll dive into some of these, with a focus on Core Contributors who commit code changes.

Types of Core Contributors

As we’ve expanded the number of Core Contributors who can commit code, we’ve also begun expanding the number of roles a Core Contributor can take on. Contributors are welcome to hold more than one role, as well! A full list of roles and responsibilities can be found at this link; a few roles I’ll highlight are:


Let’s Begin!

For information on how to really dig into the community, see OEP-54’s “Where Do I Start?” section - there’s a lot of good resources there to get you started, as well as a few pointers on how you can reach out on the forums or to specific working groups. Joining a working group is a wonderful way to meet members of the community and get started on tasks identified by the group as having high value.

For those who code, I recommend joining the Build-Test-Release or Frontend working groups, as both groups tend to have a backlog of tasks they’d like people to pick up. The Deprecation working group is pretty fun (in my opinion!) - they focus on removing dead code from the system. They also tend to have a large backlog, but some tasks may be pretty complicated unless you know some Open edX architecture or are strong in Django/Python.

If you work at a company that’s developing Open edX features you’d like to someday see in the main codebase, you should reach out early in your development process to get pointers on the best way of architecting and implementing your change in order for it to have the greatest chance of being accepted. Reach out in the discussion forums in the Collaborative Proposals topic. Submitting your bug fixes, changes, and features upstream is a great path towards becoming a Core Contributor.


Becoming a Core Contributor

Community members who have demonstrated the 3 C’s, with a history of contributions to the Open edX project, may be nominated for inclusion in the program by an existing program member. For coders, the nomination would specify one or more repositories in the openedx GitHub organization for the nominee to get write access to. The process is designed to be straightforward and transparent: it takes place on the discussion forums, and other Core Contributors in the program weigh in on the nomination. Members are encouraged to give constructive feedback if they don’t feel a nominee is quite ready to join the program.

The Core Contributor program is administered by The Center for Re-Imagining Learning (tCRIL), the nonprofit organization that stewards the Open edX project. At any point on the road to becoming a core contributor, the program administrators may be reached in the #core-contributors Slack room in the Open edX Slack, or at cc-program-admins@tcril.org.

It’s been a joy and a privilege to be a part of the Open edX community and to have the chance to help administrate the Core Contributor program. I look forward to working with more and more of you as the program goes.

—---

Sarina Canelake
Engineering & Community Manager at Axim Collaborative

Sarina has 5+ years experience hacking on the Open edX platform and working with the Open Source community. She is dedicated to enabling open source contributors to the Open edX platform via extensibility and process improvements. She lives in Boston, MA with her 3 cat sons and has a lifelong love for all things Pokémon.

Photo by Chang Duong on Unsplash

Governance

As the stewardship of the Open edX platform is moving from edX/2U to the newly formed Center For Reimagining Learning (tCRIL), the team has announced the creation of a Technical Oversight Committee (TOC) as a new governance structure to the project. The TOC will have nine members: three from The Center for Reimagining Learning, three from edX/2U, and three from members of the rest of the Open edX community. The first six members were recently nominated, and the remaining three members will be chosen soon.

-> Read the Technical Oversight Committee's foundational charter

Virtual Event

The end-of-year community virtual event took place on December 14th, bringing a successful conclusion to a landmark year for the Open edX platform. Ed Zarecor from tCRIL presented a "State of Open edX" keynote that covered the creation of tCRIL, the platform's new governance structure, and the Maple release. We also enjoyed watching other talks on the program, and had fun talking with old friends and new!

-> Watch talk recordings and download presentation materials

New Release

Maple, the latest stable version of Open edX, was released on the 20th of December, thanks to the great work of the Release working group ? ! Maple brings a good amount of fixes and features, such as the implementation of the new Learning Micro Front End as the default platform experience, granting course and library creation rights on a per-organization basis, and improvements to the Common Problem Editor — so be sure to upgrade your Open edX instance(s)! Also, please let the working group know if you spot any bugs or issues.

-> Read the official announcement

Core Contributors

Core Contributor work is now organized into 2-week sprints, which aim to help coordinate contribution efforts and drive more contributions. During the first-ever Core Contributor sprint, the focus was on helping to assign the remaining open issues for Maple from the release working group board. It was also nice to get to meet all the core contributors!

-> Check out the latest Core Contributors Sprint

Marketing

The Marketing Working Group is working on a number of issues to improve the Open edX platform's marketing ecosystem, such as preparing community member presentation videos, creating various promotional materials, and helping redesign the provider marketplace experience on the Open edX website. 2021 has been a productive year, and the group is excited about the year to come!

-> Check out the Marketing Work Group's Trello board

Translations

The Translations Working Group, was formed with an initial focus on improving platform translation for ten languages: Spanish, French, Arabic, Italian, Hindi, Portuguese, Russian, Ukrainian, Mandarin, and German. The group needs additional translators for Arabic, Hindi, Russian, and Ukrainian, so please let us know if you're interested! The group is also working on implementing automated translation for the official platform documentation — something that has been long requested by the community. We'll keep you abreast of our progress on this topic in the upcoming newsletters.

-> Check out the Transifex Work Group's Trello board

Newsletter Contributions

We would love to turn this newsletter into a community effort. Do you have any news about Open edX that you would like us to share? Please let us know by going to the Newsletter threads on either OpenCraft's public discussion forum or the Official Open edX forum!

2U Acquisition

E-Learning company 2U has completed its acquisition of the edX.org website and assets, as announced in Open edX's recent blog post. The Open edX project itself isn’t included in the sale. The proceeds from the transaction will fund a new nonprofit which will take over stewardship of the project, and also invest in other online learning projects. A Technology Oversight Committee (TOC) will be created to lead the Open edX platform's development and community governance. The committee, whose members have not been announced yet, will include representatives from the nonprofit, edX/2U, as well as other community members. edX and U2 have also made a formal pledge to contribute to the ongoing development of the platform.

-> Read the official press release by edX/2U

End-Of-Year Virtual Event

All members of the community are invited to join Open edX's end-of-year virtual conference and meetup, scheduled on December 14th, 2 pm-5 pm UTC. The keynote speech will be a "State Of Open edX" discussion about the creation of the new nonprofit, and the way forward for edX and 2U following the acquisition. Attendees can expect a few additional talks, along with ample time for chatting and networking. We are looking forward to seeing you there!

-> Read more and register for the event on the Open edX blog

Upcoming Release

The Build-Test-Release working group has launched the Maple beta 1 release and commenced testing it. The working group is encouraging all community members who have the chance to test Maple as well, especially if you’re using a feature in the Open edX platform that isn’t widely used. A few issues have already been reported, and we need volunteers to help fix them. These issues are low-hanging fruits and good first issues for anyone to get started with. If you’ve ever considered contributing, now would be a great time!

On some additional news, the Lilac 3 open release has been released. You’re encouraged to upgrade your Lilac instances.

-> Click here to check the Maples issues that need some love

Core Contributors

The Core Contributor program continues to grow with the addition of the first new Product & UX Core Contributor, Ali Hugo from OpenCraft, and a potential Product Management Core Contributor in prospect. To better provide context about each contributor’s efforts to one another, the idea of adding sprints is being discussed and contributors are encouraged to participate.

The frontend working group is working on removing IE 11 support and upgrading to Node.js 16. The data working group has recently been discussing the ElasticSearch vs OpenSearch issue.

-> Read more community meetup updates

Tech Radar

The Open edX Tech Radar, first announced a few months ago, is now live! The Open edX tech radar is a visualization tool that represents the technologies used in the platform. Its goal is to help new developers get involved, but also to facilitate reviews and discussions about technologies, frameworks, techniques, and tools used in the platform. The radar was built through community effort and is maintained by the community in Github.

-> Learn more about the tech radar

Here is a recap of our July 2021 newsletter:

2U Acquires edX

2U, an educational technology company, announced that it is acquiring edX. The proceeds of the transaction ($800 million) will go to a non-profit that will continue under the leadership of the edX founders, Harvard and MIT. The non-profit will own and keep growing the Open edX project. This will be a good opportunity to clarify the distinction between edX.org and the Open edX platform, since both projects will have their own priorities and independent funding. It will take some time to know what the new non-profit’s plan will be, but there are good reasons to be optimistic. The changes demonstrate the belief that the open source project can be more by standing on its own. We completely agree — it’s a rare chance for an open source project!

-> Watch Q&A session about the acquisition with edX CTO JP Beaudry

OpenCraft Developer Jobs Page

OpenCraft is growing, and we are always on the lookout for new developers. We've just built a web page that summarizes the experience of working as an open source, fully remote developer at OpenCraft. Do you care about contributing to open source and appreciate a good challenge? Would you like to work with great clients, under great conditions, and with your own schedule? If so, then please consider joining our team, and submit an application.

-> Check out our jobs page, and apply!

LTI Advantage Certification

The latest version of the Open edX platform, Lilac, has been formally certified as an LTI Advantage learning platform! The work to extend the LTI Consumer XBlock to support LTI Advantage was a collaboration between our team and edX, as a blended development project. We are very proud to have worked on making the Open edX platform more extendable by adopting this widely-endorsed educational standard.

-> Read announcement on Open edX blog

Extensions Directory

The Open edX team have recently published the Open edX Extensions Directory, a filterable interface that displays the various XBlocks, plugins, and extensions made available for the platform. The long-requested tool was designed by the Open edX Marketing Working Group, of which OpenCraft are members. Just a few weeks after its creation, the Extension Directory gained considerable visibility and traffic as a valuable resource for the Open edX community.

-> Read announcement on the Open edX blog

Documentation Hack-a-thon

Following the success of their first Hack-a-thon, the Open edX team is hosting a new documentation rally on August 10-12, 2021. This is a time for everyone, not just developers, to get together, collaborate, and help make the platform documentation complete and up-to-date. Big or small, all contributions are welcome! You can read the official announcement for the full details. 

-> Discuss your ideas with the community on the official forum thread

The edX.org website opened in 2012 as a massive online learning destination with free courses that anyone could enjoy. Today, edX® tracks hundreds of thousands of learners. When the Open edX platform was released in 2013, the need to serve large audiences drove its features.

A system oriented around such large course sizes needed to manage grades in a consistent, predictable way. With little intervention, the system successfully handled scoring. As time has gone on, the cost of running an instance has gone down. Thankfully, you can now start your own LMS within a couple of hours. Online learning has proven itself, and continues to grow, demanding more versatility.

To keep grading simple, edX problems score automatically via course components. You answer a question right, and you get the points. Answer it wrong, and you don’t. This works great for massive courses– but it’s less helpful for smaller ones, or ones that offer more direct advisement. Instructors need the ability to override grades based on circumstances. Extra credit, technology issues, and personal assessments are all examples of when changing a grade is helpful.

Recognizing these needs, the Open edX team has begun work on a new editable gradebook. It is not yet available in a vanilla Open edX deployment, but it can be installed on any up to date instance. Let’s take a look at what the community built so far.

A Bit of Background

You can skip this if you’re not technically oriented, or just want to see what the editable gradebook looks like.

The Open edX community is developing ‘micro frontends’ like the gradebook. Micro frontends allow for more flexibility and rapid development of features that affect user experience. These React-based frontends use REST calls to the backend to provide a modernized experience.

This is an improvement over backend template rendering, as the frontend no longer requires the backend's instructions on how to arrange the page. As a result, we can use modern Javascript tooling.

Micro frontends aren’t easy to set up in production, but if you’re familiar with the edX devstack, you can play around with them by following the instructions in their README. Follow the instructions carefully– the gradebook may run but exhibit strange behavior if you do not. This project is still new.

Overview of The New Editable Gradebook

A table of grades shown on the frontend of the new gradebook interface

The new gradebook shows all of your students and their grades. You can rapidly filter through students by using a search bar in the upper right corner of the screen.

To modify an exercise, you click the grade.

A screenshot of the grade editing interface, showing the form for adjusting a grade and giving a reason.

You can enter a new grade here, along with a reason. This allows an audit trail so you can remember who changed what grade, and why.

If you have many exercises and grades to look through, you can narrow them down using a filter panel:

A screenshot of the sidebar, showing the varying options by which you may filter grades.

You can filter by tracks, cohorts, and current score. You can also filter by the assignment type (homework or exam) and the particular assignment.

Comparison with the legacy (current) gradebook

You might ask, how does the current (legacy) gradebook compare with the new, editable one?

The legacy gradebook shows you an overview of the grades, much like the new one does.

A table of grades shown on the legacy gradebook interface

However, there’s no option to edit the grades on the current interface. When you click on a learner’s name, you are simply taken to their progress page, with no option to edit the grade.

The new gradebook currently doesn't provide individual links to each learner's Progress page. But other than that, the new editable gradebook handles everything the legacy gradebook does, and then some!

Final Thoughts

The new editable gradebook offers many feature advantages over the old one. If you have a need for more fine-grained control over grading, it’s definitely worth a try! We’ll be covering more of these Micro Frontend projects as time goes on.

Since the editable gradebook is not available on a vanilla Open edX deployment, we're happy to install it for you. Simply drop us an email at contact@opencraft.com.

Photo by Green Chameleon on Unsplash

Work often involves a lot of repetitive and time-heavy tasks. For example, at OpenCraft we automate the decommissioning of unneeded servers, the preparation of monthly invoices for our employees, and tasks like sending reminders about project and sprint planning. Since most of these tasks require following a step by step procedure, we work carefully to establish good procedures, and then automate these procedures. Doing these tasks manually takes a lot of time, but by instructing a computer on how to perform these tasks (therefore automating them), we save time.

By automating (almost) everything that can be automated, OpenCraft team members are liberated from mundane and tedious tasks. Accordingly, we can instead focus on challenging work that requires creativity and critical thinking.

Automation not only makes the workspace more enjoyable, but also improves quality, productivity, and security.

Improved Quality

Automating tasks improves the quality of our code. One of the most common methods of automation is continuous integration/deployment. Here at OpenCraft, we use continuous integration to ensure that every change made on our maintained repositories is tested. This approach guarantees that every time we change the code, the previous features we added still work, bugs we've fixed before remain fixed, and the quality of the code stays high. 

By identifying the issues in the changes early, results can be delivered without any unexpected failures.

Improved Security

Automating routine tasks also improves security. Executing such tasks manually can become boring quickly. When the person is no longer focused on the task at hand, the risk of human error usually increases. Such errors can have a serious impact on security when updating configuration files or applying updates or patches.

Ocim is our hosting platform which makes managing configurations, patches, updates, and customizations easy through automated deployments. Automated deployments help run a number of procedures that ensure proper security on the hosted applications.

Another common method of automation is monitoring for errors or attacks on deployments and alerting team members about those incidents. OpenCraft combines multiple tools to notify the team of any incident, instantly. This way we can address serious issues quickly, and minimize downtime. Since we are a fully remote company with team members all over the world, this means that our team can work around the clock to resolve issues. 

Improved Productivity

Automating tasks results in increased productivity. By automating all tasks that don’t require critical thinking, team members can focus on complex tasks that cannot be solved by machines. Meanwhile, the tiresome work is getting done, without wasting the members’ time... nor our clients' budgets!

Automation also reduces the repetitive act of jumping from task to task (we call it "context switching"), which keeps us more focused.

The benefits of automation are various, including improvements in quality of work, productivity, and security. Even though some time has to be set aside for automating work, it is definitely worth the investment!

Want to learn more about how we work at OpenCraft? You can check out our public handbook. Or get in touch — we’d love to talk with you.

Photo by Eric Krull on Unsplash

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.

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:

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.

So, you’ve been looking for a learning management system (LMS) and have decided that the open source Open edX platform makes the most sense. You’re not alone! It’s the most widely used LMS platform in the world, with 45 million people using it in 34 different languages. It’s open source, so you don’t have to take a vendor’s word, alone, for anything, but it’s proven itself to be a resilient, effective learning tool that can scale to support thousands of simultaneous learners.

The official documentation for Open edX is excellent, but we know that setting it up and hosting it on your own can still be daunting. OpenCraft is here to help. 

We sat down with OpenCraft’s very own product specialist Gabriel D’Amours to talk about how OpenCraft handles hosting and address some of the common technical questions that clients ask about Open edX.

Services

So, for starters, how can OpenCraft help organizations customize, deploy, and maintain an Open edX installation?

We can help at every step of the way, from designing a custom Open edX instance, developing the code, and hosting and maintaining it. We can even provide training on how to build courses. 

Version updates

OK, so let’s say I want to get started and begin working with you all to design an Open edX instance. What version of Open edX do you use? 

All good questions. As for the platform, we always use the current version when building a new instance, and we upgrade all of our hosted instances within a few weeks of a new release. That’s included in the subscription fee for all our hosting plans, so clients don’t need to worry about getting charged to ensure they’re up to date. It’s important, because not only do new releases provide new features and better performance, but they also ensure and enhance security. 

Customizations & integrations

What if I need to incorporate functions not yet supported in Open edX, like video conferencing? Can you add that?

When clients want features or integrations that aren’t already supported by the Open edX platform, we’ll do what’s necessary to develop it. Frankly, that’s what we love doing most.

For instance, the LabXChange team wanted users to be able to quickly incorporate and reuse content to create new learning pathways on the fly. At the time, Open edX didn’t support that capability, so we wrote a completely new storage architecture called Blockstore that’s now the standard storage architecture for the project.

It’s true that Open edX doesn’t support video conferencing out of the box, but OpenCraft can integrate apps like Zoom, and many others, into instances and courses using the LTI protocol. 

Hosting

How about hosting? Do you host clients’ instances? If so, what does that entail and what do you provide?

We frequently host our clients’ Open edX instances on OpenStack servers which are based in Europe, though if your needs are different, we’re happy to discuss it. In a nutshell, we have two plans. 

Our Pro & Teacher is designed for clients looking for a full-featured, dedicated Open edX instance at a reasonable price. It includes the Open edX LMS and the Studio authoring tool for developing courses. Pricing is based on the number of monthly users, up to 1,000, and support is provided via email. 

Our Institutional Plan is intended for clients who need significant customization and advanced functionality such as e-commerce, single sign-on, edX Insights analytics and dedicated mobile apps. With this plan, themes are completely customizable, there is no limit to the number of users and OpenCraft provides priority support with one of our senior developers. 

For full details on the different plans we offer, click here

Custom domain

Do clients need to use the OpenCraft domain if you host the instance or can they use a custom URL?

We provide custom domains for clients on both plans, though the Pro & Teacher option does require an additional monthly fee to enable this (it’s included in the Institutional plan). We can point your instance to any valid custom domain.

Work experience

What examples can you provide of the work you’ve done?

We’re doing a lot of work directly for edX, which is pure platform development for Open edX. From our early days we've done work such as developing much of the platform's single sign-on capabilities, Drag and Drop XBlock (where the learner drags items to zones on a target image) and the Content Libraries feature. We're currently working on multiple projects with edX to update and improve many areas of the platform such as discussion tools, open response assessment, LTI exercises, Common Cartridge compatibility, content libraries and taxonomies, theming & branding, and more obscure backend stuff! We have many more projects to come in Q3 and Q4 2020. 

We also work with many high-profile academic institutions. We currently provide Open edX services to universities such as MIT, multiple Harvard schools, Arizona State University, Notre Dame University, and have worked with many others. 

We’ve worked with the French Ministry of Higher Education to develop the French national platform for promoting the use of massive open online courses, and currently work on a similar project with the Government of Israel on a national platform called Campus-IL. We also work with private firms. For example, we provide deployment, hosting and maintenance of Cloudera OnDemand, the California technology company’s learning platform.

Safe to say, if you need a learning platform, OpenCraft can deliver it.

Need support for the Open edX platform? Book a free 1hr consultation and we will help you out. 

Photo by Angelina Litvin on Unsplash

We’ve consciously built OpenCraft on four values: Openness, quality, commitment and empathy. When it comes to quality, especially when it comes to ensuring the best privacy, security and flexibility for our users, we don’t do half-measures. 

We work as hard as we can to ensure that our clients get the best possible Open edX development we can deliver. And that commitment doesn’t stop with custom code development. We also host instances of Open edX for our clients, and each of them is logically separate from all the others. 

We only host "dedicated" instances of Open edX, which means that each instance that we deploy belongs to a single client. At the entry-level price range, other vendors offer hosting on Open edX sites, which are hosted on a shared instance along with other clients.

With a shared instance, multiple clients share the same resources, from the database to APIs. When you have a dedicated instance, the server belongs to you and you alone, and ownership confers many advantages. Let’s go through the most important of them: security, scalability and performance, data portability and control, and flexibility and customization.

Scalability, Performance and Security

Our instances are hosted on highly automated and robust cloud infrastructure, with a design and deployment strategy that has been optimized specifically for hosting Open edX, following industry-leading practices for performance and security. 

With a dedicated instance, our clients never have to worry about performance lagging because another client is hosting a class with hundreds of simultaneous users and it’s hogging more than its fair share of resources. 

If you need to scale up on a shared instance, it can be done, but it's impossible to predict when multiple users of the same site might have a lot of traffic at the same time, which means shared instances aren't scaled to handle the full load for each individual site they contain. In a nutshell, you end up with less available resources than you’ll probably need to handle traffic spikes. With a dedicated instance, you’ll always be able to scale to your own needs, so you can have as many courses and users as you like. 

Security is also stronger with a dedicated instance. Security flaws or admin errors on one site on a shared instance can affect everyone else. For example, admins on a shared site could elevate their privileges on other sites from the same instance, which opens up all kinds of unpleasant possibilities. And if one XBlock on a shared instance has a security hole, everyone whose site is on that instance is vulnerable. By controlling your own instance, you don’t run the risk of suffering the consequences of your “roommates’” mistakes.

Data Portability and Control

If you’re on a dedicated instance, the data belongs to you, and it’s easy to extract or migrate it to another host. But that’s a very tricky task if you’re on a shared instance, because you share a database with every other site on that server. Your data is all mixed up with everyone else, and extricating yours from the shared database will require a ton of expensive, time-consuming work. It’s the ultimate form of vendor lock-in. Once your site is on a shared instance, it’s very unlikely you’ll be able to leave, and if you try, you’ll be in for a terrible case of sticker shock when the bill arrives.

On a dedicated instance, you have complete administrative control, which can save you a lot of headaches. You have direct access to the Django admin console and to the database and APIs, a level of access that’s very restricted on shared instances. If you want to make even minor changes to your site on a shared instance, often the only way to get it done is to make a support request. A task that could take five minutes for you to complete on a dedicated instance takes a day or two because your ticket has to wait in the queue for an available admin. More than once we’ve had clients come to us because they were tired of having to ask their vendor to handle issues they could have easily handled themselves.

Flexibility and Customization

At OpenCraft, customization is our bread and butter. We eat custom code for breakfast, so this advantage is close to our heart. When you’ve got a dedicated instance, you're in full control of your customizations. If you’re sharing an instance, however, the host has to be very careful about how customizations are done and the dependencies of components, because changes to one site can have repercussions for everyone else. So if you want further customization of optional functionality like XBlocks, ecommerce or single sign-on, you’re going to face some challenges in a shared instance.

This inflexibility carries over even into areas like localization. While it’s possible to install additional languages on a shared instance, it could have technical implications for other sites, especially if you’re dealing with languages such as Arabic or Hebrew that are read from right to left. For us, installing a new language on a dedicated instance is about one hour of work.

Finally, by providing dedicated instances, we’re able to ensure reliability. Maintenance and upgrades are included with all our hosting plans, and we have a track record of exceptional, 99% availability. We also create daily backups for every instance and can restore backups quickly and easily. 

So, while it’s a bit more costly for us to provide our clients with dedicated instances, we think it’s worth it in the long run. Stronger security, fast performance, full control, scalability and as much customization as you want —these are important to anyone who’s running an Open edX instance. Besides, if you want to provide a high quality experience, you can’t take half measures.

Photo by Paul Gilmore on Unsplash

From fall of 2016 through summer of 2018, OpenCraft worked closely with the edX for Business team and Arbisoft to build out and improve several crucial features for the Open edX Enterprise Service. These features still exist today and are ready for everyone in the Open edX community to use, extend, and build upon. We’ll describe them in more detail below. But first, let’s have a quick look at what Open edX Enterprise Service actually is.

What is the Open edX Enterprise Service?

The Open edX Enterprise Service code base adds support for a number of different use cases to Open edX, mostly in the realm of B2B. It is included in standard Open edX installations by default, but nonetheless a lesser known (or at least a less talked-about) component of Open edX. 

It integrates with the ecommerce and course-discovery services. In fact, making use of all functionality provided by the Open edX Enterprise Service requires a working setup of ecommerce and course-discovery. The Open edX Enterprise Service code base also enables edX For Business

In a nutshell, the service enables alternative ways of accessing course content that is hosted on an Open edX instance: It supports LMS integrations with third-party systems such as SAP SuccessFactors, Degreed, and Cornerstone as well as direct integrations via the Open edX Enterprise Service Catalog API. It also allows customers to purchase course seats in bulk so that they can provide course access to their employees via individual-use enrollment codes or direct enrollment for specific courses with discounts/entitlements. Through data pass-back and customer reports, employers can get information about “learner behavior and outcomes,” i.e., information about their employees’ performance in relevant courses.

OpenCraft’s contributions

Integration channels for third-party systems

As mentioned earlier, one of the key features of the Open edX Enterprise Service is support for integrating Open edX with third-party systems. Aside from general improvements to the code enabling these integrations, OpenCraft’s work in this area mainly focused on two systems, namely SAP Success Factors and Degreed.

SAP SuccessFactors integration

OpenCraft expanded the existing integration for SAP SuccessFactors, adding features such as:

Our work also included implementing support for situations where specific learners no longer had a valid SuccessFactors account due to leaving the company or organization that had provided them with access to course content hosted on Open edX.

Degreed integration

Integration for the Degreed platform did not exist when OpenCraft was first onboarded to the Open edX Enterprise Service project. We built this integration from scratch and applied large-scale refactorings to optimize code reuse between different integrations of third-party systems. Aside from making it easier to implement additional integration channels for third-party services in the future, these refactorings included making data-passback functionality asynchronous by allowing commands for transferring different types of data to run on separate worker threads as Celery tasks.

Direct integration improvements

In addition to integrations utilizing specific third-party services such as SAP SuccessFactors and Degreed, Open edX Enterprise Service supports direct integrations via the service's catalog  API. This increases flexibility for Enterprise customers by allowing them to connect their own learning management systems (LMS) to Open edX. However, not everyone wishing to make use of the Open edX Enterprise Service features has the ability to extend and/or modify their chosen LMS to establish an API integration. 

To improve the situation for these types of Enterprise customers (i.e., to allow them to access and work with relevant data from the service with minimal upfront effort), functionality for transmitting data in alternative formats was added to the Open edX Enterprise Service. For example, instead of creating their own solution for obtaining reports from the Open edX Enterprise Service Catalog API, Enterprise customers can choose to have the platform send these reports to them in CSV or JSON format. Reporting configurations for individual Enterprise customers can be changed via the Django admin.

Data Sharing Consent (DSC)

An important aspect to consider when integrating with external systems is that learners should be able to explicitly agree to their data being shared between Open edX and those external systems. 

The service provides learners with this ability through Data Sharing Consent (DSC) features. For example, one of the early features that OpenCraft implemented was to ask learners to consent to data sharing when attempting to access courses in which they had been manually enrolled by their organization or employer, and to deny access to these courses when consent was declined. Similarly, in the earlier stages of the project we built functionality for requesting data sharing consent from learners when they attempted to redeem a course coupon provided by their organization or employer.

Aside from implementing and refining user experience for different use cases involving the concept of data sharing consent, OpenCraft also helped create a generic consent API and unified data sharing consent database model, which ultimately made it possible to extend DSC functionality to cover programs.

Updates to registration, account activation, and login flows

Creating a smooth experience for Enterprise learners also involved making a number of fundamental changes to existing functionality for registering, activating, and logging in to learner accounts on Open edX. Most notably, OpenCraft worked on creating and improving a special landing page for learners coming to the Open edX platform through an Enterprise workflow. This page allows learners to obtain various kinds of information regarding the platform itself, and the course or program in which they are about to enroll.

For example, when a new Enterprise learner creates an account with the platform, the landing page allows them to view the terms of service of the platform without leaving the registration flow. In a sidebar next to the elements of the page that the learner can interact with, the landing page also displays an Enterprise-specific welcome message as well as custom branding for the Enterprise customer that the learner is associated with. This feature is not specific to the registration flow; it is integrated with login and enrollment flows as well. Branding for individual Enterprise customers can be configured via the Django admin.

When the landing page is shown as part of the process for enrolling in a specific course, the Enterprise learner can view extensive information about the course on this page -- again without having to navigate to a different page. This is similar to the kind of information that the Open edX platform displays on the “About” page of a course.

In a later phase of the project, a landing page with similar capabilities was built for the use case of enrolling into programs. In addition to providing relevant information about the program in which the current learner is about to enroll, the Enterprise landing page for programs provides functionality for viewing information about each individual course that belongs to that program.

Another way the Enterprise learners' experience with the Open edX platform was made as smooth as possible was by minimizing the number of steps required to register or log in to the platform and to enroll in a course or program. To this end, OpenCraft built functionality for hiding irrelevant fields from the registration form and for skipping identity provider selection during the login process. OpenCraft improved the workflow for enrolling into courses by adding functionality for dynamically changing behavior based on whether a learner had already joined a given course: If the learner was completely new to the course, they would be taken to the Enterprise landing page. But if they had enrolled in the course previously, the system would take them straight to the course, never showing the landing page.

Lastly, to further simplify registration flows for Enterprise learners, OpenCraft implemented support for live validation of learner inputs on the registration page. This work involved extensive changes to frontend and backend code for user registration, and the results were visible not just to Enterprise learners but also to regular learners signing up for an account on the Open edX platform.

Want to learn more about our contributions to the Open edX Enterprise Service? Drop us a line and let’s chat. We’d love to hear from you.

Header photo by Samson on Unsplash

Get in touch

We'd love to hear from you! Send us a message and a member of our team will get back to you.
Contact us
Subscribe to our newsletter
© OpenCraft 2026
edX and Open edX® are trademarks of edX Inc
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram