Event Recorder

Der Event Recorder ist ein Analyse und Debugging Tool, welches die von der aktuellen Sitzung ausgelösten Events (Ereignisse) und Prüfungen der Zuordnungskriterien aufgezeichnet.

Aufgezeichnete Einträge sind temporäre Test-Sets und können auch als solche im Testmodus einer Ereignisbehandlung geladen werden (Ribbon Funktion "Event Recorder laden").

Der Event Recorder ist sowohl über das Hauptmenü als auch über eine Ribbonfunktion in der Ereignisbehandlungsübersicht aufrufbar.

Funktionen

images/download/attachments/53412664/image2020-4-28_15-34-29-version-1-modificationdate-1588080870947-api-v2.png

Über die Funktion "Start" wird die Aufzeichnung begonnen.

images/download/attachments/53412664/image2020-4-28_15-35-9-version-1-modificationdate-1588080911684-api-v2.png

Die Aufzeichnung kann jederzeit Unterbrochen werden, dabei bleiben alle bisher aufgezeichneten Einträge erhalten.

images/download/attachments/53412664/image2020-4-28_15-35-53-version-1-modificationdate-1588080954991-api-v2.png

Über Stopp wird die Aufzeichnung beendet und alle bisher aufgezeichneten Einträge werden verworfen.

Hinweis: Aufgezeichnete Einträge bleiben erhalten, solange der Benutzer nicht abgemeldet wird.


Wenn eine Aufzeichnung aktiv ist, werden alle Ereignisse und Datenkontextprüfungen seit dem Beginn der Aufzeichnung automatisch in die Übersicht geladen:

images/download/attachments/53412664/image2020-4-30_12-12-29-version-1-modificationdate-1588241550601-api-v2.png

Aufgezeichnete Einträge sind temporäre Test-Sets und weisen daher auch die gleichen Spalten wie die Test-Sets Übersicht auf.

Erklärung der Spalten:

  • Name Der Name des Ereingisses / "Objekt des Datenkontextes" oder matches:"Objekt des Datenkontextes" bei Datenkontextprüfungen (Zuordnungskriterien auswerten)

    • Objekt des Datenkontextes: "Objekt ID":"Objekttyp" des Objektes welches gerade im Datenkontext steht

  • Test-Set Typ Der mit dem Test-Set assoziierte Typ (Ereignisbehandlung oder Zuordnungskriterium), für welchen der Eintrag als Testdaten geeignet ist

  • Aufnahmezeitpunkt Der Zeitpunkt der Aufnahme (hiernach wird standardmäßig absteigend sortiert). Tipp: Für die Anzeige von Sekunden oder gar Millisekunden, kann das Datumsformat in den Listeneinstellungen entsprechend angepasst werden

  • ID Eine Temporäre Eintrags-ID (standardmäßig ausgeblendet)

Es werden grundsätzlich zwei Typen von Einträgen unterschieden: Events und das Auswerten von Zuordnungskriterien (matches).
Wird ein Eintrag ausgewählt so können die initialen Ereignisvariablen und das Eingabeobjekt als XML betrachtet werden.

Hinweis: Die aufgezeichneten Einträge sind Momentaufnahmen zum Zeitpunkt des Auslösens von Ereignissen oder einer Datenkontextprüfung (matches). Etwaige Ereignisbehandlungen werden erst danach angestoßen. Diese werden hier auch nicht aufgelistet und natürlich auch nicht die Änderungen von Variablen oder Daten im Eingabeobjekt.

Verwendungsbeispiele

Beispiel 1: Drücken des "Neu" Ribbon-Buttons in der Übersicht eines Geschäftsobjektes

In einer Sendungsübersicht wird auf "Neu" geklickt, während sich der Event Recorder im Aufnahmemodus befindet.

images/download/attachments/53412664/image2020-4-30_13-50-34-version-1-modificationdate-1588247435862-api-v2.png

Direkt nach dem Drücken zeichnet der Event Recorder zwei Einträge auf (siehe Bild oben).
Der erste Eintrag "matches" zeigt, dass die Zuordnungskriterien für ein neues Sendungsobjekt (ID: 0) neu ausgewertet wurden. Das macht Sinn, denn es musste geprüft werden, welche Maske zur Bearbeitung der neuen Sendung geladen werden sollte.
Der zweite (ausgewählte) Eintrag zeigt, dass das "Neu" Ereignis mit einem neuen Sendungsobjekt (ID: 0) ausgelöst wurde. Der Tabreiter "Eingabewert" offenbart, dass es sich bei den Eingabedaten für die Ereignisbehandlungen tatsächlich um ein komplett leeres Sendungsobjekt handelt.
Ein Blick auf den Reiter "Variablen" zeigt außerdem, welche Variablen initial in den Ereignisbehandlungen zur Verfügung stehen:

images/download/attachments/53412664/image2020-4-30_13-58-9-version-1-modificationdate-1588247891302-api-v2.png

Beispielsweise konnte hier ohne weiteres Hintergrundwissen erkannt werden, dass eine Variable "$viewName$" existiert, welche verrät von welcher View das Ereignis ausgelöst wurde.
Im Beispiel oben wäre das eine eigene Sendungsübersicht namens "Alle".

Beispiel 2: Eigenes Aktionsevent über ein Formularverhalten auslösen

Oftmals werden mit dem Verhalten Eigenes Aktionsevent auslösen (Formulardesigner) Ereignisse in Formularen ausgelöst, welche dann Daten aus dem Formular übergeben bekommen.
Um diese Datenschnittstelle überprüfen zu können ist der Event Recorder das geeignete Mittel der Wahl.

Gegeben sei folgendes Beispielformular (Datenfelder entsprechen den Beschriftungen):

images/download/attachments/53412664/image2020-4-30_14-9-8-version-1-modificationdate-1588248550114-api-v2.png

Beim Klicken auf den EVENT Knopf wird das eigene Aktionsevent "HANDLE_PORTAL_DATA" ausgelöst. Der Wert des Angeklickt auslösers wird dabei als "value" Variable übergeben.
Unabhängig von einer konfigurierten Ereignisbehandlung kann das Formular nun mit gestartetem Event Recorder getestet werden.

images/download/attachments/53412664/image2020-4-30_14-15-49-version-1-modificationdate-1588248951528-api-v2.png

Ein Klick auf den EVENT Knopf erzeugt dabei folgende Einträge:

images/download/attachments/53412664/image2020-4-30_14-19-0-version-1-modificationdate-1588249142494-api-v2.png

Deutlich zu erkennen ist nun der Eintrag "Eigenes Aktionsevent", welcher aufzeigt, dass das Ereignis "HANDLE_PORTAL_DATA" ohne ein Geschäftsobjekt als Eingabedaten (null) für die Ereignisbehandlungen ausgelöst wurde.
Ein Blick in den Reiter "Variablen" zeigt, dass die übergebenen Formulardaten als "formData" Variable an die Ereignisbehandlungen weitergegeben werden. Direkt darunter taucht auch die "value" Variable mit den Daten des Auslösers "Angeklickt" auf,
was bei einem Button-Element tatsächlich "true" entspricht.
Der zweite Eintrag (matches) macht deutlich, dass nach dem Aufrufen des eigenen Aktionsevents der Datenkontext und somit die Zuordnungskriterien neu ausgewertet wurden, da sich potentiell die Daten im Kontext geändert haben könnten.