LTI: Ability to assign more than one site ID to a single LTI instance

Description

We have several LTI tools that a specific department funds, with a limited number of licenses.

None of the tools can be added to the system as a single instance in a stealthed state because Lessons does not recognize stealthed tools to link instances of them to pages/subpages.

Consequently, Sakai admins have to add the tool manually to every site where it needs to appear. This may be 15-20 sites per semester. Because you can't duplicate/copy an instance of an LTI, and you can't open multiple tabs to copy/paste settings into the various instances simultaneously, all the information needs to be entered in the fields one-by-one in each instance. This takes time and can result in accuracy errors.

It would alleviate a lot of overhead and work on admins' part if you could attach multiple site IDs to the same LTI instance via the External Tools in Administration Workspace.

Note: The original text of the Jira had a proposed solution / UI ideas. The original Jira text is an attachment. The text below describes how this was actually implemented to help in understanding the new feature and testing.

The solution is to improve how “Stealthed” (aka isVisible) feature. When a tool has a blank Site_ID it is visible to all sites. When “stealthed is checked”, it remains usable in all sites but it hidden in any UI bits that the instructor can access. So the workaround is for an admin to visit the site and add the tool. The tool can be used and launched but the instructor cannot add additional placements. Further, even the admin has limitations in using stealth tools in some UI areas (see linked JIRAs).

This Jira introduces the concept of “deploy a stealthed tool to a particular site”. Once deployed, the instructor sees the tool in all placements (lessons, assignments, rich text editor, site manage) and can place the tool themselves with no need for admin assistance.

In the Admin External Tools too list, if an LTI tool is global and stealthed, there is a new “Deploy” option for the tool. Within the Deploy screen the admin can add as many site ids as the like (similar to the original JIRA approach except that the list of extra sites is on its own screen).

The deployment can be added or removed. Removing the deployment for a site does not break any already placed tools, it simply makes it so the instructor cannot install more placements for the tool.

Hopefully this will greatly reduce the workload of admins to manage LTI tools that are only available to a subset of the sites as described above. It also increases the ways instructors can use these tools in these sites (again, see the linked JIRAs that we think are fixed by this JIRA.)

Attachments

14

Activity

Show:

Charles R Severance January 19, 2025 at 4:53 AM

I have made a flat file SAK-44945_SQL.txt with both the Oracle and the MySQL SQL to create the lti_tool_site table. I updated both of the Sakai 25 conversion scripts as well. I tested the MySQL script - could you please let me know if the Oracle versions work or need adjustment. Sorry for missing this and thanks for the note.

Jesus Maria Mendez Perez January 13, 2025 at 10:12 AM

Scripts should be added to the correspont conversion files scripts

Andrea Schmidt November 17, 2024 at 4:19 PM

I’m going to set this Jira to verified. The new method of adding stealthed tools and the ability to add multiple sites at once, is working very well. There is a question of the expected behavior once an instructor has added to tool their site, and then the admin removes it from the site. The behavior has changed, first the tool would no longer work but had a message that the tool was deleted or not found, now the stealthed tool continues to work, but the instructor can no longer add anymore. This is covered in and waiting on an answer for the preferred/expected behavior.

Andrea Schmidt August 21, 2024 at 12:22 AM

Testing done so far on 25x: https://trunk-maria.nightly.sakaiproject.org/, build: c4c788a6

Deploy accepts multiple site IDs: checked to make sure the tools were not available in the sites not used for deployment

For this round, I allowed placements on navigation, Lessons, CKEditor, and Assignments. Tools were available in all places - tested both 1.1 and 1.3

Counts are correct when clicking on the # and the Tool Links tab opens. (I think the “Create Tool Link” is now obsolete - the deploy tool works so much better.)

When deploying, the Success message is correct. Testing an invalid site ID also displays a message: Alert: Site ID not found. Invalid Site Ids=[abcdefg]. Cancel takes the user back to the Deploy Tool to Sites page.

So far I haven’t seen any console or server errors.

Automation for Jira August 14, 2024 at 3:03 PM

A pull request has been created, "SAK-44945 BasicLTI Add the ability to assign more than one site ID to a single LTI tool – Feature Improvement", you can see it at https://github.com/sakaiproject/sakai/pull/12790

Fixed

Details

Priority

Fix versions

23 Status

Can't Merge

Components

Assignee

Reporter

Labels

Conversion Script Required

Yes

Environment

https://experimental.nightly.sakaiproject.org/portal/
Created January 27, 2021 at 9:58 AM
Updated January 19, 2025 at 4:53 AM
Resolved August 11, 2024 at 1:33 AM