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
Administrative Konfiguration
Aus der App editierbar - für gewisse Settings wird ein Neustart der App vorausgesetzt
z.B. Mail/SMTP 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 Grundeinstellungen).
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.
Administrations-Menü
Innerhalb des Administrationsmenü können die Konfigurationen für Server und Client verwalteten werden. Sehen Sie Grundeinstellungen. Dort finden Sie Details zu den jeweiligen Schaltern.