„Nachricht abonnieren“ ist ein Formular-Serviceelement, das sich für Push-Nachrichten zu einem bestimmten Thema registriert. Die Eigenschaft Topic wirkt als Filter. Nur Push-Nachrichten, die an das passende Topic gesendet werden, werden empfangen. Trifft eine passende Nachricht ein, wird das Ereignis „Nachricht empfangen“ am Element ausgelöst. Ist das Element deaktiviert, werden keine Ereignisse ausgelöst.
Tipp
Eine Push-Nachricht wird serverseitig über den Aktionsbaustein Nachricht pushen gesendet. Das Topic ist frei wählbar.
HINWEIS Nur Clients mit einem aktiven Abonnement des Topics empfangen Push-Nachrichten.
Eigenschaften
Eigenschaft | Beschreibung |
|---|---|
Topic | Ein statischer Text oder eine Werte-Konfiguration, die den zu abonnierenden Kanal identifiziert. Der Wert muss mit dem Topic des zugehörigen Aktionsbausteins Nachricht pushen exakt übereinstimmen (Groß-/Kleinschreibung wird beachtet). |
Das Ereignis „Nachricht empfangen“
Trifft eine Push-Nachricht zum abonnierten Topic ein, wird das Ereignis „Nachricht empfangen" ausgelöst. Um darauf zu reagieren, wird am Element im Formulardesigner ein Verhalten konfiguriert.
Der Payload, den der Aktionsbaustein Nachricht pushen sendet, wird zum Eingabewert des ausgelösten Verhaltens. In den Ereignisaktionen des Verhaltens steht der Eingabewert unter dem Variablen-Namen $input zur Verfügung.
Auf den Payload im Verhalten zugreifen
Der Zugriff auf $input hängt vom Payload-Typ ab:
Payload-Typ | Inhalt von | Zugriff |
|---|---|---|
Kein Wert |
| Mit einer Statischen Regel prüfen, ob |
Einfacher Wert (String, Zahl, Boolean) | Der skalare Wert selbst, z.B. eine Auftrags-ID oder ein Status-Code. | Einen Variable-Wertauflöser verwenden und |
Komplexes Objekt (Entität oder Datenstruktur) | Ein Objekt mit benannten Eigenschaften, z.B. | Einen Variable-Wertauflöser mit |
Liste ( | Eine Liste von Werten oder Objekten. | Einen Variable-Wertauflöser mit |
WICHTIG
Der Payload-Typ hängt ausschließlich davon ab, was der Sender im Aktionsbaustein Nachricht pushen konfiguriert hat. Die erwartete Payload-Struktur sollte vor der Konfiguration des Verhaltens mit der Person abgestimmt werden, die den Sender konfiguriert.
Beispiel: Liste bei Datenänderung neu laden
Ein serverseitiger Event-Handler sendet bei jeder Speicherung eines Auftrags eine Push-Nachricht mit dem Topic order.updated. Der Payload ist das aktualisierte Auftragsobjekt. Ein Portal-Formular enthält ein „Nachricht abonnieren"-Element.
Ziel: Die Auftrags-ID aus dem Payload auslesen und in einer Variablen speichern, anschließend die Liste neu laden.
Das Topic des Elements auf
order.updatedsetzen.Ein Verhalten mit dem Auslöser „Nachricht empfangen" anlegen.
Eine Ereignisaktion Variable setzen hinzufügen. In der Werte-Konfiguration folgende Kette aufbauen:
Variable-Wertauflöser → Variablen-Name:
$input(liefert das vollständige Auftragsobjekt)Objekt-Feld-Wertauflöser → Eigenschaft:
id(liest die Auftrags-ID aus dem Objekt aus)
Das Ergebnis in einer Variablen speichern, z.B.
lastUpdatedOrderId.Nach der Aktion „Variable setzen“ eine Neu laden-Ereignisaktion hinzufügen, um die Liste zu aktualisieren.
Ergebnis: Jede offene Sitzung mit dem Formular liest die eingehende Auftrags-ID und lädt automatisch neu, ohne dass der Benutzer die Seite manuell aktualisieren muss.