| ... | ... | @@ -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"}} | 
                      
        | ... | ... | @@ -66,8 +66,10 @@ | 
              
                    | 66 | 66 | {{/code}} | 
              
                    | 67 | 67 | {{/panel}} | 
              
                    | 68 | 68 |  | 
              
                    | 69 |  | -== Projekt -Setup | 
              
                    |  | 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"]]. | 
              
                    |  | 72 | + | 
              
                    | 71 | 71 | === Artekfakte und Abhängigkeiten | 
              
                    | 72 | 72 |  | 
              
                    | 73 | 73 | {{info}} | 
                      
        | ... | ... | @@ -74,7 +74,7 @@ | 
              
                    | 74 | 74 | Alle Abhängigkeiten zu {{formcycle case="dat"/}} sind im scope "provided" zu definieren! | 
              
                    | 75 | 75 | {{/info}} | 
              
                    | 76 | 76 |  | 
              
                    | 77 |  | -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 | +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"]]. | 
              
                    | 78 | 78 |  | 
              
                    | 79 | 79 | In der //pom.xml// des Plugin-Projekts kann diese Abhängigkeit wie folgt eingebunden werden: | 
              
                    | 80 | 80 |  | 
                      
        | ... | ... | @@ -129,6 +129,7 @@ | 
              
                    | 129 | 129 |  | 
              
                    | 130 | 130 | Für einfache Plugins ist das //maven-assembly-plugin// ausreichend. Dieses kann in der //pom.xml// wie folgt konfiguriert werden: | 
              
                    | 131 | 131 |  | 
              
                    |  | 134 | +{{panel title="maven-assembly-plugin in pom.xml" fullwidth="true" initial="hidden" triggerable="true"}} | 
              
                    | 132 | 132 | {{code language="java"}} | 
              
                    | 133 | 133 | <properties> | 
              
                    | 134 | 134 | <maven-assembly-plugin.version>3.3.0</maven-assembly-plugin.version> | 
                      
        | ... | ... | @@ -172,6 +172,7 @@ | 
              
                    | 172 | 172 | </plugins> | 
              
                    | 173 | 173 | </build> | 
              
                    | 174 | 174 | {{/code}} | 
              
                    |  | 178 | +{{/panel}} | 
              
                    | 175 | 175 |  | 
              
                    | 176 | 176 | === Bauen und Installieren === | 
              
                    | 177 | 177 |  | 
                      
        | ... | ... | @@ -181,18 +181,38 @@ | 
              
                    | 181 | 181 | mvn clean install | 
              
                    | 182 | 182 | {{/code}} | 
              
                    | 183 | 183 |  | 
              
                    | 184 |  | -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. | 
              
                    |  | 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. | 
              
                    | 185 | 185 |  | 
              
                    | 186 |  | - Zum automatischen Hochladengibt es zudemdas Deploy-Plugin, siehe unten. | 
              
                    |  | 190 | +Siehe [[Deploy-Plugin>>||anchor="HDeploy-Plugin"]] zum automatischen Hochladen beim Maven-Build. | 
              
                    | 187 | 187 |  | 
              
                    | 188 |  | - Zum Starten eines einfachen {{formcycle}}-Servers gibt es das FC-Server-Plugin, siehe ebenfalls unten. | 
              
                    |  | 192 | +Siehe [[FC-Server-Plugin>>||anchor="HFC-Server-Plugin"]] zum Starten eines einfachen {{formcycle/}}-Servers. | 
              
                    | 189 | 189 |  | 
              
                    | 190 | 190 | == Maven-Archetypes == | 
              
                    | 191 | 191 |  | 
              
                    | 192 |  | -TODO | 
              
                    |  | 196 | +{{figure image="eclipse-archetype.png" width="500"}} | 
              
                    |  | 197 | +  Hinzufügen des Archetypes-Katalogs in Eclipse | 
              
                    |  | 198 | +{{/figure}} | 
              
                    | 193 | 193 |  | 
              
                    | 194 |  | -Um einen besseren Einstieg in die Plugin-Entwicklung zu finden, [[bieten wir auf unserer Downloadseite>>url:https://customer.formcycle.eu/index.php/s/PgdMrNOvbYEzhmr]] | 
              
                    |  | 200 | +{{figure image="eclipse-archetype-select.png" width="500"}} | 
              
                    |  | 201 | +  Auswahl eines Archetypes beim Erstellen eines Maven-Projekts in Eclipse | 
              
                    |  | 202 | +{{/figure}} | 
              
                    | 195 | 195 |  | 
              
                    |  | 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 | + | 
              
                    | 196 | 196 | == Deploy-Plugin | 
              
                    | 197 | 197 |  | 
              
                    | 198 | 198 | TODO |