Publish as LTI tool
Moodle as an LTI provider
The ‘Publish as LTI tool’ enrolment plugin, together with the LTI authentication plugin, allows remote users on a different site (known as an LTI consumer) to access selected courses and activities. In other words, Moodle functions as an LTI tool provider. Grades are sent back to the remote system. See the screencast Publish as LTI tool for a demonstration.
Note: LTI 2 is supported in Moodle 3.2, making it easier for others to access your shared content.
Enabling ‘Publish as LTI tool’ at site level
An administrator can enable the ‘Publish as LTI tool’ for use across the site:
- Go to Site administration > Plugins > Authentication > Manage authentication and enable LTI
- Go to Site administration > Plugins > Enrolments > Manage enrol plugins and enable ‘Publish as LTI tool’
It is recommended that the site administration setting ‘Allow frame embedding’ is enabled (in “Site Administration > Security > HTTP security”) so that tools are displayed within a frame rather than in a new window.
Sharing access to a course or activity
- Go to the ‘Enrolment methods’ page and add ‘Publish as LTI tool’ as an enrolment method
- In ‘Tool to be published’ select the course or activity to be shared
- Click the ‘Add method’ button
- Go to the ‘Published as LTI tools’ page and make a note of thelaunch details (cartridge URL and secret) or just the registration URL for the LTI consumer site (see below for info on which to choose). The URL will be of the form: …/enrol/lti/…
- You will also need to give the LTI consumer site a consumer key – this can be anything you want.
The LTI consumer can be another Moodle site or any other LTI-consumer-compliant LMS, such as Sakai.
Grade and user synchronisation (if required) are done via the ‘Publish as LTI tool grade sync’ and ‘Publish as LTI tool users sync’ scheduled tasks, which run by default every 30 minutes.
If user synchronisation is set to yes, enrolled users in the remote system are synchronised with enrolments in the course, with an account created for each remote user as necessary, and the user enrolled or unenrolled as required. If set to no, at the moment when a remote user accesses the tool, an account will be created for them and they will be automatically enrolled.
LTI 1 or LTI 2?
LTI 1 actually means a launch URL (which is compatible with LTI 1 or LTI 2 compliant consumers). LTI 2 actually means a proxy (which is compatible with LTI 2 compliant consumers).
|IMS Spec||Moodle||Canvas||Edu app center (Canvas)||Desire2Learn||Blackboard||Sakai|
|Tool consumer||External Tool||External App||App||Link||LTI Tool provider*||Sakai Basic LTI portlet|
|Launch URL||Tool URL||Launch URL||n/a||URL||Provider Domain||Remote Tool URL|
|Secret||Secret||Secret||Secret||Secret||Tool Provider Secret||Remote tool secret|
|Cartridge URL||Tool URL||Paste XML||Configuration URL||n/a||n/a||Tool registration file?|
|Proxy URL||Registration URL/Tool URL||LTI 2 Registration URL||n/a||n/a||n/a||–|
On the LTI consumer site
- Visit a course.
- Add a LTI activity and use the URL and secret from the LTI provider site and enter any consumer key you want.
- If you would like to not show blocks for teachers, you can pass the custom parameter “force_embed = 1”. This may limit the functionality available to teachers and admins. To get blocks back, simply remove the parameter.
- Log in as a student.
- Visit the course and click on the LTI activity.
- Check the activity displays as expected.
Any further questions?
Please post in the LTI and Moodle forum on moodle.org