... |
... |
@@ -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 |
+ |