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 Site administration > Plugins >  Activity modules > External tool > Manage toolss > 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. Save changes

      Testing scenario A: 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. Check all are green (thumbs up).
      7. Click the close button. Check the test app UI disappears 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

      Testing scenario B: 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. Check all are green (thumbs up). Also, verify that
        1. The trace contains a "Previous Registration" section (green)
        2. Section contains a messages property array with 1 object in it:

          "messages": [
             {
              "type": "LtiDeeplinkingRequest",
               "target_link_uri": ""
            }
          ]
          

        3. The trace contains a mention of "Matching the 1.1 signature" (green)
      7. Click the close button. Check the test app UI disappears and the list of tools refreshing
      8. Verify the Robotest LTI 11 tool has been renamed Robotest
      9. Click the gear icon to edit Robotest app and verify it's LTI 1.3
      10. Change the services setting and set IMS Assignment and Grade Services to be: Do not use this service
      11. Save

      Testing scenario C: Dynamic registration update to 1.3 - upgrade 1.3 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  (version 1.3)
      5. Choose Update
      6. The test tool should open with a trace of the communication with Moodle. Verify all is green (thumbs up)
      7. Click the close button. Check the test app UI disappears and the list of tools refreshing
      8. Click the gear icon to edit Robotest app
      9. Verify the services settings for IMS Assignment and Grade Services is: Use this Service for Grade Sync and Column Management

      Testing scenario D: 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 Site administration > Plugins >  Activity modules > External tool > Manage toolss > 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 Save changes Testing scenario A: 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. Check all are green (thumbs up). Click the close button. Check the test app UI disappears 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 Testing scenario B: 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. Check all are green (thumbs up). Also,  verify  that The trace contains a "Previous Registration" section (green) Section contains a messages property array with 1 object in it: "messages": [ { "type": "LtiDeeplinkingRequest", "target_link_uri": "" } ] The trace contains a mention of "Matching the 1.1 signature" (green) Click the close button. Check the test app UI disappears 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 Testing scenario C: 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. Verify all is green (thumbs up) Click the close button. Check the test app UI disappears 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 Testing scenario D: 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
    • Fixed Branches:
      MOODLE_311_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 Jake Dallimore
            Integrator:
            Sara Arjona (@sarjona) Sara Arjona (@sarjona)
            Tester:
            Gladys Basiana Gladys Basiana
            Participants:
            Component watchers:
            Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Peter Dias, Sujith Haridasan
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Fix Release Date:
              17/May/21

                Time Tracking

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