Zeige letzte Bearbeiter
1 {{content/}}
2
3 == Schnittstelle: IPluginProcessing ==
4
5 === Verwendungsmöglichkeiten ===
6
7 {{figure image="plugin_processing.png" width="400" clear="h3"}}
8 Einordnung des Statusverarbeitungsplugins innerhalb der Prozesskette von {{formcycle case="dat"/}}
9 {{/figure}}
10
11 * Anbindung eigener Webservice-Schnittstellen, die übermittelte Formularwerte weiterverarbeiten sollen
12 * Anbindung von Fremdsystemen, welche Formularwerte weiterverarbeiten sollen
13
14 === Methodensignaturen ===
15
16 Die Plugin-Schnittstelle //IPluginProcessing// referenziert alle durch die [[Basis-Schnittstelle IFCPlugin>>doc:Formcycle.PluginDevelopment.Types.IFCPlugin]] bereitgestellten Methoden
17 und zusätzlich noch folgende Plugin-spezifische Methodensignaturen:
18
19 {{panel title="{{code language='java'~}~}IPluginProcessingRetVal execute(IPluginProcessingParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}}
20
21 **Übergabewerte:**
22
23 {{warning}}
24 Bei allen Parametern wird vor der Übergabe an das Plugin die Platzhalterersetzung angewendet. Dabei wird z.B. //[%tf1%]// innerhalb des Wertes eines Parameters durch den Inhalt des Formularfelds mit Namen //tf1// eretzt. Derzeit ist es nicht einstellbar, ob die Platzhalterersetzung durchgeführt werden soll oder nicht.
25 {{/warning}}
26
27 Der Typ //IPluginProcessingParams// stellt folgende Eigenschaften bereit:
28 * Zugriff auf den Workflow-Verarbeitungskontext (//IWorkflowProcessingContext//) und damit auf zentrale Objekt wie:
29 ** aktueller Vorgang
30 ** Formulardaten
31 ** Sessionparameter
32 ** Parameter aus vorgelagerten Aktionsverarbeitungen des gleichen Status
33 ** aktueller Nutzerkontext um beispielsweise Datenbankoperationen ausführen zu können
34 * Zugriff auf das Aktionsobjekt in welcher die Verarbeitung durchgeführt wird und damit Informationen über die Einordnung der aktuellen Aktion innerhalb der Statusverarbeitung
35 * Zugriff auf die am Statusverarbeitungs-Plugin konfigurierten Parameter
36
37 **Rückgabewerte:**
38 Der Rückgabewert muss vom Typ //IPluginProcessingRetVal// sein.
39 Damit ist es möglich, einfache Statuswerte (//true// oder //false//), aber auch mehrere Werte in Form von Strings oder Binärdaten einer Datei zurückzuliefern.
40
41 Die nachfolgende Tabelle benennt die möglichen Rückgabe-Interfaces und deren Referenzimplementierung:
42
43 {{table dataTypeAlpha="0-1"}}
44 |= Interface|= Referenzimplementierung|= Beschreibung
45 |IProcessingResultSuccess|ProcessingResultSuccess|Zurückliefern eines Status (//true// oder //false//)
46 |IProcessingResultIntValue|ProcessingResultIntValue|Rückgabe eines Status und eines Integer-Wertes
47 |IProcessingResultStringValue|ProcessingResultStringValue|Rückgabe eines Status und eines String-Wertes
48 |IProcessingResultMultiValue|ProcessingResultMultiValue|Rückgabe eines Status und einer Map mit String-Werten
49 |IProcessingResultFilePath|ProcessingResultFilePath|Rückgabe eines Status und eines Dateipfades
50 |IProcessingResultFileData|ProcessingResultFileData|Rückgabe eines Status und den Binärdaten einer Datei
51 {{/table}}
52 {{html}}<br>{{/html}}
53 Bei fehlerhafter Abarbeitung des Plugins wird eine //FCPluginException// geworfen. Auf diese kann in der Statusverarbeitung von {{formcycle case="dat"/}}, durch Konfiguration einer Aktion, die im Fehlerfall ausgeführt werden soll, reagiert werden.
54 {{/panel}}
Copyright 2000-2024