What is LTI?
This page is here to provide a brief, non-technical overview of what LTI is, what various LTI terms mean, and links to more in-depth resources. It is not edX-specific.
What does LTI mean? What does it do?
LTI means “Learning Tools Interoperability”. It’s a standard that describes a UI flow for learning platforms like edX.org to interact with learning tools, which are often third-party extensions to the core platform.
It effectively defines a protocol for the two to communicate concerns like user authentication, authorization, user information, and grades/assignments without knowing any specifics - nearly at all - about the implementation on the other end. It’s a huge abstraction layer.
This allows the seamless transfer of a user’s experience to a third party application by clicking a button or link without any additional login, navigation, or setup steps by the end-user.
Why is This Useful?
We can and do build seamless tool integrations that can handle transferring contextual information about the user, course content, and authentication. However, tailored integrations like these are costly to build and maintain. Not only that, but building for specific tools limits flexibility of course teams and Open edX site operators. LTI allows us to build a generalized integration to plug in any type of learning tool.
More Detail on What LTI Does
LTI allows a platform to include Resource Links on its pages. These links (like literally HTML hyperlinks) are responsible for “Launching” a tool. There are rules on how to structure a link and what information it needs to include. The information passed along in this link is often referred to as a “message”. There are rules on how to perform a launch. Long story short, you need to specify who you are, who the tool is, who the user is, and where the link appears on the page, all with unique identifiers. LTI also provides facilities/protocols for performing authentication during this process.
Ok But How Does It Work?
For a more technical description see LTI for Humans
What versions of LTI exist?
LTI 1.3 was released in 2019 is now the current standard. All other versions have been deprecated. Prior to LTI 1.3, LTI 1.1 was widely adopted and was considered the standard. Confusingly, there are also LTI 1.2 and 2.0 versions which - as far as I can tell - were deemed confusing and complex and were never widely adopted. LTI 1.3 is more of an incremental change that normalizes and extends the spec a bit, which makes it more palatable to the community (translating to being the new standard).
So remember, despite there being an LTI 2.0, the latest is 1.3.
LTI 1.3 Spec - http://www.imsglobal.org/spec/lti/v1p3/
LTI 1.3 Migration Guide - https://www.imsglobal.org/spec/lti/v1p3/migr#1-1-1-3-equivalent
What is LTI Advantage?
LTI Advantage is a set of three additional feature specifications in addition to the Core LTI Spec.
Assignment and Grade Services - Replaces the Basic Outcomes service and updates the Result service included in LTI v2.0. This specification also allows tools more control over the number of gradebook columns per resource link and the maximum points possible for each column.
Names and Role Provisioning - Provides access to a list of users and their roles within context of a course, program or other grouping.
Deep Linking - Allows a Platform to link directly to specific content in a Tool (same as deep linking on a website, effectively)
My sense of these is that they’re features that were pulled back from the abandoned LTI 2.0 specification that were deemed salvageable. (If this is true, it needs a reference - I’m just reading between the lines)
Here is a marketing-speak page that outlines the three features: https://www.imsglobal.org/lti-advantage-overview#extensions
Here are the three specifications:
Assignment and Grade Services Spec
Names and role provisioning Spec
Deep Linking Spec