... |
... |
@@ -22,13
+22,13 @@ |
22 |
22 |
|
23 |
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 |
24 |
|
25 |
|
-{{code language="none}} |
|
25 |
+{{code language="none"}} |
26 |
26 |
POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1 |
27 |
27 |
{{/code}} |
28 |
28 |
|
29 |
29 |
Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist. |
30 |
30 |
|
31 |
|
-=== Parameter |
|
31 |
+=== Request-Parameter |
32 |
32 |
|
33 |
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 |
34 |
|
... |
... |
@@ -38,30
+38,30 @@ |
38 |
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 |
39 |
; client-uuid |
40 |
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. |
41 |
|
-; token |
42 |
|
-: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde. |
43 |
43 |
; jar-file |
44 |
44 |
: Binärdaten mit der JAR-Datei des Plugins, welches aktualisert oder installiert werden soll. |
|
43 |
+; token |
|
44 |
+: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde. |
45 |
45 |
; plugin-ident |
46 |
46 |
: Die Art, wie nach einem vorhandenen Plugin gesucht wird (siehe oben). Folgende Werte sind erlaubt: |
47 |
|
-;; manifest |
48 |
|
-;: Identifiziert ein Plugin anhand eines Eintrags im Manifest. |
49 |
|
-;; id |
50 |
|
-;: Identifiziert ein Plugin anhand seiner Datenbank-ID. |
51 |
|
-;; name |
52 |
|
-;: Identifiziert ein Plugin anhand seines Namens (Dateiname der JAR-Datei) |
53 |
|
-;; uuid |
54 |
|
-;: Identifiziert ein Plugin anhand seiner UUID. |
|
47 |
+:; manifest |
|
48 |
+:: Identifiziert ein Plugin anhand eines Eintrags im Manifest. |
|
49 |
+:; id |
|
50 |
+:: Identifiziert ein Plugin anhand seiner Datenbank-ID. |
|
51 |
+:; name |
|
52 |
+:: Identifiziert ein Plugin anhand seines Namens (Dateiname der JAR-Datei) |
|
53 |
+:; uuid |
|
54 |
+:: Identifiziert ein Plugin anhand seiner UUID. |
55 |
55 |
; plugin-identifier |
56 |
56 |
: Identifikator des Plugins, welches aktualisiert oder gelöscht werden soll. Die konkrete Bedeutung dieses Parameters ist abhängig von dem Wert von //plugin-ident//: |
57 |
|
-;; plugin-ident=manifest |
58 |
|
-;: //plugin-identifier// muss den Namen der Manifest-Eigenschaft und dessen Wert enthalten, im Format //ATTRIBUTE_NAME=VALUE//. Wird zum Beispiel //Implementation-Title=com.example.fc.plugin:my-plugin// übergeben wird, wird nach einem existierenden Plugin gesucht, welches im Manifest in der Eigenschaft //Implementation-Title// den Wert //com.example.fc.plugin:my-plugin// stehen hat. |
59 |
|
-;; plugin-ident=id |
60 |
|
-;: //plugin-identifier// muss die gewünschte ID des Plugins enthalten, etwa //53// oder /893//. |
61 |
|
-;; plugin-ident=name |
62 |
|
-;: //plugin-identifier// muss den gewünschten Names des Plugins enthalten, etwa //my-plugin.jar// oder /foobar.jar//. |
63 |
|
-;; plugin-ident=uuid |
64 |
|
-;: //plugin-identifier// muss die gewünschte UUID des Plugins enthalten, etwa //03022599-903d-429b-9822-80a324a542fc//. |
|
57 |
+:; plugin-ident=manifest |
|
58 |
+:: //plugin-identifier// muss den Namen der Manifest-Eigenschaft und dessen Wert enthalten, im Format //ATTRIBUTE_NAME=VALUE//. Wird zum Beispiel //Implementation-Title=com.example.fc.plugin:my-plugin// übergeben wird, wird nach einem existierenden Plugin gesucht, welches im Manifest in der Eigenschaft //Implementation-Title// den Wert //com.example.fc.plugin:my-plugin// stehen hat. |
|
59 |
+:; plugin-ident=id |
|
60 |
+:: //plugin-identifier// muss die gewünschte ID des Plugins enthalten, etwa //53// oder /893//. |
|
61 |
+:; plugin-ident=name |
|
62 |
+:: //plugin-identifier// muss den gewünschten Names des Plugins enthalten, etwa //my-plugin.jar// oder /foobar.jar//. |
|
63 |
+:; plugin-ident=uuid |
|
64 |
+:: //plugin-identifier// muss die gewünschte UUID des Plugins enthalten, etwa //03022599-903d-429b-9822-80a324a542fc//. |
65 |
65 |
Andernfalls wird das Plugin installiert, falls noch nicht vorhanden, oder aktualisiert, falls vorhanden. |
66 |
66 |
; clear-properties |
67 |
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. |
... |
... |
@@ -71,4
+71,25 @@ |
71 |
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 |
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. |
73 |
73 |
|
|
74 |
+Der Wert des Parameters //deploy-action// gibt an, was genau mit dem Plugin geschehen soll. Es gibt dabei die folgenden Möglichkeiten: |
|
75 |
+ |
|
76 |
+; update-properties |
|
77 |
+: Aktualisiert die Eigenschaften des angegebenen Plugins. Es darf hierbei keine JAR-Datei übertragen werden. Entweder die Eigenschaft //clear-properties// oder //property// sollte gesetzt sein. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Beispiel: |
|
78 |
+ ((( |
|
79 |
+{{code language="bash"}} |
|
80 |
+# Löscht alle vorhandenen Plugin-Eigenschaften und setzt dann die Eigenschaft "foo" auf den Wert "bar" |
|
81 |
+ curl -X POST \ |
|
82 |
+ -F deploy-action=update-properties \ |
|
83 |
+ -F token=admin \ |
|
84 |
+ -F plugin-ident=manifest \ |
|
85 |
+ -F plugin-identifier=Implementation-Title=com.example:plugin \ |
|
86 |
+ -F clear-properties=false \ |
|
87 |
+ -F property=foo=bar \ |
|
88 |
+ "http://localhost:8080/formcycle/plugin?client-id=154&name=deploy-plugin" |
|
89 |
+{{/code}}))) |
|
90 |
+ |
|
91 |
+== Response |
|
92 |
+ |
|
93 |
+ |
|
94 |
+ |
74 |
74 |
== Beispiel für Maven == |