Änderungen von Dokument Datenbankzähler-Plugin
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
-
Anhänge (0 geändert, 12 hinzugefügt, 0 gelöscht)
- 10_dbcounter-plugin-placeholder_de.png
- 11_dbcounter_plugin_servlet_action.png
- 1_Beispiel_Zaehler.png
- 2_Beispiel_Wert.png
- 3_Beispiel_Aktion.png
- 4_Beispiel_Aktionen.png
- 5_Beispiel_Bedingung.png
- 6_Beispiel_Zahlfeld.png
- 7_Beispiel_Button.png
- 8_plugin_dbcounter_config_base_de.png
- 9_plugin_dbcounter_action_counter_de.png
- Beispiel Zähler.zip
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. awa1 +XWiki.nlo - Inhalt
-
... ... @@ -2,72 +2,111 @@ 2 2 3 3 {{content/}} 4 4 5 -{{figure image="plugin_dbcounter_workflow_select_de.png" width="600"}} 6 -Das Datenbankzähler-Plugin kann sowohl als Mandant-Plugin als auch als System-Plugin installiert werden. Das Plugin selber benötigt keine Konfiguration. Nach Installation stehen zwei neue Aktionen in der Statusverarbeitung zur Verfügung: //Counter// und //Variable//. Bei //Counter// muss der Zählername fest eingegeben werden, bei //Variable// kann der Zählername dynamisch durch den Wert eines Formularfelds bestimmt werden. 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//. 7 7 {{/figure}} 8 8 9 -Das Datenbankzähler-Plugin ermöglicht es, einen oder mehrere globale Zähler in einer Datenbank anzulegen und in einem speziellen Hauptmenüpunkt zu verwalten. Der Zählwert kann innerhalb der [[Statusverarbeitung>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] erhöht, erniedrigt, ausgelesen oder zurückgesetzt werden. 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}} 10 10 11 -M öglicheAnwendungsfälle sind: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. 12 12 13 -* Ein Teilnahmeformular, in dem die Anzahl der Teilnehmer pro Termin gezählt wird und weitere Anmeldungen ab einer bestimmten Grenze blockiert werden. 14 -* Das Generieren einer {{smallcaps}}id{{/smallcaps}} für einen Formularvorgang, die unabhängig von der internen {{smallcaps}}id{{/smallcaps}} von {{formcycle/}} ist. Dies ist speziell dann sinnvoll, wenn die {{smallcaps}}id{{/smallcaps}} einem bestimmten Muster folgen soll oder in regelmäßigen Abständen zurückgesetzt werden muss. 15 -* Das n-fache Durchlaufen der Aktionen eines Status, wobei //n// in Abhängigkeit einer Formulareingabe festgelegt wird. 33 +=== Konfiguration der Statusverarbeitungsaktion === 16 16 17 -Nach Installation können Zähler in einer separaten Menüseite im Backend verwaltet werden. Hier sieht man den aktuellen Stand aller bereits angelegten Zähler. Dort ist es auch möglich, den Wert der Zähler auszulesen, als auch neue Zähler anzulegen oder bestehende Zähler zu löschen. 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}} 18 18 19 - MitdiesemPluginstehenzwei neueAktionen in der StatusverarbeitungzurVerfügung: //Counter// und //Variable//.Bei //Counter//muss der Zählernamefesteingegebenwerden,bei //Variable//kannder Zählernamedynamischdurch den Wert eines Formularfeldsbestimmt werden. DergenaueUnterschied sowie dieAnwendungsfällefindensich unten imentsprechendenAbschnittdazu.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. 20 20 21 - Weiterhin istes auch möglich,denaktuellenWert eines Zählers über einen [[Platzhalter>>doc:Formcycle.UserInterface.Variables]]inderVerarbeitungoder[[per {{smallcaps}}Ajax{{/smallcaps}}>>doc:Formcycle.FormDesigner.CodingPanel.ScriptTab.WebHome]] im Formular abzufragen.41 +=== Verwenden von Platzhaltern für die Prüfung der Formulareingänge === 22 22 23 -Jeder Zähler besitzt sowohl einen Namen als auch eine eindeutige [[{{smallcaps}}Uuid{{/smallcaps}}>>https://de.wikipedia.org/wiki/Universally_Unique_Identifier]]. Die {{smallcaps}}Uuid{{/smallcaps}} dient zur eindeutigen Identifikation Zählers und wird bei der Abfrage per {{smallcaps}}Ajax{{/smallcaps}} verwendet. 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}} 24 24 25 -Dieses Plugin ist ein Plugin-Bundle und enthält zwei Verarbeitungsplugins, ein Platzhalterersetzungsplugin und ein Servlet-Plugin. Diese Plugins werden in den folgendenen Abschnitten genauer beschrieben. 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}} 26 26 27 - ==Menüpunkt"Zählerkonfiguration"==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. 28 28 29 -{{info}} 30 - Durch dieses Plugin wird ein [[Rollenrecht>>doc:Formcycle.UserInterface.UserSettings.Roles]] erstellt, welches steuert, ob ein Benutzer Zugriff auf dieses Menü hat. Falls dieses Menü nicht in der Menüleiste zu sehen ist, sollte der zuständige Administrator kontaktiert werden. 31 -{{/info}} 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. 32 32 33 -{{figure image="plugin_dbcounter_config_base_de.png" width="600"}} 34 -Das Menü mit einer Übersicht über alle vorhandenen Zähler. Hier können auch neue Zähler hinzugefügt und bestehende Zähler gelöscht werden. 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/}}. 35 35 {{/figure}} 36 36 37 -Nach Installation des Zähler-Plugins 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 löschen. 63 +{{figure image="7_Beispiel_Button.png" width="600" clear="h3"}} 64 +Konfiguration der Scihtbarkeitsbedingung der Schaltfläche zum Absenden im {{designer/}}. 65 +{{/figure}} 38 38 39 - EinneuerZähler wirddurchDrückenaufdasPlus-Symbollinksoben angelegt.EinstehenderZählerwird Betätigen desPapierkorb-Symbolslinksobengelöscht.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. 40 40 41 - ===Eigenschaften===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. 42 42 43 -In der Liste links kann ein Zähler ausgewählt werden. Nach Auswahl erscheinen die folgenden Informationen zu dem Zähler: 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 === 44 44 45 -; {{smallcaps}}Uuid{{/smallcaps}} 46 -: 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. 47 -; Aktueller Wert 48 -: Der aktuelle Wert des Zählers. 49 -; Erstellt am 50 -: Das Datum, an dem der Zähler erstellt wurde. 51 -; Geändert am 52 -: Das Datum, an dem der Wert des Zählers zuletzt geändert wurde. 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. 53 53 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 + 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 + 89 +=== Zählerdaten === 90 + 91 +In der Liste links kann ein Zähler ausgewählt werden. Nach Auswahl erscheinen die folgenden Informationen zum ausgewählten Zähler: 92 + 54 54 Weiterhin können die folgenden Eigenschaften des Zählers bearbeitet werden: 55 55 56 56 ; Zählername 57 57 : 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. 97 +; Aktueller Wert 98 +: Der aktuelle Wert des Zählers. Kann über die //Stift//-Schaltfläche bearbeitet werden. 58 58 ; Beschreibung 59 59 : Eine optionale Beschreibung des Zählers, die auch nur in diesem Backend-Menü einsehbar ist. 60 -; Startwert 61 -: Der Startwert des Zählers. Dieser wird auch benutzt, wenn in einer Aktion der Zählerwert auf den Startwert zurückgesetzt werden soll. 62 62 ; Automatisch zurücksetzen 63 63 : Wenn diese Option aktiviert ist, wird der Zähler in periodischen Abständen auf den Startwert zurückgesetzt. 64 64 65 -=== Automatisches Zurücksetzen === 104 +==== Automatisches Zurücksetzen ==== 66 66 67 -Folgende Eigenschaften erscheinen, wenn de rZählerautomatischzurückgesetzt werden soll:106 +Folgende Eigenschaften erscheinen, wenn die Option //Automatisch Zurücksetzen// ausgewählt wurde: 68 68 69 69 {{info}} 70 -Geschieht ein Zurücksetzen des Zählers, so ist nach Ausführung der aktuellen Verarbeitungsaktion (//Counter oderVariable)//derWert 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.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. 71 71 {{/info}} 72 72 73 73 {{info}} ... ... @@ -89,49 +89,36 @@ 89 89 :; jährlich 90 90 :: Der Zähler wird jedes Jahr zum gewählten Tag zu der gewählten Uhrzeit zurückgesetzt 91 91 92 -== Aktionsverarbeitung "Counter"==131 +=== Zähler-Metadaten === 93 93 94 -{{figure image="plugin_dbcounter_action_counter_de.png"}} 95 -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). 96 -{{/figure}} 133 +In diesem Bereich werden Meta-Informationen zum aktuell ausgewählten Zähler ausgegeben. 97 97 98 -Nach Installation dieses 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 statischen Zählers geändert werden. 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. 99 99 100 - ImUnterschied zur Aktion //Variable// muss und kann hier derZählerfest ausgewählt werden. Der Zähler sollte vorherin der Zählerkonfiguration (siehe oben) angelegt werden. Daher eignet sichdiese Aktion besonders für globale Zähler, wie etwa für dieGenerierungeiner fortlaufenden Vorgangs-{{smallcaps}}id{{/smallcaps}}.142 +=== Zähler-Zugriffmöglichkeiten === 101 101 102 -; Zählername 103 -: Auswahl des Zählers, dessen Wert geändert werden soll. Der Zähler sollte vorher in der Zählerkonfiguration angelegt werden, kann aber auch hier neu erstellt 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. 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. 104 -; Zählaktion 105 -: Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind: 106 -:; Hochzählen 107 -:: Erhöht den Wert des Zählers um die eingegebene Zahl. 108 -:; Herunterzählen 109 -:: Erniedrigt den Wert des Zählers um die eingegebene Zahl. 110 -:; Zähler auf Startwert zurücksetzen 111 -:: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück. 112 -; Schrittweite 113 -: Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll. 114 -; Globale Einstellungen nutzen (deprecated) 115 -: Diese Option sollte angehakt bleiben und dient nur der Abwärtskompatibilität zu älteren Versionen des Plugins. Bei älteren Versionen gab es nicht die Möglichkeit, eine Menüseite im Backend für die Zählerkonfiguration anzulegen, daher musste dies in der Aktionsverarbeitung geschehen. Ist diese Option deaktiviert, erscheinen weitere Einstellungen, die oben im Abschnitt zur Zählerkonfiguration beschrieben sind. 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). 116 116 117 -== Aktionsverarbeitung " Variable" ==146 +== Aktionsverarbeitung "Counter" == 118 118 119 -{{figure image="plugin_dbcounter_action_ variable_de.png"}}120 -Die Einstellungen für die Verarbeitungsaktion // Variable//.Mit dieserAktion kannder Zählername dynamischfestgelegt werden,etwa durchdenWerteinesFormularelementsund wiealsVariablegenutzt werden.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). 121 121 {{/figure}} 122 122 123 -Nach Installation d iesesPlugins gibt es in der [[Status- und Aktionsverarbeitung>>doc:Formcycle.UserInterface.MyForms.WorkflowProcessing.WebHome]] eine neue Aktion namens //Variable//. Mit dieser Aktion kann der aktuelle Zählwert einesdynamisch festlegbarenZählersgeändert werden.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. 124 124 125 -Im UnterschiedzurAktion//Counter//kann beidieserAktion einZählerüberseinenNamen ausgewählt werden.DerNamekannfreiüber [[Platzhalter>>doc:Formcycle.UserInterface.Variables]] zusammengefasst werden. Wennes denZählernochnichtgibt, wird einneuer Zählermit dem Namen angelegt.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. 126 126 127 - Dahereignet sich diese Aktion besonders, wenn es eine unbekannte Anzahl von Zählern gibt. Beispielsweise kann diese Aktion für ein Teilnahmeformular genutzt werden,beidem es jede Woche neue Terminegibt. Für jeden Terminkann dann ein Zähler (etwaim //Format Jahr-Monat-Tag//)benutzt werden, um die Anzahl der Teilnehmer an dem jeweiligen Tag zu zählen.156 +=== Parameter der Aktion === 128 128 129 -=== Variablenänderung === 130 - 131 -Hier wird der Name der Variable ("Zähler") ausgewählt und in angegeben, in welcher Weise deren Wert geändert werden soll. 132 - 133 133 ; Zählername 134 -: Auswahl des Zählers, dessen Wert geändert werden soll. Hier wird der Name des Zählers (nicht dessen {{smallcaps}}Uuid{{/smallcaps}}) eingegeben. Zudem können Platzhalter verwendet werden, um den Zählernamen dynamisch zu erzeugen. Etwa kann hier ein Formularfeld mit der {{smallcaps}}id{{/smallcaps}} eines Termins verwendet werden. 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. 160 + 135 135 ; Zählaktion 136 136 : Gibt an, in welcher Art und Weise der Wert des Zählers geändert werden soll. Möglich Optionen sind: 137 137 :; Hochzählen ... ... @@ -141,25 +141,12 @@ 141 141 :; Zähler auf Startwert zurücksetzen 142 142 :: Setzt den Wert des Zählers auf den eingegebenen Startwert zurück. 143 143 ; Schrittweite 144 -: Anzahl, um die der Zähler hoch beziehungsweise herunter gesetzt werden soll. 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. 145 145 146 -=== Standardeinstellungen, falls Variablenochnichtexistiert===172 +=== Rückgabeparameter der Aktion === 147 147 148 - Falls dieVariable("Zähler")mitdemangegebenenNamennochnichtexistiert, wirdeinneuerZähler erstellt. In diesemBereich wirdfestgelegt, welcheEinstellungenderuangelegte Zählerhabensoll.FallsderZählerbereits existiert,habendiese Einstellungen keineAuswirkung.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: 149 149 150 -; Startwert 151 -: Der Startwert des neu angelegten Zählers. 152 -; Automatisch zurücksetzen 153 -: Ob der neu angelegte Zähler automatisch zurückgesetzt werden soll. Ist diese Option aktiviert, erscheinen weitere Einstellungen, die im Abschnitt zur Zählerkonfiguration (siehe oben) genauer erläutert sind. 154 - 155 -== Rückgabeparameter der Aktionen == 156 - 157 -{{figure image="plugin_dbcounter_action_return_parameters_de.png"}} 158 -Einstellungen für die Rückgabeparameter der Aktion, die später über Aktionsplatzhalter verfügbar sind. 159 -{{/figure}} 160 - 161 -Manchmal ist es notwendig, auf das Ergebnis der Zählaktion zugreifen zu können, etwa 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].currentValue%]// auf den aktuellen Zählwert zugegriffen werden, falls unter bei den allgemeinen Rückgabeparameter der Wert //currentValue// im mittleren Eingabefelder //Counter// eingetragen wurde. Folgende Rückgabeparameter sind verfügbar: 162 - 163 163 ; ResultCode 164 164 : Ein nummerischer Zahlenwert, der angibt, ob die Zählaktion erfolgreich war oder nicht. Folgende Ergebnisnummern sind möglich: 165 165 :; 1 (OK) ... ... @@ -179,55 +179,49 @@ 179 179 ; CounterAfterReset 180 180 : Falls der Zähler zurückgesetzt wurde: Der nummerische Wert des Zählers vor dem Zurücksetzen. 181 181 182 -== Systemplatzhalter-Plugin==195 +== Platzhalter == 183 183 184 -{{figure image="dbcounter-plugin-placeholder_de.png"}} 185 -Ein Beispiel für den Platzhalter zum Auslesen des Zählwerts.Hier wirdinZählerausgelesen,der die Anzahl an Anmeldungen für eine Veranstaltung zählt. Dann wird geprüft, ob der Zählwert diemaximale Anzahlan Anmeldungen übersteigt.BasierendaufdieserPrüfung kann dem Nutzerdannein Fehler angezeigtwerden, falls die Veranstaltungbereitsausgebucht ist. Hierbei handelt es sich um eine serverseitige Prüfungzur Validierung, bereitsim Formular bei derAnmeldung sollte dem Nutzer natürlich schondie Information gegeben werden, ob überhaupt noch Plätze frei sind.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. 186 186 {{/figure}} 187 187 188 -Nach Installation des Plugins ist ein neuer [[ Systemplatzhalter>>doc:Formcycle.UserInterface.Variables]] verfügbar, über den auf den aktuellen Wert einesZählerszugegriffen werden kann. Dies ist etwanützlich, um in einer Aktionsbedingung den Zählwert nutzen und prüfen zu können. Der Platzhalter baut sich nach dem folgenden Schema auf: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: 189 189 190 190 {{code language="none"}} 191 -[%$DBCOUNTER.<Zählername>%] 204 +[%$$DBCOUNTER.<Zählername>%] 192 192 {{/code}} 193 193 194 194 Um also etwa auf den Zähler mit dem Namen //test// zuzugreifen, muss der folgende Platzhalter genutzt werden: 195 195 196 196 {{code language="none"}} 197 -[%$DBCOUNTER.test%] 210 +[%$$DBCOUNTER.test%] 198 198 {{/code}} 199 199 200 -Falls auf einen Zähler zugegriffen werden soll, bei dem nicht bekannt ist, ob es diesen schon gibt, muss der Startwert für den Zähler mit angegeben werden. Falls der Zähler noch nicht existiert, wird dann ein neuer Zähler mit diesem Startwert erstellt. Der Platzhalter baut sich dann nach folgendem Schema auf: 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}} 201 201 202 -{{code language="none"}} 203 -[%$DBCOUNTER(<Zählername>, <Startwert>)%] 204 -{{/code}} 217 +== Servlet-Aktions-Plugin / Zugriff auf Zählerwert mittels AJAX-Reques== 205 205 206 -Angenommen, der Zähler heiße //teilnehmer-2020-03-17// und soll den Wert //0// erhalten, falls er noch nicht existiert. Dann kann der folgende Platzhalter genutzt werden: 207 - 208 -{{code language="none"}} 209 -[%$DBCOUNTER(teilnehmer-2020-03-17, 0)%] 210 -{{/code}} 211 - 212 -== Servlet-Aktions-Plugin == 213 - 214 -{{figure image="dbcounter_plugin_servlet_action.png"}} 215 -Beispiel zum Auslesen eines Zählers 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. 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. 216 216 {{/figure}} 217 217 218 -Nach Installation des Plugins ist eine neue Servlet-Aktion verfügbar, mit der auf den aktuellen Wert eines Zähler zugegriffen werden kann. Dies istetwa nützlich,wennausdem Formularherausein Zählwertper {{smallcaps}}Ajax{{/smallcaps}}-Anfrage abgerufen werdensoll.Die {{smallcaps}}Url{{/smallcaps}}fürdas ServletbautsichnachdemfolgendenSchemaauf: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. 219 219 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: 226 + 220 220 {{code language="none"}} 221 221 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&client-id=<Mandant-ID>&id=<Zähler-UUID> 222 222 {{/code}} 223 223 224 -Falls also etwa{{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,dannlautet die {{smallcaps}}Url{{/smallcaps}}: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: 225 225 226 226 {{code language="none"}} 227 227 https://localhost:8080/xima-formcycle/plugin?name=Servlet%20Counter&client-id=1&id=bc49d3b0-f869-4e59-864e-ddcc2925ed63 228 228 {{/code}} 229 229 230 -Alternativ ist es auch möglich, statt der //client-id// die {{smallcaps}}id{{/smallcaps}} des Formulars zu verwenden . Diese {{smallcaps}}id{{/smallcaps}}s lediglich verwendet, um das Servlet-Aktions-Plugin zu bestimmen, welches ausgeführt werden soll, und werden von diesem konkreten Plugin nicht ausgewertet:237 +Alternativ ist es auch möglich, statt der //client-id// die {{smallcaps}}id{{/smallcaps}} des Formulars zu verwenden: 231 231 232 232 {{code language="none"}} 233 233 https://<Host>/<FORMCYCLE-Kontextpfad>/plugin?name=Servlet%20Counter&project-id=<Formular-ID>&id=<Zähler-UUID> ... ... @@ -273,23 +273,37 @@ 273 273 :; Code 274 274 :: Eine englische Beschreibung des Resultats (Erfolg oder Fehler). 275 275 ; Counter 276 -: Informationen zum angefragten Zähler. Der Wert ist ein weiteres {{smallcaps}}Json{{/smallcaps}}-Objekt mit folgenden Einträgen: 277 -: Der aktuelle nummerische Wert des Zählers. 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: 278 278 :; LastChange 279 279 :: 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. 280 280 :; LastChangeTimestamp 281 281 :: 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. 282 -:; Value 283 -:: Der aktuelle nummerische Wert des Zählers. 284 -:; {{smallcaps}}Uuid{{/smallcaps}} 285 -:: Die {{smallcaps}}Uuid{{/smallcaps}} des angefragten Zählers, dessen Wert ausgelesen wurde. 286 286 :; Name 287 287 :: 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. 292 +:; Value 293 +:: Der aktuelle nummerische Wert des Zählers. 288 288 289 289 == Versionshistorie == 290 290 291 291 In diesem Abschnitt werden die vorhandenen Versionen des Zähler-Plugins und die jeweiligen Änderungen in dieser Version beschrieben. 292 292 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 + 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 + 293 293 === 2.3.3 === 294 294 295 295 * Rechtschreibfehler korrigiert
- 10_dbcounter-plugin-placeholder_de.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +13.3 KB - Inhalt
- 11_dbcounter_plugin_servlet_action.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +22.1 KB - Inhalt
- 1_Beispiel_Zaehler.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +155.7 KB - Inhalt
- 2_Beispiel_Wert.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +3.8 KB - Inhalt
- 3_Beispiel_Aktion.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Inhalt
- 4_Beispiel_Aktionen.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +47.6 KB - Inhalt
- 5_Beispiel_Bedingung.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +52.5 KB - Inhalt
- 6_Beispiel_Zahlfeld.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +37.5 KB - Inhalt
- 7_Beispiel_Button.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +25.3 KB - Inhalt
- 8_plugin_dbcounter_config_base_de.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +80.1 KB - Inhalt
- 9_plugin_dbcounter_action_counter_de.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +13.3 KB - Inhalt
- Beispiel Zähler.zip
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.gru - Größe
-
... ... @@ -1,0 +1,1 @@ 1 +51.9 KB - Inhalt