Seitenhistorie
Inhalt | ||
---|---|---|
|
Ein geplantes neues Feature für Nuclos ist die Mitteilungszentrale. Über diese sollen zukünftig Nachrichten vom System an bestimmte Benutzer und Benutzergruppen gesendet werden können. Nachrichten zwischen Benutzern, wie auch ein objektbezogenes Kommunikationsprotokoll werden über Erweiterungsstufen anvisiert.
Stufe 1 Basisfunktionen
Kernfunktion der Mitteilungszentrale. Dazu zählen:
- Eine Benutzeroberfläche für das Lesen von Mitteilungen im Desktop- wie auch im Webclient
- Des weiteren die nötigen Erweiterungen im Server um u.a. eine Push Notification an die Clients senden zu können
- Die Benachrichtigung über neue Mitteilungen
- Die jederzeit sichtbare Anzeige von ungelesenen Mitteilungen
- Die Versendung einer Mitteilung aus der Regel API und
- durch eine automatische Aktualisierung einer Aufgabenliste
Stufe 2 Erweiterungen
- Direktes versenden von Mitteilungen zwischen den Benutzern
- Beobachtungsfunktion für Änderungen an einem bestimmten Objekt mit entsprechenden Mitteilungen und Benachrichtigungen
- Benutzer werden in Benachrichtigungsgruppen zusammengefasst werden können
Stufe 3 Erweiterungen
- Alle verknüpften Mitteilungen zu einem Objekt werden in einem Kommunikationsprotokoll zusammengefasst
- Gezielte Benachrichtigung von Objektänderungen anhand eines Suchfilters
- Gruppenbasierte Mitteilungen durch Aufgabenlisten
Konzeptskizze - erster Entwurf
Stufe 1 Basisfunktionen
Anker | ||||
---|---|---|---|---|
|
Mitteilung
Attribut | Beschreibung |
---|---|
An | Referenz auf Nuclos Benutzer |
Eingang | Zeitstempel |
Mitteilung | Text |
Verknüpftes Objekt | Titel des Objektes wird an der Mitteilung gespeichert. Weitere versteckte Attribute enthalten Informationen zur ID usw. |
Neu? | Ja/Nein |
Ansicht von Mitteilungen
Die Ansicht erfolgt weitestgehend in einer für den Benutzer bekannten, Nuclos typischen, Form. Mitteilungen werden also wie ein Standard Businessobjekt gehandhabt. Man wird mittels einer Suche und einer Ergebnisliste die erhaltenen Mitteilungen lesen können.
Nachrichten werden nur manuell gelöscht. Über eine Zusatzfunktion „Alle gelesenen Nachrichten löschen“ werden systemseitig alle gelesenen Nachrichten des angemeldeten Benutzers gelöscht.
Wird eine Nachricht betrachtet, so wird diese automatisch als gelesen markiert.
Desktop Client | Webclient |
---|---|
Die Mitteilungszentrale wird man über einen Button links von der Volltextsuche öffnen können. Ansicht des verknüpften Objektes im Overlay oder Sprung in dieses mittels eines neuen Tabs. | Im Dashboard (Nuclos Icon oben links) werden die neusten Nachrichten direkt in einer kleinen Liste angezeigt. Über einen Button kann man die Mitteilungszentrale öffnen. Hier weichen wir also von der Konzeptskizze ab. |
Benachrichtigung über neue Mitteilungen (Popup)
Desktop Client | Webclient | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Benachrichtigungen mittels Betriebssystem-Funktionen
| Im Webclient erfolgt die Benachrichtigung über die gängigen Browser Funktionen, die von einem Benutzer erst bestätigt werden müssen. Beispiel:
|
Anzeige ungelesener Mitteilungen (Badge-Counter)
Desktop Client | Webclient |
---|
Es ist ein kleiner Counter am Mitteilungszentrale-Button (neben der Volltextsuche) geplant. Zusätzlich erfolgt die Anzeige für macOS am Icon der Anwendung. Für Windows wird dies leider leider erst mit Java 9 möglich. http://download.java.net/java/jdk9/docs/api/java/awt/Taskbar.html | Im Webclient erfolgt die Anzeige ungelesener Mitteilungen über den Namen des Tabs. Des weiteren am Nuclos Icon für das Dashboard. |
Versenden von Mitteilungen
Aufgabenlisten
Ein Benutzer kann an einer Aufgabenliste im Desktop Client eine automatische Mitteilung aktivieren. Hierzu ist es notwendig die Zeit der Intervall Aktualisierung einzustellen. Ab diesem Zeitpunkt wird der Nuclos Server die Aufgabenliste für den Benutzer überwachen. Bei neuen Einträgen wird der Benutzer eine Mitteilung und eine Benachrichtigung erhalten.
Regel API
In Server Regeln wird ein neuer Provider zur Verfügung gestellt. MessageProvider
Codeblock | ||
---|---|---|
| ||
sendMessage(UID toUserId, String titel, String subtitel, String message)
sendMessage(UID toUserId, String titel, String subtitel, String message, Class boClass, Long boId) |
Erweiterung Stufe 2
Mitteilungen erzeugen
1. Manuell über die Mitteilungszentrale | |
2. Manuell über neuen Button am Objekt | Das Objekt wird als Referenz in die Mitteilung eingetragen. Der Empfänger kann direkt in das referenzierte Objekt springen. |
3. Mittels API in Regeln | Neuer NotificationProvider Methoden: sendNotification(UID toUserId, String titel, String message) sendNotification(UID toUserId, String titel, String message, Class boClass, Long boId) |
4. (Version 2) Neue Einträge in Aufgabenlisten | Aufgabenliste müsste vom Server selbstständig in bestimmten Intervallen abgefragt werden, und mit einem vorherigen Ergebnis verglichen werden. Bei neuen Einträgen erfolgt eine Mitteilung. |
5. (Version 2) "Watch" auf einem Objekt | Z.B. in der Art: Benachrichtige mich, wenn das Objekt den Status 500 erreicht. |
Mitteilungen lesen
Am Menü des Benutzers wird automatisch die Anzahl von ungelesenen Mitteilungen angezeigt. Diese aktualisiert sich über Websockets selbstständig im Hintergrund. Die Verwendung von Browser Benachrichtigungen wäre wünschenswert. Im aufgeklappten Menü werden automatisch die letzten 5 Nachrichten angezeigt.
Nachrichten werden in der Mitteilungszentrale angezeigt. Dort kann mittels Sortierung und Filterung eine Nachricht gesucht werden. Bei Auswahl einer Nachricht/Zeile werden die Details rechts angezeigt. Die Darstellung ähnelt daher einem Mailprogramm. Weitere Funktionen sind in der Skizze rechts vorgeschlagen und stehen, so wie die Darstellung selbst auch, zur Diskussion.
NuclosMessage msg)
NuclosMessage {
to: UID
title: String
subtitle: String
message: String
objClass: Class<BusinessObject>
objId: Long
} |
Stufe 2 Erweiterungen
Anker | ||||
---|---|---|---|---|
|
Versenden von Benutzermitteilungen
Benutzer sollen, ähnlich einer Mail, direkt Nachrichten an einen anderen Benutzer versenden können. Dies wird manuell in der Mitteilungszentrale möglich sein, wobei kein Bezug zu einem Objekt hergestellt wird, aber auch von einem beliebigen Objekt ausgehend. Dann wird das Objekt als Verknüpftes in der Nachricht automatisch eingetragen.
Benutzer müssen hierfür eine neue Berechtigung erhalten. Standardmäßig ist das Versenden von Benutzermitteilungen nicht aktiviert.
Objekt beobachten
An einem Objekt kann ein Benutzer einen "Watcher" installieren, der automatisch eine Mitteilung bei Änderung oder Statuswechsel versendet.
Benachrichtigungsgruppen
Benutzer sollen in individuellen Gruppen zusammengefasst werden können (Keine Verwendung der Benutzergruppen für Berechtigungen). Hierzu wird auch ein neues Administrationsrecht zur Verwaltung solcher Benachrichtigungsgruppen implementiert. Gruppen werden einem Nuclet zugewiesen werden können, und auch gezielt in Regel angesprochen werden können. Die API wird entsprechend erweitert. Benachrichtigungsgruppen können auch als "intern" markiert werden, damit stehen sie einem Benutzer unter "An" für eine Benutzermitteilung nicht zur Auswahl.
Stufe 3 Erweiterungen
Anker | ||||
---|---|---|---|---|
|
Kommunikationsprotokoll
Ein neues systemseitiges Business Objekt, ähnlich den Dokumentenanhängen, welches an jedem normalen Business Objekt in Form eines Unterformulares angehangen werden kann. Zusätzlich zum Löschen von Mitteilungen wird eine mit verknüpftem Objekt archiviert werden können. Der Benutzer sieht diese dann nicht mehr ohne weiteres in seiner Mitteilungszentrale, am Objekt hängt diese jedoch noch an. Auch kann eine manuelle wie auch die API Mitteilung als nicht löschbar markiert werden.
Objekt beobachten ("Watcher" Stufe 2)
Eine gezielte Benachrichtigung, in Verbindung mit einem Suchfilter. Entspricht das Objekt nach Änderung oder Statuswechsel einem Suchfilter, würde das Objekt also vom Suchfilter gefunden werden, so wird das System automatisch eine Mitteilung versenden.
Zentrale Aufgabenlisten
Ein Administrator für Benachrichtigungsgruppen kann zentral eine Aufgabenliste mit automatischer Mitteilung für eine Gruppe einstellen.