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.
If your moodle instance is using HTTP (and not HTTPS) you will only be able to use the tool on sites that are also using HTTP (and not HTTPS). It's recommended that you use HTTPS on your moodle instance.
Enabling “Publish as LTI tool” at the site level
Please follow the instructions below to enable the “Publish as LTI tool: for use across the site.
Step 1. Login as Administrator
Step 2. Click Site Administration
Step 3. Click Plugins
Step 4. Click "Manage Authentication" under the "Authentication" section.
Step 6. Enable LTI by clicking the eye icon that corresponds with “LTI”
Step 7. Click Site Administration
Step 8. Click Plugins
Step 9. Click Manage Enrol Plugins under the Enrolments section
Step 11. Enable “Publish as LTI tool” by clicking the corresponding eye icon
Once you have enabled “Publish as LTI tool” at the site level, you can now share access to a course or activity by following the instructions below.
Enabling “Publish as LTI tool” at the course level
Step 1. Enter the relevant course that you would like to provide access to.
Step 2. Click the cog on the right-hand side
Step 3. Click “More”
Step 4. Click Users
Step 5. Click Enrolment methods
Step 6. From the “Add method” drop-down box, select “Publish as LTI tool”
Step 7. You will now be redirected to the “Publish as LTI tool” page.
Publish as LTI tool Section
Options |
Description |
Custom Instance Name |
Allows you to provide a custom name for the enrolment methods |
Tool to be published |
Select the required content that you would like to share. Usually, you will have to select “Course” to have the entire course shared. |
Enrolment duration |
Enable and provide the period for the enrolment to be valid |
Start Date |
If Enabled, users can access only from the date specified |
End Date |
If Enabled, users can access only until the specified date |
Maximum enrolled users |
The maximum number of remote users who can be enrolled. To have unlimited users enter “0” |
Role of Teacher |
The role assigned in the tool to the remote teacher |
Role of Student |
The role assigned in the tool to the remote student |
Remote System Section
Secret |
A string which is shared with the LTI Consumer to provide access to the tool |
Grade synchronisation |
Whether grades from the tool are sent back to the remote system |
Require course or activity completion prior to grade synchronisation |
Choose if you would like to have a mandatory course or activity completion prior to grade sync. |
User synchronisation |
Whether a scheduled task synchronizes enrolled users in the remote system with enrolments in this course, creating an account for each remote user as necessary, and enrolling or unenrolling them as required. If set to “No”, the moment when a remote user accesses the tool, an account will be created for them and they will be automatically enrolled. |
User synchronisation mode |
Choose your preferred user synchronization. |
From the “User default values” section, choose the default values for the remote users if required.
Step 8. Click “Add Method”
Step 9. Enter the course again
Step 10. Click the cog on the right-hand side
Step 11. Click “Published as LTI Tools”
Under the “Published Tool, make a note of the “Lanch Details” and “Registration URL” for the LTI consumer site. The URL will be of the form: .../enrol/lti/…
Step 12. You will also need to give the LTI consumer site a consumer key - this can be anything you want.
LTI Consumer
The LTI consumer can be another Moodle site or any other LTI-consumer-compliant LMS, such as Sakai. Depending on the requirements of the LTI consumer, you can provide either a cartridge URL (also called configuration URL) plus secret OR a launch URL (new in Moodle 3.5.2) OR a registration URL.
Grade and user synchronisation (if required) is 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.
On the LTI Consumer Site
Step 1. Visit a course.
Step 2. Add a LTI activity and use the URL and secret from the LTI provider site and enter any consumer key you want.
Step 3. 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.
Step 4. Log in as a student.
Step 5. Visit the course and click on the LTI activity.
Step 6. Check if the course displays as expected.