Moodle LTI Integration

To communicate with the Moodle LMS using the LTI 1.3 specification, an API Consumer will need to be configured with standard settings in Skillable Studio. This article will help you configure the values necessary to enable Skillable to provide LTI 1.3 Tool services.

Best Practices for Integrating with Moodle

The Learning Tools Interoperability (LTI) 1.3 specification allow Learning Management Systems (LMS) or platforms to integrate remote tools and content in a standard way. Follow the step-by-step instructions in this guide to integrate the Moodle LMS with Skillable using LTI 1.3.

Obtain LTI 1.3 Credentials

Prior to beginning the Moodle LTI 1.3 configuration and integration you will need to request some information by opening a support request  with our customer support team. In the support details be sure to request the following information.

Skillable Field Name

Moodle Field Name

Field Value Example

LTI 1.3 Login / Connect Url

OpenID Connect Initiation Url

http://lod-lti-api.labondemand.com/ltiv13/connect/{API Consumer ID}

LTI 1.3 JWKS Url

Public Keyset URL

http://lod-lti-api.labondemand.com/ltiv13/config/jwks/{API Consumer ID}

The following fields are required to configure different aspects of the Moodle LTI 1.3 setup.  Copy the field value to Notepad or another text editor for quick reference

Skillable Field Name

Moodle Field Name

Field Value

LTI 1.3 Launch Url

Redirection URI(s)

https://lod-lti-api.labondemand.com/ltiv13/launch

LTI 1.3 DeepLink Url

Content Selection URL

https://lod-lti-api.labondemand.com/ltiv13/link

LTI 1.3 Icon URL

Icon Url

https://www.labondemand.com/images/favicon.ico

API Consumer Required

To complete an LTI 1.3 integration you must be a current client of Skillable with an API Consumer configured for your organization.

Skillable may require your Customer or Organization ID, Moodle Instance URL, Platform name or other information. It is always recommended to provide as much information as possible with any support request.

Enable LTI 1.3 support in Moodle

In Moodle 2.2 onwards, the External tool enables users to interact with LTI-compliant learning resources and activities on other websites. This means that LTI 1.3 support is already enabled within Moodle and no special preparation is required for Moodle to accept LTI 1.3 communications.

Set up the External Tool in Moodle

To set up Skillable as a LTI 1.3 Tool you will need to define Skillable as an External App.  The following section will guide you through this process.

Adding Skillable as an External Tool

In order for Skillable labs to be made available by the Moodle LMS, Skillable must be registered as an external tool within Moodle.  This section will guide you through the steps necessary to complete this integration.

  1. To access the Site administration options select Site administration from the top menu [1].

  2. Select Plugins from the Site administration menu [2] to view the Plugins and Activity Modules.

  3. To be able to manage external tools, from the Activity modules section [3], you will have to select External tool [4] --> Manage tools [5].

    Moodle Site administration Highlighted

  4. Since Skillable represents a custom LTI 1.3 tool you will need to manually configure it within Moodle. To do this, in the Add tool section of Manage tools, select the configure a tool manually link.

    Moodle configure a tool manually

  5. Complete the Tool Settings configuration of the External Tool using the following values:

    Field

    Value

    Tool name

    A tool name that instructors will recognize.
      â€¢ Skillable Labs

    Tool URL

    Selects specific tool configurations within the tool. This value should be supplied by Skillable support and include the lab to be launched.
      â€¢ https://lod-lti-api.labondemand.com/ltiv13/connect
      OR
      â€¢ https://lod-lti-api.labondemand.com/ltiv13/launch{Lab ID}
      Notes:
      (1) The launch URL should only be used if you intend to dedicate this External Tool to a single Skillable Lab.
      (2) The Tool URL can not end in a forward slash

    Tool descripiton

    Describes the external tool
      â€¢ Skillable LTI 1.3

    LTI version

    Skillable only supports LTI 1.3 for this configuration
      â€¢ LTI 1.3

    Public key type

    The Public Key is used to secure the communications.
      â€¢ Keyset URL

    Public keyset

    The LTI 1.3 JWKS URL used to determine the key. This value should be supplied by Skillable support.
      â€¢ http://lod-lti-api.labondemand.com/ltiv13/config/jwks/{API Consumer ID}

    Initiate login URL

    The connection URL. This value should be supplied by Skillable support.
      â€¢ http://lod-lti-api-labondemand.com/ltiv13/connect/{API Consumer ID}

    Redirection URI(s)

    The URI(s) used when making authorization requests. This value should be supplied by Skillable support.
      â€¢ https://lod-lti-api.labondemand.com/ltiv13/launch

    Custom parameters

    Custom settings required by the tool provider.
      â€¢ Blank

    Tool configuration usage

    Determines how the tool is displayed to an instructor.
      â€¢ Select Show as preconfigured tool when adding an external tool

    Default launch container

    Affects the container in which tools are launched.
      â€¢ Select New window

    Support Deep Linking

    Skillable supports Deep Linking in LTI 1.3.
      â€¢ Selected

    Content Selection URL

    Used to launch a content selection page from the tool provider.
      â€¢ Leave blank

    Icon URL

    Specifies the icon used in the course listing for this activity. This value should be supplied by Skillable support.
      â€¢ https://www.labondemand.com/images/favicon.ico

    Secure icon URL

    Similar to the Icon URL but accessed securely through SSL.
      â€¢ Leave blank

Note

Your External tool configuration - Tool Settings should look similar to the screenshot below.

Moodle Site administration Highlighted

Lab ID Parameter

You can limit a course to a specific Skillable Lab provided by the External Tool by adding the Lab ID to the Custom parameters field of the External tool after it has been added to a course.  The custom parameter should be entered in the format labid={value}.

  1. To make good use of the LTI 1.3 specification expand the Services section and External Tool configuration using the following values:

    Field

    Value

    IMS LTI Assignment and Grade Services

    Use this service for grade sync and column management

    IMS LTI Names and Role Provisioning

    Use this service to retrieve members' information as per privacy settings

    Tool Settings

    Use this service

    Note

    Your External tool configuration - Services should look similar to the screenshot below.

    Moodle External Tool Services

  2. Complete the Privacy section configuration of the External Tool using the following values:

    Field

    Value

    Share launcher's name with tool

    Always

    Share launcher's email with tool

    Always

    Accept grades from the tool

    Always

    Force SSL

    Depends on your scenario (Default: Unselected)

    Note

    Your External tool configuration - Privacy should look similar to the screenshot below.

    Moodle External Tool Privacy

  3. To create your Skillable External Tool select Save changes.

    Optional Configuraitons

    The Miscellaneous section contains optional configurations for your External Tool and can be set to your specific needs.

  4. Saving the External Tool in Moodle creates some basic information required to configure a trust relationship.  To obtain this information select the View configuration details icon on the Tool panel for your new External Tool.

    Moodle External Tool View Configuration

  5. On the Tool configuration details dialog, to email a record of the External Tool details to yourself, select the Email button and fill out the email for appropriately.

    Moodle External Tools Email Configuration

Congratulations!

You have now added Skillable as an External App within the Moodle LMS. If it has not already been completed you can continue to Establish Trust between Moodle and Skillable which is the final step in the Skillable to Moodle LTI 1.3 integration process.

Establish Trust between Moodle and Skillable

The establishment of the trust relationship between Moodle and Skillable is handled in the setup of  LTI 1.3 on the Skillable platform.  It is secured through the use of private and public keys.

This configuration must be performed by the Skillable support team. The Moodle Client ID may be required to complete this configuration. The Client ID is part of the External Tool configuration details.

Non-Cloud Hosted Instances

If your instance of Moodle is not Cloud-Hosted you must build the base URLs used for Trust enablement.

  1. Reply to the original Skillable Support ticket and supply the following information to be used to complete the Trust Relationship

Field

Tool Configuration

LTI 1.3 Issuer

Platform ID
  â€¢ Example: https://moodle.myco.com

LTI 1.3 Access Token URL

Access Token URL
  â€¢ Example: https://moodle.myco.com/mod/lti/token.php

Enable Custom Aud

No

LTI 1.3 Authorize Url

Authentication request URL
  â€¢ Example: https://moodle.myco.com/mod/lti/auth.php

LTI 1.3 JWK Set Url

Public Keyset URL
  â€¢ Example: https://moodle.myco.com/mod/lti/certs.php

LTI 1.3 Client Id

Client ID
  â€¢ Example: 3K6C2LaEwKuK7s

LTI 1.3 Scoring

Select one of
  - Send Activity Level Scores
  - Send Exam Level Scores
  - Send Both Activity and Exam Level Scores

LTI 1.3 Send Activity Score

If you only want a final summary score select "No"
If you want a score for each activity select "Yes"

Congratulations!

Once Skillable has confirmed that they have completed the LTI 1.3 configuration on the API Consumer for your organization you can continue on to the next exercise, 5. Test the Integration.

Test the Integration

Now that the setup and configuration of both your Moodle instance and the Skillable API Consumer for your organization have been completed it is time to test the integration.  Follow these basic steps to ensure that LTI 1.3 is working for you.

Prerequisites:

  • A completed Moodle LTI 1.3 setup

  • A Skillable API Consumer with LTI 1.3 configured

  • A Skillable Lab published to the API Consumer


  1. Add or edit a course in Moodle.
    See: Moodle - Create a Course

    ID & Secret

    You will need the Consumer and Shared Secret.  Skillable refers to these as the API Consumer ID and the Secret.

  2. As an administrator, Course Creator, Instructor or other user with permissions to edit a course configuration, search for, and select, the course you just created.

  3. Ensure that Editing has been turned on for the course.

    Moodle Turn editing off

  4. To add a new External Tool to your course, on the right-hand side of a course activity, you need to select the + Add an activity or resource link.

    Moodle Add an activity

  5. From the Add an activity or resource dialog, search for and select the External tool

    Moodle Add External Tool

  6. In the Adding a new External tool dialog, enter a descriptive name in the Activity name field.

  7. From the Preconfigured tool field select the name of the External Tool that you have created for Moodle.

    Moodle Adding a new External Tool

  8. Select the Show more... link and add a description for the activity in the Activity description field.

  9. To ensure proper display of your lab content set the Launch container field to New window.

  10. If you have configured a generic External Tool you may need to define the Lab ID in the Custom parameters field.  To do this select the Show more... link and then, in the Custom parameters field add the value labid={Lab ID}.

    Moodle Custom parameters

  11. Add any other configuration that suits your External tool or lab settings and select Save and return to course to submit your External tool configuration.

  12. On the Course page, select the launch link for the external tool you just configured to launch your lab in a new window and complete the testing of the Moodle LTI 1.3 to Skillable integration.

    Moodle External Tool launch link

Congratulations!

You have now completed the Skillable Moodle LMS LTI 1.3 integration. To fine-tune your integration or if you have any questions please contact Skillable Support.