Änderungen von Dokument Plugin-Entwicklung


Von Version 5.10
bearbeitet von awa
am 25.02.2022, 13:27
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 4.14
bearbeitet von awa
am 25.02.2022, 13:04
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -1,5 +1,6 @@
1 1  {{content/}}
2 2  
3 +== Plugins für zusätzliche Funktionalitäten ==
3 3  
4 4  {{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.
5 5  
... ... @@ -33,7 +33,7 @@
33 33   <enabled>false</enabled>
34 34   </snapshots>
35 35   <id>xima</id>
36 - <name>fc-plugin-dev</name>
37 + <name>libs-release</name>
37 37   <url>https://artifactory.xima-services.de/artifactory/fc-plugin-dev</url>
38 38   </repository>
39 39   </repositories>
... ... @@ -44,7 +44,7 @@
44 44   <enabled>false</enabled>
45 45   </snapshots>
46 46   <id>xima</id>
47 - <name>fc-plugin-dev</name>
48 + <name>plugins-release</name>
48 48   <url>https://artifactory.xima-services.de/artifactory/fc-plugin-dev</url>
49 49   </pluginRepository>
50 50   </pluginRepositories>
... ... @@ -75,7 +75,7 @@
75 75  Alle Abhängigkeiten zu {{formcycle case="dat"/}} sind im scope "provided" zu definieren!
76 76  {{/info}}
77 77  
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"]].
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/]].
79 79  
80 80  In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden:
81 81  
... ... @@ -136,7 +136,7 @@
136 136   <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
137 137   </properties>
138 138   <build>
139 - <finalName>${project.artifactId}</finalName>
140 + <finalName>${project.parent.artifactId}</finalName>
140 140   <plugins>
141 141   <plugin>
142 142   <groupId>org.apache.maven.plugins</groupId>
... ... @@ -150,7 +150,7 @@
150 150   <goal>single</goal>
151 151   </goals>
152 152   <configuration>
153 - <finalName>${project.artifactId}</finalName>
154 + <finalName>${project.parent.artifactId}</finalName>
154 154   <appendAssemblyId>false</appendAssemblyId>
155 155   <descriptorRefs>
156 156   <descriptorRef>jar-with-dependencies</descriptorRef>
... ... @@ -196,12 +196,8 @@
196 196   Hinzufügen des Archetypes-Katalogs in Eclipse
197 197  {{/figure}}
198 198  
199 -{{figure image="eclipse-archetype-select.png" width="500"}}
200 - Auswahl eines Archetypes beim Erstellen eines Maven-Projekts in Eclipse
201 -{{/figure}}
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.
202 202  
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 -
205 205  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:
206 206  
207 207  {{code}}
... ... @@ -210,7 +210,7 @@
210 210  
211 211  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.
212 212  
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.
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.
214 214  
215 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:
216 216  
... ... @@ -218,55 +218,10 @@
218 218  
219 219  == Deploy-Plugin
220 220  
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:
218 +TODO
222 222  
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.
220 +== FC-Server-Plugin
225 225  
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:
222 +TODO
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}}
250 250  
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 -
eclipse-archetype-select.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.awa
Größe
... ... @@ -1,1 +1,0 @@
1 -66.8 KB
Inhalt