Änderungen von Dokument Zähler


Von Version 1.6
bearbeitet von gru
am 19.08.2021, 10:40
Änderungskommentar: Es gibt keinen Kommentar für diese Version
Auf Version 5.7
bearbeitet von gru
am 31.08.2021, 10:49
Änderungskommentar: Es gibt keinen Kommentar für diese Version

Zusammenfassung

Details

Seiteneigenschaften
Titel
... ... @@ -1,1 +1,1 @@
1 -Counter
1 +Zähler
Inhalt
... ... @@ -1,16 +1,14 @@
1 1  {{content/}}
2 2  
3 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}}
4 +{{figure image="counter_de.png" clear="h1"}}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 5  
6 -Die Werte der Zähler können mit der Aktion [[TODO>>TODO]] verändert und über [[Platzhalter>>TODO]] ausgelesen und so zum Beispiel in [[Bedingungen>>TODO]] verwendet werden.
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 7  
8 8  == Anlegen eines Zählers ==
9 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>>TODO Anchor]] für den Zähler getroffen werden und der Zähler ist .
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 11  
12 -{{lightbox image="counter_new_de.png" title="Oberfläche zum Anlegen eines neuen Zählers"/}}
13 -
14 14  == Konfigurationsoptionen ==
15 15  
16 16  ; Name
... ... @@ -18,7 +18,7 @@
18 18  ; Aktueller Wert
19 19  : 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.
20 20  ; Automatisch zurücksetzen
21 -: Wenn diese Option aktiviert wurde, kann über die folgenden Optionen festgelegt werden, unter welchen Bedingungen der Zähl zurückgesetzzt werden soll:
19 +: Wenn diese Option aktiviert wurde, kann über die folgenden Optionen festgelegt werden, unter welchen Bedingungen der Zähl zurückgesetzt werden soll:
22 22  :; Startwert
23 23  :: Wert auf den der Zähler zurückgesetzt werden soll
24 24  :; Bedingung
... ... @@ -29,7 +29,7 @@
29 29  ::: - wöchentlich
30 30  ::: - monatlich
31 31  ::: - jährlich
32 -:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar
30 +:: Entsprechend der hier getroffenen Auswahl werden die folgenden Felder sichtbar:
33 33  ::; Wert
34 34  ::: 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.
35 35  ::; um
... ... @@ -50,3 +50,73 @@
50 50  ; Geändert am
51 51  : Zeitpunkt, an dem zum letzten Mal Änderungen am Zähler vorgenommen wurden
52 52  
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 +
55 +{{code language="none"}}[%$COUNTER_CLIENT.<Name des Zählers>%]{{/code}}
56 +
57 +
58 +== Zugriff auf Zählerwert per Servlet ==
59 +
60 +=== Servlet-URL und Parameter ===
61 +
62 +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:
63 +
64 +{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&name=<Name des Zählers>{{/code}}
65 +und
66 +{{code language="none"}}https://<Serveradresse>/formcycle/form/clientcounter/?frid=<gültige FRID>&uuid=<UUID des Zählers>{{/code}}
67 +
68 +
69 +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.
70 +
71 +=== Rückgabewerte ===
72 +
73 +Das Erebnis wird als JSON zurückgegeben. Neben dem eigentlichen Wert sind auch andere Informationen zurückgegeben. Die Antwort hat die folgende Struktur:
74 +; success
75 +: Boolscher Wert, der aussagt, ob der Zählerwert erfolgreich ausgelesen werden konnte.
76 +; msg
77 +: Servernachricht bezüglich der Anfrage, welche zur Fehlersuche verwendet werden kann. Ein erfolgreicher Zugriff liefert z.B. //Counter found//.
78 +; result
79 +: Antwort auf die Anfrage. Wenn die Anfrage nicht erfolgreich war, wird nur ein leeres JSON-Objektliteral zurückgegeben. War die Anfrage hingegen erfolgreich, sind die folgenden Unterpunkte im JSON-Objektliteral enthalten:
80 +:; lastChange
81 +:: Formatierte Ausgabe von Datum und Uhrzeit der letzten Änderung des Zählerwertes
82 +:; lastChangeTimestamp
83 +:: Epoche der letzten Änderung des Zählerwertes
84 +:; name
85 +:: Name des Zählers
86 +:; uuid
87 +:: UUID des Zählers
88 +:; value
89 +:: Aktueller Zählerwert
90 +
91 +=== Beispiel für eine AJAX-Anfrage im Formular ===
92 +
93 +Eine beispielhafte AJAX-Anfrage, welche den aktuellen Zählerwert des Zählers //Beispielzähler// in das Feld //tf1// schreibt, könnte also wie folgt aussehen:
94 +
95 +{{code language="javascript"}}
96 +$.ajax({
97 + method: "GET",
98 + url: XFC_METADATA.urls.counter_client,
99 + data: {
100 + name: "Beispielzähler",
101 + frid: XFC_METADATA.currentSessionFRID,
102 + }
103 +}).then(function(data) {
104 + if (data.success) {
105 + $('[data-name="tf1"]').val(data.result.value);
106 + } else {
107 + console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", data.msg);
108 + }
109 +}).catch(function(jqXHR, errorTextStatus, errorThrown) {
110 + console.warn("Zugriff auf Zähler Beispielzähler fehlgeschlagen:", errorThrown, "(" + errorTextStatus + ")");
111 +});
112 +{{/code}}
113 +
114 +=== Einfügen eines Templates für eine AJAX-Anfrage im Formular ===
115 +
116 +{{figure image="counter_query_de.png"}}Auswahl des Templates für die Zähler-Abfrage im JavaScript-Bereich des Formulardesigners.{{/figure}}
117 +
118 +Ein Template, welches der obenstehenen Beispielfunktion ähnlich ist, kann per Autocomplete direkt im JavaScript-Bereich des Formulardesigners eingefügt werden. Hierzu muss im JavaScript-Bereich hintereinander {{code language=none}}Zähler{{/code}} eingegeben werden und die vom Autocomplete vorgeschlagene Option //Zähler-Abfrage// mit einem Klick oder mit der Enter-Taste bestätigt werden.
119 +
120 +Nachdem das Template eingefügt wurde, müssen die benötigten Funktionaltitäten hinzugefügt und der Name des Zählers abgeändert werden.
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
counter_query_de.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +7.6 KB
Inhalt
counter_query_en.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.gru
Größe
... ... @@ -1,0 +1,1 @@
1 +7.9 KB
Inhalt