Zeige letzte Bearbeiter
1 {{content/}}
2
3 == Schnittstelle IPluginFormPreRender ==
4
5 === Verwendungsmöglichkeiten ===
6
7 {{figure image="plugin_prerenderer.png" width="400" clear="h3"}}
8 Einordnung der //IPluginFormPreRender//-Schnittstelle in die Prozesskette von {{formcycle case="dat"/}}
9 {{/figure}}
10
11 * Bereitstellen von Werten aus externen Datenquellen bei der Formularauslieferung
12 * Vorausfüllung von Formularen
13 * Möglichkeit zum Abbrechen der Verarbeitung
14
15 {{warning}}
16 Bei Verwendung mehrerer //Formular-PreRenderer// ist die Reihenfolge nicht fest, in der diese ausgeführt werden. Die Reihenfolge kann daher jedesmal anders sein.
17 {{/warning}}
18
19 {{warning}}
20 Die //Formular-PreRenderer// werden grundsätzlich vor jedem Formularaufruf im jeweiligen Anwendungsbereich (System- oder Mandant-Scope) ausgeführt, in dem sie installiert wurden. Es wird deshalb empfohlen, in der //IPluginFormPreRender//-Logik als erstes zu prüfen, ob der //PreRenderer// für das jeweilige Formular ausgeführt werden soll. Dies lässt sich beispielsweise über //Plugin-Properties// konfigurierbar gestalten.
21 {{/warning}}
22
23 === Methodensignaturen ===
24
25 {{panel title="{{code language='java'~}~}IPluginFormPreRenderRetVal execute(IPluginFormPreRenderParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}}
26
27 **Übergabewerte:**
28 Der Typ //IPluginFormPreRenderParams// stellt folgende Eigenschaften bereit:
29 * Zugriff auf den Formular-Requestkontext (//IFormRequestContext//) und damit auf zentrale Objekte wie:
30 ** Vorgang
31 ** Projekt
32 ** Formularversion
33 ** Sessionparameter
34 ** (% style="line-height:1.4em" %)aktueller Nutzerkontext um beispielsweise Datenbankoperationen ausführen zu können
35 ** Mandant
36
37 **Rückgabewerte:**
38 Der Rückgabewert muss vom Typ //IPluginFormPreRenderRetVal// sein, eine Referenzimplementierung wird durch die Klasse //PluginFormPreRenderRetVal// bereitgestellt.
39
40 Das Objekt ermöglicht die Übergabe eines serialisierbaren JSON-Objektes, welches nach Auslieferung des Formulars an den Browser, unter dem Plugin-Namen, in der Formular-Variable {{code language="javascript"}}XFC_METADATA{{/code}}, verfügbar ist.
41
42 Weiterhin kann durch das Setzen der Werte-Map eine Vorausfüllung von Feldern beim Rendern des Formulars bewirkt werden. Diese Werte überschreiben gegebenenfalls schon vorhandene Werte und ersetzen ebenso Werte aus URL-Parametern.
43
44 Bei fehlerhafter Abarbeitung des Plugins wird eine //FCPluginException// geworfen.
45 {{/panel}}