Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-44772

Add ability to "patch" LTI tool placements after a CC import with broken links

    XMLWordPrintable

    Details

    • 21 Status:
      Resolved
    • 20 status:
      Please Merge
    • Test Plan:
      Hide

      Take the common cartridge attached to this JIRA. 

      Make sure that there is no https://www.py4e.com/ tool installed locally in the site or globally across Sakai.  You can delete the tool if it was previously installed.

      Import the cartridge.

      Note the stub tools that get created in the site.

      Click on a link and see that you get the configuration screen - do not configure the tool.  Just cancel.

      Install https://www.py4e.com/tsugi/lti/store/ with a key of 12345 / secret

      Go into External tools (instructor or admin) - find the stub tool.  Note the number of uses (should be > 0) and use the new feature to redirect the stub tool to the recently installed global tool.  Note that the uses drop to zero after redirecting all the links. 

      Go back and launch one of the links - it should simple work at this point - there should be no extra configuration step.

      Go into External tools - and do this for any remaining stub tools.  As soon as you redirect, the uses should drop to zero.

      Then delete all the (no longer used) stub tools.

      Go back into the content and verify that all the LTI launches still work.

      Celebrate.

       

      Show
      Take the common cartridge attached to this JIRA.  Make sure that there is no https://www.py4e.com/ tool installed locally in the site or globally across Sakai.  You can delete the tool if it was previously installed. Import the cartridge. Note the stub tools that get created in the site. Click on a link and see that you get the configuration screen - do not configure the tool.  Just cancel. Install https://www.py4e.com/tsugi/lti/store/ with a key of 12345 / secret Go into External tools (instructor or admin) - find the stub tool.  Note the number of uses (should be > 0) and use the new feature to redirect the stub tool to the recently installed global tool.  Note that the uses drop to zero after redirecting all the links.  Go back and launch one of the links - it should simple work at this point - there should be no extra configuration step. Go into External tools - and do this for any remaining stub tools.  As soon as you redirect, the uses should drop to zero. Then delete all the (no longer used) stub tools. Go back into the content and verify that all the LTI launches still work. Celebrate.  

      Description

      When you import an IMS Common Cartridge into Lessons, it tries to "link up" the incoming links / placements / content items to the corresponding tool (i.e. with a key and secret) so the newly imported links can be launched.

      If this "link up" process cannot find a tool, it installs a tool in the site without a key and secret and links the incoming items to that tool.   Then after the import, a key and secret can be added to the tool and then all the content items become launchable.  Also Lessons has a feature where if you try to launch one of these not-fully-provisioned content items, it automatically sends the user to a config screen to enter the key and secret. (image attached)

      This works at a minimum.  But it suffers from two flaws.

      The first flaw is the fact that the "matching algorithm" is far too simple and does not "find" perfectly good tools that are provisioned but the URL for the tool is not an exact match for the link URL.  SAK-44763 greatly improves the search for matching tool process so if SAK-44763 is in place there will be fewer times where post import configuration is needed.

      But there is still a use case for the situation where even the improved lookup code cannot find a tool - probably because the import happened before the tool was installed.  In this case, Lessons makes the un-configured stub tools in the site (image attached).

      While you can patch those tools and get things working, we need the ability to install the global tool after the import and then "re-orient" the imported links to point to the newly installed tools.

      This feature will add a "redirect one tool to another tool" feature in External Tools.  The way this will work is like this:

      An instructor imports a cartridge with links that don't match

      The admin or instructor (if allowed) properly installs the tool in the site or globally

      Then for each of the "stub tools" the admin (or instructor if allowed) will redirect them to the real tool

      Then the stub tools will have no links that reference them and can be deleted by the admin or instructor (if allowed)

      This is a pretty simple feature in terms of implementation.

       

       

        Gliffy Diagrams

          Zeplin

            Attachments

              Activity

                People

                Assignee:
                csev Charles Severance
                Reporter:
                csev Charles Severance
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Git Integration