... |
... |
@@ -18,8
+18,17 @@ |
18 |
18 |
|
19 |
19 |
== Plugin-Konfiguration == |
20 |
20 |
|
21 |
|
-== HTTP-Request-Aufbau == |
|
21 |
+Am Plugin selber kann konfiguriert werden, ob das Deploy-Servlet durch ein Passwort geschützt werden soll. Dazu gibt es die eine Plugin-Eigenschaft //token//, diese hat das folgende Format |
22 |
22 |
|
|
23 |
+> hash_method:hashed_value |
|
24 |
+ |
|
25 |
+Folgende Hash-Methoden stehen zur Verfügung: |
|
26 |
+ |
|
27 |
+; plain |
|
28 |
+: asd |
|
29 |
+ |
|
30 |
+== Deploy-Servlet == |
|
31 |
+ |
23 |
23 |
Im Folgenden wird der Aufbau des HTTP-Requests beschrieben, um ein Plugin zu installieren, zu aktualisieren oder zu löschen. |
24 |
24 |
|
25 |
25 |
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): |
... |
... |
@@ -82,8
+82,8 @@ |
82 |
82 |
|
83 |
83 |
((( |
84 |
84 |
{{code language="bash"}} |
|
94 |
+# Installiert oder aktualisiert das Plugin mit dem Implementation-Title com.example:plugin |
85 |
85 |
curl -X POST \ |
86 |
|
- # These options are required |
87 |
87 |
-F deploy-action=save \ |
88 |
88 |
-F token=admin \ |
89 |
89 |
-F plugin-ident=manifest \ |
... |
... |
@@ -98,8
+98,8 @@ |
98 |
98 |
|
99 |
99 |
((( |
100 |
100 |
{{code language="bash"}} |
|
110 |
+# Löscht das Plugin mit dem Implementation-Title com.example:plugin |
101 |
101 |
curl -X POST \ |
102 |
|
- # These options are required |
103 |
103 |
-F deploy-action=delete \ |
104 |
104 |
-F token=admin \ |
105 |
105 |
-F plugin-ident=manifest \ |
... |
... |
@@ -109,12
+109,12 @@ |
109 |
109 |
))) |
110 |
110 |
|
111 |
111 |
; activate |
112 |
|
-: Aktiviert das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Beispiel: |
|
121 |
+: Aktiviert das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Ist das Plugin bereits aktiviert, wird nicht getan und ein Erfolg zurückgegeben. Beispiel: |
113 |
113 |
|
114 |
114 |
((( |
115 |
115 |
{{code language="bash"}} |
|
125 |
+# Aktiviert das Plugin mit dem Implementation-Title com.example:plugin |
116 |
116 |
curl -X POST \ |
117 |
|
- # These options are required |
118 |
118 |
-F deploy-action=activate \ |
119 |
119 |
-F token=admin \ |
120 |
120 |
-F plugin-ident=manifest \ |
... |
... |
@@ -124,12
+124,12 @@ |
124 |
124 |
))) |
125 |
125 |
|
126 |
126 |
; deactivate |
127 |
|
-: Deaktiviert das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Beispiel: |
|
136 |
+: Deaktiviert das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Ist das Plugin bereits deaktiviert, wird nicht getan und ein Erfolg zurückgegeben. Beispiel: |
128 |
128 |
|
129 |
129 |
((( |
130 |
130 |
{{code language="bash"}} |
|
140 |
+# Deaktiviert oder aktualisiert das Plugin mit dem Implementation-Title com.example:plugin |
131 |
131 |
curl -X POST \ |
132 |
|
- # These options are required |
133 |
133 |
-F deploy-action=deactivate \ |
134 |
134 |
-F token=admin \ |
135 |
135 |
-F plugin-ident=manifest \ |
... |
... |
@@ -140,7
+140,6 @@ |
140 |
140 |
|
141 |
141 |
; update-properties |
142 |
142 |
: 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: |
143 |
|
- |
144 |
144 |
((( |
145 |
145 |
{{code language="bash"}} |
146 |
146 |
# Löscht alle vorhandenen Plugin-Eigenschaften und setzt dann die Eigenschaft "foo" auf den Wert "bar" |
... |
... |
@@ -260,4
+260,53 @@ |
260 |
260 |
} |
261 |
261 |
{{/code}} |
262 |
262 |
|
|
271 |
+Beispiel für die Antwort beim Aktualisieren eines Plugins: |
|
272 |
+ |
|
273 |
+{{code language="json"}} |
|
274 |
+{ |
|
275 |
+ "success": true, |
|
276 |
+ "requestParameters": { |
|
277 |
+ "plugin-ident": ["manifest"], |
|
278 |
+ "name": ["deploy-plugin"], |
|
279 |
+ "client-id": ["1"], |
|
280 |
+ "deploy-action": ["save"], |
|
281 |
+ "plugin-identifier": ["Implementation-Title=com.example:plugin"], |
|
282 |
+ "token": ["admin"] |
|
283 |
+ }, |
|
284 |
+ "details": { |
|
285 |
+ "name": "my-plugin.jar", |
|
286 |
+ "active": true, |
|
287 |
+ "id": 203, |
|
288 |
+ "message": "Plugin saved successfully.", |
|
289 |
+ "uuid": "2fe3e1ba-cb32-434e-9f59-4422f8dabcad" |
|
290 |
+ }, |
|
291 |
+ "message": "Plugin saved successfully.", |
|
292 |
+ "statusCode": 200 |
|
293 |
+} |
|
294 |
+{{/code}} |
|
295 |
+ |
|
296 |
+Beispiel für die Antwort beim Löschen, falls das angegebene Plugin nicht gefunden wurde: |
|
297 |
+ |
|
298 |
+{{code language="json"}} |
|
299 |
+{ |
|
300 |
+ "success": false, |
|
301 |
+ "requestParameters": { |
|
302 |
+ "plugin-ident": ["manifest"], |
|
303 |
+ "name": ["deploy-plugin"], |
|
304 |
+ "client-id": ["1"], |
|
305 |
+ "deploy-action": ["delete"], |
|
306 |
+ "plugin-identifier": ["Implementation-Title=com.example:plugin"], |
|
307 |
+ "token": ["admin"] |
|
308 |
+ }, |
|
309 |
+ "details": { |
|
310 |
+ "exceptionType": "java.lang.IllegalArgumentException", |
|
311 |
+ "exceptionMessage": "Deploy action 'delete' requires an existing pluign, but none was found." |
|
312 |
+ }, |
|
313 |
+ "message": "class java.lang.IllegalArgumentException: Deploy action 'delete' requires an existing pluign, but none was found.", |
|
314 |
+ "statusCode": 404 |
|
315 |
+} |
|
316 |
+{{/code}} |
|
317 |
+ |
|
318 |
+ |
263 |
263 |
== Beispiel für Maven == |
|
320 |
+ |