spook1's avatar

LTI 1.3 tutorial

Learning Management Systems (LMS) in higher education ( Canvas, Moodle) use so called LTI interfaces.

These allow external tools to communicate with the LMS.

An example is: https://github.com/celtic-project/LTI-PHP

For me as a beginner in Laravel it seems complicated. Yet I can image the possibilities if we can make LTI development available for teachers and students.

Would it be possible to find a tutorial? Does anyone know of a tutorial on a similar tool? When we have an example of how to setup an LTI server and how to couple simple self-created db tools we can innovate education bottom up.

0 likes
3 replies
themeddev's avatar

Hi spook1, I'm trying to integrate Altissia's LTI. Have you found a solution yet?

laravel123a's avatar

Still looking for that tutorial. Doesn't have to be a video :)

DigitalArtisan's avatar

First, you need a Learning Management System (LMS) that supports Learning Tools Interoperability (LTI).

LTI is a standard defined by 1EdTech (formerly IMS Global) that allows an LMS to securely integrate external learning tools. It’s often described as an API, but in practice it’s a standards-based protocol for authentication, launch, and grade/roster exchange between systems.

LTI Roles

LTI involves two roles:

  • LTI Platform (formerly “Consumer”) — the LMS (e.g., Canvas, Moodle, D2L)
  • LTI Tool (formerly “Provider”) — the external application being launched

LTI Versions

As of today, LTI 1.3 with LTI Advantage is the recommended version. It replaces older LTI 1.1 implementations and is based on OAuth 2.0 and OpenID Connect.

Official tutorials and specifications:
https://www.imsglobal.org/spec/lti/v1p3/

Laravel and LTI

Regarding Laravel:
There still aren’t any widely adopted, full-featured Laravel-based LMS platforms that natively act as an LTI Platform. However, Laravel works well for building LTI Tools, and there are PHP/Laravel libraries that help implement LTI 1.3 launches, deep linking, and grade passback.

In a previous role, I used Desire2Learn (D2L / Brightspace) extensively, which has solid LTI support:
https://docs.valence.desire2learn.com/res/lti.html

Common Approach Today

So today, the common approach is:

  • Use an established LMS (Canvas, Moodle, D2L, etc.) as the LTI Platform
  • Build custom learning tools in Laravel as LTI Tools

Please or to participate in this conversation.