Änderungen von Dokument Plugin-Entwicklung


Von Version 7.2
bearbeitet von gru
am 25.02.2022, 15:23
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 6.1
bearbeitet von awa
am 25.02.2022, 13:40
Änderungskommentar: Neuen Anhang pom.xml hochladen

Zusammenfassung

Details

Seiteneigenschaften
Dokument-Autor
... ... @@ -1,1 +1,1 @@
1 -XWiki.gru
1 +XWiki.awa
Inhalt
... ... @@ -9,9 +9,9 @@
9 9  
10 10  == Maven-Setup ==
11 11  
12 -Zu Beginn der Entwicklung eines Plugins ist es nötig, das entsprechende Entwicklungsprojekt aufzusetzten und zu konfigurieren.
12 +Zu Beginn der Entwicklung eines Plugins ist es nötig das entsprechende Entwicklungsprojekt aufzusetzten und zu konfigurieren.
13 13  
14 -Für letzteres empfehlen wir hierbei das Build-Management-Tool [[Apache Maven>>url:https://maven.apache.org/||rel="__blank"]] zu verwenden. Andere Build-Tools können prinzipiell auch genutzt werden, hier können wir aber keine Hilfe bereitstellen.
14 +Für letzteres empfehlen wir hierbei das Build-Management-Tool [[Apache Maven>>url:https://maven.apache.org/||rel="__blank"]] zum Einsatz. Andere Build-Tools können prinzipiell benutzt werden, hier können wir aber keine Hilfe bereitstellen.
15 15  
16 16  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.
17 17  
... ... @@ -65,20 +65,18 @@
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!
76 76  {{/info}}
77 77  
78 -Eine fertige einfache //pom.xml// können Sie [[hier herunterladen>>attach:pom.xml||rel="__blank"]].
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 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||target="_blank"]].
81 -
82 82  In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden:
83 83  
84 84  {{code language="xml"}}
... ... @@ -96,7 +96,7 @@
96 96   </dependencies>
97 97  {{/code}}
98 98  
99 -Ferner steht je nach Tiefe der Integration in die bestehende Umgebung von {{formcycle case="dat"/}} und deren Benutzung als höchste Implementierung das Artefakt //fc-logic// zur Verfügung. Dieses wird wie folgt als weitere (oder einzige) Abhängigkeit definiert:
97 +Ferner steht je nach Tiefe der Integration in die bestehende Umgebung von {{formcycle case="dat"/}} und dessen Benutzung als höchste Implementierung das Artefakt //fc-logic// zur Verfügung. Dieses wird wie folgt als weitere (oder einzige) Abhängigkeit definiert:
100 100  
101 101  {{code language="xml"}}
102 102   <dependency>
... ... @@ -107,22 +107,22 @@
107 107   </dependency>
108 108  {{/code}}
109 109  
110 -Eine entsprechende Benutzung ist vor allem bei der Verwendung der Datenbankschnittstelle sowie bei der Implementierung von eigenen Verarbeitungen nötig.
108 +Eine entsprechende Benutzung ist vor allem bei der Verwendung der Datenbankschnittstelle sowie bei der Implementierung von eigenen Verarbeitungen nötig. Eine Vorlage für ein somit entstehendes Project Object Model finden Sie [[hier>>attach:pom.xml||rel="__blank"]].
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 ===
112 +=== 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.
117 +: 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.
119 +: 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.
121 +: 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.
123 +: 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  
... ... @@ -218,7 +218,7 @@
218 218  
219 219  {{code language="plaintext"}}https://artifactory.xima-services.de/artifactory/libs-release-local/archetype-catalog.xml{{/code}}
220 220  
221 -== Deploy-Plugin ==
219 +== Deploy-Plugin
222 222  
223 223  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:
224 224  
pom.xml
Inhalt
... ... @@ -23,7 +23,7 @@
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