From version < 14.1 >
edited by gru
on 25.03.2019, 12:33
To version < 18.6
edited by gru
on 28.04.2020, 11:22
<
Change comment: Code Makro angepasst

Summary

Details

Page properties
Content
... ... @@ -2,17 +2,17 @@
2 2  
3 3  == Plugins for extending {{formcycle/}} ==
4 4  
5 -Many services and functions of {{formcycle/}} can be customized and extended by using plugins. Each [[plugin type>>doc:Main.PluginDevelopment.Types.WebHome]] extends a certain aspect of {{formcycle/}}, such as workflow processing or preprocessing forms. To create a custom plugin, you need to setup a Java project first of all.
5 +Many services and functions of {{formcycle/}} can be customized and extended by using plugins. Each [[plugin type>>doc:Formcycle.PluginDevelopment.Types.WebHome]] extends a certain aspect of {{formcycle/}}, such as workflow processing or preprocessing forms. To create a custom plugin, you need to setup a Java project first of all.
6 6  
7 7  == API documentation ==
8 8  
9 -The API documentations for {{formcycle/}} can be found here: [[Javadocs>>url:http://naiad.formcloud.de/javadoc/]]
9 +The API documentations for {{formcycle/}} can be found here: [[Javadocs>>https://docs.formcycle.eu/]]
10 10  
11 11  == Project setup ==
12 12  
13 -Setup a new Java project with the IDE of your choice. {{formcycle/}} uses the build management system [[Apache Maven>>url:https://maven.apache.org/]]) to resolve dependencies. Dependencies are provided by our public artifactory {{code}}http://artifactory.xima-services.de/artifactory/fc-plugin-dev{{/code}}. It contains all components needed for developing plugins. The main artifact you will need is the artifact [[fc-plugin-common>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common/]], containing all Java interfaces available for plugins.
13 +Setup a new Java project with the IDE of your choice. {{formcycle/}} uses the build management system [[Apache Maven>>url:https://maven.apache.org/]]) to resolve dependencies. Dependencies are provided by our public artifactory {{code language="none"}}http://artifactory.xima-services.de/artifactory/fc-plugin-dev{{/code}}. It contains all components needed for developing plugins. The main artifact you will need is the artifact [[fc-plugin-common>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common/]], containing all Java interfaces available for plugins.
14 14  
15 -Maven uses configuration files named {{code}}pom.xml{{/code}} (project object model). A pom for plugin development might look as follows:
15 +Maven uses configuration files named {{code language="none"}}pom.xml{{/code}} (project object model). A pom for plugin development might look as follows:
16 16  
17 17  {{panel title="Example for a pom.xml" initial="hidden" triggerable="true" fullwidth="true"}}
18 18  {{code language="xml"}}
... ... @@ -74,6 +74,7 @@
74 74   </manifest>
75 75   <manifestEntries>
76 76   <formcycle-version-requirement>${xfc-version}</formcycle-version-requirement>
77 + <Build-Time>${maven.build.timestamp}</Build-Time>
77 77   </manifestEntries>
78 78   </archive>
79 79   </configuration>
... ... @@ -111,11 +111,11 @@
111 111  All dependencies must be declared with the scope //provided//.
112 112  {{/info}}
113 113  
114 -Developing a plugin for {{formcycle/}} can be as simple as implementing one of the plugin interfaces. To install a plugin, upload them on the administrative interface either as a [[client>>doc:Formcycle.UserInterface.Client.Plugins]] or [[system plugin>>doc:Formcycle.SystemSettings.SystemPlugins]].
115 +Developing a plugin for {{formcycle/}} can be as simple as implementing one of the plugin interfaces. To install a plugin, upload them on the administrative interface either as a [[client>>doc:Formcycle.UserInterface.Client.Plugins]] or [[system plugin>>doc:Formcycle.SystemSettings.UserInterface.SystemPlugins]].
115 115  
116 116  == Demo plugins ==
117 117  
118 -As an introduction and to help you getting started with developing plugins, we provide several fully commented demo maven projects for each plugin type [[on our download pages>>url:http://download.formcycle.de/download/fc/V4/Plugins/]]. After downloading them, you can import them into the IDE of your choice, compile them and upload them to {{formcycle/}}.
119 +As an introduction and to help you getting started with developing plugins, we provide several fully commented demo maven projects for each plugin type [[on our download pages>>url:https://customer.formcycle.eu/index.php/s/PgdMrNOvbYEzhmr]]. After downloading them, you can import them into the IDE of your choice, compile them and upload them to {{formcycle/}}.
119 119  
120 120  == Special terms ==
121 121  
... ... @@ -124,18 +124,19 @@
124 124  {{table dataTypeAlpha="0-1" preSort="0-asc"}}
125 125  
126 126  |=German|=English|=Example
127 -|Mandant|[[Client>>doc:Main.MandantenMenue]]|{{code language="Java"}}public Mandant getMandant(){{/code}} (get client)
128 -|Benutzer|[[User>>doc:Main.Benutzer]]|{{code language="Java"}}public Benutzer getCurrentBenutzer(){{/code}} (get user currently logged in)
128 +|Mandant|[[Client>>doc:Formcycle.SystemSettings.UserInterface.Clients]]|{{code language="Java"}}public Mandant getMandant(){{/code}} (get client)
129 +|Benutzer|[[User>>doc:Formcycle.UserInterface.UserSettings.WebHome]]|{{code language="Java"}}public Benutzer getCurrentBenutzer(){{/code}} (get user currently logged in)
129 129  |Projekt|Project, a former term for a //form// containing files and multiple form versions|{{code language="Java"}}public Projekt getProjekt(){{/code}}
130 -|Aktion|[[Action>>doc:Main.Aktionen]] (workflow)|{{code language="Java"}}public Aktion getFolgeAktion(){{/code}} (get next action)
131 +|Aktion|[[Action>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.Actions.WebHome]] (workflow)|{{code language="Java"}}public Aktion getFolgeAktion(){{/code}} (get next action)
131 131  |Weiterverarbeitung|Further processing|{{code language="Java"}}public EWeiterverarbeitung_Aktion getWeiterverarbeitungBeiFehler(){{/code}} (how to continue when an error has occurred)
132 -|Bedingung|[[Condition>>doc:Main.Abarbeitungsbedingung]] (action)|{{code language="Java"}}public Bedingung getBedingung(){{/code}} (get the condition of an action)
133 -|Datei|[[File>>doc:Main.Dateien]]|{{code language="Java"}}public FormEingangDatei getDatei(){{/code}} (get attached file)
134 -|Textbaustein|[[Template>>doc:Main.Dateien und Templates]]|{{code language="Java"}}public ETextbausteinKategorie getKategorie(){{/code}} (get template type)
133 +|Bedingung|[[Condition>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.ActionConditions]] (action)|{{code language="Java"}}public Bedingung getBedingung(){{/code}} (get the condition of an action)
134 +|Datei|[[File>>doc:Formcycle.UserInterface.FilesAndTemplates.Files]]|{{code language="Java"}}public FormEingangDatei getDatei(){{/code}} (get attached file)
135 +|Textbaustein|[[Template>>doc:Formcycle.UserInterface.FilesAndTemplates.WebHome]]|{{code language="Java"}}public ETextbausteinKategorie getKategorie(){{/code}} (get template type)
135 135  |Vorgang|Form record|{{code language="Java"}}public Postfach getByVorgang(UserContext uc, Vorgang vorgang){{/code}} (get inbox for form record)
136 -|Postfach|[[Inbox>>doc:Main.Postfaecher]]|{{code language="Java"}}public Postfach getCurrentPostfach(){{/code}} (get current inbox)
137 -|Rolle|[[Role>>doc:Main.Rollen]]|{{code language="Java"}}public List<Rolle> getRollen(){{/code}} (get all roles for a user)
138 -|Datenquelle|[[Data source>>doc:Main.Quellen]]|{{code language="Java"}}public IPluginDataSourceRetVal executeDatenquelle(...){{/code}} (get serializable JSON array from a data source)
137 +|Postfach|[[Inbox>>doc:Formcycle.Inbox.WebHome]]|{{code language="Java"}}public Postfach getCurrentPostfach(){{/code}} (get current inbox)
138 +|Rolle|[[Role>>doc:Formcycle.UserInterface.UserSettings.Roles]]|{{code language="Java"}}public List<Rolle> getRollen(){{/code}} (get all roles for a user)
139 +|Datenquelle|[[Data source>>doc:.Types.IPluginDataSource]]|{{code language="Java"}}public IPluginDataSourceRetVal executeDatenquelle(...){{/code}} (get serializable JSON array from a data source)
139 139  |Beschreibung|Description|{{code language="Java"}}public String getBeschreibung(){{/code}}
140 140  |Kategory|Category|{{code language="Java"}}public ETextbausteinKategorie getKategorie(){{/code}}
142 +
141 141  {{/table}}
Copyright 2000-2025