Änderungen von Dokument Zähler


Von Version 1.1
bearbeitet von gru
am 19.08.2021, 10:16
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 3.13
bearbeitet von gru
am 30.08.2021, 13:21
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Counter
1 +Zähler
Inhalt
... ... @@ -1,0 +1,109 @@
1 +{{content/}}
2 +
3 +{{id name="fig_counter"/}}
4 +{{figure image="counter_de.png"}}Konfigurationsoberfläche zum Anlegen von Zählern: (1) Liste existierender Zähler, (2) Bereich zum Editieren der selektierten Zähler, (3) Metadaten des Zählers.{{/figure}}
5 +
6 +Die Werte der Zähler können mit der Aktion [[Zähler ändern>>doc:Formcycle.Designer.Workflow.Actions.ModifyCounter]] verändert und über [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] ausgelesen und so zum Beispiel in [[Bedingungen>>doc:Formcycle.Designer.Workflow.FlowControl.Condition]] verwendet werden.
7 +
8 +== Anlegen eines Zählers ==
9 +
10 +Öffnen Sie das Modul "Daten > Zähler" und klicken Sie auf die Schaltfläche "Neu" {{ficon name="plus-circle-outline"/}} in der Kopfzeile der Liste (siehe Punkt 1 in der [[Abbildung>>||anchor="fig_counter"]]). Daraufhin können die entsprechenden [[Einstellungen>>||anchor="HKonfigurationsoptionen"]] für den Zähler getroffen werden. Mit einem Klick auf die Schaltfläche //Speichern// wird der Zähler angelegt.
11 +
12 +== Konfigurationsoptionen ==
13 +
14 +; Name
15 +: Name des Zählers
16 +; Aktueller Wert
17 +: Hier wird der aktuelle Wert des Zählers angezeigt. Nach einen Klick auf das Stiftsymbol kann der Wert angepasst und über ein Klick auf den Haken übernommen werden.
18 +; Automatisch zurücksetzen
19 +: Wenn diese Option aktiviert wurde, kann über die folgenden Optionen festgelegt werden, unter welchen Bedingungen der Zähl zurückgesetzt werden soll:
20 +:; Startwert
21 +:: Wert auf den der Zähler zurückgesetzt werden soll
22 +:; Bedingung
23 +:: Bedingung unter welcher der Zähler zurückgesetzt werden soll. Zur Auswahl stehen die folgenden Optionen:
24 +::: - Zähler größer gleich
25 +::: - Zähler kleiner gleich
26 +::: - täglich
27 +::: - wöchentlich
28 +::: - monatlich
29 +::: - jährlich
30 +:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar
31 +::; Wert
32 +::: Wert mit dem der Zähler verglichen werden soll. Nur verfügbar, wenn //Zähler größer gleich// oder //Zähler kleiner gleich// als Bedingung ausgewählt wurde.
33 +::; um
34 +::: Uhrzeit, an der das Zurücksetzen stattfinden soll. Nur verfügbar, wenn //täglich//, //wöchentlich//, //monatlich// oder //jährlich// als Bedingung ausgewählt wurde.
35 +::; An den Tagen
36 +::: Wochentag, an dem das Zurücksetzen stattfinden soll. Nur verfügbar, wenn //wöchentlich// als Bedingung ausgewählt wurde.
37 +::; Jeweils am
38 +::: Tag in Monat, an dem der Zähler zurückgesetzt werden soll. Nur verfügbar, wenn //monatlich// oder //jährlich// als Bedingung ausgewählt wurde.
39 +::; Monat
40 +::: Monat, in dem der Zähler zurückgesetzt werden soll. Nur verfügbar, wenn //jährlich// als Bedingung ausgewählt wurde.
41 +
42 +Unter den Einstellungen werden zudem die folgenden Informationen unter //Zähler-Metadaten// angezeigt:
43 +
44 +; UUID
45 +: Systeminterne UUID des Zählers
46 +; Angelegt am
47 +: Zeitpunkt, an dem der Zähler erstellt wurde
48 +; Geändert am
49 +: Zeitpunkt, an dem zum letzten Mal Änderungen am Zähler vorgenommen wurden
50 +
51 +== Platzhalter ==
52 +
53 +Die Werte von Zählern können über [[Platzhalter:doc>>Formcycle.UserInterface.Variables]] zum Beispiel im Workflow oder als Wert von Formularelementen ausgelesen werden. Die Syntax ist dabei wie folgt:
54 +{{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}}
55 +
56 +== Zugriff auf Zählerwert per Servlet ==
57 +
58 +=== Servlet-URL und Parameter ===
59 +
60 +Der Wert der Zähler kann innerhalb von Formularen über einen Servletaufruf ermittelt werden. Es ist dabei möglich, den Zähler über seinen Namen oder seine UUID auszuwählen. Die entsprechenden {{smallcaps}}URL{{/smallcaps}}s zum Aufruf der Werte könnten zum Beispiel wie folgt aussehen:
61 +
62 +{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}}
63 +und
64 +{{code language="none"}}<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
65 +
66 +
67 +In beiden Fällen wird eine gültige //form request id// (frid) benötigt, welche im Formular per JavaScript unter {{code language="none"}}XFC_METADATA.currentSessionFRID{{/code}} zu finden ist. Auf gleiche Art kann zudem die {{smallcaps}}URL{{/smallcaps}} des Servlets per JavaScript unter {{code language="none"}}XFC_METADATA.urls.counter_client{{/code}} ausgelesen werden. Dies ist wichtig, da sich die {{smallcaps}}URL{{/smallcaps}} bei Aufrufen über Frontend- und Masterserver unterscheidet.
68 +
69 +=== Rückgabewerte ===
70 +
71 +Neben dem eigentlichen Wert werden auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
72 +; success
73 +: Boolscher Wert, der aussagt, ob die Werte gesetzt wurden.
74 +; msg
75 +: Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//.
76 +; result
77 +: Antwort auf die Anfrage. Wenn die anfrage erfolgreich war, sind die folgenden Unterpunkte enthalten:
78 +:; lastChange
79 +:: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes
80 +:; lastChangeTimestamp
81 +:: Epoche der letzten Änderung des Zählerwertes
82 +:; name
83 +:: Name des Zählers
84 +:; uuid
85 +:: UUID des Zählers
86 +:; value
87 +:: Aktueller Zählerwert
88 +
89 +=== Beispiel für eine AJAX-Anfrage im Formular ===
90 +
91 +Eine bespielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen:
92 +
93 +{{code language="javascript"}}
94 +$.ajax({
95 + url:[
96 + XFC_METADATA.urls.counter_client,
97 + "?frid=",
98 + XFC_METADATA.currentSessionFRID,
99 + "&name=Beispielzähler"
100 + ].join(""),
101 + success: function(data, textStatus, jqXHR) {
102 + if (data.success) {
103 + $('[data-name="tf1"]').val(data.result.value);
104 + } else {
105 + console.error("Zugriff auf Zähler Beispielzähler fehlgeschlagen:",data.msg);
106 + }
107 + }
108 +});
109 +{{/code}}
counter_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +80.5 KB
Inhalt
counter_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +78.8 KB
Inhalt