... |
... |
@@ -18,40
+18,15 @@ |
18 |
18 |
|
19 |
19 |
== Plugin-Konfiguration == |
20 |
20 |
|
21 |
|
-Am Plugin selber kann konfiguriert werden, ob das Deploy-Servlet durch ein Passwort geschützt werden soll. Dieses Passwort muss dann im Klartext beim HTTP-POST-Request mit angegeben werden. |
|
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 |
|
-Zur Konfiguration des Passworts gibt es die eine Plugin-Eigenschaft //token//, diese hat das folgende Format |
|
23 |
+> hash_method:hashed_value |
24 |
24 |
|
25 |
|
-{{code language="none"}} |
26 |
|
-hash_method:hashed_value |
27 |
|
-{{/code}} |
28 |
|
- |
29 |
29 |
Folgende Hash-Methoden stehen zur Verfügung: |
30 |
30 |
|
31 |
31 |
; plain |
32 |
|
-: Identitätsfunktion, das Passwort im Klartext angegeben. |
33 |
|
-; sha256 |
34 |
|
-: SHA-256-Algorithmus. |
35 |
|
-; sha384 |
36 |
|
-: SHA-384-Algorithmus. |
37 |
|
-; sha512 |
38 |
|
-: SHA-512-Algorithmus. |
|
28 |
+: asd |
39 |
39 |
|
40 |
|
-Um das Passwort im Klartext beispielsweise auf //admin// festzulegen, wird der folgende Wert für die Plugin-Eigenschaft //token// eingegeben: |
41 |
|
- |
42 |
|
-{{code language="none"}} |
43 |
|
-plain:admin |
44 |
|
-{{/code}} |
45 |
|
- |
46 |
|
-Um das Passwort mit SHA-256 beispielsweise auf //admin// festzulegen, wird der folgende Wert für die Plugin-Eigenschaft //token// eingegeben: |
47 |
|
- |
48 |
|
-{{code language="none"}} |
49 |
|
-sha256:S+32GI3fWXwHHulUMtWmjpQ15EqMvgVYguuO9SKxfNw+ckAGQljP6tKlf1EITnU7 |
50 |
|
-{{/code}} |
51 |
|
- |
52 |
|
-Der Hash ist gesalzen. Ein gültiger Hash für ein bestimmtes Passwort kann mit dem //create-token//-Servlet erzeugt werden, siehe unten. |
53 |
|
- |
54 |
|
- |
55 |
55 |
== Deploy-Servlet == |
56 |
56 |
|
57 |
57 |
Im Folgenden wird der Aufbau des HTTP-Requests beschrieben, um ein Plugin zu installieren, zu aktualisieren oder zu löschen. |
... |
... |
@@ -58,9
+58,7 @@ |
58 |
58 |
|
59 |
59 |
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): |
60 |
60 |
|
61 |
|
-{{code language="none"}} |
62 |
|
-POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1 |
63 |
|
-{{/code}} |
|
36 |
+> POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1 |
64 |
64 |
|
65 |
65 |
Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist. |
66 |
66 |
|
... |
... |
@@ -188,7
+188,7 @@ |
188 |
188 |
{{/code}} |
189 |
189 |
))) |
190 |
190 |
|
191 |
|
-=== Response === |
|
164 |
+== Response == |
192 |
192 |
|
193 |
193 |
Das Deploy-Plugin liefert einen Statuscode und ein JSON-Objekt mit den Details zurück. Der Status-Code ist 2xx, falls das Deploy-Plugin erfolgreich ausgeführt wurde. |
194 |
194 |
|
... |
... |
@@ -341,92
+341,5 @@ |
341 |
341 |
{{/code}} |
342 |
342 |
|
343 |
343 |
|
344 |
|
-== Create-Token-Servlet == |
|
317 |
+== Beispiel für Maven == |
345 |
345 |
|
346 |
|
-Mit diesem Servlet kann ein Hash für ein bestimmtes Klartextpasswort erzeugt werden, welcher dann in der Plugin-Eigenschaft //token// hinterlegt werden kann. Es muss hierbei ein HTTP-GET-Request verwendet werden (Pfad auf den FORMCYCLE-Servet und die Mandant-ID entsprechend ersetzen): |
347 |
|
- |
348 |
|
-{{code language="none"}} |
349 |
|
-http://localhost:8080/formcycle/plugin?client-id=1&name=create-token&token=<PASSWORT>&method=<METHOD> |
350 |
|
-{{/code}} |
351 |
|
- |
352 |
|
-; token |
353 |
|
-: Der Klartext des Passwort, zu dem ein Hash ermittelt werden soll. |
354 |
|
-; method |
355 |
|
-: Methode zum Berechnen des Hashes. Erlaubte Werte sind //plain//, //sha256//, //sha384// und //sha512//. Optional, Standardwert ist //sha256//. |
356 |
|
- |
357 |
|
-Als Antwort wird ein JSON zurückgeliefert, welches das gleiche Format wie die Antwort des Deploy-Plugins hat. Beispiel für eine Antwort: |
358 |
|
- |
359 |
|
-{{code language="json"}} |
360 |
|
-{ |
361 |
|
- "success": true, |
362 |
|
- "requestParameters": { |
363 |
|
- "name": ["create-token"], |
364 |
|
- "client-id": ["1"], |
365 |
|
- "token": ["admin"] |
366 |
|
- }, |
367 |
|
- "details": { |
368 |
|
- "method": "sha256", |
369 |
|
- "token": "sha256:S+32GI3fWXwHHulUMtWmjpQ15EqMvgVYguuO9SKxfNw+ckAGQljP6tKlf1EITnU7" |
370 |
|
- }, |
371 |
|
- "message": "Hash token created successfully", |
372 |
|
- "statusCode": 200 |
373 |
|
-} |
374 |
|
-{{/code}} |
375 |
|
- |
376 |
|
-== Maven-Deploy-Plugin == |
377 |
|
- |
378 |
|
-Um ein Plugin nach dem Bauen über Maven in FORMCYCLE hochzuladen, gibt es auch ein Maven-Plugin, welches das Deploy-Servlet anspricht. Dieses ist über die Artifactory von XIMA erhältlich, falls man die entsprechenden Rechte hierfür hat: |
379 |
|
- |
380 |
|
-{{code language="xml"}} |
381 |
|
-<plugin> |
382 |
|
- <groupId>de.xima.fc.maven.plugin</groupId> |
383 |
|
- <artifactId>fc-deploy-plugin-maven-plugin</artifactId> |
384 |
|
- <version>1.1.0</version> |
385 |
|
- <configuration> |
386 |
|
- <url>http://localhost:8080/formcycle</url> |
387 |
|
- <pluginName>deploy-plugin</pluginName> |
388 |
|
- <clientId>52</clientId> |
389 |
|
- <token>admin</token> |
390 |
|
- <deployAction>save</deployAction> |
391 |
|
- <pluginIdent>name</manifest> |
392 |
|
- <pluginIdentifier>my-plugin.jar</pluginIdentifier> |
393 |
|
- <jarFile></jarFile> |
394 |
|
- <disallowInstall>false</disallowInstall> |
395 |
|
- <locale>en</locale> |
396 |
|
- <clearProperties>true</clearProperties> |
397 |
|
- <properties> |
398 |
|
- <property1>value1</property1> |
399 |
|
- <property2>value2</property2> |
400 |
|
- <properties> |
401 |
|
- </configuration> |
402 |
|
-</plugin> |
403 |
|
-{{/code}} |
404 |
|
- |
405 |
|
-Das Plugin hat die folgenden Optionen zur Konfiguration: |
406 |
|
- |
407 |
|
-; url [Standardwert: //${fcDeployUrl}//] |
408 |
|
-: URL mit Kontextpfad zum FORMCYCLE-Server, etwa //http://localhost:8080/formcycle// |
409 |
|
-; pluginName [Standardwert: //deploy-plugin//] |
410 |
|
-: Der Name des Deploy-Plugins für den URL-Parameter //name//. In der Regel muss diese Option nicht gesetzt werden, der Standardwert ist ausreichend. |
411 |
|
-; clientId [Standardwert: //${fcDeployClientId}//] |
412 |
|
-: ID des Mandanten, für den das Plugin installiert, aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //client-id// des Deploy-Plugins, siehe oben. |
413 |
|
-; clientUuid |
414 |
|
-: UUID des Mandanten, für den das Plugin installiert, aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //client-uuid// des Deploy-Plugins, siehe oben. |
415 |
|
-; token [Standardwert: ${fcDeployToken}] |
416 |
|
-: Passwort für das Servlet-Plugin, falls in der Konfiguration des Deploy-Plugins ein Passwort gesetzt wurde. |
417 |
|
-; deployAction [Standardwert: //save//] |
418 |
|
-: Aktion, welche mit dem Plugin durchgeführt werden soll. Erlaubte Werte sind //save//, //update-properties//, //activate//, //deactivate// und //delete//. Entspricht dem Parameter //deploy-action// des Deploy-Plugins, siehe oben. |
419 |
|
-; pluginIdent [Standardwert: //manifest//] |
420 |
|
-: Die Art, wie nach einem vorhandenen Plugin gesucht wird. Entspricht dem Parameter //plugin-ident// des Deploy-Plugins, siehe oben. |
421 |
|
-; pluginIdentifier [Standardwert: //Implementation-Title=${project.groupId}:${project.artifactId}//] |
422 |
|
-: Identifikator des Plugins, welches aktualisiert oder gelöscht werden soll. Entspricht dem Parameter //plugin-identifier// des Deploy-Plugins, siehe oben. |
423 |
|
-; jarFile [Standartwert: Haupt-Build-Artifakt des Maven-Projekts] |
424 |
|
-: Pfad zur JAR-Datei, die hochgeladen werden soll, relativ zum Basisverzeichnis des Maven-Projekts. |
425 |
|
-; disallowInstall [Standardwert: //false//] |
426 |
|
-: Wenn //true// und das Plugin noch nicht existiert, wird abgebrochen und ein Fehler zurückgegeben. Entspricht dem Parameter //disallow-install// des Deploy-Plugins, siehe oben. |
427 |
|
-; locale [Standardwert: //en//] |
428 |
|
-: Sprache, die für die Installation, Aktualisierung oder Löschung des Plugins genutzt wird. Entspricht dem Parameter //locale// des Deploy-Plugins, siehe oben. |
429 |
|
-; clearProperties [Standardwert: //false//] |
430 |
|
-: Löscht die Werte aller Plugin-Eigenschaften. Entspricht dem Parameter //clear-properties// des Deploy-Plugins, siehe oben. |
431 |
|
-; properties |
432 |
|
-: Key-Value-Paare mit Eigenschaften, die an dem Plugin gesetzt werden sollen. Entspricht dem Parameter //clear-properties// des Deploy-Plugins, siehe oben. |