Skip to content

Rating box + UI/UX improvements in the LearningSequence (LSO) kiosk player#11787

Open
kevenClausenKPG wants to merge 6 commits into
ILIAS-eLearning:trunkfrom
kroepelin-projekte:trunk_lso_improvment_kiosk_mode
Open

Rating box + UI/UX improvements in the LearningSequence (LSO) kiosk player#11787
kevenClausenKPG wants to merge 6 commits into
ILIAS-eLearning:trunkfrom
kroepelin-projekte:trunk_lso_improvment_kiosk_mode

Conversation

@kevenClausenKPG

Copy link
Copy Markdown
Contributor

Rating box + UI/UX improvements in the LearningSequence (LSO) kiosk player

This PR improves the LearningSequence player in kiosk layout in several places. The main focus is a core-aligned integration of the rating feature directly on the currently opened object. In addition, navigation/orientation at the end of the sequence as well as the visibility of sequence and object information are improved.

1) Rating box in the LSO player

Context

The LearningSequence player previously lacked the ability to rate the currently opened object directly, even though ILIAS provides a core rating feature for many object types. The goal is to provide a core-conform rating box in the player header.

Implementation

  • A rating widget is shown in the player header for the current object.
  • The widget is displayed only if rating is available in core for the respective object type and is enabled for the object.
  • The existing ILIAS component ilRatingGUI is used (popover “Your Rating”, stars, “Remove Rating”).

Technical notes

  • The rating HTML is rendered as a ListGUI property and encapsulated in a dedicated template container snippet to avoid manual HTML concatenation in PHP.
  • For the kiosk layout, the popover/overlay interaction is wired via delegated event handlers, because the rating snippets are replaced after an AJAX redraw.
  • After saving a rating, the affected ListGUI snippets are redrawn via AJAX.

2) UI placement

Implementation

  • The rating box was moved into the actions area in the player header (matching the usual core header pattern).
  • This keeps the integration consistent with other object headers in core (view modes/actions grouped in the header).
01 02

3) Further improvements in the kiosk player

3.1 Finish the sequence (Finish instead of a disabled Next)

Context

On the last page (last object), it is not clear that the sequence ends here: the Next button is simply disabled.

Implementation

  • On the last step, an explicit “Finish” button is shown instead of “Next”. This ends the sequence.
03

3.2 Show the learning sequence title

Context

The title of the Learning Sequence is not visible in the kiosk player, although it is important for orientation.

Implementation

  • The title of the Learning Sequence is shown at the relevant places in the player (e.g. in the slate title and in the header area).
04

3.3 Show the object description directly in the header

Context

To see an object’s description, users previously always had to switch to the slate. This is unnecessarily cumbersome in the kiosk flow.

Implementation

  • The description of the current object is displayed directly below the title in the header (if available).
05

References / tickets

Summary

Overall, these changes make the kiosk player easier to understand and handle for learners.

@kevenClausenKPG kevenClausenKPG self-assigned this Jul 21, 2026
@kevenClausenKPG kevenClausenKPG added bugfix php Pull requests that update Php code labels Jul 21, 2026
@oliversamoila

Copy link
Copy Markdown
Contributor

Hello @kevenClausenKPG.

Perhaps you and @fhelfer could have a discussion about the comprehensive JavaScript in components/ILIAS/LearningSequence/resources/js/lso_kiosk_rating.js and whether there are any lighter-weight solutions for the use of ilRatingGUI.
Fabian is away for just a few more days, but it might be worth discussing this before the integration.

Best regards,
@oliversamoila (as Concept Authority of Rating Component)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix php Pull requests that update Php code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants