Feature Wiki
Tabs
Support for Deep Linking as Provider/Tool
Page Overview
[Hide]- 1 Initial Problem
- 2 Conceptual Summary
- 3 User Interface Modifications
- 4 Technical Information
- 5 Privacy
- 6 Security
- 7 Contact
- 8 Funding
- 9 Discussion
- 10 Implementation
- 10.1 Description and Screenshots
- 10.2 Test Cases
- 10.3 Privacy
- 10.4 Approval
Notice: This feature is required to apply for the 1EdTech LTI Advantage certification of ILIAS as LTI Tool. "LTI Advantage Complete" requires LTI 1.3 Core and all three LTI Advantage services: Deep Linking, Assignment and Grade Services, and Names and Role Provisioning Services.
1 Initial Problem
A platform such as Moodle can launch ILIAS objects through LTI Advantage, but an instructor there cannot pick them. The administrator has to copy the launch URL of each object into the platform by hand, one by one.
2 Conceptual Summary
ILIAS as LTI Tool supports Deep Linking. When an instructor adds an external tool in the platform and chooses ILIAS, the platform opens a selection page of ILIAS. It lists the ILIAS objects released to that platform. The instructor picks one or several of them, and each one is added to the course of the platform as a link that launches that object.
Which objects can be picked is decided in ILIAS, as it is today for launches: an object is offered only if it has been released to the platform. Only instructors and administrators of the platform can pick content. No account is needed in ILIAS for it.
3 User Interface Modifications
3.1 List of Affected Views
- Selection page shown inside the platform when an instructor adds ILIAS content (new).
- No change in Administration > LTI or in the "LTI Platforms" tab of an object, where objects are released to a platform.
3.2 User Interface Details
The selection page shows the title "Select Content", a short explanation and a form with the released objects, by title. If the platform accepts several items, the objects are checkboxes; otherwise they are radio buttons. The "Add" button sends the selection back to the platform, which creates the links and closes the page.
If ILIAS cannot offer anything (no object is released to the platform, the user is not an instructor, or the platform does not accept links), no page is shown and the platform is told why.
3.3 New User Interface Concepts
None. The page is built with KS elements only (message box and standard form).
3.4 Accessibility Implications
None. The page uses KS elements only. The surrounding dialog belongs to the platform.
4 Technical Information
- Part of the LTI rework for ILIAS 12; it uses the LTI Advantage handling of the LTI component (celtic/lti) and its key pair.
- The selection request arrives at the same entry point as a launch. ILIAS checks it as a launch and answers with a signed message to the URL given in the request.
- Each picked object is returned as an LTI resource link with its title, description and launch URL. Other content types are not offered.
- No database change.
5 Privacy
ILIAS uses the user data of the request only to check that the user is an instructor or administrator of the platform. Nobody is logged in to ILIAS, no account is created and nothing about the user is stored. The title, description and launch URL of the picked objects go back to the platform; they hold no personal data.
The data is described in the PRIVACY.md of the LTI component. Until the LTI rework is merged into the ILIAS repository, this link points to the branch trunk_LTI_rework of the SURLABS fork.
6 Security
The request is checked like an LTI Advantage launch (signature, issuer, client id, deployment id, expiry and nonce). The selection page carries a token signed by ILIAS that is valid for one hour and names the platform and the return URL; the response is sent only to that URL. Only objects released to the platform can be returned, whatever the form sends. The later launch of a link is an ordinary launch with the roles of the release.
No new endpoint is added.
7 Contact
Author of the Request: Díaz, Saúl [sdiaz]
Maintainer: Díaz, Saúl [sdiaz]
Implementation of the feature is done by: Díaz, Saúl [sdiaz]
8 Funding
Funding status and funding parties are listed in the block 'Status of Feature' in the right column of this page.
SURLABS funds this development in advance because it is needed for the maintenance and security of the LTI component and for the LTI Advantage certification. We expect to get funding from the community during and after the integration.
If you are interested to give funding for this feature, please get into contact with the person mentioned above as 'Contact'.
9 Discussion
JourFixe, ILIAS [jourfixe], 19 OCT 2026: We highly appreciate this suggestion and accept it for trunk.
Díaz, Saúl [sdiaz], 20 OCT 2026: The implementation is included in the LTI rework for ILIAS 12: https://github.com/ILIAS-eLearning/ILIAS/pull/12232. The pull request is open for review.
10 Implementation
Implemented by Saúl Díaz (SURLABS) as part of the LTI rework for ILIAS 12.
10.1 Description and Screenshots
The implementation is available in pull request #12232: https://github.com/ILIAS-eLearning/ILIAS/pull/12232. The pull request is open for review and has not yet been merged into trunk.
Implemented as described in the Conceptual Summary. ILIAS displays a Select Content form containing only the objects released to the requesting platform. Instructors and administrators can select one object or multiple objects, according to what the platform accepts. No ILIAS account is required for this selection.
ILIAS returns the selected objects as signed LTI resource links with their titles, descriptions and launch URLs. If no content can be offered, the platform receives an explanation. The existing release settings determine which objects are offered; no additional administration setting or manual migration is required.
10.2 Test Cases
Test cases completed at {date} by {user}
- {Test case number linked to Testrail} : {test case title}
10.3 Privacy
The PRIVACY.md of the LTI component was updated on 20 OCT 2026 by Saúl Díaz. It documents the data used to authorise content selection and the object information returned to the platform. The update is included in pull request #12232: https://github.com/surlabs/ILIAS/blob/trunk_LTI_rework/components/ILIAS/LTI/PRIVACY.md. This link will point to the official ILIAS repository after the rework is merged.
10.4 Approval
The feature was accepted for trunk by the Jour Fixe on 19 OCT 2026 (see Discussion). Approval of the delivered implementation has not yet been recorded.
Last edited: Yesterday, 17:17, Kunkel, Matthias [mkunkel]