Skip to main content

Datenquellendefinition


Über die Datenquellendefinition lassen sich alle Datenquellen sowohl in der Abfrage, als auch im resultierenden Aussehen beeinflussen.

Speicherort

Die Datenquellenkonfiguration wird über den AppServer bereitgestellt.
*AppServer*/Modules/Velia/Definitions/PublicApiDataSourceConfiguration.xml

Kundenspezifische Anpassungen werden im Unterordner Custom abgelegt.
*AppServer*/Modules/Velia/Definitions/Custom/PublicApiDataSourceConfiguration.xml

Kundenspezifische Anpassungen

Um für einen Kunden eine angepasste Datenquellendefinition einzurichten, benötigt es lediglich das von uns vorgegebene Dokument in den Custom-Ordner zu kopieren (siehe Speicherort) und den gewünschten Anforderungen entsprechend anzupassen. Im Anschluss muss der AppServer neugestartet werden. Bei einem Update wird die vorgegebene Datenquellendefinition überschrieben, die für den Kunden angepasste bleibt dabei erhalten!

Änderungen zur Laufzeit

Sobald der AppServer gestartet ist lauscht ein FileWatcher auf Änderungen der Datei am jeweiligen Speicherort (siehe Speicherort). Die Änderungen werden direkt vom AppServer ausgewertet und übernommen, ohne das der AppServer neugestartet werden muss. Sollte es zu einem Fehler bei der Auswertung oder Übernahme der Änderungen kommen, werden die bereits zuvor geladenen Informationen nicht überschrieben und der Fehler auf der Konsole (bzw. im Log) des AppServers ausgegeben.

Aufbau der Datei

Als Format ist XML vorgegeben. 

DataSourceConfiguration.xml

XML
<?xml version="1.0" encoding="utf-8" ?> 
<DataSourceConfiguration>
  <Enums>
	<Enum ... />
  </Enums>
  <DataSources>
	<DataSource ...>
      <Fields>
        <Field ...>
			<de>deutsche Übersetzung</de>
			<en>englische Übersetzung</en>
		</Field>
      </Fields>
      <Joins>
		<Join ... />
      </Joins>
	  <Wheres>
		<Where ... />
	  </Wheres>
    </DataSource>
	<DataSource ... >...</DataSource>
  </DataSources>
</DataSourceConfiguration>

Enum

Enums werden global definiert, sodass jede DataSource darauf zurückgreifen kann. (siehe Feldtyp Enum)

AttributTypStandardwertPflichtAb VersionBeschreibung
namestring
ja

Name des Enums (wie im Quellcode)

namespacestring
ja
gesamten Namespace (wie im Quellcode)

DataSource

Dient zur Beschreibung der Datenquelle. Attribute der DataSource sollten in der Regel nicht verändert werden, da es Implementationen gibt welche die Vorgabewerte erwarten.

AttributTypStandardwertPflichtAb VersionBeschreibung
tablestring
ja
Basis-Datenbanktabelle die von dieser Datenquelle angesprochen wird
idstring
ja
Eindeutiger Name der Datenquelle
aliasstringnullnein
Alias (z.B. o bei: select ... from orders o ... )
xpoNamestringnullnein
Name der XPO-Klasse (wenn vorhanden). Dient hauptsächlich zum automatischen holen von Übersetzungen über den TranslationService.
limitint0nein
Limit für die Abfrage. Bei Wert kleiner oder gleich 0 wird kein Limit gesetzt.
Field

Dient zur Beschreibung eines Feldes. Das jeweilige Primary-Key Feld muss zwingend vorhanden und sollte unangetastet bleiben.

AttributTypStandardwertPflichtAb VersionBeschreibung
namestring
ja
Name des Feldes (kann vom Spaltennamen in der Datenbank abweichen)
typestringanynein
Typ des Feldes. Mögliche Werte (siehe Feldtypen)
primaryKeyboolfalsenein
Gibt an ob es sich um den Primärschlüssel der Tabelle handelt
expressionstringnullnein
Wenn das Attribut name vom Spaltennamen in der Tabelle abweicht, wird hier mindestens der referenzierende Spaltenname benötigt. Ansonsten kann hier jeder erdenkliche MySQL Ausdruck verwendet werden.
joinAliasstringnullnein
Alias des Joins, wenn das Feld über einen Join angesprochen wird (siehe Joins)
hiddenboolfalsenein
Gibt an ob das Feld über eine GUI angezeigt werden kann
enumTypestringnullja, wenn Feldtyp enum
Name des Enum, welches das Feld repräsentiert, sofern es vom Feldtyp enum ist (siehe Enums)
detailboolfalsenein
Gibt an ob das Feld im Standard als Detailfeld angezeigt wird. Detailfelder werden z.B. in Listen ausgeblendet, können aber über die Spaltenauswahl eingeblendet werden.
formatstringnullnein
Formatzeichenfolge z.B. bei Feldtyp datetime "dd.MM.yyyy HH:mm"
summaryFunctionstringundefinednein9.28.13.1

Gibt die Funktion an, die bei Anwendung eines Summary-Requests auf diese Datenquelle für dieses Feld ausgeführt werden soll. Möglich Werte (siehe SummaryFunction)

Feldtypen

Der Feldtyp gibt an, wie das Feld von der GUI zu interpretieren ist. Die folgenden Typen werden aktuell unterstützt.

WertAb VersionBeschreibung
text
Zeichenkette / Text
boolean
Boolean ja/nein - resultiert in Checkbox
integer
Zahl ohne Nachkommastellen
float
Zahl mit Nachkommastellen
date
Datum - ohne Zeit formatiert
datetime
Datum - inkl. Zeit formatiert
enum
Enum - resultiert in Lookup-Filter
any
Jeglicher Typ - resultiert in Textwert
SummaryFunction

Die SummaryFunction gibt an, welche Funktion bei Anwendung eines Summary-Requests auf diese Datenquelle für dieses Feld ausgeführt werden soll.

WertAb VersionBeschreibung
undefined9.28.13.1wird ausgeschlossen (Standardwert)
sum9.28.13.1Summe - SUM(...)
min9.28.13.1Minimum - MIN(...)
avg9.28.13.1Durchschnitt - AVG(...)
max9.28.13.1Maximum - MAX(...)
count9.28.13.1Anzahl - COUNT(*)
Join

Beschreibt einen Join auf eine Datenbanktabelle.

AttributTypStandardwertPflichtAb VersionBeschreibung
tablestring
ja
Name der Datenbanktabelle auf die der Join angewendet wird
aliasstring
ja
Alias (z.B. o bei: ... join orders o ... )
conditionstring
ja
Bedingung, z.B. "o.OrderID = wp.WaypointOwnerID"
dependencyAliasstringnullnein
Abhängiger Alias, welcher in der Bedingung Verwendung findet
Where

Beschreibt die Bedingung der Datenquelle.

AttributTypStandardwertPflichtAb VersionBeschreibung
expressionstring
ja
Bedingung

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.