... |
... |
@@ -86,13
+86,95 @@ |
86 |
86 |
:; jährlich |
87 |
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 |
88 |
|
89 |
|
-=== Allgemeine Rückgabewerte === |
|
89 |
+=== Allgemeine Rückgabeparameter === |
90 |
90 |
|
91 |
91 |
{{figure image="dbcounter_plugin_action_return_parameters_de.png"}} |
92 |
92 |
Einstellungen für die Rückgabeparameter, die später über Platzhalter verfügbar sind. |
93 |
93 |
{{/figure}} |
94 |
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ückgabewerten kann eingestellt werden, über welchem Schlüssel die Rückgabewerte der Aktion zugegriffen werden kann. Zum Beispiel: |
|
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 |
96 |
|
97 |
|
-* Die Zähleraktion trägt den Namen //CountUp// |
98 |
|
-* |
|
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 |
+== Systemplatzhalter-Plugin == |
|
117 |
+ |
|
118 |
+{{figure image="dbcounter-plugin-placeholder_de.png"}} |
|
119 |
+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. |
|
120 |
+{{/figure}} |
|
121 |
+ |
|
122 |
+Nach Installation des Plugins ist ein neuer Systemplatzhalter 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: |
|
123 |
+ |
|
124 |
+{{code}} |
|
125 |
+[%$DBCOUNTER.<Zählername>%] |
|
126 |
+{{/code}} |
|
127 |
+ |
|
128 |
+Um also etwa auf den Zähler mit dem Name //test// zuzugreifen, muss der folgende Platzhalter genutzt werden: |
|
129 |
+ |
|
130 |
+{{code}} |
|
131 |
+[%$DBCOUNTER.test%] |
|
132 |
+{{/code}} |
|
133 |
+ |
|
134 |
+== Servlet-Aktions-Plugin == |
|
135 |
+ |
|
136 |
+{{figure image="dbcounter_plugin_servlet_action.png"}} |
|
137 |
+Beispiel zum Auslesen eines Zählers im Formular mittels AJAX. Die URL wird anhand der im Formular zur Verfügung stehenden Metadaten aufgebaut. Hiermit wird vermieden, die URL hart im Quelltext zu hinterlegen, was zu Fehlern führt, wenn sich etwa der Server oder der Kontextpfad ändern sollte. |
|
138 |
+{{/figure}} |
|
139 |
+ |
|
140 |
+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 AJAX-Anfrage abgerufen werden soll. Die URL für das Servlet baut sich nach dem folgenden Schema auf: |
|
141 |
+ |
|
142 |
+{{code}} |
|
143 |
+https://<HOST>/<FORMCYCLE_CONTEXT_PATH>/plugin?name=Servlet%20Counter&client-id=<MANDANT_ID>&id=<ZAEHLER_UUID> |
|
144 |
+{{/code}} |
|
145 |
+ |
|
146 |
+Falls also etwa FORMCYCLE lokal unter dem Pfad //xima-formcycle// installiert wurde, der Zähler in einem Projekt des Mandanten mit der ID //1// verwendet wird und die UUID //bc49d3b0-f869-4e59-864e-ddcc2925ed63// besitzt, dann lautet die URL: |
|
147 |
+ |
|
148 |
+{{code}} |
|
149 |
+https://localhost:8080/xima-formcycle/plugin?name=Servlet%20Counter&client-id=1&id=bc49d3b0-f869-4e59-864e-ddcc2925ed63 |
|
150 |
+{{/code}} |
|
151 |
+ |
|
152 |
+Alternativ ist es auch möglich, statt der //client-id// die ID des Formulars zu verwenden. Diese IDs lediglich verwendet, um das Servlet-Aktions-Plugin zu bestimmen, welches ausgeführt werden soll, und werden von diesem konkreten Plugin nicht ausgewertet: |
|
153 |
+ |
|
154 |
+{{code}} |
|
155 |
+https://<HOST>/<FORMCYCLE_CONTEXT_PATH>/plugin?name=Servlet%20Counter&project-id=<FORMULAR_ID>&id=<ZAEHLER_UUID> |
|
156 |
+{{/code}} |
|
157 |
+ |
|
158 |
+Nach Ausführung des Servlet-Aktions-Plugin wird das Ergebnis als JSON-Objekt zurückgeliefert, siehe hierzu auch die Abbildung. Dieses JSON-Objekt hat die folgenden Einträge: |
|
159 |
+ |
|
160 |
+; Status |
|
161 |
+: Gibt an, ob der Servlet-Aufruf erfolgreich war. Der Wert ist ein weiteres JSON-Objekt mit folgenden Einträgen: |
|
162 |
+:; Msg |
|
163 |
+:: Ein nummerischer Wert, der angibt, ob der Servlet-Aufruf erfolgreich war. Mögliche Werte sind: |
|
164 |
+::; (OK) |
|
165 |
+::; (NO_REQUEST_ID_ERROR) |
|
166 |
+::; (NO_COUNTER_TO_UUID_ERROR) |
|
167 |
+:; Code |
|
168 |
+:: Eine englische Beschreibung des Resultats (Erfolg oder Fehler). |
|
169 |
+; Counter |
|
170 |
+: Der aktuelle nummerische Wert des Zählers. |
|
171 |
+:; LastChange |
|
172 |
+:: 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. |
|
173 |
+:; LastChangeTimestamp |
|
174 |
+:: 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. |
|
175 |
+:; Value |
|
176 |
+:: Der aktuelle nummerische Wert des Zählers. |
|
177 |
+:; UUID |
|
178 |
+:: Die UUID des angegeben Zählers, dessen Wert ausgelesen wurde. |
|
179 |
+:; Name |
|
180 |
+:: Der Name des angegeben Zählers, dessen Wert ausgelesen wurde. |