Inhalt anzeigen

Ereignisaktion - Kurzfassung

Zweck: Öffnet einen zusätzlichen Browser-Tab, um den über eine Wert-Konfiguration für den Parameter Inhalt zum Anzeigen bereitgestellten "Inhalt" (Content) anzuzeigen bzw. herunterzuladen.

Siehe auch: Dokument anzeigen (Ereignisaktion)

images/download/attachments/189441070/image-2024-12-5_9-22-17-version-1-modificationdate-1733386937446-api-v2.png

Die Inhalt anzeigen-Ereignisaktion öffnet einen zusätzlichen Browser-Tab, um den über eine Wert-Konfiguration für den Parameter Inhalt zum Anzeigen bereitgestellten "Inhalt" (Content) anzuzeigen.


images/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg ACHTUNGimages/s/-95e2zf/9012/8yg2g7/_/images/icons/emoticons/warning.svg Der Inhalt zum Anzeigen wird komplett in den Arbeitsspeicher des Servers geladen, bevor er zum Herunterladen/Öffnen angeboten werden kann. Es wird nicht empfohlen, die Inhalt anzeigen-Ereignisaktion für besonders umfangreiche Dateien (z. B. Videos) einzusetzen.


WICHTIG◄ Die Inhalt anzeigen-Ereignisaktion ist - im Unterschied zu Dokument anzeigen (Ereignisaktion) - im Client-Kontext (Client Workflow, Client Workflows) nicht verfügbar.


  • Falls für den Parameter Inhalt zum Anzeigen keine Wert-Konfiguration vorliegt oder diese zur Laufzeit "Kein Wert" ($null) liefert, wird kein Browser-Tab geöffnet.

  • Ein im Ausführungskontext vorliegendes Bezugsobjekt gilt auch für eine Wert-Konfiguration im Parameter Inhalt zum Anzeigen als Bezugsobjekt, wird aber nicht als Standardwert herangezogen, falls keine Wert-Konfiguration vorliegt.

Häufig wird der Inhalt zum Anzeigen über einen Wertauflöser aus der Kategorie Inhaltserzeuger (Wertauflöser) bereitgestellt oder erzeugt.

  • Die Wertauflöser der Kategorie Inhaltserzeuger (Wertauflöser) liefern Rückgabewerte des Typs "Inhalt" (Content) oder Text (String).

  • Text (String) wird grundsätzlich direkt im Browser-Tab ausgegeben.

  • Ob "Inhalt" (Content) abhängig von dessen "Medientyp" (mediaType) direkt im Browser-Tab angezeigt oder als Download behandelt wird, entscheidet letztendlich der Browser ggf. auch unter Berücksichtigung der Erweiterung im Dateinamen (name).
    HINWEIS◄ Auch bei einem Download erscheint vorübergehend ein Browser-Tab, der aber automatisch wieder geschlossen wird.

  • Für einige "verwandte" Datentypen für "Inhalt" (Content) greift eine automatische Typumwandlung:

    • Dokumente können wahlweise komplett - als "Dokument" (Document)-Objekt (inkl. Dateiname) - oder als Byte Array (byte[]) aus dem Document-Feld "Dokumentinhalt" (documentContent) bereitgestellt werden.

    • Ein "Dateiinformation" (FileInfo)-Objekt (z. B. aus einem Datei-Element in einem Formular) kann direkt als Inhalt angezeigt werden. Dabei kann die "MIME Typ" (type) Eigenschaft entscheidend dafür sein, wie der Browser die Daten aufbereitet (z. B. text/plain vs. text/html).

  • Für alle anderen Datentypen wird das serverseitig definierte String-Abbild als Test im Browser-Tab ausgegeben.

Beispiele

Einfacher Anwendungsfall: Bilddatei aus dem Server-Dateisystem anzeigen

Innerhalb einer Ereignisbehandlung soll unter bestimmten Voraussetzungen eine hinterlegte Bilddatei (overview.png) in einem neuen Browser-Tab geöffnet werden.

Konfiguration:

Im Parameter Inhalt zum Anzeigen wird der Dateireferenz-Wertauflöser verwendet, um die Datei als "Inhalt" (Content) bereitzustellen:

  • Der statische Text im Parameter Dateipfad verweist auf das Stammverzeichnis für den Dateimanager, in dem die Datei abgelegt ist.

images/download/attachments/189441070/image-2024-12-5_13-4-59-version-1-modificationdate-1733400299183-api-v2.png

ANMERKUNG◄ Da die betreffende Datei nicht "öffentlich" (ohne Anmeldung an Lobster Data Platform / Orchestration) zugänglich sein soll, wurde sie nicht im web-Ordner des Server-Dateisystem platziert, sondern direkt im übergeordneten upload-Verzeichnis, das als Stammverzeichnis ($home) für den Dateimanager dient.
Läge die Datei innerhalb des web-Ordners (z. B. im Pfad $home/web/pics/overview.png) "öffentlich" ab, könnte anstelle der Inhalt anzeigen-Ereignisaktion auch die Externe URL öffnen-Ereignisaktion (mit der relativen URL pics/overview.png) zum Anzeigen des Bilds in einem neuen Browser-Tab verwendet werden.

Komplexerer Anwendungsfall: Daten einer Entität im Browser anzeigen

Der Info der Session--Wertauflöser stellt vielfältige Informationen zur aktuellen Sitzung in strukturierter Form - als Entität des Typs "Session Information" (SessionInformation) bereit.

Die folgenden Konfiguration demonstrieren unterschiedliche Ansätze, mit denen die enthaltenen Informationen per Inhalt anzeigen in einem eigenen Broswer-Tab visualisiert werden können.

Konfigurationsvarianten

Ergebnis (Anzeige im geöffneten Browser-Tab)

Hier wird der Rückgabewert des Info der Session-Wertauflösers direkt als Inhalt zum Anzeigen definiert.

Ausgegeben wird daraufhin das String-Abbild der Entität (s. rechts).

ANMERKUNG◄ Das erzielte Ergebnis ist nicht besonders nützlich, wenn es datum geht Erkenntnisse zur Sitzung zu gewinnen.

images/download/attachments/189441070/image-2024-12-5_13-42-7-version-1-modificationdate-1733402527103-api-v2.png

4:de.lobster.scm.authentication.SessionInformation@a8a42e83

Damit die im "Session Information"-Objekt enthaltenen Informationen im Browser-Tab untersucht werden können, wird hier der Info der Session-Wertauflöser mit einem JSON aus Objekt erzeugen-Wertauflöser verkettet.

Als Inhalt zum Anzeigen erhalten wir damit einen ggf. recht umfangreichen Text, der das "Session Information"-Objekt im JSON-Format ausführlich beschreibt und damit lesbar macht (s. Ausschnitt rechts).

ANMERKUNG◄ Der JSON aus Objekt erzeugen-Wertauflöser stellt das JSON-Abbild direkt als Text bereit, der als Inhalt zum Anzeigen direkt in den Browser-Tab ausgegeben wird.


Mit der etwas aufwändigeren Konfigurationsvariante unten kann man dem Browser zusätzlich "mitteilen", dass der Text (String) eine JSON-Struktur beschreibt. Sofern der Browser das unterstützt, erhält man dann eine nützlichere Aufbereitung der Ansicht (s. rechts unten).

images/download/attachments/189441070/image-2024-12-5_13-53-28-version-1-modificationdate-1733403208479-api-v2.png

{
"class": "de.lobster.scm.authentication.SessionInformation",
"additionalData": {
"\u0022$integrationClientId$\u0022": "-1",
"\u0022welcomeTooltip\u0022": "Karola(1901)\nSuper user limited\nXflow AG (1902)",
"\u0022welcomeText\u0022": "Frau Karola",
"\u0022apiUser\u0022": false,
"\u0022parentCompanies\u0022": {
"class": "list",
"data": [
{
"class": "java.lang.Long",
"value": "702"
},
...

images/download/attachments/189441070/image-2024-12-5_18-0-39-version-1-modificationdate-1733418038775-api-v2.png

  • Die in der vorherigen Variante gezeigte Verkettung der Ereignisaktione Info der Session und Objekt aus JSON erzeugen wird hier als Wert-Konfiguration (rechts) in einer Zuweisung an die Eigenschaft body eines "Inhalt" (Content)-Objekts verwendet. das wir per Erzeuge Instanz mit Werten-Wertauflöser on-the-fly als Inhalt zum Anzeigen-Wert erzeugen können.

  • Diese Vorgehensweise ermöglicht es uns neben dem body auch noch die Eigenschaft mediaType für den "Inhalt" (Content) festzulegen. Die Zuweisung des Typs application/json als statischer Text bewirkt, dass der body nicht mehr als Klartext anzeigt, sondern vom Browser - z. B. wie rechts dargestellt - spezifisch "interpretiert" wird:

    • Die Gliederung der JSON-Struktur wird durch Einfärben und Einrücken klarer dargestelt.

    • In einer verschachtelten Struktur können Elemente zusammengeklappt und expandiert werden.

    • Eine Such-/Filterfunktion erleichtert Recherchen in der Struktur.

HINWEIS◄ Analog zu diesem Beispiel kann ein XML-String (z. B. aus dem XML-Export-Wertauflöser) mit dem Typ text/xml verknüpft werden, damit es strukturiert dargestellt wird, sofern der Browser das unterstützt.


images/download/attachments/189441070/image-2024-12-5_17-46-24-version-1-modificationdate-1733417184176-api-v2.png