Nachricht abonnieren (Formular)

Prev Next

„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 $input

Zugriff

Kein Wert

$null — der Sender hat keine Daten übermittelt.

Mit einer Statischen Regel prüfen, ob $input nicht null ist, bevor weiterverarbeitet wird.

Einfacher Wert (String, Zahl, Boolean)

Der skalare Wert selbst, z.B. eine Auftrags-ID oder ein Status-Code.

Einen Variable-Wertauflöser verwenden und $input als Variablen-Namen eingeben. Der Wertauflöser gibt den Wert direkt zurück.

Komplexes Objekt (Entität oder Datenstruktur)

Ein Objekt mit benannten Eigenschaften, z.B. {id, status, name}.

Einen Variable-Wertauflöser mit $input verwenden, um das gesamte Objekt zu erhalten. Einen Objekt-Feld-Wertauflöser anschließen, um eine bestimmte Eigenschaft auszulesen, z.B. id oder status.

Liste (String[], Entitätsliste usw.)

Eine Liste von Werten oder Objekten.

Einen Variable-Wertauflöser mit $input verwenden, um die gesamte Liste zu erhalten. Mit einer Für jeden Eintrag wiederholen-Aktion über die einzelnen Einträge iterieren.

 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.

  1. Das Topic des Elements auf order.updated setzen.

  2. Ein Verhalten mit dem Auslöser „Nachricht empfangen" anlegen.

  3. 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.

  4. 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.