Datenquellen

Eine Datenquelle wird von jeder Ad-hoc-Berichtskomponente benötigt, um Daten anzuzeigen. Neben der Unterstützung für Datenquellen im INETAPP-Server gibt es Unterstützung für Daten-Vorlagen, die auf den zuvor genannten Datenquellen aufbauen, sowie für benutzerdefinierte Datenquellen, die z.B. durch Uploads bereitgestellt werden.

Abhängig von den Benutzerberechtigungen können auch Benutzerdefinierte Datenquellen verwendet werden. Benutzerdefinierte Datenquellen sind Dateien im CSV-, JSON- oder XML-Format. Der Datei-Upload kann in der Konfiguration aktiviert werden und ermöglicht die Auswahl von Datenquellendateien aus dem Client-Dateisystem. Benutzer mit Zugriff auf den Drive können Datenquellen von dort auswählen. Außerdem können Benutzer mit der Berechtigung zur Serververwaltung Dateien aus dem Server-Dateisystem auswählen.

CSV-Datenformat

CSV Dateien können z.B. über den Export aus Excel erstellt werden. Die CSV-Implementierung unterstützt aber auch das Auslesen von Logdateien, z.B. von Apache, und Eventlogdateien von diesem INETAPP-Server. Das bedeutet, dass Spalten erkannt werden und Kopfzeilen automatisch Spaltennamen erzeugen. Die Datentypen werden aus den Spalteninhalten abgeleitet.

Beispiel:

"Date","UserId","User","Event","Message"
2025-01-30T15:55:29.769Z,,,"ServerStarted","The process of the application was started with version 25.4.136.",
2025-01-30T15:55:34.508Z,,,"ConfigurationChanged","Configuration property ""setupChain"" changed.",
2025-01-30T15:55:34.980Z,,,"ConfigurationChanged","Configuration property ""licensekey"" changed.",

JSON-Datenformat

Das Datenformat JSON erfordert, dass die Datei in einem der folgenden Datenformate vorliegt:

  • Eine Liste von Datenobjekten. Die Keys der Objekte sind die Spaltennamen.
  • Eine Map von Listen mit Objekten. Hier werden die Namen der Maps als Tabellennamen verwendet.

Beispiel:

[
    { "id": 1, "firstname": "Hans", "lastname": "Gruber" },
    { "id": 2, "firstname": "Colonel", "lastname": "Stuart" },
    { "id": 3, "firstname": "Simon", "lastname": "Gruber" }
]

Beispiel: Objekte von Listen von Objekten. Hier werden zwei Tabellen villains und heroes erstellt.

{
    "villains": [
        { "id": 1, "firstname": "Hans", "lastname": "Gruber" },
        { "id": 2, "firstname": "Colonel", "lastname": "Stuart" },
        { "id": 3, "firstname": "Simon", "lastname": "Gruber" }
    ],
    "heroes": [
        { "id": 1, "firstname": "John", "lastname": "McClane" },
        { "id": 2, "firstname": "Al", "lastname": "Powell" },
        { "id": 3, "firstname": "Zeus", "lastname": "Carver" }
    ]
}

XML-Datenformat

Mit dem Datenquellenformat XML können ebenfalls mehrere Tabellen definiert werden. Hier ist ein Beispiel für eine XML-Datei:

<?xml version="1.0" encoding="UTF-8"?>
<dataroot>
    <Villain><id>1</id><FirstName>Hans</FirstName><LastName>Gruber</LastName></Villain>
    <Villain><id>2</id><FirstName>Colonel</FirstName><LastName>Stuart</LastName></Villain>
    <Villain><id>3</id><FirstName>Simon</FirstName><LastName>Gruber</LastName></Villain>
    <Hero><id>1</id><FirstName>John</FirstName><LastName>McClane</LastName></Hero>
    <Hero><id>2</id><FirstName>Al</FirstName><LastName>Powell</LastName></Hero>
    <Hero><id>3</id><FirstName>Zeus</FirstName><LastName>Carver</LastName></Hero>
</dataroot>