Öffne Portal (Aktion)

Siehe auch: Öffne Portal (Verhaltensweise), Öffne View (Aktion)

Ereignisaktion - Kurzfassung

Zweck: Öffnet ein Portal, dem ein Datenobjekt übergeben werden kann und wartet optional auf die Rückgabe eines Datenobjekts.

Die Ereignisaktion Öffne Portal (Aktion) öffnet ein Portal, dem ein Datenobjekt übergeben werden kann, und wartet optional auf die Rückgabe eines Datenobjekts.

images/download/attachments/177911770/image-2024-9-17_14-43-24-version-1-modificationdate-1726577004274-api-v2.png

Konfiguration

Die Konfiguration der Ereignisaktion Öffne Portal (Aktion) deckt vielfältige Anwendungsszenarien ab und bietet deshalb zahlreiche Parameter an. Diese werden nachfolgend tabellarisch und gruppiert nach Schwerpunkten vorgestellt. Dabei zeigt die rechte Spalte der Tabelle immer den betreffenden Abschnitt des Konfigurationsdialogs.

Auswahl oder Definition des zu öffnenden Portals

Das zu öffnende Portal kann entweder per Auswahl unter Portal Name ausgewählt oder über den Parameter Portal XML als XML Struktur bereitgestellt werden.

Wenn nur der Parameter Portal Name verwendet wird, dann wir das ausgewählte Portal geöffnet, sofern es existiert, mindestens einmal veröffentlicht wurde und zur Laufzeit anwendbar ist (s. Zuordnungskriterien, Firmenfreigaben).

Wird dagegen der Parameter Portal XML genutzt, um die XML-Struktur für eine Portaldefinition (s. Feld master einer Portal-Entität) als direkte Texteingabe oder als Rückgabewert eines Wertauflösers bereitzustellen, dann erscheint das entsprechende Portal zur Laufzeit. Der Parameter Portal Name kann dann verwendet werden, um den Standardtitel ("Portal") im Portal zu übersteuern. Dabei "erbt" das geöffnete Portal ggf. auch den betreffenden Hilfekontext (s. Online Hilfen).

images/download/attachments/177911770/image-2024-9-17_14-45-22-version-1-modificationdate-1726577121808-api-v2.png

HINWEIS◄ Per Klick auf den grauen Pfeil links unten im Eingabefeld für den Parameter Portal XML kann vom Direkteingabemodus zur Definition eines Wertauflösers gewechselt werden.

Datenzuweisung für das zu öffnende Portal

Der Wertauflöser im Parameter Entität definiert ein Datenobjekt, das dem zu öffnenden Portal als Formulardaten übergeben wird, sofern kein Prepare Profil ausgewählt ist.

Ist per Prepare Profil ein Lobster_data-Profil ausgewählt, wird dieses mit dem Datenobjekt als Eingangsdaten im SERVER-XML-Format synchron aufgerufen, wobei eine Antwort vom Profil einem wählbaren Profilausgangsformat (JSON, SERVER, CLIENT, TEXT, CSV, BYTE_ARRAY) abgewartet wird, die das zu öffnende Portal als Formulardaten erhält.

images/download/attachments/177911770/image-2024-9-17_14-46-21-version-1-modificationdate-1726577181198-api-v2.png

Datenrückgabe aus dem Portal (optional)

Der optionale Parameter Variablenname des Rückgabeobjekts kann verwendet werden, um den Namen einer Variablen anzugeben, über die auf Rückgabedaten aus dem geöffneten Portal zugegriffen werden kann, sofern ...

  • eine Wartezeit Wertrückgabe >0 (Einheit: Sekunden) konfiguriert ist ...

  • und im Portal zur Laufzeit vor Ablauf dieser Wartezeit die Aktion Schließen anfordern ausgeführt wird.

Verstreicht eine Wartezeit Wertrückgabe (>0 Sekunden) ohne dass Schließen anfordern ausgeführt wird, wird das Portal automatisch geschlossen und die Rückgabedaten sind leer.

Ist dagegen als Wartezeit Wertrückgabe der Wert 0 (Standard) eingestellt, wird die Ereignisverarbeitung sofort nach dem Öffnen des Portals und ohne Rückgabedaten abzuwarten fortgesetzt.

images/download/attachments/177911770/image-2024-9-17_14-47-17-version-1-modificationdate-1726577236852-api-v2.png

WICHTIG◄ Die Wartezeit Wertrückgabe muss >0 sein, damit das Portal überhaupt "synchron" aufgerufen wird. Nur dann werden Rückgabedaten aus einer Schließen anfordern-Aktion im Portal abgewartet.

Wird das Portal geschlossen, ohne dass die Schließen anfordern-Aktion Daten ausgeführt wird, bleibt die Rückgabeobjekt-Variable leer. (s. a. Option Schließbar unten).

Anzeigeverhalten des Portals

Wenn die Option Modal nicht ausgewählt ist (Standard), soll das Portal beim Öffnen in einer eigenständigen View erscheinen. Dann entscheidet die Option Darf nur einmal geöffnet sein?, ob das Portal auch dann geöffnet wird, wenn schon (mindestens) eine Instanz des Portals "nicht-modal" - also als eigenständige View - geöffnet ist.

Ist die Option Modal ausgewählt, wird das Portal beim Öffnen innerhalb der aktuellen View angezeigt. Die Option Darf nur einmal geöffnet sein? wird dann nicht beachtet. In der Konfiguration erscheinen außerdem zusätzliche Optionen:

  • Die Option Vollbild entscheidet, ob das geöffnete Portal die aktuelle View als "Vollbild" flächendeckend ausfüllt oder als Dialogfenster innerhalb dieser View erscheint.

    • Ist diese Option abgewählt, werden zusätzliche Einstellungen für die Größe eingeblendet (Breite, Höhe, Mindestbreite und Mindesthöhe). Die Angaben sind im Pixelmaß anzugeben.

  • Die Auswahl für Größe veränderbar greift nur für die Darstellung als Dialog (nicht Vollbild).

  • Die Option Schließbar kann abgewählt werden, um zu verhindern, dass die Titelleiste des modalen Fensters das Symbol "X" zum Schließen des modal angezeigten Portals anzeigt. Dies ist empfehlenswert, wenn Rückgabedaten aus dem Portal erwartet werden. Der Klick auf das Symbol "X" schließt sonst das Portal, ohne dass das Verhalten mit der Aktion Schließen anfordern ausgeführt wird, das die Rückgabedaten bereitstellen soll.

images/download/attachments/177911770/image-2024-9-17_14-48-40-version-1-modificationdate-1726577319922-api-v2.png

Beispiel

Anzeigen von "Detailinformationen" auf Abruf

Im folgenden Beispiel soll ein Portal verwendet werden, um bestimmte Detailinformationen auf Anfrage in einem Dialogfenster anzuzeigen, wenn der Benutzer eine bestimmte Aktion ausführt.

Konkret sollen dem Benutzer einer Übersicht für Geschäftsobjekte Details zu dem Benutzer, der ein bestimmtes Geschäftsobjekt zuletzt geändert hat, in einer Art "Visitenkarte" angezeigt werden.

Laufzeitbeispiel:

images/download/attachments/177911770/image2021-3-10_11-47-6-version-1-modificationdate-1726576983590-api-v2.png

Die "Visitenkarte" soll eine Textverkettung der Werte aus den Feldern "Benutzername" (username) und "Name 1", "Name 2" und "Name 3" aus der Adresse des Benutzers (address.name1/2/3) anzeigen, der das betreffende Geschäftsobjekt zuletzt geändert hat.

Das Textfeld unterhalb soll den "Name 1" aus der Adresse der Firma anzeigen, die der Besitzer dieses Benutzerkontos ist.

Außerdem soll (links) ein Bild/Icon-Element das Profilbild (s. Profilbild ändern) des Benutzers wiedergeben, sofern eines hochgeladen wurde.

Der Aufruf des Portals soll über ein Eigenes Aktionsevent in einer Ereignisbehandlung gesteuert werden, damit er durch unterschiedliche Aktionen (z. B. per Klick in eine "Eigene Spalte" der Übersicht oder ein Ribbon-Makro) ausgelöst werden kann.

Konfiguration:

Nachdem ein Eigenes Aktionsevent mit dem Namen "Whois" (WHOIS) angelegt wurde, kann es einer Ereignisbehandlung als Auslösendes Ereignis zugewiesen werden.


Als Prüfende Regel wird eine Typprüfung gewählt, die auf den den Typ Geschäftstransaktionsobjekt abstellt, der allen Geschäftsobjekten übergeordnet ist. Die "Visitenkarte" kann mit dieser Konfiguration für Bestellungen, Sendungen, Manifeste ebenso angezeigt werden wie für ein Allgemeines Geschäftsobjekt.


Da das Portal einige wenige Informationen aus unterschiedlichen Entitäten (Benutzer- und Firmenkonto) zusammenfassen soll, werden diese anschließend zunächst "zusammengetragen" und in Variablen übergeben:

  • Innerhalb einer Ausführen mit-Ereignisaktion wird hier zunächst das Benutzerkonto als Bezugsobjekt gesetzt, dessen ID im Feld "Zuletzt geändert von" (lastModifierId) des Geschäftstransaktionsobjekts vermerkt ist. Dies ermöglicht eine Verkettung von Objekt-Feld- und Eingabeobjekt (Typsicher)-Wertauflöser (im Bild nicht aufgeklappt).

  • Danach werden per Setze Wert die relevanten Feldwerte aus dem Benutzer-Konto in eine String-Variable (name) übertragen, was wahlweise per Textverkettung- oder Vorlage-Wertauflöser möglich ist.

  • Eine weitere Ausführen mit-Ereignisaktion verändert dann das Bezugsobjekt erneut zu dem Firmenkonto, das als "Besitzer" (ownerID) des Benutzerkontos angegeben ist. Dies ermöglicht wiederum eine Kombination von Objekt-Feld- und Eingabeobjekt (Typsicher)-Wertauflöser. Im Kontext des Firmenkontos wird das Feld "Name 1" (address.name1) aus der Adresse in eine String-Variable (company) übernommen.

images/download/attachments/177911770/image2021-3-10_12-12-9-version-1-modificationdate-1726576983597-api-v2.png

Nun folgt eine weitere Ausführen mit-Ereignisaktion, deren Objekt Resolver als Bezugsobjekt per Erzeuge Instanz-Wertauflöser ein neues "Client-Objekt" erzeugt. Dieser nach Typ und Inhalt unbestimmten Datenstruktur werden anschließend durch eine Serie von Setze Wert-Ereignisaktionen die Felder und Werte zugewiesen, die das Portal erwartet:

  • Das Feld function befüllt die Überschrift (s. o. "Zuletzt geändert von"), die die "Funktion" des Benutzers in Bezug auf das Geschäftsobjekt verdeutlichen soll. Der Wert kann als statischer Text eingegeben oder (besser!) über einen Wert aus Sprachverwaltung-Wertauflöser zugeordnet werden.

  • Das Feld name definiert das erste Textfeld im Portal. Hier soll der Wert erscheinen, der vorher aus Merkmalen des Benutzerkontos zusammengestellt und in der Variablen name gespeichert wurde.

  • Das Feld pic definiert die URL für das Bild im Portal. Dieses Merkmal kann direkt aus dem Feld avatarURL des Benutzerkontos übernommen werden, auf das per Variable user (s. Parameter Benutzer in Variable speichern) Zugriff besteht.

  • Das Feld context definiert das zweite Textfeld im Portal. Hier soll der Name der Firma erscheinen, die das Benutzerkonto besitzt. Dieser Name wurde in der letzten Ausführen mit-Ereignisaktion im vorherigen Abschnitt in der Variablen company gespeichert.

images/download/attachments/177911770/image2021-3-10_18-26-8-version-1-modificationdate-1726576983602-api-v2.png

Das "Client-Objekt" enthält - mit den Daten aus dem Laufzeitbeispiel - die rechts im JSON-Format abgebildete Datenstruktur.

images/download/attachments/177911770/image2021-3-10_11-47-6-version-1-modificationdate-1726576983590-api-v2.png

{
"function": "Zuletzt geändert von",
"name": "Q - ☺ Karola Mustermann",
"context": "Xflow AG",
"pic": "img://avatar/user_avatar_1901.png?c=1583340638977"
}

Diese Daten werden noch innerhalb derselben Ausführen mit-Ereignisaktion an das Portal übergeben:

  • Der Portal Name identifiziert das anzuzeigende Portal, wobei letztendlich Zuordnungskriterien bestimmen, ob dies in einem bestimmten Kontext überhaupt passiert und welches von ggf. mehreren Portalen mit dem Namen WHOIS erscheint.

  • Der Parameter Portal XML und das Prepare Profil werden nicht verwendet.

  • Für die Entität ist kein Wertauflöser konfiguriert, so dass das aktuelle Bezugsobjekt - hier das ad hoc erzeugte "Client-Objekt" - als Formulardaten an das Portal übergeben wird.

  • Der Parameter Wartezeit Wertrückgabe bewirkt hier nur, dass die angezeigte "Visitenkarte" nach 5 Sekunden automatisch wieder geschlossen wird. Eine Wertrückgabe aus dem Portal ist nicht vorgesehen. Daher bleibt der Parameter Variablenname des Rückgabeobjekts leer.

  • Die Option Darf nur einmal geöffnet sein? ist per Standard gesetzt, hat aber in Verbindung mit der ausgewählten Option Modal keine Auswirkung. Da das modal geöffnete Portal ein erneutes interaktives Auslösen des Ereignisses innerhalb derselben View blockiert bis es geschlossen wird, kann es vom Benutzer in dieser Konstellation ohnehin kein zweites Mal geöffnet werden.

  • Das Portal soll als Dialog (nicht als Vollbild) erscheinen, dessen Größe nicht veränderbar ist.

  • Mit der Option Schließbar kann der Benutzer das "X" Symbol rechts oben im Titel des Dialogs anklicken, um die "Visitenkarte" schon vor dem Ablauf der Wartezeit (s. o.) wieder zu schließen.

images/download/attachments/177911770/image2021-3-10_19-0-11-version-1-modificationdate-1726576983608-api-v2.png