Feature Wiki

Information about planned and released features

Tabs

Integrate On-Screen Notifications into Notification Center

As decided by the Jour Fixe on 06 JUL 2020, the Feature Wiki article "Improvement of Notification Center" is divided into the following requests:

1 Initial Problem

Notification Center

On-Screen Notifications (Toasts) are not integrated into the Notification Center. There are currently two parallel notification concepts. This is to be unified. Only the NC is to be the central contact point for notifications.

The following bug also describes conceptual problems of On-Screen Notifications in combination with the Notification Center:

  • 0027912: Failed test: Kontaktanfrage über Notification Centern einsehen

Administration

The refresh interval for On-Screen Notifications can be configured under Administration > Chat > General Chat Settings.

However, this setting affects all on-screen notifications and not only those of the chat.

Component: Modules/Chatroom (Magazin-Chat)
Typ: chat_invitation

  • Already uses its own notification system type 'chat_invitation', as provided by the 'NotificationSystem' (see https://docu.ilias.de/goto_docu_pg_57146_42.html).
  • Attributes:
    • Title
    • Content
    • Icon
    • Link (Click on the title to open the chat room.)
    • Visible for 5 seconds
    • Valide for (e.g. if you have not logged in for a long time, a toast will not be displayed) 30 minutes

Component: Services/Awareness
Typ: osd_main

  • Misuses the type 'osd_main', which is actually not intended for this purpose. This is actually not correct, especially since there is no type 'osd_main', only 'osd_maint' (for maintenance).
  • Attributes:
    • Title
    • Content
    • Icon
    • Visible for 5 seconds
    • Valide for (e.g. if you have not logged in for a long time, a toast will not be displayed) 2 minutes

Component: Services/Badges
Typ: osd_main

  • Misuses the type 'osd_main', which is actually not intended for this purpose. This is actually not correct, especially since there is no type 'osd_main', only 'osd_maint' (for maintenance).
  • Attributes:
    • Title
    • Content
    • Icon (Apparently an extra SVG with a large default size)
    • Link (Click on the title to open the chat room.)
    • Visible for 5 seconds
    • Valide for (e.g. if you have not logged in for a long time, a toast will not be displayed) 2 minutes

Component: Services/Contact
Typ: buddysystem_request

  • Already uses an own notification system type 'buddysystem_request'.
  • Attributes:
    • Title
    • Content (with Inline-Links)
    • Icon
    • Visible for 5 secondy
    • Valide for (e.g. if you have not logged in for a long time, a toast will not be displayed) 30 minutes

2 Conceptual Summary

Notification Center Integration

On-Screen Notifications should appear in the upper right corner of the screen and disappear after a specified time.

  1. Users respond to On-Screen Notifications, i.e. they click on a link in an On-Screen Notification or close an On-Screen Notification via the X-Glyph. The On-Screen Notification is no longer displayed and does not move to the Notification Center.
  2. Users do not respond to On-Screen Notifications.
    • On-Screen Notifications are faded out and move to the Notification Center, the NC-Novelty Counter increases by the corresponding value.
    • Each On-Screen Notification type is displayed in a separate area of the Notification Center. Accordingly, the new NC areas Contact, Badges and Chat Invitation will be introduced.
    • If users click on a link in the notification or close it via the X-Glyph, the notification is no longer displayed and the Novelty Counter decreases by the value 1.

Administration

A new administration entry Notification" is introduced. The new entry is displayed below the Communication entry. The refresh interval for all On-Screen Notifications can be configured via Administration > Notifications.

KS Component "On-Screen Notification"

As the On-Screen Notification shall be unified, a KS component is designed for On-Screen Notifications. If users do not respond to an on-screen notification, the notification is moved to the notification center. In order to make the coherence clear, the representation of the KS component should be based on the Notification Items in the Notification Center. The KS component should contain the following elements:

  • Icon
  • Title: The title can refer to a screen where the reason for the notification can be viewed. When users access this screen, On-Screen Notifications disappear.
  • Description: Describes the type of notification and provides additional information, e.g. name of the badge, user name for contact requests.
  • Close Glyph: Users can close the on-screen notification directly via the close glyph.On-Screen Notifications disappear.
  • Actions: Some notifications, such as contact requests or chat invitations, require action by users. These actions should not be performed by clicking on the title (i.e. implicitly), but by users consciously.

Next Steps

  • UI Element for On-Screen Notifications
  • Migration of On-Screen Notifications (Badges und Awareness)
  • Notification Center-Integration of On-Screen Notifications according to the feature request
  • Administration entry for notifications

3 User Interface Modifications

3.1 List of Affected Views

  • Notification Center
  • On-Screen Notifications
  • Administration > Notifications

3.2 User Interface Details

Notification Center Integration

Administration >> Notifications

3.3 New User Interface Concepts

  • In a next step, a `UI Component` for Toasts has to be proposed.

4 Technical Information

None

5 Privacy Information

None

6 Security Implications

None

7 Contact

8 Funding

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

9 Discussion

JourFixe, ILIAS [jourfixe], 14 SEP 2020: We highly appreciate this suggestion and schedule it for ILIAS 7. For the position of the new administration node "Notifications" we suggest to make it a sub-entry of the node "Communication". New KS element for Notification Center will be discussed separately when the PR is available.

JourFixe, ILIAS [jourfixe], 08 FEB 2021: We highly appreciate this suggestion and re-schedule the feature for ILIAS 8 - in the form decided last year.

10 Implementation

As seeable below, the feature was implemented as requested.

The Implementation converts all presented Toast into the newly implemented Toast Compontent and presents them inside a Toast Container which was added to a new Overlay Section inside the standard page.
Therefore the old, heavely javascript sided, implementation was removed.

All OSD notifications are now displayed in a similar style as Toast and rendered server side. The visibility and delay of these can be configrued inside the configuration (see below).

On each interaction (or vanish) of the OSD Notification the Notification Center will be rerendered to display the up to date state after these interaction.
Two minor changes from the concept where added here:

  • The "Who is online" Notifcations will not be shown inside the notifcation center since they are to volatile and already have a own section inside the metabar.
  • The NC will always be fully refreshed to display its current state independly and not connect to a previous state

The sentence of the conceptional summary "If users click on a link in the notification or close it via the X-Glyph, the notification is no longer displayed and the Novelty Counter decreases by the value 1." is wrong an not compatible with the previous requirements and will therefore be ignored.

The central configuration of Toast was moved from the chatroom setting to an independend Section inside the administration.

Test Cases

In the course of this feature the section Notifcation Center was filled with own tests.

Test cases completed at 22 March 2022 by Szmais, Ingmar [iszmais]

  • Following tests where added new:
  • C49803: Kein Notification Center anzeigen
  • C49804: Notification Center anzeigen
  • C49805: Notification Center asyncron aktualisieren
  • C49806: NotificationPopup erhalten
  • C49807: NotificationPopup ignorieren
  • C49808: Mit dem Notification Popup interagieren
  • C49800: Chateinladung annehmen
  • C49801: Chateinladung ignorieren
  • Following tests where changes to match the changes:
  • C32112: Kontaktanfrage über Notification Center einsehen
  • C32118: Kontaktanfrage Anzeige im Notification Center entfernen
  • C12705: Verdienst-Badge über Unterreiter 'Badges' verleihen
  • C12829: User in Séparée einladen
  • Following test were not changed, but are affected by the changes
  • C5555: Benachrichtigung über Kontakte die gerade Online gegangen sind
  • C13137: Pop-Up deaktivieren
  • C6403: Teil 1: Kontaktanfrage an Benutzer senden (über Benutzerprofil → Notification Center)
  • C6409: Teil 2: Kontaktanfrage zurückziehen (Auswirkungen im Notification Center)
  • C6448: Aktuelle Kontaktanfrage bestätigen (via Pop-up)
  • C6450: Aktuelle Kontaktanfrage ignorieren (via Pop-up)
  • C6454: Aktuelle Kontaktanfrage von Benutzer mit deaktiviertem Profil ignorieren (via Pop-up)

Approval

Approved at 22. March 2022 by Amstutz, Timon [amstutz].

  • The related issues will be reported in mantis if still remaining when beta started and tagged with "NotificationSystemListe".
  • Test Cases and Implementation Details will be provided by the Maintainer.

Last edited: 23. Mar 2022, 11:20, Szmais, Ingmar [iszmais]