... |
... |
@@ -5,7
+5,7 @@ |
5 |
5 |
* Plugin-Entwickler können beim Maven-Build das Plugin automatisch am Ende des Builds hochladen. So kann der Entwickler schneller testen. |
6 |
6 |
* Eine Installation auf einem Live-System kann so weiter automatisiert werden. |
7 |
7 |
|
8 |
|
-Das Deploy-Plugin enthält eine [[Servlet-Aktion>>doc:Formcycle.PluginDevelopment.Types.IPluginServletAction]]. Per HTTP-Post-Request wird eine Plugin-JAR-Datei an den FORMCYCLE-Server gesendet. Die weiteren Parameter im HTTP-Request bestimmen, was nun weiter mit dem Plugin geschieht, etwa ob es nur installiert oder auch aktiviert werden soll. |
|
8 |
+Das Deploy-Plugin kann sowohl als Mandant-Plugin als auch als System-Plugin installiert werden. Es enthält eine [[Servlet-Aktion>>doc:Formcycle.PluginDevelopment.Types.IPluginServletAction]]. Per HTTP-Post-Request wird eine Plugin-JAR-Datei an den FORMCYCLE-Server gesendet. Die weiteren Parameter im HTTP-Request bestimmen, was nun weiter mit dem Plugin geschieht, etwa ob es nur installiert oder auch aktiviert werden soll. |
9 |
9 |
|
10 |
10 |
Falls das hochgeladene Plugin bereits existiert, ist es in der Regel ist es sinnvoll, dieses zu ersetzen. Dazu ist es erforderlich, anzugeben, über welchen Identifikator ein Plugin identifiziert wird. Es gibt hierbei vier Möglichkeiten, die dieses Plugin erlaubt: |
11 |
11 |
|
... |
... |
@@ -18,12
+18,28 @@ |
18 |
18 |
|
19 |
19 |
== HTTP-Request-Aufbau == |
20 |
20 |
|
21 |
|
-Im Folgenden wird der Aufbau des HTTP-Requests beschrieben, um ein Plugin zu installieren, zu aktualisieren oder zu löschen. Es muss immer ein HTTP-Post-Request verwendet werden, entweder als //multipart/form-data// oder //application/x-www-form-urlencoded//. Folgende Parameter können dabei übergeben werden: |
|
21 |
+Im Folgenden wird der Aufbau des HTTP-Requests beschrieben, um ein Plugin zu installieren, zu aktualisieren oder zu löschen. |
22 |
22 |
|
|
23 |
+Es muss immer ein HTTP-Post-Request verwendet werden und [[sich an folgende URL richten>>doc:Formcycle.PluginDevelopment.Types.IPluginServletAction]] (Namen des FORMCYCLE-Servers entsprechend anpassen): |
|
24 |
+ |
|
25 |
+{{code language="none}} |
|
26 |
+POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1 |
|
27 |
+{{/code}} |
|
28 |
+ |
|
29 |
+Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist. |
|
30 |
+ |
|
31 |
+=== Parameter |
|
32 |
+ |
|
33 |
+Die Parameter können direkt als URL-Parameter, als //multipart/form-data// oder als //application/x-www-form-urlencoded// übergeben werden. Folgende Parameter werden vom Deploy-Plugin unterstützt und können übergeben werden: |
|
34 |
+ |
|
35 |
+; deploy-action |
|
36 |
+: Aktion, welche mit dem Plugin durchgeführt werden soll. Erlaubte Werte sind //save//, //update-properties//, //activate//, //deactivate// und //delete//. Ein Erklärung zu diesen Aktionen findet sich unten. |
|
37 |
+; client-id |
|
38 |
+: ID des Mandanten, in dem ein Plugin installiert, aktualisiert oder gelöscht werden soll. Es darf nur entweder //client-id// oder //client-uuid// angegeben werden |
|
39 |
+; client-uuid |
|
40 |
+: UUID des Mandanten, in dem ein Plugin installiert, aktualisiert oder gelöscht werden soll. Es darf nur entweder //client-id// oder //client-uuid// angegeben werden. Es ist zu beachten, dass der Aufruf eines als Mandant-Plugin installierten Servlet-Aktion immer der Parameter //client-id// erforderlich ist. |
23 |
23 |
; token |
24 |
24 |
: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde. |
25 |
|
-; locale |
26 |
|
-: Die Sprache, welche während der Installation, Aktualisierung oder Löschung des Plugins verwendet werden soll, etwa //en// oder //de//. Beeinflusst nur einige Fehlermeldungen und kann in der Regel weggelassen werden. |
27 |
27 |
; jar-file |
28 |
28 |
: Binärdaten mit der JAR-Datei des Plugins, welches aktualisert oder installiert werden soll. |
29 |
29 |
; plugin-ident |
... |
... |
@@ -46,12
+46,13 @@ |
46 |
46 |
;: //plugin-identifier// muss den gewünschten Names des Plugins enthalten, etwa //my-plugin.jar// oder /foobar.jar//. |
47 |
47 |
;; plugin-ident=uuid |
48 |
48 |
;: //plugin-identifier// muss die gewünschte UUID des Plugins enthalten, etwa //03022599-903d-429b-9822-80a324a542fc//. |
49 |
|
-; client-id |
50 |
|
-; client-uuid |
51 |
|
-; deploy-action |
52 |
|
-; disallow-install |
53 |
|
-; property |
|
65 |
+Andernfalls wird das Plugin installiert, falls noch nicht vorhanden, oder aktualisiert, falls vorhanden. |
54 |
54 |
; clear-properties |
|
67 |
+: Entweder //true// oder //false//. Wenn //true//, werden alle Plugin-Eigenschaften entfernt beziehungsweise deren Werte geleert. Dies wird ausgeführt, bevor die neu zu setzenden Plugin-Eigenschaften (Parameter ///property//) angewendet werden. |
|
68 |
+; property |
|
69 |
+: Name und Wert einer Plugin-Eigenschaft, die an der Plugin-Konfiguration gesetzt werden soll, im Format //key=value//. Dieser HTTP-Parameter kann mehrfach angegeben werden, um mehrere Plugin-Eigenschafte zu setzen. Wird etwa //database.username=max// übergeben, wird die Plugin-Eigenschaft //database.username// auf //max// gesetzt. |
|
70 |
+; disallow-install |
|
71 |
+: Entweder //true// oder //false//. Ist diese Option auf //true// gesetzt und existiert das Plugin noch nicht (bezüglich der angegebenen //plugin-ident// und //plugin-identifier//), wird das Plugin nicht neu installiert und eine Fehlermeldung zurückgegeben. ; locale |
|
72 |
+: Die Sprache, welche während der Installation, Aktualisierung oder Löschung des Plugins verwendet werden soll, etwa //en// oder //de//. Beeinflusst nur einige Fehlermeldungen und kann in der Regel weggelassen werden. |
55 |
55 |
|
56 |
|
- |
57 |
57 |
== Beispiel für Maven == |