At Work

Admin-Funktion

Das Einrichten Alternativer Datengrundlagen ist den Administratoren vorbehalten.  

Inhalt

  Datei Geändert
PNG-Datei image-2025-4-15_16-16-16.png Apr. 15, 2025 by Raphael Ravi-Pinto
PNG-Datei image-2025-4-15_16-17-19.png Apr. 15, 2025 by Raphael Ravi-Pinto
PNG-Datei image-2025-4-15_16-19-30.png Apr. 15, 2025 by Raphael Ravi-Pinto
PNG-Datei Datenquelle-Formulareingang.png Juli 16, 2025 by Raphael Ravi-Pinto
PNG-Datei Datenquelle-DB-Tabelle.png Juli 16, 2025 by Raphael Ravi-Pinto
PNG-Datei Datenquelle-DBM-Mapping.png Juli 16, 2025 by Raphael Ravi-Pinto
PNG-Datei DatapoolSource-Typ-EigeneImplementation.png Juli 28, 2025 by Timo Gafner
PNG-Datei Screenshot 2025-07-28 104250.png Juli 28, 2025 by Timo Gafner


Datenquelle: Formular(eingang)

Mit dieser Option können die Formulareingänge von Standardformularen - ohne eigens DBM (DataBaseMapping) - als Datenquelle verwendet werden.

Ein Beispiel aus der Praxis sind Informationsveranstaltungen, die von den Veranstaltern via Formular direkt gemeldet und nach erfolgreicher Review publiziert werden. 

  1. Als Typ den Wert Formular auswählen
  2. In der Dropdownliste das zu verwendende Formular auswählen
  3. Den Status festlegen, in welchem die Formulareingänge publiziert werden. Mit dem Komparator sind verschiedene Varianten möglich:
    > 3
    < 200
    = 4
  4. Die Standard-Sortierung kann helfen, die Abfrage zu beschleunigen. Standardmässig werden die DB-Einträge nach UUID absteigend unlimitiert ausgelesen. 
    Kolonnen-Name: Bezieht sich auf die DB-Tabelle der Standard-Formulareingänge.
    Gängige Kolonnen: UUID, CREATED, LASTUPDATE
    Auf-/Absteigend: gewünschtes einstellen
    Limit (Anzahl DB-Records): Limitierung der Abfrage auf die Anzahl der Einträge, die für den Usecase nötig sind.  

Datenquelle: Database Mapping (dbm)

Mit dieser Option können die Formulareingänge von Formularen mit einem eigenen DBM (DataBaseMapping) als Datenquelle verwendet werden.

Ein Beispiel aus der Praxis sind Abfragen der bisherigen Formulareingänge zum verhindern von doppelten Anfragen. 

  1. Als Typ den Wert Database Mapping (dbm) auswählen
  2. In der Dropdownliste die zu verwendende Ressource-ID auswählen (.dbm-Datei aus den Server-Ressourcen)
  3. Angabe der Formular-ID aus der Liste der Formulare, die mit dem gewählten DBM verbunden sind
  4. Zusätzliche Filter für die DB-Abfrage: Die DB-Einträge können beliebig gefiltert werden. Der Filter kann - falls nicht benötigt - auch leer bleiben.  
  5. Die Standard-Sortierung kann helfen, die Abfrage zu beschleunigen. Standardmässig werden die DB-Einträge nach UUID absteigend unlimitiert ausgelesen. 
    Kolonnen-Name: Bezieht sich auf die verwendete DB-Tabelle
    Auf-/Absteigend: gewünschtes einstellen
    Limit (Anzahl DB-Records): Limitierung der Abfrage auf die Anzahl der Einträge, die für den Usecase nötig sind.  

Datenquelle: DB-Tabelle

Mit dieser Option können die Formulareingänge von Formularen mit einem eigenen DBM (DataBaseMapping) als Datenquelle verwendet werden.

Ein Beispiel aus der Praxis sind Abfragen der bisherigen Formulareingänge zum verhindern von doppelten Anfragen. 

  1. Als Typ den Wert DB-Tabelle auswählen
  2. In der Dropdownliste die zu verwendende DB-Tabelle auswählen
  3. Angabe der ID-Kolonne in der Datenbank, meist UUID (Pflichtangabe)
  4. Angabe der Kolonne in der Datenbank, die den Zeitpunkt der letzten Änderung enthält, wie LAST_UPDTAE. Damit die Aktualisierungsstrategien sauber greifen, ist diese Angabe zwingend nötig.
  5. Zusätzliche Filter für die DB-Abfrage: Die DB-Einträge können beliebig gefiltert werden. Der Filter kann - falls nicht benötigt - auch leer bleiben.  
  6. Die Standard-Sortierung kann helfen, die Abfrage zu beschleunigen. Standardmässig werden die DB-Einträge nach UUID absteigend unlimitiert ausgelesen. 
    Kolonnen-Name: Bezieht sich auf die verwendete DB-Tabelle
    Auf-/Absteigend: gewünschtes einstellen
    Limit (Anzahl DB-Records): Limitierung der Abfrage auf die Anzahl der Einträge, die für den Usecase nötig sind.  

Datenquelle: Eigene Implementation

Über den Datenquellen-Typ "Eigene Implementation" kann eine Java-Klasse als Quelle angegeben werden.

So können Daten auf beliebige Art und Weise aufbereitet und publiziert werden (z.B. aus der Datenbank, API, etc.).


Ein Beispiel ist im Mandant STA-STAB im Datapool "sta-stab_aktueller-staatskalender" zu finden.


Java-Klasse

Die Klasse implementiert das Interface com.jaxfront.eforms.datapool.source.DataPoolSource.

Der Konstruktor wird mit den Parametern DataPoolProvider und Element aufgerufen:

public StaatskalenderCustomDataPoolSource(final DataPoolProvider dataPoolProvider, final Element sourceElement) {
	this.dataPoolProvider = dataPoolProvider;
    this.sourceElement = sourceElement;
}

  

MethodeBeschreibung
String getGUID()

String getResourceID()

boolean isValid() {

Date getValidFrom()

Collection<String> getAvailableFieldNames()

Diese Methode wird verwendet, wenn die Felder anhand der Quelle generiert werden (Zauberstab).

JSONArray getData(final Collection<DataPoolFilter> filters, final String language)
Diese Methode liefert die entsprechenden Daten in Form eines JSONArray anhand der Sprache und DataPoolFilter, wenn der Datapool geladen wird.
void reload()

Diese Methode wird aufgerufen, wenn die Datapool-Quelle neu geladen wird (durch die Aktualisierungs-Strategie). Typischerweise wird hier die Methode resetDisplays()  im DataPoolProvider aufgerufen.

public void reload() {
	dataPoolProvider.resetDisplays();
}
void delete()

void release()

int compareTo(final DataPoolSource o)

Aktualisierungs-Strategie

Die Auswahl der Aktualisierungs-Strategien bei einer eigenen Implementation wird auf folgende Möglichkeiten beschränkt:

  • Keine
  • Automatisch (Frage) 
  • TimeTriggered
  • Manuell

Grund: Die DataPoolSource kann nicht mitteilen, dass Sie sie sich geändert hat. Sie kann lediglich neu geladen werden.


Aktualisierungs-Strategie

Bei alternativen Datengrundlagen kann eingestellt werden, wie die Daten aktualisiert werden sollen.

CSV Datenquelle

Bei CSV-Dateien als Datenquelle ist diese Einstellung nicht nötig, da dort die Datenquelle ausgelesen wird, die zum aktuellen Zeitraum gültig ist (Angabe im "Gültig bis" Feld). 


Möglichkeiten

StrategieInfo
KeineDie Daten werden nicht aktualisiert ?
Automatisch

Nur letzte Änderung

Jede Änderung

TimeTriggered

Bietet die Möglichkeit, die Datenquelle in bestimmten Intervallen oder zu einem bestimmten Zeitpunkt zu aktualisieren. Zum Beispiel 

  • alle 5 Minuten
  • täglich um 12:00 Uhr 

cronExpression: Definition, wann die Aktualisierung stattfinden soll.
Tipp: Unter https://crontab.cronhub.io/ lässt sich der gewünschte Ausdruck zusammenstellen. 

created: Name der Spalte, in der der Erstellungszeitpunkt des Datensatzes hinterlegt ist. 
Werden Formulareingänge als Datenquelle genutzt, wird hier CREATED eingetragen.

Hintergrund / Nutzen dieser Angabe: Das System vergleicht die Zeitpunkte der Erstellung des Datensatzes (created-Angabe) und der letzten Aktualisierung. Es werden nur Daten publiziert, die bei der letzten Aktualisierung bereits vorhanden waren. 
Fehlt die Angabe "created", werden bis zur nächsten Aktualisierung keine Daten publiziert.


Manuell

Die Aktualisierung erfolgt manuell über drücken des Aktualisierungsbuttons: 






  • Keine Stichwörter