Icon Wiki

Feature Wiki

Information about planned and released features


Introduction of Administrative Notifications

1 Initial Problem

In ILIAS it is not yet possible to send system-wide notifications to users. But often there is important information that needs to be distributed to the users by ILIAS administrators (e.g. regarding maintenance work) or by the components themselves (e.g. with regard to features that are no longer supported or ather thing which needs attention of a group of users).

2 Conceptual Summary

2.1 System Notifications via Administration

There shall be the possibility to show three different types of notifications:
  • Information (blue),
  • warning (orange) and
  • fatal (red).
The notifications get a title and a description. It has to be decided if the notification should be displayed permanently or only for a time period. There is an option to choose whether users should be able to dismiss the notification or whether it should be displayed permanently. It will be possible to limit the notifications to global ILIAS roles, othterwise the notification is displayed to every user. There will be the possibility to modify any type of notification using custom CSS classes (if needed; e.g. w Happy-New-Year Message ;-) ). 

2.2 System Notifications via components

As with the MainMenu administration in ILIAS 5.4 in combination with the GlobalScreen service it is possible to offer the same system for system notifications. This means that components themselves can provide SystemNotifications to the GlobalScreen-Service if required. For example the chat service can inform the user that the chat server is currently not available. Or the administration can tell the administrator role that the installation needs to be updated (see message in the current administration).

This extension is optional and can be extended in a further step.

The principle is the same as with the MainMenu or the notification center (ILIAS 6) the collector/provider pattern.

3 User Interface Modifications

3.1 List of Affected Views

  • Administration >> Communication: New Menu Item "System Notifications"

3.2 User Interface Details

3.3 New User Interface Concepts

A new UI component "Head Info" needs to be used (see screenshots below). There was a pull request for this issue. Please check: https://github.com/ILIAS-eLearning/ILIAS/pull/2251

The following screenshots are from the discussion during the development of the UI component "ModeInfo", which is used e.g. for the preview as a member of the course. Therefore the texts in the MessageBoxes do not match the use-case described here.

The HeadInfo becomes a new UI component and differentiates itself from:
  • ModeInfo (used to show thing like "MemberView in Course"
  • Message Box (used to display all kind of messages)
The pull request from that time is reopened and adapted to the new purpose.

The discussion around the UI component takes place as usual in PR. There is still to be defined the behaviour if several notifications appear at once.

If the UI component is not ready in time, the MessageBox can be used alternatively.
The content of the shown HeadInfo message is not correct, it would contain something like "On Friday, 2.10.2020 maintenance work will be done, therefore interruptions may occur". But the message would be displayed like this.
The content of the HeadInfo message shown is not correct, it would contain something like "The new course announcements are available, you can register now." But the message would be displayed like this.

4 Technical Information

To display system messages in ILIAS the administration interface is implemented as described above. However, this should not be the only way to display system messages. The same principle is used that is currently implemented in the main bar. Arbitrary components and also plugins can deliver 'items' via the GlobalScreen service, which are collected and displayed in an ordered manner. Also the new administration point of the System-Notifications uses internally the same way. Thus, for example, a component can deliver a system notification itself, such as currently the note that a certain browser is no longer supported (screenshot shows the current implementation without the UI component).
A use case for such a system notification is the information that Internet Explorer is no longer supported.
The backend is implemented using ActiveRecord. A large number of already developed code lines can be taken over from the plugin "SystemNotifications" which has been used and tested for years: https://github.com/studer-raimann/SystemNotifications

5 Privacy Information

No explicit user data is stored. In case of dismissed messages only the user-id of a user is stored.

6 Security Implications

All data entered in the administration must be checked and cleaned for possible malicious code (especially JS and SQLInjection).

7 Contact

8 Funding

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

9 Discussion

Schmid, Fabian [fschmid] 2020-09-30: As the possible maitainer of the new service I fully support the FR. Due to my wedding (yay!) I can't participate myself, so I would welcome a general decision despite possible technical questions. I would answer these questions at the next JF and here in the Wiki.
Kunkel, Matthias [mkunkel], 02 OCT 2020 : Some requests always return, see System Notifications from 2009. Shows that something really is missing ;-).
Just a question to understand the request correctly: these notifications do only appear on the screen, right? They are not provided by mail or elsewhere, or are they? In this case a label like "On Screen Notification" would fit much better. But unfortunately we use this label for the uppopping notices from the Contacts tool and others. Maybe we find a good compromise here."On Screen Alerts" is maybe to dramatic...
And have you thought about an optional "Got it!" action for users? If you use a tool very often you get quickly annoyed by such messages – and their "alert character" gets lost. Having the chance to close them and don't get notified again would be nice. Could be an option of each notification. In some scenarios you want to have it sticky, in others not.
Lorenz, Katharina [klorenz] ,12 OCT 2020 : Hello Matthias, yes these notifications only appear on the screen (no email or anything else). The "Got it" function is included (see 3.2 User Interface Details Mockup 2 , Checkbox "Dismissable"). The thing with the name is a good hint, i am sure we will find a good solution!
Kergomard, Stephan [skergomard], 12 OCT 2020: Am I getting it right that the title would be shown in bold on the left and the body on the right of it? How would the "Dismis" trigger be shown? What happens if the body is too long? What happens on mobile screens?
JourFixe, ILIAS [jourfixe], 12 OCT 2020 : We highly appreciate this suggestion and schedule the feature for ILIAS 7. We prefer to call the feature: "Administrative Notification" (because only admins can add such notices). We discuss the content and look of the new KS element HeadInfo in the related PR https://github.com/ILIAS-eLearning/ILIAS/pull/2251 (when re-opened). For this PR we need to clarify:
  • Do we use the Close glyph for closing the Headinfo? Or do we use a textual representation?
  • Will the HeadInfo display more than one text line? Or does it only shows the title and the body is presented in a modal (where enough place would be available to add also a button "Got it!" (or something similar).
  • What happens if more than one notification is presented?
Kunkel, Matthias [mkunkel], 13 OCT 2020: The description above is mentioning CSS to design the different types of notifications. I recommend to introduce disting LESS variables for the different types of notifications and to re-use the values defined for the different kind of warnings. But at least allow administrators to design the notifications according to their CI by just changing the values of the related LESS variables in the Layout administration.
JourFixe, ILIAS [jourfixe], 26 OCT 2020 : PR2954 UI Head Info : We highly appreciate this suggestion and accept the PR for ILIAS 7. Please modify the current position of the System Info and place it above the breadcrumb to keep breadcrumb and content together. In addition, it would be great if the shortened text is not only represented by the 'show more' glyph … but would consists at least of some characters plus … to clarify that there is more to read here. Fabian is looking for a possible solution.
Concerning accessibility, please make sure that tabbing to show more and cancel is supported properly. And please use the suggestion role 'alert' only for breaking notifications (as it always catches the focus after page load) and probably use role 'polite' for the other two types of notifications. And please add this information to the accessibility rules, too.
Kergomard, Stephan [skergomard], 26 OCT 2020: Just on a side note, as I stumbled upon this, when I checked out the link to your system (thanks a lot for this):
As far as I can see, in Administration it should say "Enable temporarily" and "Enable permanently" (not "Enable temporary" and "Enable permanent") as it is an adverb and not an adjective.
Kunkel, Matthias [mkunkel], 25 NOV 2020 : I am not sure if "Administrative Notification" is really a good label for this new feature. At least in German it sounds a bit odd if you translate it 1:1: "Administrative Benachrichtung" . For the German translation I will use the term "Ankündigung" (announcement). Maybe we should switch to "Announcement", too.

10 Implementation

The feature has been implemented as described above:
Additionally, NotificationProviders (GlobalScreen) can return AdministrativeNotifications as well:
Test Cases
Test cases completed at {date} by {user}
  • C42439 Administrative Notifications öffnen
  • C42429 Administrative Notification erstellen
  • C42430 Administrative Notification bearbeiten 
  • C42431 Administrative Notification löschen
  • C42432 Administrative Notification ausblenden
  • C42433 Administrative Notification mit Rollenbeschränkung 
  • C42434 Administrative Notification mit beschränkter Anzeigedauer
  • C42435 Administrative Notification mit Bedeutungsänderung
Approved at 12 NOV 2020 by Kunkel, Matthias [mkunkel]

Last edited: 28. Jan 2022, 16:39, Kunkel, Matthias [mkunkel]