Was sind zentralisierte Benachrichtigungen?
  • 11 Apr 2023
  • 9 Minuten zu lesen

Was sind zentralisierte Benachrichtigungen?


Article Summary

Entwicklung zentralisierter Benachrichtigungen

In Totara 14 haben wir ein neues System zum Generieren von Benachrichtigungen eingeführt. Wir haben die Art und Weise geändert, wie Entwickler Benachrichtigungsfunktionen in Funktionen schreiben und wie Nutzer Benachrichtigungen konfigurieren und mit ihnen interagieren. In unserer Dokumentation bezeichnen wir diese Funktion als „zentralisierteBenachrichtigungen“. In der Vergangenheit mussten Entwickler viele Entscheidungen darüber treffen, wie Benachrichtigungen funktionieren würden, was zu einer inkonsistenten Erfahrung für Nutzer führte, wenn es um die Konfiguration und Interaktion mit Benachrichtigungen ging. Das zentralisierte Benachrichtigungssystem bietet Entwicklern eine konsistente Möglichkeit, Benachrichtigungen zu implementieren und von Nutzern zu nutzen.

Die erste Veröffentlichung zentralisierterBenachrichtigungen umfasste die Migration von p-Rogramm- und Zertifizierungsbenachrichtigungen auf das neue System. In späteren Versionen wurden Benachrichtigungen zu zentralisierten Benachrichtigungen hinzugefügt, während andere weiterhin außerhalb des zentralisierten Benachrichtigungssystems verwaltet werden und jetzt als „Altbenachrichtigungen“ bezeichnet werden. Mit der Weiterentwicklung von Totara werden wir weiterhin bestehende Benachrichtigungen migrieren und neue Benachrichtigungen zum zentralen Benachrichtigungssystem hinzufügen. Totara 16 hat beispielsweise die Einführung von Kursbenachrichtigungen gesehen, die über zentralisierte Benachrichtigungen verwaltet werden.

Zentralisierte Benachrichtigungen erklärt

„Zentralisierte Benachrichtigungen“ ist der Begriff, der für das neue Benachrichtigungssystem verwendet wird. Entwickler fügen Funktionen hinzu, sodass Nutzer Benachrichtigungen konfigurieren können, die in Bezug auf auftretende Ereignisse gesendet werden sollen. Es gibt zwei verschiedene Arten von Ereignissen, für die Sie Benachrichtigungen konfigurieren können:

  • Ereignisse können Aktionen sein, die ein Nutzer durchführt, z. B. wenn ein Nutzer einen Kurs abschließt
  • Ereignisse können durch Daten dargestellt werden, die in der Datenbank aufgezeichnet wurden, z. B. ein Programmfälligkeitsdatum

Entwickler müssen einen Benachrichtigungsauslöser für jeden Ereignistyp implementieren, der zu einer Benachrichtigung führen muss. Ein Entwickler kann beispielsweise einen Benachrichtigungsauslöser basierend auf dem Kursfälligkeitsdatum implementieren. Nutzer können dann eine beliebige Anzahl von Benachrichtigungen für jeden Benachrichtigungsauslöser konfigurieren. Ein Kursadministrator könnte beispielsweise eine Benachrichtigung „In sieben Tagen fällig“ sowie eine Benachrichtigung „Zwei Tage überfällig“ erstellen, die beide auf demselben Benachrichtigungsauslöser basieren.

Wenn ein Ereignis auftritt, prüft das zentralisierte Benachrichtigungssystem, ob Benachrichtigungen für den Versand konfiguriert sind. Es gibt mehrere Schritte, um zu entscheiden, welche Benachrichtigungen gesendet werden, wer sie erhält, was der Inhalt sein wird und wie sie zugestellt werden.


Vorteile zentralisierter Benachrichtigungen

Das zentralisierte Benachrichtigungssystem bietet Entwicklern und Endnutzern eine Standardmöglichkeit, mit Benachrichtigungen zu interagieren. Hier haben wir eine Reihe von Hauptvorteilen der Verwendung zentralisierter Benachrichtigungen beschrieben:

  • Benachrichtigungen für eine Reihe verschiedener Funktionen haben eine gemeinsame Schnittstelle. In der Vergangenheit boten verschiedene Funktionen unterschiedliche Schnittstellen für die Konfiguration von Benachrichtigungen mit unterschiedlichen Funktionen und Konfigurierbarkeiten.
  • Benachrichtigungen können in mehr als einer Instanz wiederverwendet werden (z. B. die gleiche Benachrichtigung in mehr als einem Kurs). In der Vergangenheit haben verschiedene Funktionen unterschiedliche Arten des Teilens zwischen Instanzen implementiert, wie z. B. die Verwendung von Vorlagen.
  • Nutzer haben eine einzige Möglichkeit, alle ihre Benachrichtigungseinstellungen im zentralen Benachrichtigungssystem zu konfigurieren. In der Vergangenheit konnten einige Benachrichtigungen in den Nutzereinstellungen konfiguriert werden, während andere für die Zustellung per E-Mail hartcodiert waren oder über andere Konfigurationsmittel verfügten.
  • Das Verhalten, wie Benachrichtigungen gesendet werden, ist konsistent. In der Vergangenheit wurden verschiedene Systeme verwendet, um zu bestimmen, welche Benachrichtigungen wann gesendet wurden. Es gab verschiedene Möglichkeiten, mit Benachrichtigungen umzugehen, die in der Vergangenheit hätte gesendet werden sollen, z. B. wenn eine neue Benachrichtigung erstellt wurde, die gesendet wurde, wenn ein Ereignis aufgetreten ist, wenn dieses Ereignis für einige Nutzer bereits aufgetreten war.
  • Beim Einrichten von Benachrichtigungen haben Nutzer eine konsistente Möglichkeit, auszuwählen, an wen jede Benachrichtigung gesendet wird. Wenn in der Vergangenheit eine Benachrichtigung an den Manager eines Nutzers gesendet werden musste, musste ein Entwickler den Code implementieren, um dies zu erreichen, und benutzerdefinierte Schnittstellenelemente, um den Nutzern die Kontrolle darüber zu ermöglichen, wann er verwendet werden sollte.
  • Ein gemeinsames Planungssystem, mit dem fast jede Benachrichtigung geplant werden kann, wobei der Entwickler nur minimale Arbeit benötigt. In der Vergangenheit mussten Entwickler benutzerdefinierte Lösungen implementieren, um die Planung hinzuzufügen, einschließlich der Schnittstelle, mit der Nutzer die Zeitpläne konfigurieren können.
  • Ein einheitliches Platzhaltersystem, das dieWiederverwendung von Platzhaltern zwischen verschiedenen Benachrichtigungsauslösern ermöglicht, und eine gemeinsame Syntax für Nutzer, um Platzhalter in ihrem Benachrichtigungsinhalt zu verwenden. In der Vergangenheit mussten Entwickler eine nutzerdefinierte Lösung in jedem Merkmal implementieren, in der Platzhalter erforderlich waren, und Nutzer mussten die richtige Platzhaltersyntax für dieses spezifische Merkmal lernen.
  • Konsequente Implementierung von mehrsprachigen Funktionen. Früher mussten Entwickler die Verwendung von mehrsprachigen Funktionen in jeder Funktion mithilfe von Benachrichtigungen implementieren.
  • Eine neue, einzige Quelle für die Prüfung allerBenachrichtigungen und Ausgabetypen. In der Vergangenheit mussten sich Nutzer auf Protokolle verlassen, die speziell für eine Funktion erstellt wurden, sofern verfügbar, oder versuchen, die internen Benachrichtigungsdaten für Warnungen und Aufgaben als Quelle für die Berichterstattung zu verwenden.
  • Ein Kernsystem für Entwickler, um Benachrichtigungsauslöser konsistent und einfach zu implementieren. Ein Großteil der Arbeit an der Entwicklung von Benachrichtigungsauslösern wurde für den Entwickler erledigt. In der Vergangenheit mussten Entwickler oft ihre eigenen Lösungen für Probleme wie Terminplanung und Platzhalter implementieren, aber diese werden alle in zentralisierten Benachrichtigungen berücksichtigt.

Wie zentralisierte Benachrichtigungen verarbeitet werden

Benachrichtigungsereignisse, die auf Aktionen und auf aufgezeichneten Daten basieren, werden auf leicht unterschiedliche Weise verarbeitet:

  • Wenn das Ereignis eine Aktion war, die ein Nutzer ausgeführt hat, dann wird das Ereignis in einer Benachrichtigungsereignisse-Warteschlange aufgezeichnet. Die Aufgabe „Event-ausgelöste Benachrichtigungen verarbeiten“ (\\totara_notification\\task\\process_event_queue_task) ist standardmäßig so konfiguriert, dass sie jede Minute im Hintergrund ausgeführt wird. Sie schaut sich alle in der Warteschlange aufgezeichneten Ereignisse an und prüft, ob entsprechendeBenachrichtigungen vorhanden sind, die so konfiguriert sind, dass sie am Ereignis gesendet werden. Die Verringerung der Häufigkeit dieser geplanten Aufgabe führt dazu, dass Nutzer länger warten, bevor sie diese Benachrichtigungen erhalten, und hat keinen Leistungsvorteil. Daher sollte es jede Minute laufen bleiben.
  • Benachrichtigungen, die für den Versand vor oder nach aufgezeichneten Daten geplant sind oder für den Versand am Ereignis geplant sind und auf aufgezeichneten Daten basieren, werden von der Benachrichtigungsaufgabe Prozessdatum ausgelöst (\\totara_notification\\task\\process_scheduled_event_task), die standardmäßig so konfiguriert ist, dass sie einmal täglich im Hintergrund ausgeführt wird, verarbeitet. Dieser Prozess findet alle Benachrichtigungen, die seit der letzten Ausführung der Aufgabe gesendet werden sollten. Obwohl es möglich ist, diese Aufgabe häufiger auszuführen, berücksichtigen Sie die Leistungsauswirkungen dieser Entscheidung, da diese Aufgabe viele Daten auswerten muss, um zu bestimmen, ob aufgezeichnete Daten mit den in den Benachrichtigungen konfigurierten Zeitplänen übereinstimmen.

Sobald ein Benachrichtigungsereignis gefunden wurde, erfolgt der folgende Prozess:

  1. Wenn der Benachrichtigungsauslöser deaktiviert ist, wird die Benachrichtigung verworfen (dies kann früher auftreten, ist aber aus Sicht des Nutzers nicht relevant).
  2. Wenn die Benachrichtigung deaktiviert ist, wird sie verworfen.
  3. Der Benachrichtigungsauslöser kann zusätzliche Bedingungen implementieren, die erfüllt sein müssen, bevor die Benachrichtigung gesendet wird. Die Ereignisdaten werden ausgewertet und die Benachrichtigung wird verworfen, wenn sie diese Kriterien nicht erfüllt.
  4. Die Liste der Empfänger wird basierend auf den Ereignisdaten berechnet.
  5. Der Benachrichtigungsinhalt wird für jeden Nutzer generiert. Platzhalter im Betreff und Text werden durch Werte ersetzt, die anhand der Ereignisdaten berechnet werden.
  6. Die aktivierten Ausgaben jedes Empfängers werden berechnet.
  7. Der Benachrichtigungsinhalt wird über jede Ausgabe für jeden Nutzer gesendet.

Besonderer Hinweis, wann Benachrichtigungen gesendet werden

In der Vergangenheit wurden verschiedene Benachrichtigungen auf unterschiedliche Weise implementiert. Ein wesentliches Problem war, dass das System wusste, ob eine Benachrichtigung gesendet wurde, was dazu beitrug, zu bestimmen, ob eine Benachrichtigung gesendet werden musste. In vielen Fällen würde das System, wenn eine neue Benachrichtigung von einem Administrator eingerichtet würde, feststellen, dass die Benachrichtigung nicht an eine Reihe von Benutzern gesendet wurde, die bereits die Kriterien für den Erhalt dieser Benachrichtigung erfüllten, und dann diese Benachrichtigung an diese Benutzer senden. In den meisten Fällen war dies nicht das beabsichtigte Ergebnis. Im zentralisierten Benachrichtigungssystem werden Benachrichtigungen nur dann gesendet, wenn sie gesendet werden sollen. Benachrichtigungen werden nicht in eine Warteschlange gestellt, die darauf wartet, zu einem späteren Zeitpunkt zugestellt zu werden. Das System sucht nicht nach Benachrichtigungen, die verpasst wurden oder zuvor hätte gesendet werden sollen. Das System stützt sich auf die Zeitplanung, um zu bestimmen, was zu einem bestimmten Zeitpunkt gesendet werden muss. Es wird gefragt: „Welche Benachrichtigungen sollten zwischen jetzt und dem letzten Zeitpunkt, an dem Benachrichtigungen gesendet wurden, gesendet worden sein?“, und nur diese Benachrichtigungen werden gesendet.

Ein Beispiel wird dabei helfen, dies zu erklären. Angenommen, Sie haben eine Benachrichtigung erstellt, um neue Nutzer zu begrüßen, wenn sie für einen Kurs angemeldet sind. Wenn die Benachrichtigung so geplant ist, dass sie am Event gesendet wird (d. h. sobald der Nutzer angemeldet ist), wird sie nur an Nutzer gesendet, die sich nach der Erstellung der Benachrichtigung anmelden. Die Benachrichtigung wird nicht rückwirkend für Nutzer gesendet, die sich vor der Erstellung der Benachrichtigung angemeldet haben. Wenn Sie die gleiche Benachrichtigung festlegen, die 1 Monat nach der Anmeldung gesendet wird, prüft das System jeden Tag nach Nutzern mit einem Anmeldedatum vor einem Monat und sendet diese an diese Nutzer, auch wenn die Benachrichtigung zum Zeitpunkt der Anmeldung nicht existierte. In diesem Fall erhalten alle Nutzer, die sich innerhalb des letzten Monats angemeldet haben, und diejenigen, die sich in Zukunft anmelden, die Benachrichtigung zum entsprechenden Datum. Diejenigen, die sich vor mehr als einem Monat angemeldet haben, erhalten diese nie, da sie die Benachrichtigung erhalten sollten, bevor sie erstellt wurde.

Suspendierte Nutzer erhalten keine Benachrichtigungen. Wenn ein gesperrter Nutzer wiederhergestellt wird, erhält er keine Benachrichtigungen, die während seiner Aussetzung ausgelöst werden. Benachrichtigungen, die gesendet werden sollten, während ein Nutzer suspendiert ist, werden nicht in die Warteschlange gestellt.

Benachrichtigungsvererbung

Benachrichtigungenwerden vom zentralisierten Benachrichtigungssystem von höheren Kontexten zu niedrigeren Kontexten geerbt. Die durch Vererbung bereitgestellte Funktionalität ähnelt der Idee von Vorlagen, da Benachrichtigungen an einem Ort erstellt und verwaltet und dann an vielen anderen Orten wiederverwendet werden können.

Benachrichtigungen können in verschiedenen Kontexten erstellt werden, z. B. in Kursen, Programmen, Seminaren oder im Systemkontext (auch als „Website-Ebene“ bezeichnet). Benachrichtigungen können in Kontexten konfiguriert werden, die höher sind als der Kontext, in dem das Ereignis auftritt, und auf niedrigere Kontextebenen vererbt werden. Kursabschlussereignisse finden beispielsweise in einem Kurskontext statt, aber Kursabschlussbenachrichtigungen können sowohl im Systemkontext als auch innerhalb einzelner Kurse erstellt werden. Die Benachrichtigungen in jedem Kontext werden durch diejenigen bestimmt, die in diesem Kontext erstellt wurden, sowie durch diejenigen, die aus höheren Kontexten geerbt wurden. Benachrichtigungen in höheren Kontexten werden in allen absteigenden Kontexten geerbt, in denen das Ereignis auftritt.

Benachrichtigungen, die aus höheren Kontexten geerbt werden, können verschiedene Eigenschaften haben, die in einem niedrigeren Kontext überschrieben werden. Zum Beispiel könnte ein Lernender, der in der Programmbenachrichtigung zugewiesen ist, im Systemkontext erstellt werden, wobei generische Themen- und Textinhalte für die meisten Programme geeignet sind. In einem bestimmten Programm könnten dann das Thema und der Text angepasst werden, um für dieses Programm besser geeignet zu sein, oder die Benachrichtigung könnte vollständig in diesem Programm deaktiviert werden.

Sie möchten beispielsweise, dass alle Kurse auf Ihrer Website eine Begrüßungsnachricht senden, wenn ein Nutzer zum ersten Mal zugewiesen wird. Diese Nachricht sollte in allen Kursen den gleichen Inhalt haben, mit Ausnahme des Kursnamens und des Nutzernamens. In der Benachrichtigungsoberfläche auf Websiteebene kann der Website-Administrator eine Benachrichtigung einrichten und die Platzhalter für den vollständigen Namen des Kurses und den Vornamen des Nutzers in den Betreff und/oder den Textkörper einfügen. Diese Benachrichtigung wird in allen Kursen übernommen. Das bedeutet, dass diese neue Benachrichtigung automatisch für alle neuen und bestehenden Kurse eingerichtet wird. In einem bestimmten Kurs kann der Kursadministrator entscheiden, dass der Benachrichtigungstext geändert werden muss, um zusätzliche Informationen für neue Nutzer bereitzustellen. Sie können die Benachrichtigung auf dieser spezifischen Kontextebene ändern, indem sie die geerbte Benachrichtigung in der Benachrichtigungsoberfläche des Kurses bearbeiten, den Umschalter Überschreiben für den Textkörper aktivieren und die erforderlichen Änderungen vornehmen.

Alte Benachrichtigungen

Derzeit verwenden eine Reihe verschiedener Funktionen alte Benachrichtigungen, die anders als das zentralisierte Benachrichtigungssystem funktionieren. Wenn die von Ihnen verwendete Funktion nicht durch zentralisierte Benachrichtigungen abgedeckt wird, überprüfen Sie die Dokumentation für diese Funktion. Wir werden weiterhin neue Benachrichtigungen hinzufügen und bestehende Benachrichtigungen in das zentralisierteBenachrichtigungssystem migrieren.

C065 - Notifications in Totara

The Totara Academy has a whole course dedicated to Notifications in Totara. Here you can learn more about how to set up and use centralised notifications, see best practice, and give it a go yourself.

© Copyright 2024 Totara Learning Solutions. All rights reserved.


War dieser Artikel hilfreich?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.