Von Version < 1.4 >
bearbeitet von awa
am 12.03.2020, 10:51
Auf Version < 1.9 >
bearbeitet von awa
am 12.03.2020, 11:01
< >
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Inhalt
... ... @@ -22,13 +22,13 @@
22 22  
23 23  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):
24 24  
25 -{{code language="none}}
25 +{{code language="none"}}
26 26  POST http://localhost:8080/formcycle/plugin?name=deploy-plugin&client-id=154 HTTP/1.1
27 27  {{/code}}
28 28  
29 29  Die //client-id// muss nicht angegeben werden, wenn das Plugin als System-Plugin installiert ist.
30 30  
31 -=== Parameter
31 +=== Request-Parameter
32 32  
33 33  Die Parameter können direkt als URL-Parameter, als //multipart/form-data// oder als //application/x-www-form-urlencoded// übergeben werden. Folgende Parameter werden vom Deploy-Plugin unterstützt und können übergeben werden:
34 34  
... ... @@ -38,30 +38,30 @@
38 38  : ID des Mandanten, in dem ein Plugin installiert, aktualisiert oder gelöscht werden soll. Es darf nur entweder //client-id// oder //client-uuid// angegeben werden
39 39  ; client-uuid
40 40  : UUID des Mandanten, in dem ein Plugin installiert, aktualisiert oder gelöscht werden soll. Es darf nur entweder //client-id// oder //client-uuid// angegeben werden. Es ist zu beachten, dass der Aufruf eines als Mandant-Plugin installierten Servlet-Aktion immer der Parameter //client-id// erforderlich ist.
41 -; token
42 -: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde.
43 43  ; jar-file
44 44  : Binärdaten mit der JAR-Datei des Plugins, welches aktualisert oder installiert werden soll.
43 +; token
44 +: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde.
45 45  ; plugin-ident
46 46  : Die Art, wie nach einem vorhandenen Plugin gesucht wird (siehe oben). Folgende Werte sind erlaubt:
47 -;; manifest
48 -;: Identifiziert ein Plugin anhand eines Eintrags im Manifest.
49 -;; id
50 -;: Identifiziert ein Plugin anhand seiner Datenbank-ID.
51 -;; name
52 -;: Identifiziert ein Plugin anhand seines Namens (Dateiname der JAR-Datei)
53 -;; uuid
54 -;: Identifiziert ein Plugin anhand seiner UUID.
47 +:; manifest
48 +:: Identifiziert ein Plugin anhand eines Eintrags im Manifest.
49 +:; id
50 +:: Identifiziert ein Plugin anhand seiner Datenbank-ID.
51 +:; name
52 +:: Identifiziert ein Plugin anhand seines Namens (Dateiname der JAR-Datei)
53 +:; uuid
54 +:: Identifiziert ein Plugin anhand seiner UUID.
55 55  ; plugin-identifier
56 56  : Identifikator des Plugins, welches aktualisiert oder gelöscht werden soll. Die konkrete Bedeutung dieses Parameters ist abhängig von dem Wert von //plugin-ident//:
57 -;; plugin-ident=manifest
58 -;: //plugin-identifier// muss den Namen der Manifest-Eigenschaft und dessen Wert enthalten, im Format //ATTRIBUTE_NAME=VALUE//. Wird zum Beispiel //Implementation-Title=com.example.fc.plugin:my-plugin// übergeben wird, wird nach einem existierenden Plugin gesucht, welches im Manifest in der Eigenschaft //Implementation-Title// den Wert //com.example.fc.plugin:my-plugin// stehen hat.
59 -;; plugin-ident=id
60 -;: //plugin-identifier// muss die gewünschte ID des Plugins enthalten, etwa //53// oder /893//.
61 -;; plugin-ident=name
62 -;: //plugin-identifier// muss den gewünschten Names des Plugins enthalten, etwa //my-plugin.jar// oder /foobar.jar//.
63 -;; plugin-ident=uuid
64 -;: //plugin-identifier// muss die gewünschte UUID des Plugins enthalten, etwa //03022599-903d-429b-9822-80a324a542fc//.
57 +:; plugin-ident=manifest
58 +:: //plugin-identifier// muss den Namen der Manifest-Eigenschaft und dessen Wert enthalten, im Format //ATTRIBUTE_NAME=VALUE//. Wird zum Beispiel //Implementation-Title=com.example.fc.plugin:my-plugin// übergeben wird, wird nach einem existierenden Plugin gesucht, welches im Manifest in der Eigenschaft //Implementation-Title// den Wert //com.example.fc.plugin:my-plugin// stehen hat.
59 +:; plugin-ident=id
60 +:: //plugin-identifier// muss die gewünschte ID des Plugins enthalten, etwa //53// oder /893//.
61 +:; plugin-ident=name
62 +:: //plugin-identifier// muss den gewünschten Names des Plugins enthalten, etwa //my-plugin.jar// oder /foobar.jar//.
63 +:; plugin-ident=uuid
64 +:: //plugin-identifier// muss die gewünschte UUID des Plugins enthalten, etwa //03022599-903d-429b-9822-80a324a542fc//.
65 65  Andernfalls wird das Plugin installiert, falls noch nicht vorhanden, oder aktualisiert, falls vorhanden.
66 66  ; clear-properties
67 67  : Entweder //true// oder //false//. Wenn //true//, werden alle Plugin-Eigenschaften entfernt beziehungsweise deren Werte geleert. Dies wird ausgeführt, bevor die neu zu setzenden Plugin-Eigenschaften (Parameter ///property//) angewendet werden.
... ... @@ -71,4 +71,25 @@
71 71  : Entweder //true// oder //false//. Ist diese Option auf //true// gesetzt und existiert das Plugin noch nicht (bezüglich der angegebenen //plugin-ident// und //plugin-identifier//), wird das Plugin nicht neu installiert und eine Fehlermeldung zurückgegeben. ; locale
72 72  : Die Sprache, welche während der Installation, Aktualisierung oder Löschung des Plugins verwendet werden soll, etwa //en// oder //de//. Beeinflusst nur einige Fehlermeldungen und kann in der Regel weggelassen werden.
73 73  
74 +Der Wert des Parameters //deploy-action// gibt an, was genau mit dem Plugin geschehen soll. Es gibt dabei die folgenden Möglichkeiten:
75 +
76 +; update-properties
77 +: 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:
78 + (((
79 +{{code language="bash"}}
80 +# Löscht alle vorhandenen Plugin-Eigenschaften und setzt dann die Eigenschaft "foo" auf den Wert "bar"
81 + curl -X POST \
82 + -F deploy-action=update-properties \
83 + -F token=admin \
84 + -F plugin-ident=manifest \
85 + -F plugin-identifier=Implementation-Title=com.example:plugin \
86 + -F clear-properties=false \
87 + -F property=foo=bar \
88 + "http://localhost:8080/formcycle/plugin?client-id=154&name=deploy-plugin"
89 +{{/code}})))
90 +
91 +== Response
92 +
93 +
94 +
74 74  == Beispiel für Maven ==
Copyright 2000-2025