Business Context

The client is a hospitality company utilizing a custom learning management system (LMS) to train restaurant staff. The system is designed to increase restaurant sales by training servers to become salespeople rather than simply take orders.

From a technical standpoint, the LMS is based on Open edX, a Harvard- and MIT-backed course management system created to address the needs of massive online open courses (MOOC). Open edX is released under an open source license, which means organizations can host their own instances and easily extend the system to precisely meet their business needs.

As a company interested in customizing Open edX, the client needed e-Learning development expertise to implement LMS customizations on the backend and streamline the current process of managing courses and user access.

Customer’s Challenge

The client hosted four separate Open edX instances on their internal servers. Each instance was dedicated to a unique restaurant brand or knowledge stream. Continuing with this model would require a minimum of four more edX instances to support new LMS sites for additional restaurant concepts (then underway).

Within the old model, courses and data could not be easily accessed, replicated, shared, or updated from a single edX Studio environment. Any modifications for shared courses had to be done multiple times — from multiple sites on the backend.

Oxagile’s Solution

Having studied the Open edX platform documentation, Oxagile’s experts could not identify any ready-made features that would allow administrators to manage separate learning microsites and associated courses from a single backend point (including things like access restrictions, learner progress tracking, content and functionality upgrades, and more).

While XBlocks (reusable components for the elements of an Open edX course) can save a lot of effort when enhancing courses, one cannot use them to extend backend functionality to manage multiple edX instances centrally.

Fortunately, Open edX supports the Learning Tools Interoperability (LTI) standard. LTI’s principal goal is to establish a standard way of integrating rich learning applications (often remotely hosted and provided through third-party services) with platforms like LMSs, portals, learning object repositories, or other educational environments.

In this case, the client’s multiple edX instances could be seamlessly connected to a global LTI provider in a standard way — without having to develop and maintain custom integrations.

The diagram below illustrates the proposed LTI-based solution to the customer’s problem:


The new architecture uses a central LTI Tool Provider that enables admins to easily manage shared courses and configure access restrictions from a single point. Each of the local edX instances (known as LTI Tool Consumers) corresponds to a unique restaurant brand and implements its own LTI component that allows students to access globally-hosted courses.

Business Value

The global LTI instance can now act as a single management and administration point, which greatly facilitates content and users management. Course content updates are now significantly more streamlined and straightforward, and adding new local edX instances does not delay update rollouts.

About Oxagile

Oxagile is a software development company offering custom e-Learning development, LMS customization and enhancement, and consulting services.

If you are considering an e-Learning project but unsure how to proceed, we have a free whitepaper that we hope you will find useful. Entitled A Guide to Choosing the Right LMS for Your Organization, the document explores several LMS implementation strategies, and compares the leading LMS solutions available today. It is 100% free, no strings attached.

Denis Ardabatsky
Senior Business Analyst and PM at Oxagile



  1. Open edX wiki documentation:
  2. About LTI:
  3. edX LTI component description:
  4. Open edX as an LTI Tool Provider: