Konfiguration

ECUI Applikationen können in vielen Bereichen einfach per Konfiguration an die Kundenbedürfnisse angepasst werden. Siehe Sie hier wie.

Administrations-Menü

Innerhalb des Administrationsmenü können die Konfigurationen für Server und Client verwalten. Sehen Sie dazu https://encodo.atlassian.net/wiki/spaces/EB/pages/105349121. Dort finden Sie Details zu den jeweiligen Schlüsseln.

Allgemein

Es werden zwischen drei Stufen von Konfigurationen unterschieden:

  • System-Konfiguration

    • Low Level Konfiguration

    • Nicht aus der App editierbar

    • z.B. Connection String für die Datenbank

  • Server-Konfiguration

  • Client-Konfiguration

    • Öffentliche Konfiguration

    • Aus der App editierbar - benötigen keinen Neustart. Ein Reload im Browser reicht.

    • z.B. DataGrid Search Konfiguration, Crosslink defaults

Die drei Systeme werden in den nachfolgenden Abschnitten noch im Detail erklärt.

System-Konfiguration

Die System-Konfiguration enthält besonders sensitive Konfigurations Elemente, oder solche die bereits beim aufstarten der App zur Verfügung stehen müssen. Das sind beispielsweise:

  • Logging Konfiguration

  • Datenbank Konfiguration

  • IP-Rate-Limit Konfiguration

  • Konfigurationen welche von .NET Umsystem verwendet werden

Dieser Teil der Konfiguration wird von einem Entwickler erstellt und gewartet. Das Konfiguration-System und Setup entspricht dabei dem Standard von .NET. Der interessierte Leser sei auf .NET Configuration System verwiesen.

Server-Configuration

Die Konfiguration auf Serverebene ist normalerweise vom Customizer/Integrator vorzunehmen. Im Normallfall sind die Einstellungen auf der Datenbank gespeichert (Siehe https://encodo.atlassian.net/wiki/spaces/EB/pages/105349121).

Für die initiale Konfiguration werden zusätzlich zwei JSON Files unterstützt. Diese werden analog den System-Settings geladen und durch den Developer erstellt und gewartet. Beim aufstarten der Applikation werden die Werte aus den JSON Files in die Datenbank geschrieben – dabei werden existierende Werte in der Datenbank nicht überschrieben.

Standardmässig werden die folgenden JSON-Files unterstützt:

  • appsettings.client.json

  • appsettings.server.json

Die auf der Datenbank gespeicherten Werte können wie andere Daten auch über das ECUI-UI bearbeitet werden. Keys sind dabei mit “:” in Segmente zu unterteilen welche später für die Filterung und Sortierung nützlich sind. So sind beispielsweise Mail Settings wie folgt zu erfassen: Mail:SmtpHost

Das Segment “Public” ist für öffentliche Konfigurationen reserviert. Werte mit diesem Segment sind öffentlich auch für nicht authentifizierte Benutzer abrufbar.

Client-Konfiguration

Diese Konfiguration ist öffentlich und ohne Authentifizierung abrufbar. Sie dient dem Client um Features zu aktivieren und spezifiziert das grundlegende UI-Verhalten.

Die Konfiguration kann analog der Server-Konfiguration erweitert und aktualisiert werden. Dabei ist bei den Einträgen jeweils ein “Public” Prefix zu verwenden. Ein Beispiel dazu wäre Public:DataGridConfiguration:useColumnChooser um entsprechend den Column-Chooser in den Listen zu konfigurieren.