Learning Tools Integration


Paul Sijpkes

3rd Party (Free)

11 downloads (last 90 days)

Mozilla Public License

EE Version Support

  • ExpressionEngine 2
  • ExpressionEngine 3
  • ExpressionEngine 4


If an item is crossed out, it might be untested, not applicable or incompatible. Contact the developer to be sure.

  • Updater
  • Multi Site Manager
  • Stand Alone Entry Form
  • Low Variables
  • Content Elements
  • Better Workflow
  • Matrix
  • Grid
  • Webservice
  • Publisher


Add-On Type(s)

Extension, Module


Provides template tags, grade write and grade read functions for integration into other systems using the Learning Tools Interoperability™ (LTI) protocol. LTI is used for cross domain access to external learning tools in the leading learning management systems (LMSs) and virtual learning environments (VLEs) used by educational institutions, such as Moodle, Blackboard Learn and Instructure Canvas. Once 'launched' from the LMS the user is automatically logged in using oAuth 1.0 and added to the Members table based on the LTI context sent from the LMS. Control panel access allows addition of an unlimited amount of LTI providers, each on different template url segments on the site. This module and extension use IMS Global's LTI Specification version 1.0.

This module is no longer released via devot-ee.com.

Please download the latest release from Github

LTI Module (2.0.0)

Compatible with EE 3 Only

This module and extension allow integration with any LMS/VLE adopting the IMS Global LTI Standard Version 1.0

Got EE 2?  Scroll down ↓

After installing the module, enter the Settings area.

  1. Select Institutions, then select the single entry ‘Default Institution’
  2. Add the GUID for the institution, this is the URL to your Blackboard or Moodle install without protocol e.g. ‘uonline.newcastle.edu.au’ or ‘stanford.edu’
  3. Create an example template from the template markup below
  4. Select Tool Providers and add the segment(s) for the template e.g. example/lti_test
  5. You’re now ready to go! You can now add this LTI link to Blackboard or Moodle.

<title>LTI Example</title> 
</head> <body> 
{if logged_in} 

<ul> <li>Course Key: {course_key}
</li> <li>Course Name: {course_name}
</li> <li>User Key: {lti_user_key}
</li> <li>Is Instructor: {is_instructor} 
</li> <li>User Email: {lti_user_email}
</li> <li>User Short Name: {lti_user_short_name}</li> <li>User Name: {lti_username}</li> 

<h2>Grade read and write example</h2> 
<h3>Save Grade Example</h3> 
<h3>Read Grade Example</h3> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> 
<script>window.jQuery || document.write('<script src="local/jquery-2.2.2.min.js">\x3C/script>')</script> {javascript} {if:else} 
<p>Sorry, your login failed, please check with your institution.</p>	{/if} 

Using the Local ‘Launch’ Feature

2.0.0 introduces a local launch which allows you to launch a tool segment as any user. To use this you will need to setup a local GUID. For example, if you host EE on devot-ee.com then you would add devot-ee.com to the GUID table as described above.  You can now use the the Launch buttons next to each user context to launch tools locally; invaluable for testing!

Legacy LTI Module (1.0.0)

Compatible with EE 2 only

Note that this version refers to providers as ‘consumers’, this nomenclature has been rectified in the EE 3 version
Install the module, then start with the sample template below.  Ensure that the URL segment you are using for your template is set up in the LTI consumers table, accessible through Add Ons -> Modules.

For example, if you have your template in my-template-group/lti-testing, then ensure that your consumer has “lti-testing” in the URL Segment field.

<title>LTI Example</title>
{if user_key}
	<li>Course Key: {course_key}</li>
	<li>Course Name: {course_name}</li>
	<li>User Key: {user_key}</li>
	<li>Is Instructor: {is_instructor} </li>
	<li>User Email: {user_email}</li>
	<li>User Short Name: {user_short_name}</li>
	<li>User Name: {user_name}</li>
<p>Sorry, your login failed, please check with your institution.</p>	

Download Learning Tools Integration

EE Support Downloads Add-On Version Release Date
2.6.0+ Download 1.0.0 Jun 23, 2014
3.0.0+ Download 2.0.0 May 11, 2016

Hooks Used

If the add-on is an extension, and ties into ExpressionEngine's core files, it will use ExpressionEngine hooks. We are listing any hooks the add-on uses for developers to have an easier time locating other add-ons that they can reference for their own work.

  1. sessions_end

This entry was created June 23, 2014, 9:12 am.
This entry was last updated May 4, 2018, 12:45 am.

Disclaimer: Information about ExpressionEngine add-ons is provided as a service to you, the user, and every member of the ExpressionEngine community. devot:ee is not responsible if you hose, mangle, wreck, or otherwise destroy your EE website by installing an add-on that you found out about at this site, regardless of its rating, Favorites status, commercial or free status, or general popularity. Caveat EEmptor!

Returns: devot:ee has a 30-day return policy on all commercial add-ons sold through devot-ee.com. If you need to return an add-on, do not go to the developer or the developer's site, but rather visit our returns page at https://devot-ee.com/returns to initiate your return. If you have questions, email support@devot-ee.com.

1 Review:

stefanos 05.04.18

Rating - {addon_rating_average}

Very good add-on. Very useful as the website I’m building is for non profit Health organisation, an educational system would be included.

Thanks for your great work !