... |
... |
@@ -7,6
+7,8 @@ |
7 |
7 |
* Plugin-Entwickler können beim Maven-Build das Plugin automatisch am Ende des Builds hochladen. So kann der Entwickler schneller testen. |
8 |
8 |
* Eine Installation auf einem Live-System kann so weiter automatisiert werden. |
9 |
9 |
|
|
10 |
+Um Plugins einfach deployen zu können, empfiehlt sich der Quick Start über das Maven-Deploy-Plugin (siehe Kapitel 4. unten). Es folgt zunächst eine genaue Beschreibung des Plugins. |
|
11 |
+ |
10 |
10 |
Das Deploy-Plugin kann sowohl als Mandant-Plugin als auch als System-Plugin installiert werden. Es enthält eine [[Servlet-Aktion>>doc:Formcycle.PluginDevelopment.Types.IPluginServletAction]]. Per HTTP-Post-Request wird eine Plugin-JAR-Datei an den {{formcycle/}}-Server gesendet. Die weiteren Parameter im HTTP-Request bestimmen, was nun weiter mit dem Plugin geschieht, etwa ob es nur installiert oder auch aktiviert werden soll. |
11 |
11 |
|
12 |
12 |
Falls das hochgeladene Plugin bereits existiert, ist es in der Regel ist es sinnvoll, dieses zu ersetzen. Dazu ist es erforderlich, anzugeben, über welchen Identifikator ein Plugin identifiziert wird. Es gibt hierbei vier Möglichkeiten, die dieses Plugin erlaubt: |
... |
... |
@@ -71,7
+71,17 @@ |
71 |
71 |
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: |
72 |
72 |
|
73 |
73 |
; deploy-action |
74 |
|
-: Aktion, welche mit dem Plugin durchgeführt werden soll. Erlaubte Werte sind //save//, //update-properties//, //activate//, //deactivate// und //delete//. Ein Erklärung zu diesen Aktionen findet sich unten. |
|
76 |
+: Aktion, welche mit dem Plugin durchgeführt werden soll. Erlaubte Werte sind //save//, //update-properties//, //activate//, //deactivate// und //delete//. |
|
77 |
+:; save |
|
78 |
+:: Überträgt das angegebene Plugin auf das {{formcycle/}}-System. Es muss hierbei eine JAR-Datei übertragen werden. Falls das Plugin noch nicht existiert (und der Parameter //disallow-install// nicht gesetzt ist), wird das Plugin neu installiert und ist dann aktiviert. Andernfalls, falls das Plugin bereits existiert, wird es aktualisiert, dabei bleibt das Plugin aktiviert oder deaktiviert. |
|
79 |
+:; delete |
|
80 |
+:: Löscht das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. |
|
81 |
+:; activate |
|
82 |
+:: 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. |
|
83 |
+:; deactivate |
|
84 |
+:: 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. |
|
85 |
+:; update-properties |
|
86 |
+:: 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. |
75 |
75 |
; client-id |
76 |
76 |
: 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 |
77 |
77 |
; client-uuid |
... |
... |
@@ -79,7
+79,7 @@ |
79 |
79 |
; jar-file |
80 |
80 |
: Binärdaten mit der JAR-Datei des Plugins, welches aktualisert oder installiert werden soll. |
81 |
81 |
; token |
82 |
|
-: Das Token (Password) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde. |
|
94 |
+: Das Token (Passwort) für die Authorisierung des Requests. Nur erforderlich, wenn in der Plugin-Konfiguration ein Token festgelegt wurde. |
83 |
83 |
; plugin-ident |
84 |
84 |
: Die Art, wie nach einem vorhandenen Plugin gesucht wird (siehe oben). Folgende Werte sind erlaubt: |
85 |
85 |
:; manifest |
... |
... |
@@ -109,13
+109,10 @@ |
109 |
109 |
; locale |
110 |
110 |
: 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. |
111 |
111 |
|
112 |
|
-=== Deploy-Action === |
|
124 |
+=== Beispiele === |
113 |
113 |
|
114 |
|
-Der Wert des Parameters //deploy-action// gibt an, was genau mit dem Plugin geschehen soll. Es gibt dabei die folgenden Möglichkeiten: |
|
126 |
+; |
115 |
115 |
|
116 |
|
-; save |
117 |
|
-: Überträgt das angegebene Plugin auf das {{formcycle/}}-System. Es muss hierbei eine JAR-Datei übertragen werden. Falls das Plugin noch nicht existiert (und der Parameter //disallow-install// nicht gesetzt ist), wird das Plugin neu installiert und ist dann aktiviert. Andernfalls, falls das Plugin bereits existiert, wird es aktualisiert, dabei bleibt das Plugin aktiviert oder deaktiviert. |
118 |
|
- |
119 |
119 |
((( |
120 |
120 |
{{code language="bash"}} |
121 |
121 |
# Installiert oder aktualisiert das Plugin mit dem Implementation-Title com.example:plugin |
... |
... |
@@ -129,9
+129,6 @@ |
129 |
129 |
{{/code}} |
130 |
130 |
))) |
131 |
131 |
|
132 |
|
-; delete |
133 |
|
-: Löscht das angegebene Plugin. Es darf hierbei keine JAR-Datei übertragen werden. Existiert das angegebene Plugin nicht, wird ein Fehler zurückgegeben. Beispiel: |
134 |
|
- |
135 |
135 |
((( |
136 |
136 |
{{code language="bash"}} |
137 |
137 |
# Löscht das Plugin mit dem Implementation-Title com.example:plugin |
... |
... |
@@ -144,9
+144,6 @@ |
144 |
144 |
{{/code}} |
145 |
145 |
))) |
146 |
146 |
|
147 |
|
-; activate |
148 |
|
-: 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: |
149 |
|
- |
150 |
150 |
((( |
151 |
151 |
{{code language="bash"}} |
152 |
152 |
# Aktiviert das Plugin mit dem Implementation-Title com.example:plugin |
... |
... |
@@ -159,9
+159,6 @@ |
159 |
159 |
{{/code}} |
160 |
160 |
))) |
161 |
161 |
|
162 |
|
-; deactivate |
163 |
|
-: 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: |
164 |
|
- |
165 |
165 |
((( |
166 |
166 |
{{code language="bash"}} |
167 |
167 |
# Deaktiviert oder aktualisiert das Plugin mit dem Implementation-Title com.example:plugin |
... |
... |
@@ -174,9
+174,6 @@ |
174 |
174 |
{{/code}} |
175 |
175 |
))) |
176 |
176 |
|
177 |
|
-; update-properties |
178 |
|
-: 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: |
179 |
|
- |
180 |
180 |
((( |
181 |
181 |
{{code language="bash"}} |
182 |
182 |
# Löscht alle vorhandenen Plugin-Eigenschaften und setzt dann die Eigenschaft "foo" auf den Wert "bar" |
... |
... |
@@ -346,7
+346,7 @@ |
346 |
346 |
|
347 |
347 |
== Create-Token-Servlet == |
348 |
348 |
|
349 |
|
-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): |
|
346 |
+Mit diesem Servlet kann ein Hash für ein bestimmtes Klartextpasswort erzeugt werden, welcher dann in der Plugin-Eigenschaft //token// hinterlegt werden kann. Dies ist wichtig, wenn das Deployen von jedem Beliebigem Nutzer verhindert werden soll. Es muss hierbei ein HTTP-GET-Request verwendet werden (Pfad auf den {{formcycle/}}-Servet und die Mandant-ID entsprechend ersetzen): |
350 |
350 |
|
351 |
351 |
{{code language="none"}} |
352 |
352 |
http://localhost:8080/formcycle/plugin?client-id=1&name=create-token&token=<PASSWORT>&method=<METHOD> |
... |
... |
@@ -555,18
+555,18 @@ |
555 |
555 |
|
556 |
556 |
Hinweis: IDE wie Eclipse und IntelliJ erlauben es, eine Build-Konfiguration für das Plugin-Projekt zu erstellen, wo die Parameter //fcDeployUrl//, //fcDeployClientId// und //fcDeployToken// hinterlegt werden können. |
557 |
557 |
|
558 |
|
-== Versionshistorie |
|
555 |
+== Versionshistorie == |
559 |
559 |
|
560 |
560 |
In diesem Abschnitt werden die vorhandenen Versionen des Deploy-Plugins und die jeweiligen Änderungen in dieser Version beschrieben. |
561 |
561 |
|
562 |
|
-=== 1.1.0 |
|
559 |
+=== 1.1.0 === |
563 |
563 |
|
564 |
564 |
* Anpassungen für {{formcycle/}} 6.4. |
565 |
565 |
|
566 |
|
-=== 1.0.1 |
|
563 |
+=== 1.0.1 === |
567 |
567 |
|
568 |
568 |
* Verbesserte Fehlerbehandlung bei der Plugin-Installation. |
569 |
569 |
|
570 |
|
-=== 1.0.0 |
|
567 |
+=== 1.0.0 === |
571 |
571 |
|
572 |
572 |
* Initialer Release |