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

LTI Tools added to template sites don't work

    Details

    • 11 status:
      Merge
    • Test Plan:
      Hide

      As admin go to External Tools to install a new LTI 1.1 tool

      • Save the required fields.
      • Click Tool Links - Create Tool Link
      • Select the tool
      • Use site id !user
      • Add the link

      Now logoff and login as a user that hasn't logged in yet (like maybe student0009)

      The tool you added should appear on their My Workspace but be broken and cause a stacktrace. Ideally it should work.

      Show
      As admin go to External Tools to install a new LTI 1.1 tool Leave the site id blank so it's available to all You can use the config from http://ltiapps.net/test/tc.php Launch: http://ltiapps.net/test/tp.php Key: jisc.ac.uk Secret: secret Save the required fields. Click Tool Links - Create Tool Link Select the tool Use site id !user Add the link Now logoff and login as a user that hasn't logged in yet (like maybe student0009) The tool you added should appear on their My Workspace but be broken and cause a stacktrace. Ideally it should work.

      Description

      Creating an LTI Tool through the external tools admin (Install LTI Tool) then adding it to a template site (like !user) doesn't work. The tool works in the template site but then doesn't work in the users My Workspace. It says "Not yet configured".

      It seems like this process should work but I'm not sure what's missing. Adding a tool through the old method in the IMSBLTIPortlet did work correctly.

      When going to the tool this stack trace is generated
      which is on the line

      String source = placement.getPlacementConfig().getProperty(SOURCE);

      07-Jul-2017 11:58:02.912 INFO [http-apr-18888-exec-8] org.sakaiproject.profile2.logic.ProfilePreferencesLogicImpl.getPreferencesRecordForUser Created default preferences record for user: 57b8e829-42d0-4236-bc9a-859e1c18585b
      java.lang.NullPointerException
      	at org.sakaiproject.portlets.SakaiIFrame.doView(SakaiIFrame.java:195)
      	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:247)
      	at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
      	at org.apache.pluto.core.PortletServlet.dispatch(PortletServlet.java:208)
      	at org.apache.pluto.core.PortletServlet.doGet(PortletServlet.java:139)
      

      The tool is added with a new source property that matches the new site like

      source = /access/basiclti/site/~a40ab10f-c40b-4648-94c0-f51fb5222a4e/content:1

      But I don't know enough about how that works.
      See test plan for a quick test.

      I live streamed this fix https://www.youtube.com/watch?v=KFWEeLRyzD4&list=PLlRFEj9H3Oj4KuQxx0Utu3ob22NY12Wn4&index=22

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: