The Learning Tools Interoperability (LTI) specification was first released by the IMS Global Learning Consortium as Basic LTI in May 2010 [IMS-A] (and is now referred to as LTI 1.0). Since that time it has become well adopted as a simple but effective mechanism for integrating third party content and products with virtual learning environments (VLEs). For example, it is now part of the core product for all major VLEs, including Moodle, Blackboard Learn 9, Desire2Learn and Canvas from Instructure.
The purpose of this document is to provide you with a detailed exploration of how LTI works and the issues which arise so as to give you guidance on good practice, if not, best practice. The document contains sections relating to all the main parties involved in delivering learning experiences to students:
- VLE administrators;
- service providers.
Please provide feedback based on your own experiences to help improve the quality of the recommendations included here.
We start with a bit of terminology to help make the descriptions which follow more precise. The LTI specification uses the following terms:
- tool consumer - typically this refers to the VLE; it is the system which users are logged into and from which they will be redirected to the external applications being integrated with it;
- tool provider - this is the web-based learning application or content delivery system which is being integrated with the tool consumer;
- consumer key - this string value is generated by the tool provider to allow them to uniquely identify the source of requests being received;
- shared secret - the communications between the tool provider and the tool consumer are secured using a signature generated using the OAuth 1.0 protocol [OAuth-A] with the shared secret (which should be known only to the tool provider and the tool consumer);
- context - tool consumers are typically organised into courses, with users being enrolled into each course for which they are permitted to access; thus, in this case, the course is the context from which users launch into tool providers;
- resource link - this is the actual link provided within a context which users follow to access the tool provider; there may be multiple resource links to each tool provider within the same context and across the whole tool consumer but each resource link is uniquely identified.
This document provides guidance for both the tool consumer and the tool provider components of an LTI 1 connection. At the time of writing, the following versions of LTI 1 have been released:
LTI version 2 provides a more extensible framework for implementing learning application/content integrations, but this document will focus essentially on LTI 1 because this is what is currently in use and widely available. At the time of writing LTI 1.2 is in public draft and extends LTI 1 with some of the features of LTI 2.0 (e.g. a tool consumer profile enabling discoverable services) thereby offering a stepping stone for systems looking to move from LTI 1 to LTI 2. [IMS-A]