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

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -18,15 +18,40 @@
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. Dazu gibt es die eine Plugin-Eigenschaft //token//, diese hat das folgende Format
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.
22 22  
23 -> hash_method:hashed_value
23 +Zur Konfiguration des Passworts gibt es die eine Plugin-Eigenschaft //token//, diese hat das folgende Format
24 24  
25 +{{code language="none"}}
26 +hash_method:hashed_value
27 +{{/code}}
28 +
25 25  Folgende Hash-Methoden stehen zur Verfügung:
26 26  
27 27  ; plain
28 -: asd
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.
29 29  
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 +
30 30  == Deploy-Servlet ==
31 31  
32 32  Im Folgenden wird der Aufbau des HTTP-Requests beschrieben, um ein Plugin zu installieren, zu aktualisieren oder zu löschen.
... ... @@ -33,7 +33,9 @@
33 33  
34 34  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):
35 35  
36 -> POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1
61 +{{code language="none"}}
62 +POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1
63 +{{/code}}
37 37  
38 38  Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist.
39 39  
... ... @@ -161,7 +161,7 @@
161 161  {{/code}}
162 162  )))
163 163  
164 -== Response ==
191 +=== Response ===
165 165  
166 166  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.
167 167  
... ... @@ -314,5 +314,92 @@
314 314  {{/code}}
315 315  
316 316  
317 -== Beispiel für Maven ==
344 +== Create-Token-Servlet ==
318 318  
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.
Copyright 2000-2025