... |
... |
@@ -1,6 +1,5 @@ |
1 |
1 |
{{content/}} |
2 |
2 |
|
3 |
|
-== Plugins für zusätzliche Funktionalitäten == |
4 |
4 |
|
5 |
5 |
{{formcycle/}} bietet ein Vielzahl von Einstiegspunkten für die Erweiterung der Standard-Funktionalitäten durch Plugins. Basierend auf den einzelnen [[Plugin-Typen>>doc:Formcycle.PluginDevelopment.Types.WebHome]] werden diese zu gewissen Zeitpunkten automatisch oder manuell angesprochen und erlauben es somit von der Ersetzung eigener Platzhalter bis hin zur Implementierung eigener Verarbeitungslogik {{formcycle/}} anzupassen. Als fundamentaler erster Schritt für die Entwicklung eigener Plugins ist hierbei das Erstellen eines entsprechenden Java-Projekts anzusehen. |
6 |
6 |
|
... |
... |
@@ -76,7 +76,7 @@ |
76 |
76 |
Alle Abhängigkeiten zu {{formcycle case="dat"/}} sind im scope "provided" zu definieren! |
77 |
77 |
{{/info}} |
78 |
78 |
|
79 |
|
-Ausgangspunkt für die Entwicklung von Plugin ist das Maven-Artefakt //fc-plugin-common//. Dieses enthält die einzelnen Plugin-Schnittstellen und steht auch auf [[unserere Downloadseite zur Verfügung>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common/]]. |
|
78 |
+Ausgangspunkt für die Entwicklung von Plugin ist das Maven-Artefakt //fc-plugin-common//. Dieses enthält die einzelnen Plugin-Schnittstellen und steht auch auf [[unserere Downloadseite zur Verfügung>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common||target="_blank"]]. |
80 |
80 |
|
81 |
81 |
In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden: |
82 |
82 |
|
... |
... |
@@ -194,11 +194,15 @@ |
194 |
194 |
== Maven-Archetypes == |
195 |
195 |
|
196 |
196 |
{{figure image="eclipse-archetype.png" width="500"}} |
197 |
|
- Hinzufügen des Archetypes-Katalogs in Eclipse: https~~:~~/~~/artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml |
|
196 |
+ Hinzufügen des Archetypes-Katalogs in Eclipse |
198 |
198 |
{{/figure}} |
199 |
199 |
|
200 |
|
-Für einige häufig verwendete Plugin-Typen stehen [[Maven-Archetypes>>url:https://maven.apache.org/guides/introduction/introduction-to-archetypes.html]] bereits, um schnell ein Maven-Projekt aufsetzen zu können. |
|
199 |
+{{figure image="eclipse-archetype-select.png" width="500"}} |
|
200 |
+ Auswahl eines Archetypes beim Erstellen eines Maven-Projekts in Eclipse |
|
201 |
+{{/figure}} |
201 |
201 |
|
|
203 |
+Für einige häufig verwendete Plugin-Typen stehen [[Maven-Archetypes>>url:https://maven.apache.org/guides/introduction/introduction-to-archetypes.html||target="_blank"]] bereits, um schnell ein Maven-Projekt aufsetzen zu können. |
|
204 |
+ |
202 |
202 |
Voraussetzung für die Verwendung ist, dass in den //~~/.m2/settings.xml// wie oben beschrieben das XIMA-Artifactory eingerichtet wurde. Dann kann etwa über die Kommandozeile wie folgt eine Archetype generiert werden: |
203 |
203 |
|
204 |
204 |
{{code}} |
... |
... |
@@ -207,16 +207,63 @@ |
207 |
207 |
|
208 |
208 |
Es werden dann einige wenige Informationen wie die gewünschten Maven-Koordinaten des neuen Plugin-Projekts abgefragt und anschließend ein neues vorkonfiguriertes Projekt erstellt. |
209 |
209 |
|
210 |
|
-Alle vorhandenen Archetypes und deren Versionen können im [[Archetype-Katalog>>url:https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml]] eingesehen werden. |
|
213 |
+Alle vorhandenen Archetypes und deren Versionen können im [[Archetype-Katalog>>url:https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml||target="_blank"]] eingesehen werden. |
211 |
211 |
|
212 |
|
-In Eclipse kann der Archetype-Katalog in den Einstellungen hinzugefügt werden. Bei der Erstellung eines neuen Maven-Projekt werden dann alle verfügbaren Archetypes angezeigt. |
|
215 |
+In Eclipse kann der Archetype-Katalog in den Einstellungen hinzugefügt werden. Bei der Erstellung eines neuen Maven-Projekt werden dann alle verfügbaren Archetypes angezeigt: |
213 |
213 |
|
|
217 |
+{{code language="plaintext"}}https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml{{/code}} |
|
218 |
+ |
214 |
214 |
== Deploy-Plugin |
215 |
215 |
|
216 |
|
-TODO |
|
221 |
+Um beim Entwickeln nicht jedes Mal eine neue Plugin-Version manuell über die Oberfläche hochladen zu müssen, kann das Deploy-Plugin verwendet werden. Dieses besteht aus 2 Teilen: |
217 |
217 |
|
218 |
|
-== FC-Server-Plugin |
|
223 |
+* Ein Maven-Plugin, welches nach dem Bauen das Plugin via HTTP an einen laufenden {{formcycle/}}-Server sendet |
|
224 |
+* Ein Plugin für {{formcycle/}}, welche die Gegenstelle in {{formcycle/}} bereitstellt und das Plugin aus dem HTTP-Request in {{formcycle/}} installiert. |
219 |
219 |
|
220 |
|
-TODO |
|
226 |
+Weitere Details können im [[Hilfe-Artikel zum Deploy-Plugin>>doc:Formcycle.PluginDocumentation.FormcycleDeployPluginPlugin]] nachgelesen werden. Für die meisten Fälle reicht folgende Konfiguration in der //pom.xml// des Plugin-Projekts aus: |
221 |
221 |
|
|
228 |
+{{code language="xml"}} |
|
229 |
+ <properties> |
|
230 |
+ <fc-deploy-plugin-maven-plugin.version>7.0.1<fc-deploy-plugin-maven-plugin.version/> |
|
231 |
+ <build> |
|
232 |
+ <plugins> |
|
233 |
+ <plugin> |
|
234 |
+ <groupId>de.xima.fc.maven.plugin</groupId> |
|
235 |
+ <artifactId>fc-deploy-plugin-maven-plugin</artifactId> |
|
236 |
+ <version>${fc-deploy-plugin-maven-plugin.version}</version> |
|
237 |
+ <executions> |
|
238 |
+ <execution> |
|
239 |
+ <id>upload</id> |
|
240 |
+ <phase>install</phase> |
|
241 |
+ <goals> |
|
242 |
+ <goal>deploy</goal> |
|
243 |
+ </goals> |
|
244 |
+ </execution> |
|
245 |
+ </executions> |
|
246 |
+ </plugin> |
|
247 |
+ </plugins> |
|
248 |
+ </build> |
|
249 |
+{{/code}} |
222 |
222 |
|
|
251 |
+Sofern das Deploy-Plugin bereits in {{formcycle/}} installiert ist, kann das Plugin-Projekt dann beim Bauen wie folgt hochgeladen werden: |
|
252 |
+ |
|
253 |
+{{code language="bash"}} |
|
254 |
+mvn clean install -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin |
|
255 |
+{{/code}} |
|
256 |
+ |
|
257 |
+Wird Eclipse benutzt, kann auch eine Launch-Configuration mit den //fcDeployUrl// und dem //fcDeployToken// angelegt werden. |
|
258 |
+ |
|
259 |
+== FC-Server-Plugin == |
|
260 |
+ |
|
261 |
+Zum Testen eines Plugins ist es erforderlich, einen laufenden {{formcycle/}}-Server zu haben. Zur Vereinfachung der Entwicklung gibt es das //fc-server-maven-plugin//, welches mittels eines einzigen Befehls ein fertig eingerichtetes {{formcycle/}} lokal startet, wo auch bereits das Deploy-Plugin vorinstalliert ist. |
|
262 |
+ |
|
263 |
+Sofern wie oben beschrieben in //~~/.m2/settings.xml// die //pluginGroup// hinterlegt wurde, kann in einem beliebiegen Verzeichnis wie folgt ein {{formcycle/}}-Server per Maven gestartet werden: |
|
264 |
+ |
|
265 |
+{{code language="bash"}} |
|
266 |
+mvn fc-server:run-ms-war -DxfcVersion=7.0.10 |
|
267 |
+{{/code}} |
|
268 |
+ |
|
269 |
+Nach kurzer Wartezeit (beim ersten Mal kann es länger dauern) ist dann ein {{formcycle/}}-Server gestartet. Die URL steht am Ende in der Kommandozeile, standardmäßig http://localhost:8080/xima-formcycle |
|
270 |
+ |
|
271 |
+Dies funktioniert auch in einem Ordner ohne Maven-Projekt. Falls keine {{formcycle/}} angegeben ist, wird eine Standard-Version genommen. Wird der Befehl innerhalb eines Plugin-Maven-Projekts ausgeführt, wird versucht, die Version von {{formcycle/}} aus dem Plugin-Projekt auszulesen. |
|
272 |
+ |