Verstecke letzte Bearbeiter
awa 46.3 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
awa 20.6 3 {{content/}}
4
gru 47.1 5 == Funktionsbeschreibung ==
6
7 Das kostenpflichtige Datenbankzähler-Plugin ermöglicht es, mehrere globale Zähler zu erstellen und zu verwalten. Der Zählwert kann innerhalb der [[Platzhalter>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] ausgelesen, erhöht, verringert oder zurückgesetzt werden und ist als [[Statusverarbeitung>>doc:Formcycle.UserInterface.Variables.WebHome]] verfügbar. Über AJAX-Requests kann der Wert von einem oder mehreren Zählern ermittelt werden, z.B. im JavaScript-Code eines Formulars.
8
9 == Installation ==
10
11 Das Plugin kann als Mandant-Plugin oder System-Plugin installiert werden. Eine Anleitung zur Installation von Plugins finden Sie [[hier>>doc:Formcycle.UserInterface.Client.Plugins.WebHome]]. Zu beachten ist hierbei, dass das Plugin nur genau einmal auf dem {{formcycle/}} Server installiert werden darf.
12
13 {{info}}
14 Durch dieses Plugin wird ein [[Rollenrecht>>doc:Formcycle.UserInterface.UserSettings.Roles]] erstellt, welches steuert, ob ein Benutzer Zugriff den Menüpunkt zur Konfiguration der Zähler hat. Diese Berechtigungen sollten nach der Installtion vergeben werden.
15 {{/info}}
16
17 == Beispiel für die Verwendung ==
18
19 Im folgenden wird anhand eines Beispielprojekts die Verwendung von verschiedene Komponeten des Datenbankzähler-Plugins demonstriert. Das Ziel des Beispiels ist es, für eine Veranstaltung mit 15 Teilnehmern einen Zähler anzulegen und das Anmelden von mehr als 15 Teilnehmern zu verhindern.
20
21 === Anlegen eines Zählers ===
22
23 {{figure image="1_Beispiel_Zaehler.png" width="600"}}
24 Anlegen und konfigurieren eines neuen Zählers mit dem Namen //BeispielZaehler//.
awa 20.3 25 {{/figure}}
26
gru 47.1 27 {{figure image="2_Beispiel_Wert.png" width="250" clear="h3"}}
28 Setzen des Wertes des Zählers auf die für das Beispiel gewünschte Teilnehmeranzahl von 15.
29 {{/figure}}
awa 20.2 30
gru 47.1 31 Nach der Installation des Plugins gibt es im Hauptmenü der {{formcycle/}} Oberfläche einen neuen Menüeintrag [[//Zählerkonfiguration>>||anchor="HEinstellungenimMenFCpunkt22ZE4hlerkonfiguration22"]]. Dort kann über den einen Klick auf die Plus-Schaltfläche ein neuer Zähler angelegt werden. Für diesen muss ein //Zählername// angegeben werden. Über den Stift-Schaltfläche für //Aktueller Wert// kann der Wert des Zählers gesetzt werden. Nachdem dort der Wert 15 eingegeben wurde, muss dieser über die Haken-Schaltfläche bestätigt werden. Anschließend muss über die //Speichern//-Schaltfläche unten rechts der Zähler gespeichert werden.
tkr 44.8 32
gru 47.1 33 === Konfiguration der Statusverarbeitungsaktion ===
awa 20.3 34
gru 47.1 35 {{figure image="3_Beispiel_Aktion.png" width="600" clear="h3"}}
36 Konfigurieren einer //Counter//-Plugin-Aktion, welche den Wert des Zählers //BeispielZaehler// um 1 verringert.
37 {{/figure}}
awa 30.10 38
gru 47.1 39 Nachdem der Zähler erstellt wurde, kann in einem Formular in der [[Statusverarbeitung>>doc:Formcycle.UserInterface.Variables.WebHome]] eine Plugin-Aktion vom Typ //Counter// angelegt werden. Diese muss so konfiguriert werden, dass der Zähler beim Eingang des Formulars um 1 verringert wird. Dafür muss unter //Zählername// der Zähler //BeispielZaehler// und bei //Zählaktion// die Option //Herunterzählen// ausgewählt werden.
awa 20.5 40
gru 47.1 41 === Verwenden von Platzhaltern für die Prüfung der Formulareingänge ===
awa 30.11 42
gru 47.1 43 {{figure image="4_Beispiel_Aktionen.png" width="600" clear="h3"}}
44 Zusätzlicher Status und zusätzliche Aktionen, um zu prüfen, ob es beim Eingang des Formulars noch einen Platz gab bzw. den Absender zu informieren, wenn es keinen freien Platz mehr gab.
45 {{/figure}}
awa 20.5 46
gru 47.1 47 {{figure image="5_Beispiel_Bedingung.png" width="600" clear="h3"}}
48 Konfigurieren einer Bedingung für die //Statuswechsel//-Plugin-Aktion, welche in den Status //Keine Plätze verfügbar// springt, wenn der Zählerwert 0 erreicht hat.
49 {{/figure}}
awa 30.19 50
gru 47.1 51 Um zu verhindern, dass das Formular normal eingeht, wenn es keine freien Plätze mehr gibt und um den Benutzer darüber zu informieren, dass er leider keinen Platz mehr bekommen hat, muss in der Verarbeitung weitere Aktionen und ein Status eingefügt werden.
tkr 44.8 52
gru 47.1 53 Zunächst wird ein neuer Status //Keine Plätze verfügbar// eingefügt. In diesem kann über eine Aktion vom Typ Abschlusseite ein Template ausgewählt werden, welches dem Nutzer anzeigt, dass es keine freien Plätze mehr gegeben hat. Für diesen Zweck existiert kein vorgefertigtes HTML-Template, weshalb dies selbst erstellt werden muss. Über eine Aktion vom Typ Vorgang löschen wird der eingegangene Vorgang anschließend wieder gelöscht.
awa 44.2 54
gru 47.1 55 Im Status //Eingegangen// muss eine Aktion vom Typ //Statusänderung// eingefügt werden, welche so konfiguriert ist, dass sie in den Ziel-Status //Keine Plätze verfügbar// wechselt. Über eine Abarbeitungsbedingung an der Aktion //Statusänderung// ist es möglich, zu prüfen, ob der Zählerwert beim Eingang des Fomulars bereits 0 ist. Nur in diesem Fall soll die Aktion abgearbeitet werden. Für diese Prüfung kann der Platzhalter {{code language="none"}}[%$$DBCOUNTER.BeispielZaehler%]{{/code}} als //Formularelement// verwendet werden.
56
57 === Verwendung von Platzhaltern im Formular ===
58
59 {{figure image="6_Beispiel_Zahlfeld.png" width="600"}}
60 Weiteres Eingabefeld zum Anzeigen der Anzahl der noch verfügbaren Plätze und die dafür nötigen Einstellungen im {{designer/}}.
awa 30.19 61 {{/figure}}
62
gru 47.1 63 {{figure image="7_Beispiel_Button.png" width="600" clear="h3"}}
64 Konfiguration der Scihtbarkeitsbedingung der Schaltfläche zum Absenden im {{designer/}}.
65 {{/figure}}
awa 30.19 66
gru 47.1 67 Um dem Benutzer beim Öffnen des Formulars die Anzahl der zu diesem Zeitpunkt noch verfügbaren Plätze anzuzeigen, kann ein weiteres Eingabefeld verwendet. Dieses wird so Konfiguriert, dass es vom Benutzer nicht editiert werden kann und über den Platzhalter {{code language="none"}}[%$$DBCOUNTER.BeispielZaehler%]{{/code}} beim Aufruf des Formulars mit dem aktuellen Zählerwert befüllt wird.
68
69 Um zu verhindern, dass das Formular abgesendet werden kann, wenn es keine freien Plätze mehr gibt, kann im {{designer/}} für die Schaltfläche zum Absenden eine //Verstecken wenn//-Bedingung konfiguriert werden. Über diese wird die Schaltfläche unsichtbar, wenn das der Wert im gerade angelegten Eingabeelement (und damit der Wert des Zähler) 0 ist.
70
71 {{velocity}}
72 ##=== Auslesen des Zählerwertes per JavaScript ===
73 ##
74 ##Auslesen und Verändern der Zählerwerte in der Verarbeitung
75 {{/velocity}}
76 === Herunterladen des Beispielformulars ===
77
78 Das Formular mit allen gemachten Einstellungen kann **[[hier>>attach:Beispiel Zähler.zip]]** heruntergeladen werden. Damit das Formular funktioniert, muss jedoch ein eigener Zähler unter [[//Zählerkonfiguration>>||anchor="HEinstellungenimMenFCpunkt22ZE4hlerkonfiguration22"]] angelegt werden und dieser muss in der Aktion //Counter// ausgewählt werden. Beim Import des Formulars kann außerdem ein HTML-Template mit importiert werden, welches dem Absender eines Formulars mittteilt, dass es keine weiteren freien Plätze gibt.
79
80 == Einstellungen im Menüpunkt "Zählerkonfiguration" ==
81
82 {{figure image="8_plugin_dbcounter_config_base_de.png" width="600"}}
83 Das Menü mit einer Übersicht über alle vorhandenen Zähler. Hier können auch neue Zähler hinzugefügt und bestehende Zähler bearbeitet werden.{{/figure}}
84
85 Nach Installation des Datenbankzähler-Plugin 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 bearbeiten und zu löschen.
86
awa 30.20 87 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.
88
gru 47.1 89 === Zählerdaten ===
awa 30.22 90
gru 47.1 91 In der Liste links kann ein Zähler ausgewählt werden. Nach Auswahl erscheinen die folgenden Informationen zum ausgewählten Zähler:
awa 30.21 92
awa 30.22 93 Weiterhin können die folgenden Eigenschaften des Zählers bearbeitet werden:
awa 30.21 94
95 ; Zählername
awa 44.11 96 : 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.
gru 47.1 97 ; Aktueller Wert
98 : Der aktuelle Wert des Zählers. Kann über die //Stift//-Schaltfläche bearbeitet werden.
awa 30.22 99 ; Beschreibung
tkr 44.8 100 : Eine optionale Beschreibung des Zählers, die auch nur in diesem Backend-Menü einsehbar ist.
awa 30.22 101 ; Automatisch zurücksetzen
102 : Wenn diese Option aktiviert ist, wird der Zähler in periodischen Abständen auf den Startwert zurückgesetzt.
awa 30.21 103
gru 47.1 104 ==== Automatisches Zurücksetzen ====
awa 30.22 105
gru 47.1 106 Folgende Eigenschaften erscheinen, wenn die Option //Automatisch Zurücksetzen// ausgewählt wurde:
awa 30.22 107
108 {{info}}
gru 47.1 109 Geschieht ein Zurücksetzen des Zählers, so ist nach Ausführung der aktuellen //Counter//-Verarbeitungsaktion 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.
awa 30.22 110 {{/info}}
111
awa 30.23 112 {{info}}
awa 30.25 113 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.
awa 30.23 114 {{/info}}
awa 30.22 115
awa 30.23 116 ; Bedingung
tkr 44.8 117 : 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:
awa 30.22 118 :; Zähler größer gleich
awa 30.26 119 :: 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.
awa 30.22 120 :; Zähler kleiner gleich
awa 30.26 121 :: 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.
awa 30.22 122 :; täglich
awa 30.26 123 :: Der Zähler wird jeden Tag zur gewählten Uhrzeit auf den Startwert zurückgesetzt.
awa 30.22 124 :; wöchentlich
awa 30.26 125 :: Der Zähler wird an jedem gewählten Wochentag zu der gewählten Uhrzeit zurückgesetzt.
awa 30.22 126 :; monatlich
awa 30.26 127 :: Der Zähler wird jeden Monat zum gewählten Tag zu der gewählten Uhrzeit zurückgesetzt.
awa 30.22 128 :; jährlich
awa 30.26 129 :: Der Zähler wird jedes Jahr zum gewählten Tag zu der gewählten Uhrzeit zurückgesetzt
awa 30.22 130
gru 47.1 131 === Zähler-Metadaten ===
awa 20.5 132
gru 47.1 133 In diesem Bereich werden Meta-Informationen zum aktuell ausgewählten Zähler ausgegeben.
awa 20.5 134
gru 47.1 135 ; {{smallcaps}}Uuid{{/smallcaps}}
136 : 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.
137 ; Angelegt am
138 : Das Datum, an dem der Zähler erstellt wurde.
139 ; Geändert am
140 : Das Datum, an dem der Wert des Zählers zuletzt geändert wurde.
awa 20.5 141
gru 47.1 142 === Zähler-Zugriffmöglichkeiten ===
awa 20.5 143
gru 47.1 144 Hier wir eine {{smallcaps}}Url{{/smallcaps}} für den direkten Zugriff auf den Zählerwert per AJAX-Request angegeben und ein JavaScript-Template für das Ausführen eines solchen AJAX-Requests innerhalb eines Formulars bereitgestellt. Bei dem JavaScript-Code ist zu beachten, dass dieser die jQuery-Funktion {{code language="none"}}$.ajax(){{/code}} verwendet, welche noch um Funktionen für das Behandeln von des zurückgegebenen Wertes ergänzt werden muss (z.B. Funktion über das Hinzufügen einer //success//-Funktion).
awa 20.5 145
gru 47.1 146 == Aktionsverarbeitung "Counter" ==
awa 30.11 147
gru 47.1 148 {{figure image="9_plugin_dbcounter_action_counter_de.png" width="400"}}
149 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).
awa 30.11 150 {{/figure}}
151
gru 47.1 152 Nach Installation des Datenbankzähler-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 Zählers verändert werden.
awa 30.11 153
gru 47.1 154 Im der Aktion muss der Zähler fest ausgewählt werden und muss daher zuvor in der [[//Zählerkonfiguration>>||anchor="HEinstellungenimMenFCpunkt22ZE4hlerkonfiguration22"]] (siehe oben) angelegt werden.
awa 30.11 155
gru 47.1 156 === Parameter der Aktion ===
awa 30.11 157
gru 47.1 158 ; Zählername
159 : Auswahl des Zählers, dessen Wert geändert werden soll. Der Zähler muss vorher in der Zählerkonfiguration angelegt 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.
awa 30.14 160
awa 30.13 161 ; Zählaktion
162 : Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind:
163 :; Hochzählen
164 :: Erhöht den Wert des Zählers um die eingegebene Zahl.
165 :; Herunterzählen
166 :: Erniedrigt den Wert des Zählers um die eingegebene Zahl.
167 :; Zähler auf Startwert zurücksetzen
168 :: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück.
169 ; Schrittweite
gru 47.1 170 : Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll. Nicht verfügbar, wenn //Zähler auf Startwert zurücksetzen// ausgewählt wurde.
awa 30.12 171
gru 47.1 172 === Rückgabeparameter der Aktion ===
awa 30.13 173
gru 47.1 174 Manchmal ist es notwendig, auf das Ergebnis der Zählaktion zugreifen zu können, wie zum Beispiel 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].Counter%]// auf den aktuellen Zählwert zugegriffen werden. Folgende Rückgabeparameter sind verfügbar:
awa 30.14 175
awa 30.2 176 ; ResultCode
awa 20.17 177 : Ein nummerischer Zahlenwert, der angibt, ob die Zählaktion erfolgreich war oder nicht. Folgende Ergebnisnummern sind möglich:
awa 20.18 178 :; 1 (OK)
awa 20.17 179 :: Die Zählaktion wurde erfolgreich abgearbeitet.
awa 20.18 180 :; 10 (UNKNOWN_ACTION_ERROR)
awa 20.17 181 :: 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.
awa 20.18 182 :; 11 (PARSING_ERROR)
awa 20.17 183 :: Ein konfigurierter Wert hat nicht den erwarteten Datentyp, etwa wenn für die Schrittweite des Zählers keine syntaktisch korrekte Zahl eingegeben wurde.
awa 20.18 184 :; 40 (INTERNAL_ERROR)
awa 20.17 185 :: Es ist ein anderer Fehler aufgetreten, der nicht näher klassifiziert werden kann.
awa 30.2 186 ; ResultMessage
awa 20.19 187 : Eine englische Beschreibung des Resultats (Erfolg oder Fehler).
awa 30.2 188 ; Counter
awa 20.17 189 : Der neue nummerische Wert des Zählers, nachdem die Zählaktion ausgeführt wurde.
awa 30.2 190 ; IsReset
awa 20.17 191 : Entweder //true//, falls der Zähler durch die aktuelle Aktion zurückgesetzt wurde; oder //false//, wenn er nicht zurückgesetzt wurde.
awa 30.2 192 ; CounterAfterReset
awa 20.17 193 : Falls der Zähler zurückgesetzt wurde: Der nummerische Wert des Zählers vor dem Zurücksetzen.
194
gru 47.1 195 == Platzhalter ==
awa 20.20 196
gru 47.1 197 {{figure image="10_dbcounter-plugin-placeholder_de.png"}}
198 Ein Beispiel für den Platzhalter zum Auslesen des Wertes des Zählers //BeispielZaehler// in der Abarbeitungsbedingung einer Aktion.
awa 20.20 199 {{/figure}}
200
gru 47.1 201 Nach Installation des Plugins ist ein neuer [[Template-Platzhalter>>doc:Formcycle.UserInterface.Variables]] verfügbar, über den auf den aktuellen Wert der Zähler zugegriffen werden kann. Dies ist zum Beispiel 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:
awa 20.20 202
awa 30.9 203 {{code language="none"}}
gru 47.1 204 [%$$DBCOUNTER.<Zählername>%]
awa 20.21 205 {{/code}}
awa 20.20 206
awa 30.3 207 Um also etwa auf den Zähler mit dem Namen //test// zuzugreifen, muss der folgende Platzhalter genutzt werden:
awa 20.21 208
awa 30.9 209 {{code language="none"}}
gru 47.1 210 [%$$DBCOUNTER.test%]
awa 20.21 211 {{/code}}
212
gru 47.1 213 {{info}}
214 Bis einschließlich der Version 3.0.0 des Datenbankzähler-Plugins wurden Platzhalter nur über ein Systemplatzhalter-Plugin bereitgestellt und folgten damit dem Schema {{code language="none"}}[%$DBCOUNTER.<Zählername>%]{{/code}}. Diese werden in einer zukünftigen Version des Datenbankzähler-Plugins nicht weiter unterstützt.
215 {{/info}}
awa 30.3 216
gru 47.1 217 == Servlet-Aktions-Plugin / Zugriff auf Zählerwert mittels AJAX-Reques==
awa 30.3 218
gru 47.1 219 {{figure image="11_dbcounter_plugin_servlet_action.png"}}
220 Beispiel zum Auslesen eines Zählers //BeispielZaehler// 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.
221 {{/figure}}
awa 30.3 222
gru 47.1 223 Nach Installation des Plugins ist eine neue Servlet-Aktion verfügbar, mit der auf den aktuellen Wert eines Zähler zugegriffen werden kann. Dies kann dazu genutzt werden, um aus einem Formular den Wert eines Zählers per {{smallcaps}}Ajax{{/smallcaps}}-Anfrage zu ermitteln. In der [[//Zählerkonfiguration>>||anchor="HEinstellungenimMenFCpunkt22ZE4hlerkonfiguration22"]] wird eine JavaScript-Vorlage für einen {{smallcaps}}Ajax{{/smallcaps}}-Zugriff innerhalb eines Formulars für den jeweils gerade ausgewählten Zähler bereitgestellt.
awa 30.3 224
gru 47.1 225 Für den Zugriff auf den Wert eines Zählers per AJAX muss eine {{smallcaps}}Url{{/smallcaps}} verwendet werden, welche dem folgenden Schema entsprechen muss:
awa 20.21 226
awa 30.10 227 {{code language="none"}}
awa 30.4 228 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&client-id=<Mandant-ID>&id=<Zähler-UUID>
awa 20.23 229 {{/code}}
230
gru 47.1 231 Falls {{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, lautet die {{smallcaps}}Url{{/smallcaps}} dementsprechend:
awa 20.23 232
awa 30.10 233 {{code language="none"}}
awa 20.23 234 https://localhost:8080/xima-formcycle/plugin?name=Servlet%20Counter&client-id=1&id=bc49d3b0-f869-4e59-864e-ddcc2925ed63
235 {{/code}}
236
gru 47.1 237 Alternativ ist es auch möglich, statt der //client-id// die {{smallcaps}}id{{/smallcaps}} des Formulars zu verwenden:
awa 20.23 238
awa 30.10 239 {{code language="none"}}
awa 30.4 240 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&project-id=<Formular-ID>&id=<Zähler-UUID>
awa 20.23 241 {{/code}}
awa 20.24 242
tkr 44.8 243 === HTTP-Parameter ===
awa 30.4 244
awa 44.11 245 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.
awa 30.4 246
awa 30.5 247 ; name
248 : Der Name des aufzurufenden Servlet-Aktions-Plugins, in dem Fall also //Servlet Counter//
249 ; client-id
awa 44.11 250 : {{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.
awa 30.5 251 ; project-id
awa 44.11 252 : {{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.
awa 30.6 253 ; id
awa 44.10 254 : {{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.
awa 30.6 255 ; counter-name
256 : 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.
257 ; counter-initial
awa 44.16 258 : 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.
awa 30.6 259 ; counter-array
awa 44.17 260 : 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.
awa 30.4 261
tkr 44.8 262 === HTTP-Antwort ===
awa 30.4 263
awa 44.10 264 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.
awa 20.24 265
awa 44.10 266 Das {{smallcaps}}Json{{/smallcaps}}-Objekt hat die folgenden Einträge:
awa 30.8 267
awa 20.24 268 ; Status
awa 44.10 269 : Gibt an, ob der Servlet-Aufruf erfolgreich war. Der Wert ist ein weiteres {{smallcaps}}Json{{/smallcaps}}-Objekt mit folgenden Einträgen:
awa 20.24 270 :; Msg
271 :: Ein nummerischer Wert, der angibt, ob der Servlet-Aufruf erfolgreich war. Mögliche Werte sind:
awa 20.27 272 ::; 0 (OK)
273 ::: Die Servlet-Anfrage war erfolgreich.
274 ::; 12 (NO_REQUEST_ID_ERROR)
awa 44.10 275 ::: Die Server-Anfrage enthielt keine Zähler-{{smallcaps}}Uuid{{/smallcaps}}.
awa 20.27 276 ::; 13 (NO_COUNTER_TO_UUID_ERROR)
awa 44.10 277 ::: Es existiert kein Zähler mit der angefragten {{smallcaps}}Uuid{{/smallcaps}}.
awa 20.27 278 ::; 40 (INTERNAL_ERROR)
279 ::: Es ist ein anderer Fehler aufgetreten, der nicht näher klassifiziert werden kann.
awa 20.24 280 :; Code
281 :: Eine englische Beschreibung des Resultats (Erfolg oder Fehler).
282 ; Counter
gru 47.1 283 : Informationen zum angefragten Zähler. Exisitert nur, wenn der angefragte Zähler existiert. Der Wert selbst ist ein weiteres {{smallcaps}}Json{{/smallcaps}}-Objekt mit folgenden Einträgen:
awa 20.24 284 :; LastChange
285 :: 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.
286 :; LastChangeTimestamp
287 :: 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.
gru 47.1 288 :; Name
289 :: Der Name des angefragten Zählers, dessen Wert ausgelesen wurde.
290 :; {{smallcaps}}Uuid{{/smallcaps}}
291 :: Die {{smallcaps}}Uuid{{/smallcaps}} des angefragten Zählers, dessen Wert ausgelesen wurde.
awa 20.24 292 :; Value
293 :: Der aktuelle nummerische Wert des Zählers.
awa 44.5 294
awa 44.12 295 == Versionshistorie ==
awa 44.5 296
297 In diesem Abschnitt werden die vorhandenen Versionen des Zähler-Plugins und die jeweiligen Änderungen in dieser Version beschrieben.
298
nlo 47.2 299 === 4.0.1 ===
300
301 * Es wurde ein Fehler behoben, bei dem die Platzhalter für Zähler nicht auf Frontend-Servern ausgewertet wurden.
302
gru 47.1 303 === 4.0.0 ===
304
305 * Verbesserung der Oberfläche für die Zählerkonfiguration
306 * Entfernen der Aktion //Variable ändern//
307 * Einführen neuer Template-Platzhalter.
308
309 === 3.0.0 ===
310
311 * Fehler in Zählerverwaltung für bestehende Zähler beim Update auf Version 2.3.3 des Plugins behoben.
312 {{info}}Nach dem Update müssen alle Zähler neu angelegt werden.{{/info}}
313
tkr 44.8 314 === 2.3.3 ===
awa 44.5 315
316 * Rechtschreibfehler korrigiert
317
tkr 44.8 318 === 2.3.2 ===
awa 44.5 319
awa 44.18 320 * Fehler in UI behoben: Checkbox //Globale Einstellungen nutzen// unter Zählereigenschaften bei Aktion //Counter// schaltet wieder die darauffolgenden Einstellungen sichtbar beziehungsweise unsichtbar.
321 * Kleinere Rechtschreibfehler korrigiert.
awa 44.5 322
tkr 44.8 323 === 2.3.1 ===
awa 44.5 324
awa 44.18 325 * Fehler in {{smallcaps}}Mysql{{/smallcaps}} behoben, sodass dieses Plugin nun auch mit diesem Datenbankverwaltungssystem funktioniert.
awa 44.5 326
tkr 44.8 327 === 2.3.0 ===
awa 44.5 328
329 * Neue Aktion: Variable ändern
330 * 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.
331 * Neuer Platzhalter: //DBCOUNTER(name, initialValue)//. Legt Zähler neu an, wenn der noch nicht existiert.
332 * 3 neue Parameter für Servlet-Plugin: //counter-name//, //counter-initial// und //counter-array//.
333
tkr 44.8 334 === 2.2.0 ===
awa 44.5 335
336 * Reset (wenn notwendig) auch beim Auslesen des Zählers
337 * Portalseite (//Zählerkonfiguration//) im Backend für die Konfiguration der Zähler
338 * Einstellungen zum Zurücksetzen und zum initialen Wert jetzt nicht mehr in Aktionsverarbeitungskonfiguration, sondern auf der Portalseite.
339
tkr 44.8 340 === 2.1.0 ===
awa 44.5 341
awa 44.19 342 * Anpassungen für {{formcycle/}} Version 6.1.6
awa 44.5 343 * //CounterPlugin// und //ServletCounterPlugin// hatten die gleichen Namen, dies führte zu Problemen.
344 * Fehler beim Zurücksetzen der Zähler behoben
345 * Im Servlet-Aktions-Plugin gibt es einen neuen Rückgabewert: //Counter.LastChangeTimestamp//
346 * Neues System-Platzhalter-Plugin zum Auslesen des Wertes eines Zähler über Platzhalter: //[%DBCOUNTER.name%]//
347
tkr 44.8 348 === 2.0.0 ===
awa 44.5 349
awa 44.11 350 * Portierung auf {{formcycle/}} Version 6.0.2
awa 44.5 351
tkr 44.8 352 === 1.0.1 ===
awa 44.5 353
354 * Bugfix: Zähler wurde beim ersten Aufruf nicht gesetzt
355
tkr 44.8 356 === 1.0.0 ===
awa 44.5 357
358 * Initiale Version
Copyright 2000-2025