Umgebungsvariablen
Ein zentraler Aspekt bei der Konfiguration der DMC sind Umgebungsvariablen. Über diese können neben grundlegender Konfiguration auch Datenbankkonfiguration, Authentifizierung und das Styling beeinflusst werden. Die DMC wird im Wesentlichen über eine .properties-Datei konfiguriert. Diese muss durch den Anwender erstellt werden.
Der vollständige Pfad zu dieser Datei muss in der Umgebungsvariablen DMC_CONFIGURATION hinterlegt werden. Zudem können die Umgebungsvariablen direkt als solche gesetzt werden.
Ein Beispiel für eine .properties-Datei und deren Konfiguration wäre:
Als Umgebungsvariable: DMC_CONFIGURATION = C:/config/dmc.properties
DMC_DB_JDBC_URL=jdbc:sqlserver://db-adresse.net:1433;database=dmc-db
DMC_DB_SCHEMA=dbo
DMC_DB_USER=dmc-test-user
DMC_DB_PASSWORD=hiereinpasswort
DMC_DB_TYPE=mssql
DMC_DB_DRIVER=com.microsoft.sqlserver.jdbc.SQLServerDriver
DMC_SCHEMA_UPDATE=true
DMC_LOG_LEVEL=DEBUG
DMC_LICENSE_PATH=C:\config\dmc-license.lic
DMC_AUTH=db
DMC_SCHEMA_CONTEXTS=schema,baseContent,adminUser
DMC_ADMIN_PASSWORD=hiereinpasswort
(...)
Aktuell gibt es nur eine Einstellung, die nicht über eine .properties-Datei übergeben werden kann, sondern über Umgebungsvariablen gesteuert werden muss:
- Authentifizierungsmethode (DMC_AUTH, s.u.)
Bitte beachten: Im Docker- und Compose-File sind einige der Variablen bereits passend vorbelegt, die verbleibenden Variablen sind in der Datei dmc.env aufgelistet.
Umgebungsvariablen müssen, wie in der Liste dargestellt, in UPPCERCASE-Schreibweise übergeben werden.
Folgende Variablen stehen grundsätzlich zur Verfügung:
Grundlegende Einstellungen
| Grundlegende Einstellung | |
|---|---|
DMC_LOG_PATH | Pfad zur Logdatei - wenn keine Datei angegeben ist wird nach STDOUT geloggt |
DMC_LOG_LEVEL | Detailgrad der Logausgabe (Standard: INFO, möglich sind auch DEBUG, TRACE, WARN oder ERROR) |
DMC_LOG_LEVEL_AD | Detailgrad der Logausgabe für LDAP/AD-Anbindung (Standard: identisch zu DMC_LOG_LEVEL, möglich sind auch DEBUG, TRACE, WARN oder ERROR) |
DMC_LOG_LEVEL_OPENID | Detailgrad der Logausgabe für OpenID-Anbindung (Standard: identisch zu DMC_LOG_LEVEL, möglich sind auch DEBUG, TRACE, WARN oder ERROR) |
DMC_AUTH | Authentifizierungsmethode (db, ad, openId) in web.xml muss dazu fest "AuthEnv" eingestellt sein |
DMC_ADMIN_PASSWORD | Setzt das Passwort des admin-Benutzers (sofern vorhanden) beim Start der Anwendung auf den angegebenen Wert zurück - hier kann und muss das Passwort im Klartext übergeben werden! |
DMC_ADMIN_GROUP | Administrator-Gruppe, standardmäßig "admin" |
DMC_SALT | Salt (bspw. für Passwörter verwendet) |
DMC_LICENSE | DMC-Lizenzschlüssel |
DMC_LICENSE_PATH | Pfad zur Lizenzdatei (inkl. Dateiname!) - wird ignoriert wenn die DMC_LICENSE angegeben ist |
DMC_SECURE_COOKIE | Steuert, ob die Session-Cookies der DMC "secure" sind (d.h. nur für HTTPS zugelassen). Standardmäßig ist diese Einstellung auf true gesetzt, was allerdings zu Problemen führen kann, wenn eine DMC-Instanz ohne HTTPS betrieben wird. Dann kann die Einstellung auf false gesetz werden. |
DMC_CORS_ALLOWED_ORIGINS | Über diese Variable werden Hostnamen übergeben, von denen aus auf die DMC zugegriffen werden kann (bspw. alternativer Host fürs Frontend, Reporting-Server für Kommentierung). Hierbei sind mehrere Hostnamen erlaubt, indem man diese durch Kommata trennt. Zudem kann eine Wildcard (*) im Hostnamen verwendet werden. Beispiel: *.infomotion.de oder test.infomotion.de,dev.infomotion.de ACHTUNG: wenn CORS aktiviert wird, werden die Cookies automatisch auf secure gesetzt, HTTPS ist dann verpflichtend! |
DMC_EXPOSE_SESSIONID_FOR_USERS | Diese Variable steuert, für welche Benutzer der Server bei der Anmeldung die Session-ID "im Klartext" an den Browser zurückgibt. Normalerweise wird die Session-ID nur als gesichertes Cookie an den Browser übermittelt, um einen Diebstahl durch bösartigen JavaScript-Code im Browser zu erschweren. In bestimmten Sonderfällen (bspw. wenn die DMC als Kommentierungs-Backend in Reporting-Lösungen integriert wird) muss die Session-ID jedoch per JavaScript im Browser verfügbar sein. Es kann eine komma-getrennte Liste von Benutzernamen (z.B. die Namen technischer Benutzer für die Kommentierung) oder * als Wildcard für alle Benutzer hinterlegt werden. |
Datenbankkonfiguration
| Datenbankkonfiguration | |
|---|---|
DMC_DB_TYPE | Datenbanktyp (mssql, oracle, h2) |
DMC_DB_DRIVER | Passende JDBC-Treiberklasse |
DMC_DB_JDBC_URL | JDBC-URL |
DMC_DB_USER | Benutzername für Datenbank |
DMC_DB_PASSWORD | Passwort für Datenbank |
DMC_DB_SCHEMA | Schema auf der Datenbank |
DMC_DB_BULK_LOAD_STRATEGY | Lade-Strategie für große Datenmengen (SingleBatch, Batched oder AsyncBatched) |
DMC_DB_BULK_LOAD_BATCH_SIZE | Batch-/Paket-Größe für Batched und AsyncBatched Ladestrategien |
DMC_DB_BULK_LOAD_ASYNC_POOL_SIZE | Anzahl Threads für parallele Beladung |
DMC_SCHEMA_UPDATE | ob das Datenmodell automatisch per Liquibase aktualisiert werden soll standardmäßig false, sollte aber i.d.R. auf true gesetzt werden |
DMC_SCHEMA_CONTEXTS | Komma-getrennte Liste von Einträgen die definiert, welche Inhalte einmalig in der DB ausgerollt werden sollen (typischerweise schema,baseContent, ggf. auch adminUser für einen Benutzer admin/admin) |
DMC_TIMEZONE | Nur MSSQL Setzt die Zeitzone der Datenbank bei Änderungszeitstempeln, da bspw. in Azure SQL Databases keine Zeitzonen einstellbar sind. Default: Central European Standard Time |
LDAP/AD-Authentifizierung
| LDAP/AD-Authentifizierung | |
|---|---|
DMC_LDAP_URL | URL für den LDAP-Server (bspw. ldap://ldap.example.com:389 oder ldaps://ldap.example.com:663) |
DMC_LDAP_USERNAME | Benutzername mit Leserechten für den LDAP-Server (Abfrage der Gruppen) |
DMC_LDAP_PASSWORD | Password für den LDAP-Benutzer |
DMC_LDAP_SEARCH_BASE | DN des Startpunktes für die Suche nach Benutzern (z.B. ou=Users,dc=example,dc=com) |
DMC_LDAP_SEARCH_FILTER | Filter für die Suche nach Benutzern, standardmäßig (&(objectClass=user)(sAMAccountName=%s)) |
DMC_LDAP_USERNAME_ATTRIBUTE | Attribut, das den Benutzernamen enthält, standardmäßig sAMAccountName für Active Directory |
DMC_LDAP_DEFAULT_DOMAIN | Standard-Domäne für Benutzernamen |
OpenID-Authentifizierung
| OpenID-Authentifizierung | |
|---|---|
DMC_OPENID_ISSUER | für Microsoft https://login.microsoftonline.com/{Tenant}/v2.0 |
DMC_OPENID_DISCOVERY_URL | für Microsoft https://login.microsoftonline.com/{Tenant}/v2.0/.well-known/openid-configuration |
DMC_OPENID_CLIENT_ID | die Client-ID der App-Registrierung |
DMC_OPENID_JWKS_URL | für Microsoft https://login.microsoftonline.com/{Tenant}/discovery/v2.0/keys |
DMC_OPENID_USER_INFO_URL | für Microsoft https://graph.microsoft.com/oidc/userinfo |
DMC_OPENID_ROLES_CLAIM | für Microsoft groups |
DMC_OPENID_SCOPE | standardmäßig "openid email profile" (ohne Anführungszeichen) |
DMC_OPENID_USERNAME_CLAIM | standardmäßig preferred_username |
DMC_OPENID_KEEP_CLAIM_ROLES | Rollen/Gruppen aus OpenID unverändert als DMC-Rollen übernehmen, standardmäßig false |
DMC_OPENID_MAP_CLAIM_ROLES | Rollen/Gruppen aus OpenID per Mapping in DMC-Rollen überführen, standardmäßig true |
Mail-Einstellungen
| Mail-Einstellungen | |
|---|---|
DMC_MAIL_TEMPLATE_FILE | Pfad zur Vorlagen-Datei (html) für eMails |
DMC_MAIL_FROM_ADDRESS | Absenderadresse |
DMC_MAIL_TO_ADDRESS | Standard-Empfängeradresse |
DMC_MAIL_SUBJECT | Betreff der eMails, Platzhalter %s wird durch den Tabellennamen ersetzt |
DMC_MAIL_HOSTNAME | Hostname für den Mailserver (SMTP) |
DMC_MAIL_PORT | Port für den Mailserver (SMTP), standardmäßig 25 |
DMC_MAIL_TLS | true um den Mailserver per TLS zu kontaktieren, standardmäßig false |
DMC_MAIL_USERNAME | Benutzername für den Mailserver |
DMC_MAIL_PASSWORD | Passwort für den Mailserver |
Deployment-Einstellungen
| Deployment-Einstellungen | |
|---|---|
DMC_EXPORT_INCLUDE_UUID_IN_PATH | Flag, ob UUID in Dateinamen beim Export von Objekten enthalten sein soll (Default: true) |
DMC_EXPORT_PATH_DOMAIN | Pfad von Wertelisten innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_CATEGORY | Pfad von Kategorien innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_TABLE | Pfad von Tabellen innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_COMMAND | Pfad von Commands innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_QS_RULE | Pfad von QS-Regeln innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DEPLOYMENT_SET | Pfad von Deploymentsets innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_DOMAIN | Pfad von gelöschten Wertelisten innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_CATEGORY | Pfad von gelöschten Kategorien innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_TABLE | Pfad von gelöschten Tabellen innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_COMMAND | Pfad von gelöschten Commands innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_QS_RULE | Pfad von gelöschten QS-Regeln innerhalb eines exportierten Deploymentsets |
DMC_EXPORT_PATH_DELETED_DEPLOYMENT_SET | Pfad von gelöschten Deploymentsets innerhalb eines exportierten Deploymentsets |
DMC_SNAPSHOTS_PATH | Pfad der ZIP-Datei bei Erstellung eines Screenshots |
DMC_IMPORT_ADDITIONAL_CONTENT_PATH | Falls beim initialen Starten der DMC Inhalte bereits geladen werden sollen, kann hierüber der Pfad für diese angegeben werden |
DMC_IMPORT_DEMO_CONTENT | Flag, ob Demo-Content in die DMC geladen werden soll (Default: false) |
DMC_DEPLOY_TABLE_USER_PERMISSIONS | Flag, ob Nutzerberechtigungen mit Tabellen exportiert werden sollen (Default: true) |
DMC_DEPLOY_TABLE_ROLE_PERMISSIONS | Flag, ob Rollenberechtigungen mit Tabellen exportiert werden sollen (Default: true) |
Theme-Einstellungen
Das Frontend akzeptiert nur sechsstellige Hexadezimalwerte (Bsp.: #fafafa) für Farben, andernfalls wird die Angabe ignoriert.
| Theme-Einstellungen | |
|---|---|
DMC_THEME_PRIMARY | Primäre Farbe des Themes |
DMC_THEME_ACCENT | Akzentfarbe |
DMC_THEME_MAIN_BG | Farbe des Haupthintergrunds |
DMC_THEME_SEC_BG | Sekundäre Hintergrundsfarbe |
DMC_THEME_ERROR | Farbton von Fehlern |
DMC_THEME_WARN | Farbton von Warnungen |
DMC_THEME_INFO | Farbton von Informationen |
DMC_THEME_VALID | Farbton von validen Eingaben |
DMC_THEME_HEAD1 | Überschriftenfarbe 1 |
DMC_THEME_HEAD2 | Überschriftenfarbe 2 |
DMC_THEME_HEAD3 | Überschriftenfarbe 3 |
DMC_THEME_NAV_TEXT | Farbe der Einträge der Navigation |
DMC_THEME_ICON | Farbe von Sondericons (Bedienelemente haben die DMC_THEME_PRIMARY Farbe) |
DMC_THEME_CONTRAST_LIGHT | Helle Kontrastfarbe |
DMC_THEME_CONTRAST_DARK | Dunkle Kontrastfarbe |
DMC_THEME_LOGO_PATH | Pfad zur Logo-Datei |
DMC_THEME_ICON_PATH | Pfad zur Icon-Datei |
DMC_THEME_TITLE | Titel der Anwendung |
Zusätzliche Variablen
| Zusätzliche Variablen | |
|---|---|
DMC_TRIM_ALL_PKS | Flag, ob Primarykey-Spalten automatisch ohne Leerzeichen gespeichert werden (Default: false) |
DMC_APP_EXPORT_TECHNICAL_COLUMN_NAMES | Flag, ob technische Spaltennamen beim Export anstatt DMC-Spaltennamen verwendet werden sollen (Default: false) |
DMC_APP_UPLOAD_PATH | Temporärer Ordner für CSV-/XLSX-Uploads |
DMC_APP_SCHEDULE_THREAD_POOL_SIZE | Anzahl der verwendeten Threads für das Scheduling |
DMC_LOG_PATTERN | Struktur der Logeinträge |
DMC_LOG_CHARSET | Charset, in welchem die Logeinträge verfasst sind (Default: UTF-8) |
DMC_DB_SQL_PER_BYTE_CHAR | Divisor, um die Umrechnung von Bytes eines Character für die zulässige Zeichenlänge zu steuern (Default: 1) |