Wiki source code of Statusverarbeitung
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | == Interface: IPluginProcessing == | ||
4 | |||
5 | === Uses === | ||
6 | |||
7 | {{figure image="plugin_processing_en.png" width="400" clear="h3"}} | ||
8 | Placement of the status processing plugin within the process chain of {{formcycle case="dat"/}} | ||
9 | {{/figure}} | ||
10 | |||
11 | * Connection of own web service interfaces that are to further process transmitted form values. | ||
12 | * Connection of external systems which are to further process form values | ||
13 | |||
14 | === Method signatures === | ||
15 | |||
16 | The plugin interface //IPluginProcessing// references all methods provided by the [[Basic Interface IFCPlugin>>doc:Formcycle.PluginDevelopment.Types.IFCPlugin]]. | ||
17 | and additionally the following plugin-specific method signatures: | ||
18 | |||
19 | {{panel title="{{code language='java'~}~}IPluginProcessingRetVal execute(IPluginProcessingParams params) throws FCPluginException{{/code~}~}" triggerable="true" fullwidth="true"}} | ||
20 | |||
21 | **Transfer values. | ||
22 | |||
23 | {{warning}} | ||
24 | Placeholder substitution is applied to all parameters before they are passed to the plugin. For example, //[%tf1%]// within the value of a parameter is replaced by the content of the form field with the name //tf1//. At present, it is not possible to set whether the placeholder replacement should be carried out or not. | ||
25 | {{/warning}} | ||
26 | |||
27 | The //IPluginProcessingParams// type provides the following properties: | ||
28 | * Access to the workflow processing context (//IWorkflowProcessingContext//) and thus to central object such as: | ||
29 | ** current process | ||
30 | ** form data | ||
31 | ** session parameters | ||
32 | ** parameters from upstream action processing of the same status | ||
33 | ** current user context in order to be able to perform database operations, for example | ||
34 | * Access to the action object in which the processing is carried out and thus information about the classification of the current action within the status processing. | ||
35 | * Access to the parameters configured on the status processing plug-in. | ||
36 | |||
37 | **Return values | ||
38 | The return value must be of type //IPluginProcessingRetVal//. | ||
39 | This makes it possible to return simple status values (//true// or //false//), but also several values in the form of strings or binary data of a file. | ||
40 | |||
41 | The following table names the possible return interfaces and their reference implementation: | ||
42 | |||
43 | {{table dataTypeAlpha="0-1"}} | ||
44 | |= Interface|= Reference implementation|= Description | ||
45 | |IProcessingResultSuccess|ProcessingResultSuccess|Return a status (//true// or //false//) | ||
46 | |IProcessingResultIntValue|ProcessingResultIntValue|Returns a status and an integer value. | ||
47 | |IProcessingResultStringValue|ProcessingResultStringValue|Returns a status and a string value. | ||
48 | |IProcessingResultMultiValue|ProcessingResultMultiValue|Returns a status and a map with string values. | ||
49 | |IProcessingResultFilePath|ProcessingResultFilePath|Returns a status and a file path. | ||
50 | |IProcessingResultFileData|ProcessingResultFileData|returns a status and the binary data of a file. | ||
51 | {{/table}} | ||
52 | {{html}}<br>{{/html}} | ||
53 | If the plugin is processed incorrectly, an //FCPluginException// is thrown. This can be reacted to in the status processing of {{formcycle case="dat"/}}, by configuring an action to be executed in the event of an error. | ||
54 | {{/panel}} |