General plugins (Local): LTI Provider

Maintained by Picture of Juan LeyvaJuan Leyva
This is a local plugin for making Moodle a LTI provider tool. It can be use to provide access to full courses or activities from remote systems (other Moodle installations, Sakai, any LMS LTI consumer compliant)
Picture of Gavin Henrick
Gavin Henrick
Monday, January 30, 2012, 12:54 AM
General comments

This is a local plugin. It enables Moodle to provide access to an activity or a full course from other systems (either Moodle 2.2+ sites using the External Tool capability, or Sakai and other LTI compliant systems which can connect to LTI tools/providers).

Just to be clear on the language:

The LTI Provider  is an application which provides features that other people want to and can connect to from their own LMS.

The LTI Consumer is an application which can connect to the 3rd party Provider system to avail of the features it has.

So with Moodle 2.2, it has the LTI consumer activity called External Tool

With this plugin, Moodle 2 has now gained the LTI provider aspect too.

So what are the basics of the LTI provider application?

  • Firstly, it provides a single sign on so that users do not have to re-register on the LTI Provider platform - this happens automatically.
  • Secondly it sends back course or activity grades to the consumer system.

This application also provides a few other features which are more Moodle related

  • The option to provide access to a single activity or a full course
  • The ability to modify the page for hiding headers, footer, and right/left blocks
  • The ability to change the navigation block of a course or activity for showing just links related to the activity/course in question.

UPDATED ** 29th Jan 2012

This module also now has Settings for

  • Enrolment duration
  • Enrolment start and end dates
  • Enrolments quota
  • Support for Moodle 2.2 allowframembedding option


For the first version of the code this is an exciting piece of work. This moves the IMS LTI support within Moodle forward significantly and opens the door for real course sharing and collaboration across multiple LMS.

A course ran on a Moodle site in Australia could have students from classes in many other institutions all collaborating together in the one area. Just using the IMS provider and the built-in External Tool, not having to handle user lists, or authentication or enrolment. The potential is just huge.

But equally, this really does open up easier content selling as a SaaS too. A training company sets up their course in Moodle. When they sell access to a company for it, they provide the URL and Secret and it all just works after that.

An interesting start, this is a plugin to keep an eye on.


Is it simple to install?

Most people will not have installed a local plugin before, however it is really just as simple as a normal mod or block. This was easy to install. I downloaded the plugin directly from the Moodle Plugins. After downloading the zip, and unzipped it there was a folder called ltiprovider. I uploaded this into the moodle/local folder of my Moodle site. When logging in as admin to the site I was prompted to upgrade to install the module. It installed and produced no errors. There was no global settings so that was that all it needed.

Is there documentation for it?

The plugins page gave a good overview on the plugin. There is also a detailed Moodle Docs page which provided details on the local plugin, installation, configuration and information on how it works and grading. It also provided some details on the future versions of the plugin. There is a forum thread about the module where help queries should be posted too.

The README.txt in the zip provides an overview on the functionality too

Is it easy for the teacher/admin to use?

When you go into a course, the navigation block will have another link to the LTI Provider. This brings you to the management page for the tools you enable.

So under Tool settings you can choose

  • which tool to provide: course or a specific activity
  • whether to send grades back
  • whether to force/override the navigation

There are also advanced options to map roles of teacher, student on course and activity.

Under the Remote system the two options which are there are

  • Shared secret (which you provide to the IMS LTI Consumer application
  • Remote System Encoding

There are no advanced options in this section.

In the User Default values section, this is related to the dynamic creation of users.

You can set two basic settings

  • Email display
  • City/Town name

Under advanced you can also set:

  • Country
  • Timezone
  • Preferred Language
  • Institution

Lastly, and not least, the settings in the Layout and CSS are very useful

  • you can hide the page header
  • you can hide the page footer

Under advanced you can

  • hide left blocks
  • hide  right blocks
  • add some custom CSS

Once submitted it provides you a table of the

  • Tool Name
  • Shared Secret
  • Launch URL
  • Edit options

Once it was configured that was it. The other site or application (Moodle 2.2 in my case) just needed the two key bits of information:

  • Shared Secret
  • Launch URL

So I went over to my main test site for 2.2 and created an External Tool entry in a course using the Launch URL and putting the Shared secret in both the Consumer Key and Shared Secret fields, for clarity I also set the tool to open in a New Window. Once added, I clicked on it and it just worked.

So how does it work?

The user is auto-created with a username beginning with ltiprovider....... with nologin as their authentication method, so that they cannot log in to the tool site except through the LTI Provider/Consumer relationship. Very nice!

UPDATED ** 29th Jan 2012

The new enrolment options in the Jan 29th release enables a but better level of control for use of the Provider tool.

If you want to let just ten people from another institution access the course, you can now control how many use the LTI Provider tool.

If you are running a course for a set period, the LTI Provider now has the option to provide a date range for access so that people are not accessing it before it begins and after it is finished.

These are great use cases for training companies and collaborative academic courses too.

Is it easy for the learner/student to use?

For a student, yes, so very easy to use. I logged in as a student into my main site and clicked on the link in the course and it brought the user to the other site, auto-logged in able to view the course.