Benachrichtigungen Lebenszyklus
Bisher sind Nachrichten entweder archiviert oder noch-nicht-archiviert. Dies führt u.a. dazu, dass Nachrichten mehrfach zugestellt werden: per Cable-Benachrichtigung und später nochmal per Mail. Auch wenn man auf die Benachrichtigungsseite geht (nach dem Login oder auch von irgendeiner anderen Seite), hat man keine Unterstützung zwischen aktuelleren und älteren (noch nicht archivierten) zu unterscheiden.
Weiterhin wollen wir mehr automatisch aufräumen, z.B. inhaltlich überholte Benachrichtigungen #797 (closed). Damit man aber die Möglichkeit hat, eine Benachrichtigung aufzuheben (also Todo für später), soll man sie merken können, damit sie nicht aufgeräumt wird.
Statūs
- created (erstellt, noch nicht zugestellt)
- delivered (zugestellt, noch nicht gelesen)
- read (gelesen)
-
bookmarked
pinned/marked/bookmarked/saved (wir brauchen noch ein gutes Wort für "gemerkt") - erledigt
- manuell as erledigt markiert
- inhaltlich outdated (#797 (closed))
- zeitlich outdated (Zeit x nach zugestellt, x sei 2 Wochen)
Statusübergänge
- initial: created
- Zustellung (created → delivered)
- per Cable-Benachrichtigung
- per Mail-Benachrichtigung
- durch öffnen der Benachrichtigungsseite
- Details siehe Abschnitt Zustellung
- Gelesen (delivered → read)
- alle in notifications verlinkten elemente brauchen eine event-id (ggf. würde auch notification-id geeignet sein, die ist aber etwas weniger langlebig und bringt uns keine Vorteile)
- wenn auf irgendeinen link in einer notification geklickt wird, wird die notification als gelesen markiert (haupt-target, jegliches Zielobjekt, ... alles)
- Gebookmarked (any → gebookmarked)
- klicken auf den outlined "Merken" button, z.B. Stecknadel oder Bookmark (siehe auch Github)
- In Mails ist nur Bookmarken möglich (wenn überhaupt), nicht entbookmarken
- In Cable-Benachrichtigungen ist nur Bookmarken möglich, die Benachrichtigung wird dann geschlossen (deshalb kein Entbookmarken)
- Entbookmarken (gebookmarked → gelesen, gebookmarked → erledigt(inhaltlich,zeitlich)
- klicken auf den gefüllten "Merken" button, z.B. Stecknadel oder Bookmark (siehe auch Github)
- manuell erledigt (any → (manuell) erledigt, schließt u.a. entbookmarken ein)
- klicken auf den "Erledigt" Button (Icon z.B. Häkchen, ggf. auch X) (siehe auch Github)
- erledigt markieren heißt immer auch automatisch entbookmarked (und indirekt auch gelesen)
- inhaltlich erledigt
- Wenn das Event superseded wird und die Benachrichtigung NICHT gebookmarked ist
- bei entbookmarken, wenn das Event bereits superseded ist
- zeitlich erledigt
- zwei Wochen nach Zustellung (delivered), wenn die Benachrichtigung NICHT gebookmarked ist
- bei entbookmarken, wenn die Benachrichtigung vor >= 2 Wochen delivered wurde
Weitere Statusübergänge wollen wir (bewusst) NICHT vorsehen: z.B. kein "ungelesen" markieren. Der Fluss soll immer Richtung erledigt führen und nur durch bookmarken (vorübergehend) aufgehalten (bzw. falls bereits erledigt rückgängig gemacht) werden können.
Zustellung
- cable-benachrichtigung
- kann nicht gesehen werden (kein fokus, nicht aktiv)
- markiert als zugestellt, wenn wir wissen, dass jemand wirklich da ist
- browser-fenster+tab müssen fokus haben UND mausbewegung/tastatureingabe muss im fenster passiert sein
- mailbenachrichtigung
- nur für events älter als 10-15 sekunden (10 sek wegen user-reaktion auf cable)
- jegliche mailbenachrichtigung ist zugestellt
- auf der Benachrichtigungsseite
- neue Benachrichtigungen werden reingeschoben
- unten werden keine rausgenommen (nur wegen der menge)
- outdated könnten evtl. raus??
- es werden keine cable-benachrichtigungen gezeigt
- counter im header wird aktualisiert, bubble wird rosa
- habe mailbenachrichtigungsintervall "selten"
- komme in samarbeid, auf der notifications-seite an → neue werden gezeigt
- nach 10 sekunden gelten sie als zugestellt, wenn ich vorher die seite verlasse bleiben sie unzugestellt
- die neuen kriegen hellen hintergrund (hellgelb, o.ä., faded nach 10 sekunden in weiß/transparent)
- bin auf anderer samarbeidseite, habe benachrichtigung (mangels fokus) nicht gesehen, gehe zur benachrichtigungsübersicht
- nach 10 sekunden gelten sie als zugestellt (außer ich verlasse die seite vorher wieder)
- die neuen kriegen hellen hintergrund (hellgelb, o.ä., faded nach 10 sekunden in weiß/transparent)
- komme in samarbeid, auf der notifications-seite an → neue werden gezeigt
Neues UI für Lifecycle
-
Glocke im Header
- Anzahl enthält created+delivered (d.h. nicht-zugestellte und nicht-gelesene), weder gebookmarkte noch erledigte
- Bubble-Farbe
- rosa (wie logo), wenn
count(created) > 0
- sonst blau
- rosa (wie logo), wenn
-
Tabs auf Benachrichtigungsseite
- Inbox (created, delivered, read, bookmarked)
- Gemerkt (nur bookmarked)
- Erledigt (alle sonstigen)
-
UI / Button(s) am einzelnen Item
- Archivieren wird ersetzt durch Öffnen - Merken - Erledigt
- irgendwo vorne kommt für created+delivered (d.h. ungelesen) ein blauer Punkt o.ä. davor (siehe Github)
- created (d.h. nicht delivered) bekommt einen hellgelben Hintergrund, der nach n Sekunden ausfaded (weil als gelesen markiert), n=15.
-
Visualisierung für ungelesene Benachrichtigungen (jedoch nicht Icon einfärben), ggf. blauer Punkt zwischen Icon und Text.