FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

German
FI Finnish
SE Swedish
FR French
PL Polish
DE German
US English (US)
  • Log in
  • Home
  • Plattform
  • ESM
  • Weitere technische ESM-Dokumentation
  • Zuhörer

ESM Listener Übersicht

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Serviceverwaltung
    Matrix42 Professional Lösung Matrix42 Core Enterprise-Servicemanagement Matrix42 Intelligenz
  • Identitätsverwaltung und -administration ( IGA )
    IGA Übersicht IGA Lösungsbibliothek
  • Plattform
    ESM ESS2 ESS Efecte Chat für Service Management Efecte Integrationen Add-ons
  • Versionshinweise für M42 Core & Pro , IGA , Conversational AI
    2025.3 2025.2 2025.1 2024.2 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Veröffentlichungsinformationen und Richtlinien
  • Sonstiges Material
    Bedingungen und uid Erklärungen zur Barrierefreiheit
  • Leistungen
+ More
    • Serviceverwaltung

    • Identitätsverwaltung und -administration ( IGA )

    • Plattform

    • Versionshinweise für M42 Core & Pro , IGA , Conversational AI

    • Sonstiges Material

    • Leistungen

ESM Listener Übersicht

Datenkarten-Listener in Matrix42 Professional

Datenkarten-Listener sind ein Mechanismus zur Implementierung von Geschäftslogik in Matrix42 Professional (ESM). Sie reagieren auf bestimmte Ereignisse in M42 Pro -Vorlagen und ermöglichen automatisierte Aktionen basierend auf definierten Bedingungen. Wenn eine Vorlage über einen Listener verfügt, können alle erstellten Datenkarten den Listener beim Speichern auslösen:

Ausführungsreihenfolge: siehe Artikel „ Pro speichern in M42 Pro “.

Konfigurieren von Datenkarten-Listenern

Datenkarten-Listener werden mithilfe von XML-Dateien konfiguriert, die die Eigenschaften und das Verhalten des Listeners definieren. Der Konfigurationsprozess umfasst:

  1. Erstellen einer XML-Konfiguration : Das Verhalten und die Bedingungen des Listeners werden in einer XML-Datei definiert. Diese Datei gibt an, wie der Listener mit den Datenkartenereignissen interagiert.
  2. Importieren in M42 Pro Vorlage : Sobald die XML-Konfiguration erstellt ist, muss sie in die entsprechende M42 Pro -Vorlage importiert werden. Dieser Schritt aktiviert den Listener innerhalb der Vorlage.
  3. Passen Sie die Reihenfolge der Listener an : Vorabspeicherungen werden zuerst in der angegebenen Reihenfolge ausgeführt, Nachabspeicherungen dann in der gleichen Reihenfolge. Es ist relevant, welche zuerst ausgeführt wird. Platzieren Sie beispielsweise die Validator-Listener bei der Vorabspeicherung zuerst. Verschieben Sie die Listener, um die korrekte Ausführungsreihenfolge widerzuspiegeln.

Listener können auch als Teil der gesamten M42 Pro Konfigurations-XML exportiert werden, was eine einfache Replikation und Bereitstellung in verschiedenen Umgebungen ermöglicht.

Listener-Funktionalität und Trigger-Einstellungen

Jede M42 Pro Vorlage kann einen oder mehrere Listener enthalten. Wenn die einer Vorlage zugeordnete Datenkarte gespeichert wird, wird jeder für diese Vorlage registrierte Listener über das Ereignis benachrichtigt.

Listener werden so konfiguriert, dass sie auf bestimmte Ereignisse basierend auf ihren Trigger-Einstellungen reagieren. Diese können entweder sein:

  • Pre-Save-Trigger : Der Listener wird aktiviert, bevor die Datenkarte gespeichert wird. Er ändert nur die Quelldatenkarte .
  • Post-Save-Trigger : Der Listener wird nach dem Speichern der Datenkarte aktiviert. Er ändert nur andere Datenkarten.
    • Es sei denn, es besteht ein besonderer Bedarf, eine Quelldatenkarte zu ändern und absichtlich einen zweiten Speicherzyklus darauf auszulösen. Eine Beispielsituation ist, einen Statuswert auf einem Ticket mit einem Listener zu ändern, aber die Handler DataCardHiddenState und ValueChange auszulösen, um die Änderung dabei widerzuspiegeln.

Nach der Auslösung prüft der Listener, ob er auf das Ereignis reagieren soll. Diese Entscheidung basiert auf definierten Quellbedingungen, die in der Listener-Konfiguration festgelegte Kriterien sind. Die Quellbedingungen bestimmen, ob die Quelldatenkarte (d. h. die gespeicherte Datenkarte) den für die Aktion des Listeners erforderlichen Parametern entspricht. Um Änderungen auf bestimmte Zieldatenkarten einer anderen Vorlage auszurichten, legen Zielbedingungen am Anfang des Aktionskettenabschnitts die Ziele fest.

  • Mehrere Listener : Eine einzelne Vorlage kann mehrere Listener unterstützen, die jeweils auf unterschiedliche Auslöser oder Bedingungen reagieren.
  • Bedingte Logik : Listener reagieren nur auf Ereignisse, wenn die angegebenen Bedingungen erfüllt sind. Dies ermöglicht eine präzise Kontrolle darüber, wann und wie die Geschäftslogik angewendet wird.

Bewährte Methoden

Vorsicht bei: Erstellen von Konstruktionen, bei denen Sie dieselbe Datenkarte mehrmals mit unterschiedlichen Post-Save-Listenern aktualisieren. Konflikte zwischen Listenern und anderen Handler-basierten Funktionen.

Allgemein

Listener-XML kann mit einem Abschnitt <!-- foobar --> kommentiert werden, aber die Kommentare werden entfernt, sobald der Listener in M42 Pro importiert wird (d. h., das Kommentieren von Listenern ist nur dann sinnvoll, wenn die „Stammdaten“ des Listeners woanders gespeichert sind).

  • Sie können mehr als eine Aktionskette hinzufügen
    • Wenn Sie beispielsweise mehrere verschiedene Zielvorlagen-Datenkarten in einem Post-Save-Listener berühren müssen, basierend auf den gleichen Quellbedingungen
  • Vermeiden Sie die Verwendung tiefer/mehrstufiger kombinierter UND-ODER-UND-Bedingungen, um den Listener-Code verständlicher zu halten. Versuchen Sie stattdessen, entweder die Bedingungen zu vereinfachen oder die komplexere Logik im Ausdruckscode in einem Hilfsattribut auszuführen.
    • Hinweis: Das Hilfsattribut für Ausdrücke kann als mehrwertige Zeichenfolge festgelegt werden, um das Festlegen mehrerer Werte in einem Hilfsattribut zu ermöglichen, die die Listener als unterschiedliche Auslöser verwenden können.

XML

  • Traditionelle Methode zum Erstellen von Geschäftslogik/Ausführen nicht feldbasierter automatischer Funktionen auf einer bestimmten Vorlage.
    Konfiguriert durch Erstellen einer entsprechenden XML-Konfiguration.
    • Listener werden verwendet, indem dieses XML in eine M42 Pro -Vorlage importiert wird.
    • Listener können als Teil der M42 Pro Konfigurations-XML exportiert werden.
  • Die Reihenfolge der Bestellung muss berücksichtigt werden.
    • Zuerst Vorspeicherungen in der Reihenfolge, dann Nachspeicherungen in der Reihenfolge pro Vorlage.
  • Vorab gespeicherte Listener:
    • Wird bei jedem Speichern der Datenkarte ausgeführt und überprüft, nach allen Handlern außer AutoMailSender und TargetDeleter.
    • Wird auf Datenkarten „dieser“ Vorlage verwendet.
  • Post-Save-Listener:
    • Wird normalerweise auf Datenkarten anderer Vorlagen verwendet, die mit der Datenkarte „dieser“ Vorlage in Zusammenhang stehen.
    • Kann Zielbedingungen enthalten.
    • Kann eine Sequenz auf einer anderen Vorlage erneut auslösen.
    • Handler auf der Zielvorlage werden nach diesen ausgeführt

Das Übertragen von Zeichenfolgendaten in ein Referenzfeld mit Änderungs- oder Kopieraktion funktioniert möglicherweise nicht.

  • Normalerweise müssten Sie die Entity-ID pushen, wenn Sie eine Verknüpfung zu einer bestimmten Datenkarte herstellen möchten.
  • Das Kopieren von Referenz zu Referenz sollte funktionieren.
  • In den meisten Fällen ist es einfacher, Referenzen mit Ausdrücken zu verknüpfen, aber wenn Sie beispielsweise Transformationen durchführen, müssen Sie möglicherweise Listener verwenden, um anschließend einige Referenzen durchzuführen.

Vorsicht vor:

  • Erstellen von Konstruktionen, bei denen Sie dieselbe Datenkarte mehrmals mit unterschiedlichen Post-Save-Listenern aktualisieren.
  • Konflikte zwischen Listenern und anderen Handler-basierten Funktionen.
  • Festlegung der Startreihenfolge.

HINWEIS : Sie müssen statistische Datums-/Uhrzeit-Tags mit dem Listener aktualisieren, wenn Sie Datenkarten mit Datechecker – Listener-Automatisierung – schließen. Diese Methode ist eine Anfängermethode, die unvollständig und fest codiert ist und auf lange Sicht nicht flexibel ist. Beachten Sie, dass dies nicht möglich ist, wenn Sie ValueChanges erstellen müssen. Eine flexiblere, aber kompliziertere Methode besteht darin, nach dem Speichern die entsprechenden Handler auszulösen (deren Konfiguration nach dem Erstellen der Listener variieren kann).

Importieren eines Listeners

Beim Importieren eines Listeners validiert M42 Pro den Inhalt und die Struktur von XML:

  • Die ausgegebene Fehlermeldung ist oft nicht interpretierbar, beispielsweise „XML darf nicht leer sein“.
  • Überprüfen Sie, ob Sie alle XML-Tags </> geschlossen haben und alle Attributcodes korrekt sind usw.
  • Überprüfen Sie die Listener-Dokumentation, um sicherzustellen, dass Sie nicht versuchen, Dinge zu tun, die nicht möglich sind, wie z. B. das Vergleichen von Textfeldern oder externen Referenzfeldern.
  • Versuchen Sie, verdächtige Komponenten zu entfernen oder zu ändern und versuchen Sie es ohne sie.

Verwenden von Protokollierung und DEBUG

  • Sie könnten versuchen, weitere Informationen zu extrahieren, indem Sie einige dieser Klassen für die Laufzeitprotokollierung öffnen und die DEBUG-Ebene festlegen, wenn Sie versuchen, das XML zu importieren
    • com.bitmount.equipment.action.TemplateListenerImport  in den meisten Fällen aktivieren
    • com.bitmount.equipment.importing.ValidatingEntityXMLImporter
    • com.efecte.datamodel.entity.listener.importing.XMLActionChainImporter
    • com.efecte.datamodel.entity.listener.importing.XMLDataCardListenerImporter
    • com.efecte.datamodel.entity.listener.importing.XMLSourceConditionsImporter
    • com.efecte.datamodel.entity.listener.importing.XMLTemplatesDataCardListenerImporter
  • Denken Sie daran, die Protokollierung nach der Reparatur der Listener wieder auf die INFO-Ebene zurückzusetzen, da Sie sonst riesige Mengen an Protokolldateien produzieren!!
  • Listener erfolgreich importiert, funktioniert aber nicht wie gewünscht
  • Überprüfen Sie die Laufzeitprotokolle und legen Sie die DEBUG-Ebene fest. Sie sollten sehen, was ausgelöst wird und was nicht
    • Quellbedingungen
      • com.efecte.datamodel.entity.listener.condition.(?????)
    • Zielbedingungen
      • com.efecte.datamodel.entity.action.chain.condition.(?????)
    • Aktionen
    • com.efecte.datamodel.entity.action.implementations.(?????)
    • (?????) = jede XML-Komponente
  • Denken Sie daran, die Protokollierung nach der Reparatur der Listener wieder auf die INFO-Ebene zurückzusetzen, da Sie sonst riesige Mengen an Protokolldateien produzieren!!
  • Plattformeinstellungen für Zuhörer
    • datacard.listeners.run.as.root

Ticketstatusänderung

Wenn Sie einen Ticketstatuswert mit dem Listener ändern, sollten Sie Folgendes berücksichtigen:

  • Statistik-Zeitstempel werden entsprechend aktualisiert
  • Der ValueChange-Verlauf des Status wird entsprechend aktualisiert
  • Eventuell ausblenden / sichtbar machen der Datenkarte wird entsprechend aktualisiert
  • Wenn Sie ein Feld mit einem Pre-Save-Listener festlegen, erwarten Sie nicht, dass ein darauf basierender Ausdruck ausgeführt wird, es sei denn, Sie tun dies innerhalb des Listeners!
  • Wenn Sie ein Attribut löschen, das mit einem Listener verknüpft ist, wird der Listener beschädigt
    • Der Listener muss gelöscht werden, damit die Konfiguration exportiert werden kann
    • In den meisten Fällen kann das Problem behoben werden, indem das gelöschte Attribut mit demselben Attributcode neu erstellt wird.

GuiBearbeiten

GuiEdit –condition funktioniert in diesen Szenarien nicht:

  • ValueButton-Handler im Ansichtsmodus angeklickt
  • TicketReservierungshandler im Ansichtsmodus angeklickt
  • EntityStateMail im Ansichtsmodus gesendet
  • WorklogHandler-Kommentar im Ansichtsmodus hinzugefügt

Fügen Sie bei der Ausführung von AlwaysFailDataCardAction immer GuiEdit hinzu, um sicherzustellen, dass Integrationsbearbeitungen dadurch nicht blockiert werden, und haben Sie diese immer als erste Listener in der Reihenfolge.

  • Über die Admin-Benutzeroberfläche können Sie nur die Namen und die Reihenfolge der Listener sehen und Sie müssen die gesamte Konfiguration in XML exportieren, um die tatsächlichen Funktionen der Listener zu untersuchen

Hörerreihenfolge

Halten Sie die Listener in der laufenden Reihenfolge: Vorabspeicherungen werden zuerst ausgeführt, dann Nachabspeicherungen.

Benennung

Behalten Sie eine einheitliche Benennungsmethode bei!

  • Denken Sie daran, sie klar und aussagekräftig zu benennen, beispielsweise die folgenden:
    • Vorabspeichern oder Nachabspeichern
    • Bestellnummer
    • Kurzbeschreibung
      • was es tut
      • was/warum es auslöst
    • Wenn mehrere Personen verwalten oder entwickeln
      • Änderungsdatum
      • Vielleicht sogar Initialen oder Abkürzungen desjenigen, der geändert hat

Beispiele:

  • presave.Copy-Entwicklungsteam, wenn Wert leer und Dienst ausgewählt-09.10.2019-AA
  • presave.SET innerhalb von SLA_04052021_MK behoben
  • postsave.4. Referenzen setzen, wenn eingehende E-Mails generiert werden - 04.05.2017

Listener – Aktueller Wert wahr vs. Aktueller Wert falsch

current_value false = Alter / Vorheriger Wert

current_value true = Neuer / Aktueller Wert

<source_condition>
  <value>
    <attribute>
      <code>status</code>
      <current_value>false</current_value>
    </attribute>
    <operator>=</operator>
    <compared_value>01 - New</compared_value>
  </value>
</source_condition>
<source_condition>
  <value>
    <attribute>
      <code>status</code>
      <current_value>true</current_value>
    </attribute>
    <operator>=</operator>
    <compared_value>02 - Solving</compared_value>
  </value>
</source_condition>

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Efecte Secure Access ( ESA ) 2024.2 Versionshinweise
  • Versionshinweise Efecte Provisioning Engine (EPE) 2024.2

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand