Änderungen von Dokument Plugin-Entwicklung


Von Version 5.4
bearbeitet von awa
am 25.02.2022, 13:08
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 5.8
bearbeitet von awa
am 25.02.2022, 13:25
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -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  
... ... @@ -219,10 +219,55 @@
219 219  
220 220  == Deploy-Plugin
221 221  
222 -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:
223 223  
224 -== 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.
225 225  
226 -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:
227 227  
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}}
228 228  
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 +