Moodle LTI Integration
    • 11 Sep 2024
    • 8 Minutes to read

    Moodle LTI Integration


    Article summary

    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.


    Was this article helpful?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.