Wiki-Quellcode von Datenbankzähler-Plugin
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | {{content/}} | ||
2 | |||
3 | {{figure image="dbcounter_plugin_installation_de.png"}} | ||
4 | Das Datenbankzähler-Plugin kann sowohl als Mandant-Plugin als auch als System-Plugin installiert werden. Das Plugin selber benötigt keine Konfiguration. | ||
5 | {{/figure}} | ||
6 | |||
7 | Das Datenbankzähler-Plugin ermöglicht es, einen oder mehrere globale Zähler in einer Datenbank anzulegen. Der Zählwert kann innerhalb der Statusverarbeitung erhöht, erniedrigt, ausgelesen doer zurückgesetzt werden. Mögliche Anwendungsfälle sind etwa: | ||
8 | |||
9 | * Ein Teilnahmeformular, in dem die Anzahl der Teilnehmer gezählt wird und weitere Anmeldungen ab einer bestimmten Grenze blockiert werden. | ||
10 | * Das Generieren einer ID für einen Formularvorgang, die unabhängig von der FORMCYCLE-internen Prozess-ID ist. Dies ist speziell dann sinnvoll, wenn die ID einem bestimmten Muster folgen soll oder in regelmäßigen Abständen zurückgesetzt werden muss. | ||
11 | * Das n-fache Durchlaufen der Aktionen eines Status, wobei //n// in Abhängigkeit einer Formulareingabe festgelegt wird. | ||
12 | |||
13 | Zudem ist es auch möglich, den aktuellen Wert eines Zählers über einen [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] in der Verarbeitung oder [[per AJAX>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.WebHome]] im Formular abzufragen. | ||
14 | |||
15 | Jeder Zähler besitzt sowohl einen Namen als auch eine eindeutige [[UUID>>https://de.wikipedia.org/wiki/Universally_Unique_Identifier]]. Die UUID dient zur eindeutigen Identifikation Zählers und wird bei der Abfrage per AJAX verwendet. | ||
16 | |||
17 | == Aktionverarbeitung "Counter" == | ||
18 | |||
19 | Nach Installation gibt es in der Status- und Aktionsverarbeitung eine neue Aktion namens //Counter//. Mit dieser Aktion kann der aktuelle Zählwert eines Zählers geändert werden. Hier ist es auch möglich, den Zähler in regelmäßigen Abständen zurückzusetzen. | ||
20 | |||
21 | === Allgemeine Einstellungen === | ||
22 | |||
23 | {{figure image="dbcounter_plugin_action_base_settings_de.png"}} | ||
24 | Die Grundeinstellungen für die Verarbeitungsaktion //Counter//. Hier kann festgelegt werden, welcher Zähler in welcher Weise geändert werden soll. | ||
25 | {{/figure}} | ||
26 | |||
27 | ; 1 - Zählername | ||
28 | : Auswahl des Zählers, dessen Wert geändert werden soll. Für jeden Zähler wird sowohl sein Name als auch seine UUID angezeigt. Die UUID dient der eindeutigen Identifikation des Zählers und wird etwa bei der Abfrage per AJAX 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. | ||
29 | ; 2 - Zählaktion | ||
30 | : Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind: | ||
31 | :; Hochzählen | ||
32 | :: Erhöht den Wert des Zählers um die eingegebene Zahl. | ||
33 | :; Herunterzählen | ||
34 | :: Erniedrigt den Wert des Zählers um die eingegebene Zahl. | ||
35 | :; Zähler auf Startwert zurücksetzen | ||
36 | :: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück. | ||
37 | ; 3 - Schrittweite | ||
38 | : Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll. | ||
39 | ; 4 - Startwert | ||
40 | : Initialer Wert des Zählers, den dieser annimmt, wenn er angelegt wird. Es ist auch möglich, den Zähler auf diesen Startwert zurückzusetzen. | ||
41 | ; 5 - Automatisch zurücksetzen | ||
42 | : Ist diese Option aktiviert, erscheint eine weitere Konfigurationsmöglichkeit zum Einstellen, wann der Zähler automatisch auf den Startwert zurückgesetzt werden soll. Dies kann etwa beim Überschreiten eines bestimmten Werts oder in regelmäßigen Zeitabständen erfolgen. | ||
43 | |||
44 | === Automatisches Zurücksetzen === | ||
45 | |||
46 | {{figure image="dbcounter_plugin_action_reset_greater_or_equal_de.png"}} | ||
47 | Die Konfiguration zum Zurücksetzen eines Zählers, wenn dessen Wert eine bestimmte Grenze übersteigt. | ||
48 | {{/figure}} | ||
49 | |||
50 | {{figure image="dbcounter_plugin_action_reset_daily_de.png"}} | ||
51 | Die Konfiguration zum täglichen Zurücksetzen eines Zählers. | ||
52 | {{/figure}} | ||
53 | |||
54 | {{figure image="dbcounter_plugin_action_reset_weekly_de.png"}} | ||
55 | Die Konfiguration zum wöchentlichen Zurücksetzen eines Zählers. | ||
56 | {{/figure}} | ||
57 | |||
58 | {{figure image="dbcounter_plugin_action_reset_monthly_de.png"}} | ||
59 | Die Konfiguration zum monatlichen Zurücksetzen eines Zählers. | ||
60 | {{/figure}} | ||
61 | |||
62 | {{figure image="dbcounter_plugin_action_reset_yearly_de.png"}} | ||
63 | Die Konfiguration zum jährlichen Zurücksetzen eines Zählers. | ||
64 | {{/figure}} | ||
65 | |||
66 | {{info}} | ||
67 | Geschieht ein Zurücksetzen des Zählers, so ist nach Ausführung der aktuellen Aktion der Wert des Zählers gleich dem Startwert, wie er in den allgemeinen Einstellung eingegeben wurde. 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 //39//, der Startwert //11//. Die erste Counter-Aktion, die an einem Tag ausgeführt wird, setzt nun dern 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. | ||
68 | {{/info}} | ||
69 | |||
70 | Es ist möglich, den Zähler in regelmäßigen Abständen zurückzusetzen. Diese Option ist nur verfügbar, wenn als Zählaktion nicht //Zähler auf Startwert zurücksetzen// gewählt wurde. Zudem muss in den allgemeinen Einstellungen die Option //Automatische zurücksetzen// aktiviert sein. Es kann dann ausgewählt werden, wann der Zähler zurückgesetzt werden soll. | ||
71 | |||
72 | Hierbei 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. | ||
73 | |||
74 | ; 1 - Bedingung | ||
75 | : Hier kann festgelegt werden, wann und unter welchen Umständen der Zähler zurückgesetzt werden soll. | ||
76 | :; Zähler größer gleich | ||
77 | :: 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 in (2) festgelegten Wert ist. | ||
78 | :; Zähler kleiner gleich | ||
79 | :: 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 in (2) festgelegten Wert ist. | ||
80 | :; täglich | ||
81 | :: Der Zähler wird jeden Tag zur bei (2) gewählten Uhrzeit auf den Startwert zurückgesetzt. | ||
82 | :; wöchentlich | ||
83 | :: Der Zähler wird an jedem unter (2) gewählten Wochentag zu der unter (3) gewählten Uhrzeit zurückgesetzt. | ||
84 | :; monatlich | ||
85 | :: Der Zähler wird jeden Monat zum unter (2) gewählten Tag zu der unter (3) gewählten Uhrzeit zurückgesetzt. | ||
86 | :; jährlich | ||
87 | :: Der Zähler wird jedes Jahr zum unter (2) und (3) gewählten Tag zu der unter (4) gewählten Uhrzeit zurückgesetzt | ||
88 | |||
89 | === Allgemeine Rückgabeparameter === | ||
90 | |||
91 | {{figure image="dbcounter_plugin_action_return_parameters_de.png"}} | ||
92 | Einstellungen für die Rückgabeparameter, die später über Platzhalter verfügbar sind. | ||
93 | {{/figure}} | ||
94 | |||
95 | Manchmal ist es notwendig, auf den neuen Zählwert zugreifen zu können. Dies kann über Aktionsplatzhalter geschehen, welche auf die Rückgabewerte einer Aktion zugreifen. In den allgemeinen Rückgabeparametern kann eingestellt werden, über welchem Schlüssel die Rückgabeparameter Aktion zugegriffen werden kann. Beispielsweise trage die Zähleraktion den Namen //CountUp//. Dann kann über den Platzhalter //[%$CountUp.RESULT[0].count%]// auf den aktuellen Zählwert zugegriffen werden, falls unter (3) bei den allgemeinen Rückgabeparameter der Wert //count// eingetragen wurde. Folgende Rückgabeparameter sind verfügbar: | ||
96 | |||
97 | ; 1 - ResultCode | ||
98 | : Ein nummerischer Zahlenwert, der angibt, ob die Zählaktion erfolgreich war oder nicht. Folgende Ergebnisnummern sind möglich: | ||
99 | :; 1 (OK) | ||
100 | :: Die Zählaktion wurde erfolgreich abgearbeitet. | ||
101 | :; 10 (UNKNOWN_ACTION_ERROR) | ||
102 | :: 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. | ||
103 | :; 11 (PARSING_ERROR) | ||
104 | :: Ein konfigurierter Wert hat nicht den erwarteten Datentyp, etwa wenn für die Schrittweite des Zählers keine syntaktisch korrekte Zahl eingegeben wurde. | ||
105 | :; 40 (INTERNAL_ERROR) | ||
106 | :: Es ist ein anderer Fehler aufgetreten, der nicht näher klassifiziert werden kann. | ||
107 | ; 2 - ResultMessage | ||
108 | : Eine englische Beschreibung des Resultats (Erfolg oder Fehler). | ||
109 | ; 3 - Counter | ||
110 | : Der neue nummerische Wert des Zählers, nachdem die Zählaktion ausgeführt wurde. | ||
111 | ; 4 - IsReset | ||
112 | : Entweder //true//, falls der Zähler durch die aktuelle Aktion zurückgesetzt wurde; oder //false//, wenn er nicht zurückgesetzt wurde. | ||
113 | ; 5 - CounterAfterReset | ||
114 | : Falls der Zähler zurückgesetzt wurde: Der nummerische Wert des Zählers vor dem Zurücksetzen. | ||
115 | |||
116 | == |