Änderungen von Dokument Plugin-Entwicklung


Von Version 10.4
bearbeitet von MKO
am 12.08.2022, 16:18
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 6.3
bearbeitet von gru
am 25.02.2022, 13:53
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.mko
1 +XWiki.gru
Inhalt
... ... @@ -5,7 +5,7 @@
5 5  
6 6  == API-Dokumentation ==
7 7  
8 -Die API-Dokumentation für {{formcycle/}} findet sich hier auf unserer Seite: [[JavaScript und JavaDocs>>https://docs.formcycle.eu/]]
8 +Die API-Dokumentation für {{formcycle/}} findet sich hier auf unserer Seite: [[Javadocs>>https://docs.formcycle.eu/]]
9 9  
10 10  == Maven-Setup ==
11 11  
... ... @@ -65,11 +65,11 @@
65 65  {{/code}}
66 66  {{/panel}}
67 67  
68 -== Maven-Projekteinrichtung ==
68 +== Maven-Projekteinrichtung
69 69  
70 70  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 71  
72 -=== Artekfakte und Abhängigkeiten ===
72 +=== Artekfakte und Abhängigkeiten
73 73  
74 74  {{info}}
75 75  Alle Abhängigkeiten zu {{formcycle case="dat"/}} sind im scope "provided" zu definieren!
... ... @@ -77,7 +77,7 @@
77 77  
78 78  Eine fertige einfache //pom.xml// können Sie [[hier herunterladen>>attach:pom.xml||rel="__blank"]].
79 79  
80 -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 [[unsererer Downloadseite zur Verfügung>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common||rel="noopener noreferrer" target="_blank"]].
80 +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 [[unsererer Downloadseite zur Verfügung>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common||target="_blank"]].
81 81  
82 82  In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden:
83 83  
... ... @@ -111,18 +111,18 @@
111 111  
112 112  Ferner ist zu beachten, dass sämtliche Abhängigkeiten zu {{formcycle case="dat"/}} im scope //provided //anzugeben sind. Dies verhindert neben Classpath-Problemen auch das unnötige Anschwellen der Plugin-Größe. Ebenso sollten diesbezüglich Abhängigkeiten auf bereits von {{formcycle case="dat"/}} benutzten und damit bereitstehenden Bibliotheken wiederverwendet werden (z.B. diverse Apache Commons-Implementierungen).
113 113  
114 -=== Manifest und Fat JAR ===
114 +=== Manifest und Fat JAR
115 115  
116 116  In der //META-INF/MANIFEST.MF// in der Plugin-JAR-Datei sollten folgende Informationen stehen:
117 117  
118 118  ; formcycle-version-requirement
119 -: Erforderlich. Version von {{formcycle/}}, für die das Plugin gedacht ist. Ist erforderlich, damit {{formcycle/}} bei der Installation die Kompatibilität prüfen kann.
119 +: Erforderlich. Version von {{formcycle/}}, für die das Plugin gedacht ist.Ist erforderlich, damit {{formcycle/}} bei der Installation die Kompatibilität prüfen kann.
120 120  ; Implementation-Version
121 -: Erforderlich. Version des Plugins; Diese wird z.B. in der Oberfläche angezeigt.
121 +: Erforderlich. Version des Plugins, wird etwa in der Oberfläche angezeigt.
122 122  ; Build-Time oder Build-Timestamp
123 -: Optional. Wird bei SNAPSHOT-Versionen mit angezeigt, um den SNAPSHOT zu identifizieren.
123 +: Optional, wird bei SNAPSHOT-Versionen mit angezeigt, um den SNAPSHOT zu identifizieren.
124 124  ; Implementation-Title
125 -: Optional. Wird standardmäßig etwa vom Deploy-Plugin verwendet, um das Plugin zu identifzieren.
125 +: Optional, wird standardmäßig etwa vom Deploy-Plugin verwendet, um das Plugin zu identifzieren.
126 126  
127 127  Diese Informationen können wie unten beschrieben mittels des //maven-assembly-plugin// in die Manifest-Datei geschrieben werden.
128 128  
... ... @@ -202,7 +202,7 @@
202 202   Auswahl eines Archetypes beim Erstellen eines Maven-Projekts in Eclipse
203 203  {{/figure}}
204 204  
205 -Für einige häufig verwendete Plugin-Typen stehen [[Maven-Archetypes>>url:https://maven.apache.org/guides/introduction/introduction-to-archetypes.html||rel="noopener noreferrer" target="_blank"]] bereits, um schnell ein Maven-Projekt aufsetzen zu können.
205 +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.
206 206  
207 207  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:
208 208  
... ... @@ -212,15 +212,13 @@
212 212  
213 213  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.
214 214  
215 -Alle vorhandenen Archetypes und deren Versionen können im [[Archetype-Katalog>>url:https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml||rel="noopener noreferrer" target="_blank"]] eingesehen werden.
215 +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.
216 216  
217 217  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:
218 218  
219 -{{code language="plaintext"}}
220 -https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml
221 -{{/code}}
219 +{{code language="plaintext"}}https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml{{/code}}
222 222  
223 -== Deploy-Plugin ==
221 +== Deploy-Plugin
224 224  
225 225  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:
226 226  
... ... @@ -231,10 +231,10 @@
231 231  
232 232  {{code language="xml"}}
233 233   <properties>
234 - <fc-deploy-plugin-maven-plugin.version>7.0.1<fc-deploy-plugin-maven-plugin.version></fc-deploy-plugin-maven-plugin>
232 + <fc-deploy-plugin-maven-plugin.version>7.0.1<fc-deploy-plugin-maven-plugin.version/>
235 235   <build>
236 236   <plugins>
237 - <plugin>
235 + <plugin>
238 238   <groupId>de.xima.fc.maven.plugin</groupId>
239 239   <artifactId>fc-deploy-plugin-maven-plugin</artifactId>
240 240   <version>${fc-deploy-plugin-maven-plugin.version}</version>
... ... @@ -241,7 +241,7 @@
241 241   <executions>
242 242   <execution>
243 243   <id>upload</id>
244 - <phase>package</phase>
242 + <phase>install</phase>
245 245   <goals>
246 246   <goal>deploy</goal>
247 247   </goals>
... ... @@ -255,11 +255,10 @@
255 255  Sofern das Deploy-Plugin bereits in {{formcycle/}} installiert ist, kann das Plugin-Projekt dann beim Bauen wie folgt hochgeladen werden:
256 256  
257 257  {{code language="bash"}}
258 -mvn package fc-deploy:deploy -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin
256 +mvn clean install -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin
259 259  {{/code}}
260 260  
261 -Wird Eclipse benutzt, kann auch eine Launch-Configuration mit den //fcDeployUrl// und dem //fcDeployToken// angelegt werden. Das Plugin wird dann unter den System-Plugins registriert.
262 -Soll das Plugin im Bereich eines bestimmten Mandanten registriert werden, so kann dies über den zusätzlichen Launch-Configuration Parameter //fcDeployClientId //erreicht werden. Dieser Parameter muss als Wert die Id des Mandanten enthalten.
259 +Wird Eclipse benutzt, kann auch eine Launch-Configuration mit den //fcDeployUrl// und dem //fcDeployToken// angelegt werden.
263 263  
264 264  == FC-Server-Plugin ==
265 265  
... ... @@ -268,9 +268,10 @@
268 268  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:
269 269  
270 270  {{code language="bash"}}
271 -mvn package fc-server:run-ms-war -DxfcVersion=7.0.10
268 +mvn fc-server:run-ms-war -DxfcVersion=7.0.10
272 272  {{/code}}
273 273  
274 -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 Der Zugang für den Superadmin ist {{code language="plaintext"}}sadmin{{/code}} (Passwort {{code language="plaintext"}}admin{{/code}}), der Zugang für den Mandantadministrator {{code language="plaintext"}}admin{{/code}} (Passwort {{code language="plaintext"}}/admin_{{/code}}).
271 +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
275 275  
276 276  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.
274 +
pom.xml
Größe
... ... @@ -1,1 +1,1 @@
1 -5.7 KB
1 +6.1 KB
Inhalt
... ... @@ -23,10 +23,18 @@
23 23   <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
24 24   <maven-jar-plugin.version>3.1.0</maven-jar-plugin.version>
25 25   <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version>
26 - <fc-deploy-plugin-maven-plugin.version>7.0.1</fc-deploy-plugin-maven-plugin.version>
26 + <fc-deploy-plugin-maven-plugin.version>7.0.1<fc-deploy-plugin-maven-plugin.version/>
27 27   <fc-server-maven-plugin.version>7.0.1</fc-server-maven-plugin.version>
28 28   </properties>
29 29  
30 + <repositories>
31 + <repository>
32 + <id>xima</id>
33 + <name>fc-plugin-dev</name>
34 + <url>http://artifactory.xima-services.de/artifactory/fc-plugin-dev</url>
35 + </repository>
36 + </repositories>
37 +
30 30   <dependencies>
31 31   <!-- Reference FORMCYCLE libraries. The plugin is installed in a running -->
32 32   <!-- FORMCYCLE system, , so you do not need to include the FORMCYCLE libraries -->
... ... @@ -58,11 +58,20 @@
58 58   <plugins>
59 59  
60 60   <!-- Upload the plugin to a running FORMCYCLE server as part of the Maven build process -->
61 - <!-- mvn package fc-deploy:deploy -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin -->
69 + <!-- mvn clean install -DfcDeployUrl=http://localhost:8080/xima-formcycle -DfcDeployToken=admin -->
62 62   <plugin>
63 63   <groupId>de.xima.fc.maven.plugin</groupId>
64 64   <artifactId>fc-deploy-plugin-maven-plugin</artifactId>
65 65   <version>${fc-deploy-plugin-maven-plugin.version}</version>
74 + <executions>
75 + <execution>
76 + <id>upload</id>
77 + <phase>install</phase>
78 + <goals>
79 + <goal>deploy</goal>
80 + </goals>
81 + </execution>
82 + </executions>
66 66   </plugin>
67 67  
68 68   <!-- Start a preconfigured FORMCYCLE server-->