The Learning Tools Interoperability (LTI) standard is a widely-adopted, lightweight way to integrate diverse educational components. A containing application (the LTI consumer) embeds a tool (the LTI provider), to present a seamless user experience in a single web page.

Open edX has long been an LTI tool consumer, allowing instructional teams to embed learning experiences from other platforms into their Open edX courses. Recently, we completed work on making Open edX an LTI provider. This allows elements of Open edX courses to be embedded as learning experiences into Learning Management Systems (LMSs) or other LTI tool consumers.

View of an Open edX video “in-place” in a Canvas course

EdX has an important goal of improving on-campus education for its partners. Existing campus-based digital learning environments use a variety of LMSs, though most commonly, Canvas and Blackboard. Making Open edX an LTI provider means that high-quality Open edX course content can be incorporated into these pre-existing environments to create learner experiences that blend offerings and make it easier for students, instructors, and institutions to learn and teach with the best materials available, regardless of platform.

Phil McGachey of Harvard University, the lead developer for this feature, notes, “edX provides particularly good video capabilities and advanced problem types. At Harvard, our faculty want to to use these materials not just in their edX MOOCs, but also on campus. Integrating Canvas and edX through LTI gives us a transparent way to combine the strengths of each platform.”

This is only the first iteration of LTI tool provider support in the Open edX platform, not a complete implementation of the 1.1 specification. At this time, the feature is being piloted by a few partners who were involved in its design and implementation, and it has been deployed in edX’s Edge environment, where Canvas and Blackboard are being tested as tool consumers. We strongly encourage those running their own Open edX installations to experiment with this feature and provide feedback about how the functionality could be extended and improved, as we continue to develop the LTI roadmap and integration support plan.

Why LTI?

The LTI standard was established a few years ago (Basic LTI was released in May 2010), and it quickly became widely adopted by tool consumers and providers alike.

The LTI standard has three basic features:

  1. Authentication — Allows learners to be authenticated from the tool consumer (that is, the campus LMS) in to the tool provider (an Open edX instance), but directs them to a specific resource, as defined by the course author in the LTI link definition. For example, the author may want to create an assessment on edx.org and embed that in a Canvas course page.
  2. Auto-provisioning — Causes the creation of a user record when the learner first links to a resource; further, “remembers” the learner when she returns and preserves the state of her work. For example, if a learner starts an LTI-linked assignment, but doesn’t finish it in one session, the Open edX instance brings her back to the place she left off the next time she links to that assignment.
  3. Grades Transfer — Synchronizes grades from the tool provider to the tool consumer. For example, as the learner completes questions in an assessment, the Open edX instance aggregates those results so the consuming LMS can pull them into its gradebook.

In our implementation of the LTI 1.1 standard, we take advantage of each of these features, allowing learners to encounter Open edX learning materials in the context of their LMS, while the two systems do an LTI “handshake” behind the scenes to assert identity, establish course membership, and synchronize grades.

For more information about the LTI specification, view the documentation on the IMS Web site.

Benefits of the Feature

For institutions, the development of online content is a careworn exercise that often becomes expensive as instructors spend more and more time crafting their materials. Schools typically provide, as one edX consortium member described it, “an entourage” of instructional designers and others to form course teams that help bring together all the elements of a successful course. With such time and energy going into course creation, institutions are eager to reuse their content in as many contexts as possible (and that make sense).

Using LTI, course teams can successfully reuse the high value content they are developing in the platform not just for MOOCs, but also for residential courses delivered in the LMS. Further, institutions can now develop the practice of treating their content as modular learning objects that can be remixed in thoughtful or even novel ways.

For instructors and their course teams, LTI provides a great measure of convenience and flexibility in using course materials across systems. In addition to supporting content reuse, treating their Open edX instance almost as a library of learning objects, faculty can reduce the time they spend teaching students how to initialize and use disparate systems on campus. This also reduces student anxiety and overall operational churn. Each system in the typical campus ecosystem requires significant school-wide investment, of people and dollars. Using our new “Open edX as an LTI tool provider” functionality, once fully realized, teams can leverage what edX is good at, advanced assessments and multi-faceted learning experiences, and what LMSs are good at, student management, and optimizing their use of each.

Finally, for students, this new feature allows them an easy way to go straight from their online environment on campus to Open edX course materials, and to get to that content without a lot of additional navigation or the potential to make a mistake or get lost along the way. Their identities can be managed at the discretion of the school, and data about their performance on Open edX assessments flows into the gradebook they use along with the grades for all their other assessments.

The Learner Experience

Authentication & User Provisioning

There are two basic user authentication flows in our current implementation of LTI:

  1. Anonymous user — in this flow, learners encounter an Open edX resource in their course (typically as an iFrame object in the page) and they are immediately directed to that resource. Behind the scenes, an Open edX instance acting as an LTI provider automatically provisions and authenticates a new user, and the learner does not directly interact with the Open edX identity system.
  2. Open edX authentication — in this flow, learners encounter an Open edX resource in the course and, if they have never visited the Open edX site from that LMS course, they are prompted to sign up, or to log in if they have an existing account. Once identity is established, the learner is directed to the Open edX resource defined in the LTI link.

The anonymous user flow presents a virtually seamless experience that significantly reduces user errors and allows schools to use existing identities rather than requiring students to establish new, parallel log-ins. In fact, the learner is unlikely to know that an Open edX instance is being used to deliver content.

By contrast, the Open edX authentication flow allows students to establish identities in an Open edX system, which may be useful to them in other contexts, while still providing a smooth learner experience that directs students to specific Open edX resources within an alternative LMS.

Derek White, of University of British Columbia (UBC), a key partner in validating our integration with Blackboard, whose team contributed “edX as an LTI Authentication Provider” functionality to Open edX, describes why it’s important for learners to establish their identity in Open edX:

“In British Columbia and other Canadian provinces, but also in other parts of the world, there are privacy laws that prevent an institution from provisioning personally identifiable information (PII) to the cloud. For this reason, we ask students to manage their own identities in edX, but we still take advantage of the streamlined course experience you get when you link resources via LTI.”

In both cases, learner data is still being collected in the Open edX host provider for all their activity in the system, whether the learner is anonymous or “known”. During execution of the LTI protocol, the tool consumer passes an institution ID and learner ID (if they have one) to the Open edX instance, so downstream processes can recover the learner identity and see what kind of activity is present.

Grades Transfer

The most common type of content that will be linked to an LMS from an Open edX instance is an assessment. The edX platform boasts a large variety of assessments, many quite advanced and unique in the market. As learners complete questions in an Open edX assessment, depending on how the course has been set up, they will either see grades per question in their LMS gradebooks or they will see aggregate grades per assessment.

If questions are sprinkled throughout the course by way of assessing student understanding as they encounter learning materials, it can be helpful to see grades at the individual question level in the LMS gradebook. If questions are collected in assignments or tests, the aggregate grade shown in the LMS gradebook can be used in determining students’ summative performance in the course. Both methods can be combined in a single course, if desired.

Graded Open edX component embedded in a Canvas course
Graded Open edX component embedded in a Canvas course


Grade on that component shown in instructor view of the Canvas gradebook
Grade on that component shown in instructor view of the Canvas gradebook

At the individual question level, grades are synchronized more or less instantaneously. Students can answer a question in an edX component, and the grade for that question can be seen in the LMS gradebook moments later. At the assignment level, grades synchronization is purposely delayed by 15 minutes in order to give the platform ample time to re-calculate grades before sending them via the grade synchronization service. In that case, the instructor (or the student) may not see an up-to-date grade for any given assignment for more than 10 minutes. Also, if a student is mid-assignment, they may see a partial score reflecting only part of what they have completed if allowed to do so by the instructor through LMS gradebook settings. Nonetheless, as the synchronization service continues to run, the score will update as more questions are answered.

Current State of the Feature

The initial implementation of this feature, which uses the anonymous user flow, is available in the Open edX Cypress release. See documentation in GitHub:
https://github.com/mcgachey/edx-platform/wiki/Using-edX-as-an-LTI-Provider. Extensions to the feature have been recently added to support the edX as an LTI Authentication Provider functionality, as referenced above, as well as aggregated grades transfer (neither of which is available in Cypress).

This feature, with the extensions, has been enabled in our edX edge environment (for edX partners only), and our early adopters are also using the functionality on Open edX installations. In order to begin to validate our edge deployment, we have been working with Phil McGachey at Harvard University to test our implementation with Canvas and Derek White and team at University of British Columbia to test our implementation with Blackboard. These are preliminary efforts, but important community contributions that have moved feature development forward. In the coming months, we will be working toward full LTI 1.1 compliance.

Today, we consider the feature to be “provisional” and in a pilot phase. We are working with additional teams to guide their testing against other installations of Canvas and Blackboard. Please let us know if there are other tool consumers (LMSs) of interest to edX partners or Open edX operators. If you undertake an LTI integration with your own Open edX installation, we’d be interested to learn how well this new functionality works in conjunction with other systems.

Though provisionally tested and released with heavy reliance on and support from our two early adopting partners, we have not yet established a means of providing ongoing support of the integration in a scalable way across all would be users. We are currently working on a model for establishing reliable regression testing, especially given our dependence on external systems for full end-to-end testing; likewise, as issues arise, we continue to look to our partners for guidance on expected behaviors for interoperability between systems.

Working Collaboratively With Our Partners

As you may have read in my Single Sign On Using SAML Protocol blog post, the edX as an LTI Tool Provider project arose out of needs identified in the edX Campus Applications Working Group, which convenes to address campus integration challenges. The group was founded with the principle that all members would contribute one of the following to the process:

  1. Thought capital in the form of participation in discussions and review of documents, especially surfacing different use cases to address a wide array of needs.
  2. Application development in the form of contributions to the Open edX code base.
  3. Validation in the form of testing the solutions developed by its members.

To support the working group and any resulting projects — which currently includes this project as well as SAML/Shibboleth authentication — edX provides ongoing product development support, creating a structure for engagement, guiding architecture decisions, and ultimately evaluating solutions for inclusion in the Open edX platform.

Specifically, this project would not have been possible without the engineering leadership of Phil McGachey, who contributed design documents and the lion’s share of the edX as an LTI tool provider code, and the additional contributions of the UBC team for providing the edX as an LTI authentication provider piece of the solution. Finally, I must mention that John Zornig and Andrew Dekker developed an early prototype of the solution that spurred excellent discussions and helped us to focus our ultimate implementation.

What’s Coming in the Future?

Future work on this feature includes:

  • Full implementation and testing of the LTI 1.1 protocol
  • Passage of the LTI 1.1 conformance test suite

Other areas of extension:

  • Authoring tools, to make discovering URLs for Open edX resources simpler for course teams
  • Arbitrary linking, to support the ability to link to any level of the Open edX content tree and get appropriate navigation
  • LTI 2.x, to support the latest version of the standard

If anyone in the Open edX community is interested in working on these features — or has other features to contribute in this area — please contact the edX Open Source team.


Special thanks go to our LTI project team:

Phil McGachey, Harvard University (lead developer)
Dave Ormsbee, edX (lead developer)
John Zornig, University of Queensland
Andrew Dekker, University of Queensland
Derek White, UBC
Pan Luo, UBC
William Ono, UBC
Ned Batchelder, edX

and many other members of the edX staff, who helped land this fish, especially:

Alison Hodges, edX Documentation
Kevin Falcone, edX DevOps

Please don’t hesitate to reach out to me for additional information about the project.

Beth Porter is the VP of Product at edX