Zum Hauptinhalt springen
Version: iSign 8

6.3 Datenquellen

Unter Administration - Datenquellen können Datenquellen in iSign eingebunden werden.

image-20250604-062357.png

Verfügbar Anbieter​

CSV Import​

Der Anbieter kann CSV (rfc4180) von lokalen Dateien oder über HTTP laden. Unterstützt Textersetzung in URLs.

Siehe auch Terminland - Termine importieren

Optionen​

  • Dateiname oder Link
    Pfad zu der Datei oder http(s) URL.
    Unter Linux läuft der Datenimport im Container. Die Dateien im Host Pfad /usr/share/designo/isign-server/instance/default/data sind für den Container unter /data verfügbar. Z.b. Für Host-Pfad /usr/share/designo/isign-server/instance/default/data/import/demo.csv verwenden Sie den Dateinamne /data/import/demo.csv.
  • Encodierung
    Zeichenkodierung, welche von der Datei verwendet wird.
  • Trennzeichen
    Das Trennzeichen, welches bei CSV verwendet wird. Gängig sind zum Beispiel “;” und “,”
  • Mit Überschrift?
    Verwendet die erste Zeile als Spaltenüberschriften.
  • Leerzeilen entfernen?
    Ignoriert leere Zeilen in der Datei
  • Zeilennummern?
    Fügt jeder Zeile eine fortlaufene Nummer hinzu.
  • Dateizugriff erlaubt?
    Erlaubt dem System auf Dateien, welche neben der Datei oder in einem Unterpfad liegen, zuzugreifen.

Beispiel für das Einrichten einer Datenquelle mit einer CSV-Datei.​

Um eine Datenquelle für den Import von Inhalten einzurichten, benötigen Sie eine CSV-Datei mit den gewünschten Daten, z. B. erstellt mit Microsoft Excel.

Vorgehensweise:

Schritte zur Einrichtung des CSV-Datenimports​

  1. CSV-Datei auf dem Server ablegen
    Speichern Sie die vorbereitete CSV-Datei auf dem Server
  2. In der iSign-Weboberfläche navigieren
    Öffnen Sie die iSign-Oberfläche im Browser und wechseln Sie zu:
    Administration → Datenimport
  3. “Hinzufügen”

image-20250604-054337.png

  • Name: Quelle zur Datenübernahme - Bezeichnung der Datenquelle. Dient zur eindeutigen Identifikation
  • Anbieter: CSV Import
  • Cache Gültigkeit: Definiert, wie lange eingelesene Daten im Cache verbleiben, bevor eine erneute Aktualisierung erfolgt
  • Fehlertoleranz: Ja
    Aktiviert den toleranten Modus beim Datenimport.
  • Sichtbar: Ja
    Gibt an, ob die Datenquelle in der Benutzeroberfläche angezeigt wird.
    Ja bedeutet: Sie ist für Benutzer auswählbar und sichtbar.
  1. Datenquelle konfigurieren

image-20250604-055706.png

5. Daten anzeigen/Vorschau​

Prüfen Sie, ob die importierten Daten korrekt angezeigt werden und die Datenquelle erfolgreich eingerichtet wurde.

image-20250604-062531.png

iCalendar Import​

Mit “iCalendar Import” können Daten im iCalender Format (https://datatracker.ietf.org/doc/html/rfc5545) importiert werden.

Verwendete Parameter:​

  • Dateiname oder Link: Lokaler Pfad oder http(s) Link zu den Daten.
  • Dateizugriff erlaubt?: Erlaubt der Datenquelle Dateien welche auf gleicher Ebene liegen wie die Datei oder darunter anzufragen.
  • Wiederholungen auflösen?: Dadurch wird für jede Wiederholung eines Ereignisses ein Eintrag erstellt.

LINQ Abfrage​

Mit “LINQ Abfrage” können die Daten einer bestehenden Datenquelle abgefragt werden.

Optionen​

Beispiele für eine LINQ-Afrage:​

info

Die folgenden Beispiele können miteinander kombiniert werden. Die Bezeichnung der Felder muss an die zugrundeliegende Datenquelle angepasst werden.

Filter “Alle Einträge, die am heutigen Tag aktiv sind – also bereits begonnen haben und noch nicht beendet sind.”​
from row in data
where DateTime.Parse((string)row["Start"]).ToLocalTime().Date <= DateTime.Today
where DateTime.Parse((string)row["End"]).ToLocalTime().Date >= DateTime.Today
select row
Filter “Alle Einträge, die in 15 Minuten begonnen haben werden, und noch nicht zu Ende sind.”​
from row in data
where DateTime.Parse((string)row["Start"]).ToLocalTime() <= DateTime.Now.AddMinutes(15)
where DateTime.Parse((string)row["End"]).ToLocalTime() > DateTime.Now
select row
Standortfilter (mit Parameter “location”)​

Der Parameter “location” wird von einigen Templates verwendet um die Einstellung “Standort” des Displays weiterzugeben. Dadurch kann die Datenquelle für jedes Display unterschiedliche Daten liefern.

from row in data
let location=(string?)parameters["location"]
where string.IsNullOrEmpty(location) || (string)row["location"] == location
select row

Linq zu XML Import​

Wir verwendet um XML Daten zu importieren. Linq unterstützt komplexe Afragen.

Optionen​

  • Dateiname: Pfad zur XML Datei. Unterstützt auch URLs für HTTP GET Abfragen. Die Datei ist in der folgenden Afrage als Variable “document” verfügbar.
  • Linq-Afrage: Siehe https://learn.microsoft.com/de-de/dotnet/standard/linq/query-xml-trees-overview
  • Abfrage Zeit-Variant: Wenn ausgewählt wird in den Metadaten der Anderungszeitstempel mit der aktuellen Zeit belegt. Sonst wird der Zeitstempel der Eingangsdaten verwendet.
  • Zusätzlicher Code: Hier kann zusätzlicher C# Code angegeben werden. Z.B. Helferklassen. (optional)
  • Verwendete Parameter: Parameter welche von der Datenquelle verwendet werden sollen. Diese sind unter der Variable “parameters” verfügbar. (optional)

Beispiele für eine LINQ-Afrage:​

In diesem Beispiel werden Daten aus dem <ROW>-Tag eingelesen. Es wird nach dem Attribut StartDate gefiltert. Für die Ausgabe werden die Felder EventName, RoomName und Date selektiert. Es werden maximal zwei Einträge ausgegeben.

(
from x in document.Descendants("ROW")

// filter by date
let date = DateTime.ParseExact((string)x.Attribute("StartDate"), "yyyyMMdd", null)
where date.Date == DateTime.Now.Date

// define output
select new
{
EventName = (string)x.Attribute("EventName"),
RoomName = (string)x.Attribute("RoomName"),
Date = date.ToString("d", null)
}
)
// Return maxium 2 items
.Take(2)

Microsoft EWS Kalender Import​

Microsoft Exchange Web Services. Zur Abfrage von Kalendern aus Microsoft Exchange. Falls möglich, empfehlen wir die MS Graph API Schnittstelle zu verwenden.

Das Anlegen einer Datenquelle für den EWS Kalender Import erfolgt analog zum Anlegen einer Datenquelle für einen Terminkalender. Es wird nur bei der Datenquelle beim Anbieter “Exchange Web Services Kalender Import” ausgewählt

image-20250131-095525.png

Unterstützte Felder:
Subject, Start, End, Location, IsAllDayEvent, Organizer, RequiredAttendees, OptionalAttendees, Body

Optionen​

image-20250131-095711.png

URL: URL zu EWS

Username, Passwort und Domäne: Authentifizierung

Ressource: E-Mail des Kalenders

Microsoft Graph API Kalender Import​

Zur Abfrage von Kalendern aus Microsoft Exchange Online

Unterstütze Felder: Subject, Start, End, Location, Body, Organizer, Attendees

Optionen​

  • ClientId: Client-ID zur Authentifizierung (muss in EntraID für iSign angelegt werden)
  • ClientSecret: Passwort zur Client-ID
  • TenantId: Id des Kundensystems
  • AuthCode: Optional, je nach gewählter Authentifizierungsmethode
  • Resource: E-Mail des Kalenders

Einrichten von Graph API​

1. Microsoft Azure App Registrierung​

Bevor Sie mit dem Import von Kalenderdaten beginnen, müssen Sie eine App in Azure Active Directory (Azure AD) registrieren. Diese App stellt sicher, dass unser System mit Ihrem Microsoft Exchange Online Kalender kommunizieren kann.

Schritte zur Registrierung Ihrer App in Azure AD:

  1. Anmelden bei Azure Portal:
  • Besuchen Sie Azure Portal und melden Sie sich mit Ihrem Microsoft-Konto an.
  1. Erstellen einer neuen App:
  • Gehen Sie zu Azure Active Directory > App-Registrierungen > Neue Registrierung.
  • Geben Sie Ihrer Anwendung einen Namen (z. B. „Kalender Integration“).
  • Wählen Sie den unterstützten Kontotyp aus (meistens „Konten in diesem organisatorischen Verzeichnis“).
  • Klicken Sie auf „Registrieren“.
  1. App-ID und Tenant-ID notieren:
  • Nach der Registrierung werden Ihnen zwei wichtige IDs angezeigt: Client-ID (App-ID) und Tenant-ID. Diese benötigen Sie später.
2. API-Berechtigungen festlegen​

Damit unser System auf Ihren Kalender zugreifen kann, müssen Sie der App entsprechende Berechtigungen erteilen.

So fügen Sie die Berechtigungen hinzu:

  1. Gehen Sie zu API-Berechtigungen > Berechtigung hinzufügen.
  2. Wählen Sie Microsoft Graph und dann Anwendungsberechtigungen.
  3. Fügen Sie Calendars.Read hinzu.
  4. Klicken Sie auf Zustimmung des Administrators erteilen, um sicherzustellen, dass alle Berechtigungen korrekt gesetzt sind.
3. Erstellen eines Client-Secret​

Um die App zu authentifizieren, benötigen Sie ein Client Secret (Passwort), das Ihnen den Zugang zur Microsoft Graph API ermöglicht.

So erstellen Sie ein Client Secret:

  1. Gehen Sie zu Zertifikate & Client Secret> Neu “Client Secret”
  2. Geben Sie dem Geheimnis einen Namen und wählen Sie ein Ablaufdatum aus.
  3. Klicken Sie auf Hinzufügen und kopieren Sie das neu generierte Geheimnis. Speichern Sie es gut, da es später nicht mehr angezeigt wird.
4. Übertragung der Parameter in unser System​

Um die Kalenderdaten in unser System zu importieren, benötigen wir die folgenden Parameter:

  • ClientId: Die Client-ID, die Sie bei der App-Registrierung in Azure erhalten haben.
  • ClientSecret: Das geheime Passwort, das Sie beim Erstellen des Client Secrets erhalten haben.
  • TenantId: Die Tenant-ID Ihres Microsoft-Kontos.
  • AccessToken: Das AccessToken lassen Sie leer.
  • Resource: Die E-Mail-Adresse des Kalenders, dessen Daten Sie importieren möchten.

datenquelle-20250402-111818.png

Bitte übertragen Sie diese Parameter in unser System, damit wir auf isign auf den Kalender zugreifen kann.

🔹 Schritt 1: Fügen Sie in der Administration eine neue Datenquelle hinzu: MS Graph API Kalenderimport.
🔹 Schritt 2: Bearbeiten Sie die Datenquelle und tragen Sie die Parameter ein.
🔹 Schritt 3: Über "Vorschau" können Sie prüfen, ob die Daten vorhanden sind (funktioniert nur, wenn die Webschnittstelle unter https: läuft).

Erweiterte Funktionen​

Parameter​

Datenquellen können Parameter unterstützen. Diese werden durch die Verwendung definiert. Zum Beispiel kann ein Template den Standort seines Displays an die Datenquelle weiterleiten um nur Daten für den aktuellen Standort zu erhalten.

Textersetzung in URLs​

Anbieter welche die Daten von URLs laden, z.B. lokale Dateien oder HTTP unterstützen in der Regel eine Textersetzung. Dabei werden in der URL Text in der From {TOKEN} oder {TOKEN:FORMAT} ersetzt.

Mögliche Token sind: “NOW” (aktuelle Uhrzeit, Lokalzeit) und die in der Datenquelle verfügbarene Parameter.