Feature Wiki

Information about planned and released features

Tabs

LTI Kiosk Mode

1 Initial Problem

LTI user must not be made aware of ILIAS. 

2 Conceptual Summary

When ILIAS is launched by LTI, the user interface should be reduced. This “LTI Kiosk Mode” should be activated in the user’s session for all subsequent requests:

  • The main header is replaced with a minimalistic one, similar to the ‘Member View’ for course administrators
  • The ILIAS Footer is hidden
  • The side bar is hidden on repository pages
    • ! Notice: We do not recommand to hide the tree icon, because if the tree is displayed b any other possible actions, the tree can not be hidden anymore by the user. So we decided to display the tree-icon and set the tree root and the locator root to the current container object.
  • The breadcrumb starts at the launched object
  • If the LTI parameter launch_presentation_css_url is provided, then ILIAS adds this css file on all pages (as the last css file in the sequence).

The reduced main header has a button to finish the LTI session and log out the user. The further action of this button is controlled by the LTI launch_presentation_return_url:

  • If a return URL is given, then ILIAS redirects to this URL
  • Otherwise ILIAS shows a ‘finished’ page with a button to restart the LTI session
    • ! Notice: A button for restarting the Session can only be provided by the consumer. The provider should only close the LTI Session and return a generic "LTI Session closed" Page. The consumer can provide a restart session page by setting launch_presentation_return_url

3 User Interface Modifications

3.1 List of Affected Views

  • Topbar (reduced)
  • Course » Content
  • Footer (hidden)

3.2 User Interface Details

The LTI Session provides a minimalistic Topbar with hidden Footer and starts within the given LTI Object:

Screen 1

We do not recommand to hide the tree icon, because if the tree is displayed b any other possible actions, the tree can not be hide anymore by the user. So we decided to display the tree-icon and set the tree root and the locator root to the current container object. Conceptual discussion may follow:

Screen 2

Due to the restriced navigation, the user may navigate to external objects from linked objects in the current lti context. To avoid any dead end navigation the Topbar may provide a LTI Magazin (the wording may be discussed, similar to the "ILIAS Magazin"), but with the fixed root of the initial LTI Object. The user may navigate on any time back to the initial LTI Context Object. And why not offer the same helpful last-visited list as in the normal ILIAS view. We should discuss this against the background of the concret Optes Learning Use-Case which offers a lot of linked courses within one LTI Session. The root of the locator and tree always changes to the current container object (sub container items of the initial LTI root context are also set as tree and locator root)  It is possible to restrict the behaviour to special container objects like crs, grp and any combinations as desired (defaults to all container objects hard coded):

Screen 3

Instead presenting a simple exit button which does not conform to any existing ILIAS concept we may offer a customized user-logged-in dropbar with the LTI User image, a username tooltip and an "Exit LTI Session" Action (if desired the user-logged-in menu can be replaced with a simple exit button):

Screen 4

After finishing the LTI Session the provider shows a generic "LTI Session is finished" Page. The page design and the content may be discussed, but as mentioned before a "Restart LTI Session" Button should not be offered and initiated by the provider:

Screen 5

3.3 New User Interface Concepts

  • To avoid dead-end navigation a "LTI Magazin" Droplist is introduced in the right topbar, which is comparable to the root "Magazin" navigation in the main menu entries but rooted to the initial LTI context object and also supports a list of last visited items (see Screen 3)
  • We have to discuss the suggested user dropbar menu for displaying any user specific data and to exit the lti session (usecase 1). Alternatively we simply could provide a button or Close Glyph to exit the lti session (usecase 2).
    • The lti consumer may send a user image and user name to the provider. If the consumer starts the the provider tool object in a new independant window the provider could display the user data from the consumer in the topbar (usecase 1).
    • We don't want any consumer data to be displayed in the provider tool (usecase 2)
    • This should be configurable and or dependant to the start mode (integrated vs. new window)

4 Technical Information

Based on the former discussion and rejection of a general kiosk viewservice that is not integrated in the new UI-Framework the lti kiosk mode is mostly integrated into the LTI Service and may be replaced later by a generic kiosk-mode (see also View Service):

  • New ilTemplate and ilMainMenuGUI classes are \LTI namespaced and integrated to the LTI Service
  • To avoid a complete copy of the original classes they extend the original classes and override only the customized functions.
  • Customized tpl.main.html and tpl.main_menu.html templates in Services/LTI/templates/default/
  • They are initialized in ilInitialisation on lti auth_mode
  • A hook to the ilCtrl flow exists by LTI Router class
  • All affected classes (changes are commented with "// LTI"):
    • Services/Init/classes/class.ilInitialisation.php (few)
    • Services/Locator/classes/class.ilLocatorGUI.php (minimal)
    • Services/Repository/classes/class.ilRepositoryExplorerGUI.php (minimal)
    • Services/Repository/classes/class.ilRepositoryExplorerGUI.php (maybe needed for tree root)
    • Modules/LearningModule/classes/class.ilLMPresentationGUI.php (few, to be discussed)
    • Modules/LearningModule/templates/default/tpl.page.html, ./tpl.page_fullscreen.html, ./tpl.page_new.html (to be discussed)

5 Contact

6 Funding

If you are interest in funding this feature, please add your name and institution to this list.

  • ...

7 Discussion

JourFixe, ILIAS [jourfixe], July 24, 2017: We highly appreciate this suggestion and schedule it for 5.3 (assumed ILIAS as LTI tool provider is accepted in general). We would like to have the following changes:

  • The user button should be substituted by the close button (needs modification in KS description to allow LTI).
  • The button 'LTI Magazin' should be substituted by 'Navigation'.
  • Last visited should be stored for next session if user can clearly be identfied.
  • Tree icon should be shown when available for called object, e.g. course and group.
  • Side Bar should be shown.
  • When ILIAS sessions has ended, in info message should be presented (in case no return link has been configured). No button to restart session should be presented (would be task of the consumer).

JourFixe, ILIAS [jourfixe], July 31, 2017: After acceptance of New Objects-Settings for LTI-Provider this feature request can be scheduled for 5.3.

8 Implementation

The implementation is described at 'User Interface Modifications’.

Test Cases

Test cases completed on 2017-08-26 by Tödt, Alexandra [atoedt]

  • 18754: Zielobjekt wird im LTI Kiosk-Modus angezeigt

Approval

Approved at August 28, 2017 by Kunkel, Matthias [mkunkel]

Last edited: 9. Apr 2018, 09:07, Kunkel, Matthias [mkunkel]