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

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -18,15 +18,22 @@
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):
26 26  
27 -{{code language="none"}}
28 -POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1
29 -{{/code}}
36 +> POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1
30 30  
31 31  Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist.
32 32  
... ... @@ -82,8 +82,8 @@
82 82  
83 83  (((
84 84  {{code language="bash"}}
92 +# 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"}}
108 +# 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:
119 +: 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"}}
123 +# 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:
134 +: 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"}}
138 +# 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  
269 +Beispiel für die Antwort beim Aktualisieren eines Plugins:
270 +
271 +{{code language="json"}}
272 +{
273 + "success": true,
274 + "requestParameters": {
275 + "plugin-ident": ["manifest"],
276 + "name": ["deploy-plugin"],
277 + "client-id": ["1"],
278 + "deploy-action": ["save"],
279 + "plugin-identifier": ["Implementation-Title=com.example:plugin"],
280 + "token": ["admin"]
281 + },
282 + "details": {
283 + "name": "my-plugin.jar",
284 + "active": true,
285 + "id": 203,
286 + "message": "Plugin saved successfully.",
287 + "uuid": "2fe3e1ba-cb32-434e-9f59-4422f8dabcad"
288 + },
289 + "message": "Plugin saved successfully.",
290 + "statusCode": 200
291 +}
292 +{{/code}}
293 +
294 +Beispiel für die Antwort beim Löschen, falls das angegebene Plugin nicht gefunden wurde:
295 +
296 +{{code language="json"}}
297 +{
298 + "success": false,
299 + "requestParameters": {
300 + "plugin-ident": ["manifest"],
301 + "name": ["deploy-plugin"],
302 + "client-id": ["1"],
303 + "deploy-action": ["delete"],
304 + "plugin-identifier": ["Implementation-Title=com.example:plugin"],
305 + "token": ["admin"]
306 + },
307 + "details": {
308 + "exceptionType": "java.lang.IllegalArgumentException",
309 + "exceptionMessage": "Deploy action 'delete' requires an existing pluign, but none was found."
310 + },
311 + "message": "class java.lang.IllegalArgumentException: Deploy action 'delete' requires an existing pluign, but none was found.",
312 + "statusCode": 404
313 +}
314 +{{/code}}
315 +
316 +
263 263  == Beispiel für Maven ==
318 +
Copyright 2000-2025