Ö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.
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). |
►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. |
|
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 ...
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. |
►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:
|
|
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:
|
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:
|
|
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 "Client-Objekt" enthält - mit den Daten aus dem Laufzeitbeispiel - die rechts im JSON-Format abgebildete Datenstruktur. |
{ "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:
|
|