Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-70500

Use Dynamic Registration to allow Tools to update to LTI Advantage

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      In this test, we deploy an LTI 1.3 test tool using dynamic registration using the same domain as an already installed tool to test the in-place update.

      pre-requisite

      1. LTI Advantage requires your site to be reachable from the internet. If not, Install ngrok to expose your moodle setup externally. Refer here for additional guidelines
      2. Have a course with an instructor.
      3. Create an LTI 1.1 tool to be updated:
        1. As admin, go to Administration>Manage Tools>configure a tool manually
        2. Enter the following:
          1. Tool Name: Robotest LTI 1.1
          2. Tool Url: https://robotest.theedtech.dev/fake11
          3. LTI Version: LTI 1.0/1.1
          4. Consumer Key: the11robotest
          5. Shared Secret: robohasnosecret
          6. Check supports Deep Linking
        3. Submit

      Dynamic registration update to 1.3 - as new tool

      1. As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools
      2. In the box that says tool url enter: https://robotest.theedtech.dev/register
      3. Click the Add LTI Advantage button
      4. Verify you are prompted to upgrade the Robotest LTI 1.1 tool (version LTI-1p0)
      5. Choose Register as new tool
      6. The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up).
      7. Click the close button - the test app UI should disappear and the list of tools refreshing
      8. Verify the Robotest app has been added and is not yet activated, and the Robotest LTI 1.1 is still present
      9. Delete the newly added app

      Dynamic registration update to 1.3 - upgrade 1.1 tool

      1. As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools
      2. In the box that says tool url enter: https://robotest.theedtech.dev/register
      3. Click the Add LTI Advantage button
      4. Verify you are prompted to upgrade the Robotest LTI 1.1 tool (version LTI-1p0)
      5. Choose Update
      6. The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up)
        1. Verify the trace has a section: contains a Previous Registration (green)
        2. That section must contain a messages property array with 1 object in it: "messages": [{{ {}}{{ "type": "LtiDeepLinkingRequest"}}
        3. The trace must also contain a mention of Matching 1.1 signature (green)
      1. Click the close button - the test app UI should disappear and the list of tools refreshing
      2. Verify the Robotest LTI 11 tool has been renamed Robotest
      3. Click the gear icon to edit Robotest app and verify it's LTI 1.3
      4. Change the services setting and set IMS Assignment and Grade Services to be: Do not use this service
      5. Save

      Dynamic registration update to 1.3 - upgrade 1.3 tool

      • As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools
      • In the box that says tool url enter: https://robotest.theedtech.dev/register
      • Click the Add LTI Advantage button
      • Verify you are prompted to upgrade the Robotest  (version 1.3)
      • Choose Update
      • The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up)
      • Click the close button - the test app UI should disappear and the list of tools refreshing
      • Click the gear icon to edit Robotest app
      • Verify the services settings for IMS Assignment and Grade Services is: Use this Service for Grade Sync and Column Management

      Verify dynamically installed tool is functional

      1. Enter a course as instructor
      2. Turn editing on and add activity>external tool
      3. In the drop box of tools, select Robotest
      4. Then verify Select Content is enabled, click on it
      5. Verify the tool UI opens. Select either a graded or not graded item.
      6. Verify you are returned to the external tool interface successfully
      7. Click Save and Display
      8. Verify the tool shows and no errors are reported.

       

      Show
      In this test, we deploy an LTI 1.3 test tool using dynamic registration using the same domain as an already installed tool to test the in-place update. pre-requisite LTI Advantage requires your site to be reachable from the internet. If not, Install ngrok to expose your moodle setup externally. Refer here for additional guidelines Have a course with an instructor. Create an LTI 1.1 tool to be updated: As admin, go to Administration>Manage Tools>configure a tool manually Enter the following: Tool Name: Robotest LTI 1.1 Tool Url: https://robotest.theedtech.dev/fake11 LTI Version: LTI 1.0/1.1 Consumer Key: the11robotest Shared Secret: robohasnosecret Check supports Deep Linking Submit Dynamic registration update to 1.3 - as new tool As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools In the box that says tool url enter: https://robotest.theedtech.dev/register Click the Add LTI Advantage button Verify you are prompted to upgrade the Robotest LTI 1.1 tool (version LTI-1p0) Choose Register as new tool The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up). Click the close button - the test app UI should disappear and the list of tools refreshing Verify the Robotest app has been added and is not yet activated, and the Robotest LTI 1.1 is still present Delete the newly added app Dynamic registration update to 1.3 - upgrade 1.1 tool As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools In the box that says tool url enter: https://robotest.theedtech.dev/register Click the Add LTI Advantage button Verify you are prompted to upgrade the Robotest LTI 1.1 tool (version LTI-1p0) Choose Update The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up) Verify the trace has a section: contains a Previous Registration (green) That section must contain a messages property array with 1 object in it: "messages": [ {{ {}}{{ "type": "LtiDeepLinkingRequest"}} The trace must also contain a mention of Matching 1.1 signature (green) Click the close button - the test app UI should disappear and the list of tools refreshing Verify the Robotest LTI 11 tool has been renamed Robotest Click the gear icon to edit Robotest app and verify it's LTI 1.3 Change the services setting and set IMS Assignment and Grade Services to be: Do not use this service Save Dynamic registration update to 1.3 - upgrade 1.3 tool As site administrator, navigate to Site Admin > Plugins > Activity Modules > External Tool > Manage Tools In the box that says tool url enter: https://robotest.theedtech.dev/register Click the Add LTI Advantage button Verify you are prompted to upgrade the Robotest  (version 1.3) Choose Update The test tool should open with a trace of the communication with Moodle, all should be green (thumbs up) Click the close button - the test app UI should disappear and the list of tools refreshing Click the gear icon to edit Robotest app Verify the services settings for IMS Assignment and Grade Services is: Use this Service for Grade Sync and Column Management Verify dynamically installed tool is functional Enter a course as instructor Turn editing on and add activity>external tool In the drop box of tools, select Robotest Then verify Select Content is enabled, click on it Verify the tool UI opens. Select either a graded or not graded item. Verify you are returned to the external tool interface successfully Click Save and Display Verify the tool shows and no errors are reported.  
    • Affected Branches:
      MOODLE_311_STABLE, MOODLE_400_STABLE
    • Pull from Repository:
    • Pull 3.11 Branch:
      dynreg-upgrade-squash-311
    • Pull Master Branch:
      dynreg-upgrade-squash

      Description

      MDL-67301 introduced dynamic registration to easily deploy an LTI 1.3 Advantage tool at the site level as a new tool.

      This card builds on this feature to allow a tool to upgrade a previous LTI 1.1 or 2.0 external tool to LTI advantage using the same mechanics.

      The flow relies on domain matching between the registration URL and existing deployed tools. If one (or more) tools match the domain, the user is prompted to either install as new tool or update an existing tool instead.

      After update, the tool is configured for 1.3 but retains its id and all the links directly attached to it.

      To allow automated migration, the registration flow exposes the prior LTI key signed with the previous secret.

        Attachments

          Activity

            People

            Assignee:
            claudevervoort Claude Vervoort
            Reporter:
            claudevervoort Claude Vervoort
            Peer reviewer:
            Jake Dallimore
            Participants:
            Component watchers:
            Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Sujith Haridasan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:

                Time Tracking

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 2 hours, 10 minutes
                2h 10m