Wiki-Quellcode von Datenbankzähler-Plugin


Zeige letzte Bearbeiter
1 [[**Plugin-Download**>>url:https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/fc-plugin-bundle-dbcounter&fileid=5521||target="_blank"]] (erfordert Anmeldung)
2
3 {{content/}}
4
5 {{figure image="plugin_dbcounter_workflow_select_de.png" width="600"}}
6 Das Datenbankzähler-Plugin kann sowohl als Mandant-Plugin als auch als System-Plugin installiert werden. Das Plugin selber benötigt keine Konfiguration. Nach Installation stehen zwei neue Aktionen in der Statusverarbeitung zur Verfügung: //Counter// und //Variable//. Bei //Counter// muss der Zählername fest eingegeben werden, bei //Variable// kann der Zählername dynamisch durch den Wert eines Formularfelds bestimmt werden.
7 {{/figure}}
8
9 Das Datenbankzähler-Plugin ermöglicht es, einen oder mehrere globale Zähler in einer Datenbank anzulegen und in einem speziellen Hauptmenüpunkt zu verwalten. Der Zählwert kann innerhalb der [[Statusverarbeitung>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] erhöht, erniedrigt, ausgelesen oder zurückgesetzt werden.
10
11 Mögliche Anwendungsfälle sind:
12
13 * Ein Teilnahmeformular, in dem die Anzahl der Teilnehmer pro Termin gezählt wird und weitere Anmeldungen ab einer bestimmten Grenze blockiert werden.
14 * Das Generieren einer {{smallcaps}}id{{/smallcaps}} für einen Formularvorgang, die unabhängig von der internen {{smallcaps}}id{{/smallcaps}} von {{formcycle/}} ist. Dies ist speziell dann sinnvoll, wenn die {{smallcaps}}id{{/smallcaps}} einem bestimmten Muster folgen soll oder in regelmäßigen Abständen zurückgesetzt werden muss.
15 * Das n-fache Durchlaufen der Aktionen eines Status, wobei //n// in Abhängigkeit einer Formulareingabe festgelegt wird.
16
17 Nach Installation können Zähler in einer separaten Menüseite im Backend verwaltet werden. Hier sieht man den aktuellen Stand aller bereits angelegten Zähler. Dort ist es auch möglich, den Wert der Zähler auszulesen, als auch neue Zähler anzulegen oder bestehende Zähler zu löschen.
18
19 Mit diesem Plugin stehen zwei neue Aktionen in der Statusverarbeitung zur Verfügung: //Counter// und //Variable//. Bei //Counter// muss der Zählername fest eingegeben werden, bei //Variable// kann der Zählername dynamisch durch den Wert eines Formularfelds bestimmt werden. Der genaue Unterschied sowie die Anwendungsfälle finden sich unten im entsprechenden Abschnitt dazu.
20
21 Weiterhin ist es auch möglich, den aktuellen Wert eines Zählers über einen [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] in der Verarbeitung oder [[per {{smallcaps}}Ajax{{/smallcaps}}>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.WebHome]] im Formular abzufragen.
22
23 Jeder Zähler besitzt sowohl einen Namen als auch eine eindeutige [[{{smallcaps}}Uuid{{/smallcaps}}>>https://de.wikipedia.org/wiki/Universally_Unique_Identifier]]. Die {{smallcaps}}Uuid{{/smallcaps}} dient zur eindeutigen Identifikation Zählers und wird bei der Abfrage per {{smallcaps}}Ajax{{/smallcaps}} verwendet.
24
25 Dieses Plugin ist ein Plugin-Bundle und enthält zwei Verarbeitungsplugins, ein Platzhalterersetzungsplugin und ein Servlet-Plugin. Diese Plugins werden in den folgendenen Abschnitten genauer beschrieben.
26
27 == Menüpunkt "Zählerkonfiguration" ==
28
29 {{info}}
30 Durch dieses Plugin wird ein [[Rollenrecht>>doc:Formcycle.UserInterface.UserSettings.Roles]] erstellt, welches steuert, ob ein Benutzer Zugriff auf dieses Menü hat. Falls dieses Menü nicht in der Menüleiste zu sehen ist, sollte der zuständige Administrator kontaktiert werden.
31 {{/info}}
32
33 {{figure image="plugin_dbcounter_config_base_de.png" width="600"}}
34 Das Menü mit einer Übersicht über alle vorhandenen Zähler. Hier können auch neue Zähler hinzugefügt und bestehende Zähler gelöscht werden.
35 {{/figure}}
36
37 Nach Installation des Zähler-Plugins erscheint links im Hauptmenü ein neuer Menüeintrag mit dem Namen //Zählerkonfiguration//. In diesem Menü findet sich eine Übersicht mit Informationen über alle vorhandenen Zähler, etwa deren Namen und aktuellen Wert. Weiterhin ist es auch möglich, neue Zähler anzulegen oder bestehende Zähler zu löschen.
38
39 Ein neuer Zähler wird durch Drücken auf das Plus-Symbol links oben angelegt. Ein bestehender Zähler wird Betätigen des Papierkorb-Symbols links oben gelöscht.
40
41 === Eigenschaften ===
42
43 In der Liste links kann ein Zähler ausgewählt werden. Nach Auswahl erscheinen die folgenden Informationen zu dem Zähler:
44
45 ; {{smallcaps}}Uuid{{/smallcaps}}
46 : Eine eindeutige {{smallcaps}}id{{/smallcaps}} des Zählers, die etwa beim Abruf des Zählerwerts per {{smallcaps}}Ajax{{/smallcaps}} (siehe Servlet-Aktions-Plugin unten) verwendet wird.
47 ; Aktueller Wert
48 : Der aktuelle Wert des Zählers.
49 ; Erstellt am
50 : Das Datum, an dem der Zähler erstellt wurde.
51 ; Geändert am
52 : Das Datum, an dem der Wert des Zählers zuletzt geändert wurde.
53
54 Weiterhin können die folgenden Eigenschaften des Zählers bearbeitet werden:
55
56 ; Zählername
57 : Der Name dieses Zählers. Wird der Name geändert, sollte beachtet werden, dass Platzhalter und {{smallcaps}}Ajax{{/smallcaps}}-Abfragen, wo der Name des Zählers verwendet wird, ebenfalls angepasst werden müssen. {{smallcaps}}Ajax{{/smallcaps}}-Abfrage bei denen die {{smallcaps}}Uuid{{/smallcaps}} des Zählers verwendet wird müssen hingegen nicht angepasst werden, da die {{smallcaps}}Uuid{{/smallcaps}} des Zählers sich nicht ändert.
58 ; Beschreibung
59 : Eine optionale Beschreibung des Zählers, die auch nur in diesem Backend-Menü einsehbar ist.
60 ; Startwert
61 : Der Startwert des Zählers. Dieser wird auch benutzt, wenn in einer Aktion der Zählerwert auf den Startwert zurückgesetzt werden soll.
62 ; Automatisch zurücksetzen
63 : Wenn diese Option aktiviert ist, wird der Zähler in periodischen Abständen auf den Startwert zurückgesetzt.
64
65 === Automatisches Zurücksetzen ===
66
67 Folgende Eigenschaften erscheinen, wenn der Zähler automatisch zurückgesetzt werden soll:
68
69 {{info}}
70 Geschieht ein Zurücksetzen des Zählers, so ist nach Ausführung der aktuellen Verarbeitungsaktion (//Counter oder Variable) //der Wert des Zählers gleich dem Startwert. Zum Beispiel: Die Counter-Aktion sei so eingestellt, dass der Zähler um //3// erhöht wird. Weiterhin soll der Zähler täglich zurückgesetzt werden. Der aktuelle Wert sei //37//, der Startwert //11//. Die erste Counter-Aktion, die an einem Tag ausgeführt wird, setzt nun der Wert des Zählers auf den Wert //11// zurück. Das Hochzählen um 3 erfolgt erst ab der zweiten Counter-Aktion an einem Tag.
71 {{/info}}
72
73 {{info}}
74 Es ist zu beachten, dass der Zähler nicht in einem Hintergrundprozess zurückgesetzt wird, sondern erst wenn die Verarbeitungsaktion //Counter// ausgeführt wird. Genauer: Der Zählwert wird bei Ausführung der Aktion zurückgesetzt (anstelle erhöht oder erniedrigt zu werden), falls zwischen dem Zeitpunkt, an dem der Zählwert zuletzt geändert wurde, und dem aktuellen Zeitpunkt des Servers ein Zeitpunkt liegt, an dem der Zähler gemäß Konfiguration zurückgesetzt hätte werden müssen.
75 {{/info}}
76
77 ; Bedingung
78 : Hier kann festgelegt werden, wann und unter welchen Umständen der Zähler zurückgesetzt werden soll. Es kann zwischen folgenden Optionen gewählt werden:
79 :; Zähler größer gleich
80 :: Nur verfügbar, wenn als Zählaktion //Hochzählen// gewählt wurde. Der Zähler wird auf den Startwert zurückgesetzt, wenn durch die aktuelle Aktion der Wert des Zählers so geändert wird, dass dieser größer oder gleich dem festgelegten Wert ist.
81 :; Zähler kleiner gleich
82 :: Nur verfügbar, wenn als Zählaktion //Herunterzählen// gewählt wurde. Der Zähler wird auf den Startwert zurückgesetzt, wenn durch die aktuelle Aktion der Wert des Zählers so geändert wird, dass dieser kleiner oder gleich dem festgelegten Wert ist.
83 :; täglich
84 :: Der Zähler wird jeden Tag zur gewählten Uhrzeit auf den Startwert zurückgesetzt.
85 :; wöchentlich
86 :: Der Zähler wird an jedem gewählten Wochentag zu der gewählten Uhrzeit zurückgesetzt.
87 :; monatlich
88 :: Der Zähler wird jeden Monat zum gewählten Tag zu der gewählten Uhrzeit zurückgesetzt.
89 :; jährlich
90 :: Der Zähler wird jedes Jahr zum gewählten Tag zu der gewählten Uhrzeit zurückgesetzt
91
92 == Aktionsverarbeitung "Counter" ==
93
94 {{figure image="plugin_dbcounter_action_counter_de.png"}}
95 Die Einstellungen für die Verarbeitungsaktion //Counter//. Hier kann festgelegt werden, welcher Zähler in welcher Weise geändert werden soll (hochzählen, herunterzählen etc).
96 {{/figure}}
97
98 Nach Installation dieses Plugins gibt es in der [[Status- und Aktionsverarbeitung>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] eine neue Aktion namens //Counter//. Mit dieser Aktion kann der aktuelle Zählwert eines statischen Zählers geändert werden.
99
100 Im Unterschied zur Aktion //Variable// muss und kann hier der Zähler fest ausgewählt werden. Der Zähler sollte vorher in der Zählerkonfiguration (siehe oben) angelegt werden. Daher eignet sich diese Aktion besonders für globale Zähler, wie etwa für die Generierung einer fortlaufenden Vorgangs-{{smallcaps}}id{{/smallcaps}}.
101
102 ; Zählername
103 : Auswahl des Zählers, dessen Wert geändert werden soll. Der Zähler sollte vorher in der Zählerkonfiguration angelegt werden, kann aber auch hier neu erstellt werden. Für jeden Zähler wird sowohl sein Name als auch seine {{smallcaps}}Uuid{{/smallcaps}} angezeigt. Die {{smallcaps}}Uuid{{/smallcaps}} dient der eindeutigen Identifikation des Zählers und wird etwa bei der Abfrage per {{smallcaps}}Ajax{{/smallcaps}} verwendet. Um einen Zähler zu löschen, wird dieser ausgewählt und das Papierkorb-Symbol rechts neben der Auswahl betätigt. Um einen neuen Zähler hinzuzufügen, wird zuerst auf das Plus-Symbol gedrückt, anschließend der gewünschte Name des Zählers eingegeben und schließlich der neue Zähler durch Drücken des Plus-Symbols angelegt.
104 ; Zählaktion
105 : Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind:
106 :; Hochzählen
107 :: Erhöht den Wert des Zählers um die eingegebene Zahl.
108 :; Herunterzählen
109 :: Erniedrigt den Wert des Zählers um die eingegebene Zahl.
110 :; Zähler auf Startwert zurücksetzen
111 :: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück.
112 ; Schrittweite
113 : Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll.
114 ; Globale Einstellungen nutzen (deprecated)
115 : Diese Option sollte angehakt bleiben und dient nur der Abwärtskompatibilität zu älteren Versionen des Plugins. Bei älteren Versionen gab es nicht die Möglichkeit, eine Menüseite im Backend für die Zählerkonfiguration anzulegen, daher musste dies in der Aktionsverarbeitung geschehen. Ist diese Option deaktiviert, erscheinen weitere Einstellungen, die oben im Abschnitt zur Zählerkonfiguration beschrieben sind.
116
117 == Aktionsverarbeitung "Variable" ==
118
119 {{figure image="plugin_dbcounter_action_variable_de.png"}}
120 Die Einstellungen für die Verarbeitungsaktion //Variable//. Mit dieser Aktion kann der Zählername dynamisch festgelegt werden, etwa durch den Wert eines Formularelements und wie als Variable genutzt werden.
121 {{/figure}}
122
123 Nach Installation dieses Plugins gibt es in der [[Status- und Aktionsverarbeitung>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] eine neue Aktion namens //Variable//. Mit dieser Aktion kann der aktuelle Zählwert eines dynamisch festlegbaren Zählers geändert werden.
124
125 Im Unterschied zur Aktion //Counter// kann bei dieser Aktion ein Zähler über seinen Namen ausgewählt werden. Der Name kann frei über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] zusammengefasst werden. Wenn es den Zähler noch nicht gibt, wird ein neuer Zähler mit dem Namen angelegt.
126
127 Daher eignet sich diese Aktion besonders, wenn es eine unbekannte Anzahl von Zählern gibt. Beispielsweise kann diese Aktion für ein Teilnahmeformular genutzt werden, bei dem es jede Woche neue Termine gibt. Für jeden Termin kann dann ein Zähler (etwa im //Format Jahr-Monat-Tag//) benutzt werden, um die Anzahl der Teilnehmer an dem jeweiligen Tag zu zählen.
128
129 === Variablenänderung ===
130
131 Hier wird der Name der Variable ("Zähler") ausgewählt und in angegeben, in welcher Weise deren Wert geändert werden soll.
132
133 ; Zählername
134 : Auswahl des Zählers, dessen Wert geändert werden soll. Hier wird der Name des Zählers (nicht dessen {{smallcaps}}Uuid{{/smallcaps}}) eingegeben. Zudem können Platzhalter verwendet werden, um den Zählernamen dynamisch zu erzeugen. Etwa kann hier ein Formularfeld mit der {{smallcaps}}id{{/smallcaps}} eines Termins verwendet werden.
135 ; Zählaktion
136 : Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind:
137 :; Hochzählen
138 :: Erhöht den Wert des Zählers um die eingegebene Zahl.
139 :; Herunterzählen
140 :: Erniedrigt den Wert des Zählers um die eingegebene Zahl.
141 :; Zähler auf Startwert zurücksetzen
142 :: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück.
143 ; Schrittweite
144 : Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll.
145
146 === Standardeinstellungen, falls Variable noch nicht existiert ===
147
148 Falls die Variable ("Zähler") mit dem angegebenen Namen noch nicht existiert, wird ein neuer Zähler erstellt. In diesem Bereich wird festgelegt, welche Einstellungen der neu angelegte Zähler haben soll. Falls der Zähler bereits existiert, haben diese Einstellungen keine Auswirkung.
149
150 ; Startwert
151 : Der Startwert des neu angelegten Zählers.
152 ; Automatisch zurücksetzen
153 : Ob der neu angelegte Zähler automatisch zurückgesetzt werden soll. Ist diese Option aktiviert, erscheinen weitere Einstellungen, die im Abschnitt zur Zählerkonfiguration (siehe oben) genauer erläutert sind.
154
155 == Rückgabeparameter der Aktionen ==
156
157 {{figure image="plugin_dbcounter_action_return_parameters_de.png"}}
158 Einstellungen für die Rückgabeparameter der Aktion, die später über Aktionsplatzhalter verfügbar sind.
159 {{/figure}}
160
161 Manchmal ist es notwendig, auf das Ergebnis der Zählaktion zugreifen zu können, etwa den aktuellen Wert oder den Statuscode. Dies kann über [[Aktionsplatzhalter>>doc:Formcycle.UserInterface.Variables]] geschehen, welche auf die Rückgabewerte einer Aktion zugreifen. In den allgemeinen Rückgabeparametern kann eingestellt werden, über welchem Schlüssel auf die Rückgabeparameter Aktion zugegriffen werden kann. Beispielsweise trage die Zähleraktion den Namen //CountUp//. Dann kann über den Platzhalter //[%$CountUp.RESULT[0].currentValue%]// auf den aktuellen Zählwert zugegriffen werden, falls unter bei den allgemeinen Rückgabeparameter der Wert //currentValue// im mittleren Eingabefelder //Counter// eingetragen wurde. Folgende Rückgabeparameter sind verfügbar:
162
163 ; ResultCode
164 : Ein nummerischer Zahlenwert, der angibt, ob die Zählaktion erfolgreich war oder nicht. Folgende Ergebnisnummern sind möglich:
165 :; 1 (OK)
166 :: Die Zählaktion wurde erfolgreich abgearbeitet.
167 :; 10 (UNKNOWN_ACTION_ERROR)
168 :: Die Zählaktion kann nicht ausgeführt werden, da eine unbekannte Zählaktion ausgewählt wurde. Aktuell werden die Zählaktionen //Hochzählen//, //Herunterzählen// und //Auf den Startwert zurücksetzen// unterstützt.
169 :; 11 (PARSING_ERROR)
170 :: Ein konfigurierter Wert hat nicht den erwarteten Datentyp, etwa wenn für die Schrittweite des Zählers keine syntaktisch korrekte Zahl eingegeben wurde.
171 :; 40 (INTERNAL_ERROR)
172 :: Es ist ein anderer Fehler aufgetreten, der nicht näher klassifiziert werden kann.
173 ; ResultMessage
174 : Eine englische Beschreibung des Resultats (Erfolg oder Fehler).
175 ; Counter
176 : Der neue nummerische Wert des Zählers, nachdem die Zählaktion ausgeführt wurde.
177 ; IsReset
178 : Entweder //true//, falls der Zähler durch die aktuelle Aktion zurückgesetzt wurde; oder //false//, wenn er nicht zurückgesetzt wurde.
179 ; CounterAfterReset
180 : Falls der Zähler zurückgesetzt wurde: Der nummerische Wert des Zählers vor dem Zurücksetzen.
181
182 == Systemplatzhalter-Plugin ==
183
184 {{figure image="dbcounter-plugin-placeholder_de.png"}}
185 Ein Beispiel für den Platzhalter zum Auslesen des Zählwerts. Hier wird ein Zähler ausgelesen, der die Anzahl an Anmeldungen für eine Veranstaltung zählt. Dann wird geprüft, ob der Zählwert die maximale Anzahl an Anmeldungen übersteigt. Basierend auf dieser Prüfung kann dem Nutzer dann ein Fehler angezeigt werden, falls die Veranstaltung bereits ausgebucht ist. Hierbei handelt es sich um eine serverseitige Prüfung zur Validierung, bereits im Formular bei der Anmeldung sollte dem Nutzer natürlich schon die Information gegeben werden, ob überhaupt noch Plätze frei sind.
186 {{/figure}}
187
188 Nach Installation des Plugins ist ein neuer [[Systemplatzhalter>>doc:Formcycle.UserInterface.Variables]] verfügbar, über den auf den aktuellen Wert eines Zählers zugegriffen werden kann. Dies ist etwa nützlich, um in einer Aktionsbedingung den Zählwert nutzen und prüfen zu können. Der Platzhalter baut sich nach dem folgenden Schema auf:
189
190 {{code language="none"}}
191 [%$DBCOUNTER.<Zählername>%]
192 {{/code}}
193
194 Um also etwa auf den Zähler mit dem Namen //test// zuzugreifen, muss der folgende Platzhalter genutzt werden:
195
196 {{code language="none"}}
197 [%$DBCOUNTER.test%]
198 {{/code}}
199
200 Falls auf einen Zähler zugegriffen werden soll, bei dem nicht bekannt ist, ob es diesen schon gibt, muss der Startwert für den Zähler mit angegeben werden. Falls der Zähler noch nicht existiert, wird dann ein neuer Zähler mit diesem Startwert erstellt. Der Platzhalter baut sich dann nach folgendem Schema auf:
201
202 {{code language="none"}}
203 [%$DBCOUNTER(<Zählername>, <Startwert>)%]
204 {{/code}}
205
206 Angenommen, der Zähler heiße //teilnehmer-2020-03-17// und soll den Wert //0// erhalten, falls er noch nicht existiert. Dann kann der folgende Platzhalter genutzt werden:
207
208 {{code language="none"}}
209 [%$DBCOUNTER(teilnehmer-2020-03-17, 0)%]
210 {{/code}}
211
212 == Servlet-Aktions-Plugin ==
213
214 {{figure image="dbcounter_plugin_servlet_action.png"}}
215 Beispiel zum Auslesen eines Zählers im Formular mittels {{smallcaps}}Ajax{{/smallcaps}}. Die {{smallcaps}}Url{{/smallcaps}} wird anhand der im Formular zur Verfügung stehenden Metadaten aufgebaut. Hiermit wird vermieden, die {{smallcaps}}Url{{/smallcaps}} hart im Quelltext zu hinterlegen, was zu Fehlern führt, wenn sich etwa der Server oder der Kontextpfad ändern sollte.
216 {{/figure}}
217
218 Nach Installation des Plugins ist eine neue Servlet-Aktion verfügbar, mit der auf den aktuellen Wert eines Zähler zugegriffen werden kann. Dies ist etwa nützlich, wenn aus dem Formular heraus ein Zählwert per {{smallcaps}}Ajax{{/smallcaps}}-Anfrage abgerufen werden soll. Die {{smallcaps}}Url{{/smallcaps}} für das Servlet baut sich nach dem folgenden Schema auf:
219
220 {{code language="none"}}
221 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&client-id=<Mandant-ID>&id=<Zähler-UUID>
222 {{/code}}
223
224 Falls also etwa {{formcycle/}} lokal unter dem Pfad //xima-formcycle// installiert wurde, der Zähler in einem Formular des Mandanten mit der ID //1// verwendet wird und die {{smallcaps}}Uuid{{/smallcaps}} //bc49d3b0-f869-4e59-864e-ddcc2925ed63// besitzt, dann lautet die {{smallcaps}}Url{{/smallcaps}}:
225
226 {{code language="none"}}
227 https://localhost:8080/xima-formcycle/plugin?name=Servlet%20Counter&client-id=1&id=bc49d3b0-f869-4e59-864e-ddcc2925ed63
228 {{/code}}
229
230 Alternativ ist es auch möglich, statt der //client-id// die {{smallcaps}}id{{/smallcaps}} des Formulars zu verwenden. Diese {{smallcaps}}id{{/smallcaps}}s lediglich verwendet, um das Servlet-Aktions-Plugin zu bestimmen, welches ausgeführt werden soll, und werden von diesem konkreten Plugin nicht ausgewertet:
231
232 {{code language="none"}}
233 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&project-id=<Formular-ID>&id=<Zähler-UUID>
234 {{/code}}
235
236 === HTTP-Parameter ===
237
238 Zusätzlich zu den oben genannten Parametern gibt es noch weitere Parameter, die an die {{smallcaps}}Url{{/smallcaps}} angehängt werden können. Im Folgenden werden alle verfügbaren Parameter kurz erläutert.
239
240 ; name
241 : Der Name des aufzurufenden Servlet-Aktions-Plugins, in dem Fall also //Servlet Counter//
242 ; client-id
243 : {{smallcaps}}id{{/smallcaps}} des Mandanten, in dem das Zähler-Plugin installiert wurde. Nicht nötig, falls das Plugin als System-Plugin installiert wurde. Es darf nur entweder //client-id// oder //project-id// angegeben werden.
244 ; project-id
245 : {{smallcaps}}id{{/smallcaps}} eines Formulars, in dem das Zähler-Plugin zur Verfügung steht. Es darf nur entweder //client-id// oder //project-id// angegeben werden.
246 ; id
247 : {{smallcaps}}Uuid{{/smallcaps}} des Zählers, auf den zugegriffen werden soll. Existiert der Zähler mit der angegebenen {{smallcaps}}Uuid{{/smallcaps}} noch nicht, wird ein entsprechender Fehler-Code zurückgeliefert (siehe unten). Es darf nur entwender eine //id// oder ein //counter-name// angegeben werden.
248 ; counter-name
249 : Name des Zählers, auf den zugegriffen werden soll. Existiert der Zähler mit dem angegebenen Namen noch nicht, wird ein neuer Zähler erstellt. Es darf nur entwender eine //id// oder ein //counter-name// angegeben werden.
250 ; counter-initial
251 : Optional. Initialer Wert des Counters, wenn dieser noch nicht existiert. Standardwert ist //0//. Dieser Parameter darf nur angegeben werden, wenn auch //counter-name// angegeben wird.
252 ; counter-array
253 : Optional. Entweder //true// oder //false// (Standard). Wenn auf //true// gesetzt, darf der Parameter //counter-name// beziehungsweise //id// mehrfach angegeben werden. Es wird dann Array mit den Werten den Informationen zu den einzelnen Zählern angegeben. Diese Option sollte genutzt werden, wenn in einem Formular per {{smallcaps}}Ajax{{/smallcaps}} mehrere Zähler auf einmal abgefragt werden sollen. So kann die Anzahl an {{smallcaps}}Http{{/smallcaps}}-Anfrage reduziert werden.
254
255 === HTTP-Antwort ===
256
257 Nach Ausführung des Servlet-Aktions-Plugin wird das Ergebnis als {{smallcaps}}Json{{/smallcaps}}-Objekt zurückgeliefert, siehe hierzu auch die Abbildung. Falls der Parameter //counter-array// auf //true// gesetzt wurde, wird stattdessem ein {{smallcaps}}Json{{/smallcaps}}-Array zurückgegeben, wobei jeder Eintrag ein {{smallcaps}}Json{{/smallcaps}}-Objekt mit den unten beschriebenen Einträgen ist.
258
259 Das {{smallcaps}}Json{{/smallcaps}}-Objekt hat die folgenden Einträge:
260
261 ; Status
262 : Gibt an, ob der Servlet-Aufruf erfolgreich war. Der Wert ist ein weiteres {{smallcaps}}Json{{/smallcaps}}-Objekt mit folgenden Einträgen:
263 :; Msg
264 :: Ein nummerischer Wert, der angibt, ob der Servlet-Aufruf erfolgreich war. Mögliche Werte sind:
265 ::; 0 (OK)
266 ::: Die Servlet-Anfrage war erfolgreich.
267 ::; 12 (NO_REQUEST_ID_ERROR)
268 ::: Die Server-Anfrage enthielt keine Zähler-{{smallcaps}}Uuid{{/smallcaps}}.
269 ::; 13 (NO_COUNTER_TO_UUID_ERROR)
270 ::: Es existiert kein Zähler mit der angefragten {{smallcaps}}Uuid{{/smallcaps}}.
271 ::; 40 (INTERNAL_ERROR)
272 ::: Es ist ein anderer Fehler aufgetreten, der nicht näher klassifiziert werden kann.
273 :; Code
274 :: Eine englische Beschreibung des Resultats (Erfolg oder Fehler).
275 ; Counter
276 : Informationen zum angefragten Zähler. Der Wert ist ein weiteres {{smallcaps}}Json{{/smallcaps}}-Objekt mit folgenden Einträgen:
277 : Der aktuelle nummerische Wert des Zählers.
278 :; LastChange
279 :: Das Datum mit Uhrzeit, an dem der Zähler zuletzt geändert wurde. Das Datum wird mit dem Datums- und Zeitformat der aktuellen Server-Locale formattiert.
280 :; LastChangeTimestamp
281 :: Das Datum mit Uhrzeit, an dem der Zähler zuletzt geändert wurde. Der Zeitstempel ist eine ganze Zahl, welche die Anzahl an Millisekunden seit dem 1. Januar, 1970, 00:00:00 GMT angibt.
282 :; Value
283 :: Der aktuelle nummerische Wert des Zählers.
284 :; {{smallcaps}}Uuid{{/smallcaps}}
285 :: Die {{smallcaps}}Uuid{{/smallcaps}} des angefragten Zählers, dessen Wert ausgelesen wurde.
286 :; Name
287 :: Der Name des angefragten Zählers, dessen Wert ausgelesen wurde.
288
289 == Versionshistorie ==
290
291 In diesem Abschnitt werden die vorhandenen Versionen des Zähler-Plugins und die jeweiligen Änderungen in dieser Version beschrieben.
292
293 === 2.3.3 ===
294
295 * Rechtschreibfehler korrigiert
296
297 === 2.3.2 ===
298
299 * Fehler in UI behoben: Checkbox //Globale Einstellungen nutzen// unter Zählereigenschaften bei Aktion //Counter// schaltet wieder die darauffolgenden Einstellungen sichtbar beziehungsweise unsichtbar.
300 * Kleinere Rechtschreibfehler korrigiert.
301
302 === 2.3.1 ===
303
304 * Fehler in {{smallcaps}}Mysql{{/smallcaps}} behoben, sodass dieses Plugin nun auch mit diesem Datenbankverwaltungssystem funktioniert.
305
306 === 2.3.0 ===
307
308 * Neue Aktion: Variable ändern
309 * Hier kann der Zählername frei vergeben werden, auch per Platzhalter. Dafür ist aber ein initialer Wert notwendig. Optional kann eine initiale Konfiuration für das Zurücksetzen eingegeben werden.
310 * Neuer Platzhalter: //DBCOUNTER(name, initialValue)//. Legt Zähler neu an, wenn der noch nicht existiert.
311 * 3 neue Parameter für Servlet-Plugin: //counter-name//, //counter-initial// und //counter-array//.
312
313 === 2.2.0 ===
314
315 * Reset (wenn notwendig) auch beim Auslesen des Zählers
316 * Portalseite (//Zählerkonfiguration//) im Backend für die Konfiguration der Zähler
317 * Einstellungen zum Zurücksetzen und zum initialen Wert jetzt nicht mehr in Aktionsverarbeitungskonfiguration, sondern auf der Portalseite.
318
319 === 2.1.0 ===
320
321 * Anpassungen für {{formcycle/}} Version 6.1.6
322 * //CounterPlugin// und //ServletCounterPlugin// hatten die gleichen Namen, dies führte zu Problemen.
323 * Fehler beim Zurücksetzen der Zähler behoben
324 * Im Servlet-Aktions-Plugin gibt es einen neuen Rückgabewert: //Counter.LastChangeTimestamp//
325 * Neues System-Platzhalter-Plugin zum Auslesen des Wertes eines Zähler über Platzhalter: //[%DBCOUNTER.name%]//
326
327 === 2.0.0 ===
328
329 * Portierung auf {{formcycle/}} Version 6.0.2
330
331 === 1.0.1 ===
332
333 * Bugfix: Zähler wurde beim ersten Aufruf nicht gesetzt
334
335 === 1.0.0 ===
336
337 * Initiale Version