Von Version < 1.12 >
bearbeitet von awa
am 12.03.2020, 11:46
Auf Version < 1.14 >
bearbeitet von awa
am 12.03.2020, 12:00
< >
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -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 +
Copyright 2000-2025