LTI specification integrations are one way for edtech developers to provide key integrated functionality to learning institutions. By becoming interoperable with LMS providers, these learning tools provide extra value and streamline user experiences (for students and educators, for example).

LTI specification integrations have been around for over a decade. The specification has passed through several versions, with the current version being LTI 1.3 and LTI Advantage. The LTI 1.3 and LTI Advantage specifications were announced in May 2019. The new release updated the LTI 1.1 framework and deprecates all previous versions of LTI specification (1.1, 1.2, and 2.0).

The LTI 1.3 and LTI Advantage Specification

The LTI 1.3 specification updates the LTI security framework from 1.1 and provides the “core” of the new LTI framework. The LTI 1.3 specification uses OAuth2 and signed messages using JSON Web Tokens (JWTs) to securely authenticate students and pass data between the platform (the LSM) and the external learning tool.

LTI Advantage is a set of 3 services that sit on top of the LTI 1.3 security framework:

  • Names and Role Provisioning Services,
  • Assignment and Grade Services, and
  • Deep Linking.

The services of the LTI Advantage specification are intended to replace some of the integrated services offered by the LTI 1.1 specification and to increase interoperability between learning tools and LMS providers.

Names and Role Provisioning Services

The Names and Role Provisioning Services (NRPS) grants tools access to the list of users and user roles for a specific context (e.g. a course or group). NRPS is an update to the former Membership Service in the LTI 1.1 specification. This service is responsible for securely passing user information to a learning tool from a platform.

In the LTI 1.1 specification, the Membership Service could only roster users in a tool if the user launched the tool. This limitation caused issues for users.

Imagine an educator accessing a tool to check which students completed an assignment. The teacher couldn’t see the full list of students in the course, because some students never launched the external tool. So, to the tool, these students were "invisible". Similarly, there was no way for the external tool to know (via the Membership service) if a student left a course.

NPRS allows external tools to request a list of users from the tool’s launch context. Once the membership list is passed to the tool, the tool can read all students and educators enrolled in the context – even if they have not launched the tool. Through NPRS, educators can easily view which students finished an assignment and which ones have not yet started.

Developers should know that a platform may only provision users from a specific context. For example, NRPS does not allow teachers to roster multiple classes together. A tool can read the course roster from the tool’s launch context - but not from all of the user's courses. To retrieve information from multiple courses, the user would have to launch into the tool from each of the user’s active courses.

Assignment and Grade Services

The Assignment and Grade Services (AGS) allows teachers to sync grades between third-party tools and their LMS. In the LTI 1.1 specification, this was called the Basic Outcomes Service. This service will return numeric scores to an LMS provider’s gradebook, as well as comments from the teacher. AGS exposes the status of a user’s activity and grade.

For example, through AGS, an educator can view when a student started an assignment, and if that assignment is complete or not. The educator can also receive the status of a grade, such as if a specific grade requires manual input from a teacher.

Deep Linking

Deep Linking offers a more streamlined approach to adding LTI specification links to an LMS. This process was previously called Content-Item Message in the LTI 1.1 specification. Deep Linking messages allow external learning tools to appear within an LMS as internal tools.

With Deep Linking, external tools allow teachers to configure specific content or activities within the tool. In the LTI 1.1 specification, an entire tool had to be launched, even if the teacher only wanted the class to view a specific resource. Deep Linking allows the teachers to select the content they need and share the link to launch that content with their course.

For example, a tool could let an educator configure a link that will launch a specific chapter from an ebook when their students select the link – rather than force the student to launch the tool and then navigate to a certain resource. This was previously possible through other means, such as special fields that could be passed through by the LMS, but support for these workarounds is inconsistent (at best).

LTI Advantage Certification

To certify for LTI Advantage, the tool or platform must first complete certification for the LTI 1.3 specification. The product must then receive certification for any one of the 3 LTI Advantage services. This is designed to give tools and platforms the ability to receive a certification for LTI Advantage even if they only need to use a subset of the available services. For a product to be certified as LTI Advantage Complete, then the product must receive certification for all 3 services.

The Future of LTI

The LTI 1.3 and LTI Advantage specifications are designed to each grow independently. Security and privacy improvements can be made to the Core LTI 1.3 specification framework without impacting how the LTI Advantage services are certified. Also, the LTI Advantage specification framework is designed so that future services can be added to the specification without impacting the existing 3 services or the LTI 1.3 specification. This would allow publishers to update their tools and add new services faster than previously possible with past LTI specifications.

Updated | 5.8.24

Interested in LTI?

Read these other articles we've written on integrating with the LTI specification.

If you're looking for a partner who can help guide you through developing LMS integrations (like these), then let’s introduce ourselves. We’re Edlink!

Introducing Edlink
Our Mission at Edlink
What is the Edlink Unified API