Von Version < 14.2 >
bearbeitet von awa
am 18.04.2019, 07:58
Auf Version < 16.1 >
bearbeitet von awa
am 16.05.2019, 08:59
< >
Änderungskommentar: Renamed back-links.

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -10,7 +10,7 @@
10 10  
11 11  == Projekt-Setup ==
12 12  
13 -Zu Beginn der Entwicklung eines Plugins ist es nötig das entsprechende Entwicklungsprojekt aufzusetzten und zu konfigurieren. Für letzteres kommt hierbei das Build-Management-Tool [[Apache Maven>>url:https://maven.apache.org/||rel="__blank"]] zum Einsatz. Um die entsprechenden Abhängigkeiten zu {{formcycle case="dat"/}} bereitzustellen ist ein Repository unter der URL [[http:~~/~~/artifactory.xima-services.de/artifactory/fc-plugin-dev>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev]] zu benutzen. Dieses beinhaltet alle öffentlich zur Verfügung stehenden Artefakte welche dem Plugin zur Laufzeit bereitgestellt und während der Entwicklung benötigt werden. Augangspunkt ist hierbei das Artefakt //fc-plugin-common//, welches die einzelnen Plugin-Schnittstellen beinhaltet und auch auf [[unserere Downloadseite zur Verfügung steht>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common/]]. Ein Auszug des Project Object Models (pom.xml) sieht dem entsprechend beispielhaft wie folgt aus:
13 +Zu Beginn der Entwicklung eines Plugins ist es nötig das entsprechende Entwicklungsprojekt aufzusetzten und zu konfigurieren. Für letzteres kommt hierbei das Build-Management-Tool [[Apache Maven>>url:https://maven.apache.org/||rel="__blank"]] zum Einsatz. Um die entsprechenden Abhängigkeiten zu {{formcycle case="dat"/}} bereitzustellen ist ein 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 beinhaltet alle öffentlich zur Verfügung stehenden Artefakte welche dem Plugin zur Laufzeit bereitgestellt und während der Entwicklung benötigt werden. Augangspunkt ist hierbei das Artefakt //fc-plugin-common//, welches die einzelnen Plugin-Schnittstellen beinhaltet und auch auf [[unserere Downloadseite zur Verfügung steht>>url:http://artifactory.xima-services.de/artifactory/fc-plugin-dev/de/xima/fc/fc-plugin-common/]]. Ein Auszug des Project Object Models (pom.xml) sieht dem entsprechend beispielhaft wie folgt aus:
14 14  
15 15  {{panel title="Beispiel für pom.xml" initial="hidden" triggerable="true" fullwidth="true"}}
16 16  {{code language="xml"}}
... ... @@ -24,11 +24,11 @@
24 24   <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
25 25  
26 26   <!-- Dependencies -->
27 - <xfc-version>4.2.3</xfc-version>
27 + <xfc.version>6.0.0</xfc.version>
28 28  
29 29   <!-- Plugins -->
30 - <maven-compiler-plugin-version>3.3</maven-compiler-plugin-version>
31 - <maven-jar-plugin-version>2.4</maven-jar-plugin-version>
30 + <maven-compiler-plugin.version>3.8</maven-compiler-plugin.version>
31 + <maven-jar-plugin.version>3.1.0</maven-jar-plugin.version>
32 32   </properties>
33 33  
34 34   <repositories>
... ... @@ -35,7 +35,7 @@
35 35   <repository>
36 36   <id>xima</id>
37 37   <name>fc-plugin-dev</name>
38 - <url>http://artifactory.xima-services.de/artifactory/fc-plugin-dev</url>
38 + <url>https://artifactory.xima-services.de/artifactory/fc-plugin-dev</url>
39 39   </repository>
40 40   </repositories>
41 41  
... ... @@ -43,7 +43,7 @@
43 43   <dependency>
44 44   <groupId>de.xima.fc</groupId>
45 45   <artifactId>fc-plugin-common</artifactId>
46 - <version>${xfc-version}</version>
46 + <version>${xfc.version}</version>
47 47   <scope>provided</scope>
48 48   </dependency>
49 49   </dependencies>
... ... @@ -53,10 +53,10 @@
53 53   <plugin>
54 54   <groupId>org.apache.maven.plugins</groupId>
55 55   <artifactId>maven-compiler-plugin</artifactId>
56 - <version>${maven-compiler-plugin-version}</version>
56 + <version>${maven-compiler-plugin.version}</version>
57 57   <configuration>
58 - <source>1.7</source>
59 - <target>1.7</target>
58 + <source>1.8</source>
59 + <target>1.8</target>
60 60   <encoding>UTF-8</encoding>
61 61   </configuration>
62 62   </plugin>
... ... @@ -64,7 +64,7 @@
64 64   <plugin>
65 65   <groupId>org.apache.maven.plugins</groupId>
66 66   <artifactId>maven-jar-plugin</artifactId>
67 - <version>${maven-jar-plugin-version}</version>
67 + <version>${maven-jar-plugin.version}</version>
68 68   <configuration>
69 69   <archive>
70 70   <manifest>
... ... @@ -71,7 +71,7 @@
71 71   <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
72 72   </manifest>
73 73   <manifestEntries>
74 - <formcycle-version-requirement>${xfc-version}</formcycle-version-requirement>
74 + <formcycle-version-requirement>${xfc.version}</formcycle-version-requirement>
75 75   </manifestEntries>
76 76   </archive>
77 77   </configuration>
... ... @@ -91,7 +91,7 @@
91 91   <dependency>
92 92   <groupId>de.xima.fc</groupId>
93 93   <artifactId>fc-logic</artifactId>
94 - <version>${xfc-version}</version>
94 + <version>${xfc.version}</version>
95 95   <scope>provided</scope>
96 96   </dependency>
97 97  ...
... ... @@ -99,10 +99,6 @@
99 99  
100 100  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"]].
101 101  
102 -{{info}}
103 -Abhängig der verwendeten Version von {{formcycle case="dat"/}} (vor 4.2.1) ist es nötig, die nicht öffentliche Abhängigkeit aspose-processor aus fc-logic zu exkludieren.
104 -{{/info}}
105 -
106 106  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).
107 107  
108 108  {{info}}
... ... @@ -109,7 +109,7 @@
109 109  Alle Abhangigkeiten zu {{formcycle case="dat"/}} sind im scope "provided" zu definieren!
110 110  {{/info}}
111 111  
112 -Basierend auf der hiermit zur Verfügung stehenden Infrastruktur steht der Entwicklung von eigenen Plugin-Implementierungen nichts mehr im Wege. Die Installation erfolgt anschließend je nach Verwendungszweck über die Oberflächen [[Mandant-Plugins>>doc:Formcycle.UserInterface.Client.Plugins]] oder [[System-Plugins>>doc:Formcycle.SystemSettings.SystemPlugins]].
108 +Basierend auf der hiermit zur Verfügung stehenden Infrastruktur steht der Entwicklung von eigenen Plugin-Implementierungen nichts mehr im Wege. Die Installation erfolgt anschließend je nach Verwendungszweck über die Oberflächen [[Mandant-Plugins>>doc:Formcycle.UserInterface.Client.Plugins]] oder [[System-Plugins>>doc:Formcycle.SystemSettings.UserInterface.SystemPlugins]].
113 113  
114 114  == Demo-Plugins ==
115 115  
XWiki.XWikiRights[3]
Ebenen
... ... @@ -1,1 +1,1 @@
1 -view,edit
1 +view,edit,delete
Copyright 2000-2025