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

Improve behavior with LTI Content items when the corresponding tool is deleted

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 19.3, 20.0 [Tentative]
    • Component/s: BasicLTI
    • Labels:
      None
    • 19 status:
      Resolved
    • Test Plan:
      Hide

      Please add a Test Plan here.  Install an LTI tool, add a link to it in Lessons, then delete the tool.   Try to launch it various ways and make sure that the error message is reasonable.  Play with the Tool Link under Admin Workspace -> External tools and make sure all that happens is reasonable.

      Test 1:  Go into Admin Workspace -> External tools -> Took Links and click on the tool name (this does a test launch in a new window) - Without this change you get a trace back - with this change it says "External tool item is missing or improperly configured." - without this change it has a lovely trace back.

      Test 2: Go into Admin Workspace -> External tools -> Tool Links - Click on Edit.  Without this change you will see a message "Alert: Tool not found".  With this change you will get a screen that says "This Tool Link is no longer is connected to an active tool. Please delete this tool link or re-connect it to an available tool." and have a drop down to re-connect the tool link to a tool.

       

      Show
      Please add a Test Plan here.  Install an LTI tool, add a link to it in Lessons, then delete the tool.   Try to launch it various ways and make sure that the error message is reasonable.  Play with the Tool Link under Admin Workspace -> External tools and make sure all that happens is reasonable. Test 1:  Go into Admin Workspace -> External tools -> Took Links and click on the tool name (this does a test launch in a new window) - Without this change you get a trace back - with this change it says "External tool item is missing or improperly configured." - without this change it has a lovely trace back. Test 2: Go into Admin Workspace -> External tools -> Tool Links - Click on Edit.  Without this change you will see a message "Alert: Tool not found".  With this change you will get a screen that says "This Tool Link is no longer is connected to an active tool. Please delete this tool link or re-connect it to an available tool." and have a drop down to re-connect the tool link to a tool.  

      Description

      In general in Sakai External tools, there is a tool entry in the lti_tools table which has the key, secret, and URL and then a content entry in the lti_content table that corresponds to the actual launch able tool.   In places like Lessons and the rich text editor the LTI links launch the "content entry".   Content entries point to tool entries and it is possible to build a tool, create a content entry linked to the tool and then delete a tool, leaving the content entry stranded.   This is not good - but there are reasons to allow this.   Using the External tools UI you can delete a tool, install a new tool and then re-link the content entrie(s) to a new tool.

      This JIRA deals with the situation where the content item points to a tool that is gone.  There is a screen shot of what happens when you try to edit a content item that has not tool in the admin UI.

      If you launch such a tool, of course it wont work, but there needs to be a reasonable message - currently you get a trace back.

      16-Aug-2019 07:59:19.611 WARN [http-nio-8080-exec-5] org.sakaiproject.access.tool.AccessServlet.dispatch dispatch(): exception:
      java.lang.NullPointerException
      at org.sakaiproject.basiclti.impl.BasicLTISecurityServiceImpl.handleLTI112(BasicLTISecurityServiceImpl.java:305)
      at org.sakaiproject.basiclti.impl.BasicLTISecurityServiceImpl.access$400(BasicLTISecurityServiceImpl.java:81)
      at org.sakaiproject.basiclti.impl.BasicLTISecurityServiceImpl$1.handleAccess(BasicLTISecurityServiceImpl.java:488)
      at org.sakaiproject.access.tool.AccessServlet.dispatch(AccessServlet.java:346)

      Not the best UX.

       

       

        Gliffy Diagrams

          Attachments

            Issue Links

              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 Source Code