Änderungen von Dokument Plugin-Entwicklung


Von Version 5.6
bearbeitet von awa
am 25.02.2022, 13:22
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.12
bearbeitet von awa
am 25.02.2022, 12:18
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -16,7 +16,7 @@
16 16  
17 17  Um die entsprechenden Abhängigkeiten zu {{formcycle case="dat"/}} bereitzustellen, ist das Repository unter der URL [[https:~~/~~/artifactory.xima-services.de/artifactory/fc-plugin-dev>>url:https://artifactory.xima-services.de/artifactory/fc-plugin-dev]] zu benutzen. Dieses enthält alle öffentlich zur Verfügung stehenden Artefakte, welche dem Plugin zur Laufzeit bereitgestellt und während der Entwicklung benötigt werden.
18 18  
19 -Damit das Repository auch beim Bauen mit Maven verwendet wird, sollte folgendes in die Maven-Konfigurationsdatei //settings.xml// geschrieben werden. Diese Datei findet sich in der Regeln im //.m2//-Ordner im Home-Verzeichnis des aktuellen Nutzers. Unter Linux //~~/.m2/settings.xml// und unter Windows //%homepath%\.m2\settings.xml//:
19 +Damit das Repository auch beim Bauen mit Maven verwendet wird, sollte folgendes in die Maven-Konfigurationsdatei //settings.xml// geschrieben werden. Diese Datei findet sich in der Regeln im //.m2//-Ordner im Home-Verzeichnis des aktuellen Nutzers. Unter Linux //~/.m2/settings.xml// und unter Windows //%homepath%\.m2\settings.xml//:
20 20  
21 21  {{panel title="~~~~/.m2/settings.xml" fullwidth="true" initial="hidden" triggerable="true"}}
22 22  {{code language="xml"}}
... ... @@ -68,7 +68,7 @@
68 68  
69 69  == Maven-Projekteinrichtung
70 70  
71 -Im Folgenden werden einige Punkte beschrieben, die beim Einrichten eines Maven-Projekts für ein {{formcycle/}}-Plugin beachtet werden müssen. Für den schnellen Einstieg gibt auch einige [[Maven-Archetypes>>||anchor="HMaven-Archetypes"]].
71 +Im Folgenden werden einige Punkte beschrieben, die beim Einrichten eines Maven-Projekts für ein {{formcycle/}}-Plugin beachtet werden müssen. Für den schnellen Einstieg gibt auch einige [[Maven-Archetypes>>PluginDevelopment#HMaven-Archetypes]].
72 72  
73 73  === Artekfakte und Abhängigkeiten
74 74  
... ... @@ -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||target="_blank"]].
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/]].
80 80  
81 81  In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden:
82 82  
... ... @@ -185,87 +185,24 @@
185 185   mvn clean install
186 186  {{/code}}
187 187  
188 -Nachdem das Plugin erfolgreich gebaut wurde, kann die so entstandene JAR-Datei im //target//-Verzeichnis in {{formcycle/}} über die Oberfläche [[Mandant-Plugins>>doc:Formcycle.UserInterface.Client.Plugins]] beziehungsweise [[System-Plugins>>doc:Formcycle.SystemSettings.UserInterface.SystemPlugins]] hochgeladen werden.
188 +Nachdem das Plugin erfolgreich gebaut wurde, kann die so entstandene JAR-Datei in {{formcycle/}} über die Oberfläche [[Mandant-Plugins>>doc:Formcycle.UserInterface.Client.Plugins]] beziehungsweise [[System-Plugins>>doc:Formcycle.SystemSettings.UserInterface.SystemPlugins]] hochgeladen werden.
189 189  
190 -Siehe [[Deploy-Plugin>>||anchor="HDeploy-Plugin"]] zum automatischen Hochladen beim Maven-Build.
190 +Zum automatischen Hochladen gibt es zudem das Deploy-Plugin, siehe unten.
191 191  
192 -Siehe [[FC-Server-Plugin>>||anchor="HFC-Server-Plugin"]] zum Starten eines einfachen {{formcycle/}}-Servers.
192 +Zum Starten eines einfachen {{formcycle/}}-Servers gibt es das FC-Server-Plugin, siehe ebenfalls unten.
193 193  
194 194  == Maven-Archetypes ==
195 195  
196 -{{figure image="eclipse-archetype.png" width="500"}}
197 - Hinzufügen des Archetypes-Katalogs in Eclipse
198 -{{/figure}}
196 +TODO
199 199  
200 -{{figure image="eclipse-archetype-select.png" width="500"}}
201 - Auswahl eines Archetypes beim Erstellen eines Maven-Projekts in Eclipse
202 -{{/figure}}
198 +Um einen besseren Einstieg in die Plugin-Entwicklung zu finden, [[bieten wir auf unserer Downloadseite>>url:https://customer.formcycle.eu/index.php/s/PgdMrNOvbYEzhmr]]
203 203  
204 -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.
205 -
206 -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:
207 -
208 -{{code}}
209 -mvn archetype:generate -DarchetypeArtifactId=plugin-archetype-workflow-element-simple -DarchetypeGroupId=de.xima.fc.archetype -DarchetypeVersion=7.0.4
210 -{{/code}}
211 -
212 -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.
213 -
214 -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.
215 -
216 -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:
217 -
218 -{{code language="plaintext"}}https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml{{/code}}
219 -
220 220  == Deploy-Plugin
221 221  
222 -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:
202 +TODO
223 223  
224 -* Ein Maven-Plugin, welches nach dem Bauen das Plugin via HTTP an einen laufenden {{formcycle/}}-Server sendet
225 -* Ein Plugin für {{formcycle/}}, welche die Gegenstelle in {{formcycle/}} bereitstellt und das Plugin aus dem HTTP-Request in {{formcycle/}} installiert.
204 +== FC-Server-Plugin
226 226  
227 -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:
206 +TODO
228 228  
229 -{{code language="xml"}}
230 - <properties>
231 - <fc-deploy-plugin-maven-plugin.version>7.0.1<fc-deploy-plugin-maven-plugin.version/>
232 - <build>
233 - <plugins>
234 - <plugin>
235 - <groupId>de.xima.fc.maven.plugin</groupId>
236 - <artifactId>fc-deploy-plugin-maven-plugin</artifactId>
237 - <version>${fc-deploy-plugin-maven-plugin.version}</version>
238 - <executions>
239 - <execution>
240 - <id>upload</id>
241 - <phase>install</phase>
242 - <goals>
243 - <goal>deploy</goal>
244 - </goals>
245 - </execution>
246 - </executions>
247 - </plugin>
248 - </plugins>
249 - </build>
250 -{{/code}}
251 251  
252 -Sofern das Deploy-Plugin bereits in {{formcycle/}} installiert ist, kann das Plugin-Projekt dann beim Bauen wie folgt hochgeladen werden:
253 -
254 -{{code language="bash"}}
255 -mvn clean install -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin
256 -{{/code}}
257 -
258 -Wird Eclipse benutzt, kann auch eine Launch-Configuration mit den //fcDeployUrl// und dem //fcDeployToken// angelegt werden.
259 -
260 -== FC-Server-Plugin ==
261 -
262 -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.
263 -
264 -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:
265 -
266 -{{code language="bash"}}
267 -mvn fc-server:run-ms-war -DxfcVersion=7.0.10
268 -{{/code}}
269 -
270 -Dies funktioniert auch in einem Ordner ohne Maven-Projekt. Falls keine {{formcycle/}} angegeben ist, wird eine Standard-Version genommen.
271 -
eclipse-archetype-select.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.awa
Größe
... ... @@ -1,1 +1,0 @@
1 -66.8 KB
Inhalt
eclipse-archetype.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.awa
Größe
... ... @@ -1,1 +1,0 @@
1 -74.9 KB
Inhalt