LTI Tools added to template sites don't 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);

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

Activity

Sam Ottenhoff August 21, 2018 at 5:27 PM

I just filed SAK-40487. On 11.x create a course site, select an External Tool, and NPE I assume because site.getId() is null on new site creation?

Matthew Buckett August 21, 2018 at 4:45 AM

This fails to work when the person accessing the tool doesn't have the "site.upd" permission on the site containing the tool. We hit this problem locally because our users don't have "site.upd" on their My Workspaces. But I think this will also happen if the first person accessing a tool copied from a template isn't a maintainer on the site.

Fixed

Details

Priority

Affects versions

Components

Assignee

Reporter

Created July 7, 2017 at 11:05 AM
Updated April 24, 2019 at 9:10 AM
Resolved July 27, 2017 at 8:29 AM