Zum Hauptinhalt springen
Version: 2022.2.x

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

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
(...)
Hinweis

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.

WICHTIG

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_PATHPfad zur Logdatei - wenn keine Datei angegeben ist wird nach STDOUT geloggt
DMC_LOG_LEVELDetailgrad der Logausgabe (Standard: INFO, möglich sind auch DEBUG, TRACE, WARN oder ERROR)
DMC_LOG_LEVEL_ADDetailgrad 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_OPENIDDetailgrad der Logausgabe für OpenID-Anbindung (Standard: identisch zu DMC_LOG_LEVEL, möglich sind auch DEBUG, TRACE, WARN oder ERROR)
DMC_AUTHAuthentifizierungsmethode (db, ad, openId) in web.xml muss dazu fest "AuthEnv" eingestellt sein
DMC_ADMIN_PASSWORDSetzt 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_GROUPAdministrator-Gruppe, standardmäßig "admin"
DMC_SALTSalt (bspw. für Passwörter verwendet)
DMC_LICENSEDMC-Lizenzschlüssel
DMC_LICENSE_PATHPfad zur Lizenzdatei (inkl. Dateiname!) - wird ignoriert wenn die DMC_LICENSE angegeben ist
DMC_SECURE_COOKIESteuert, 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_USERSDiese 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_TYPEDatenbanktyp (mssql, oracle, h2)
DMC_DB_DRIVERPassende JDBC-Treiberklasse
DMC_DB_JDBC_URLJDBC-URL
DMC_DB_USERBenutzername für Datenbank
DMC_DB_PASSWORDPasswort für Datenbank
DMC_DB_SCHEMASchema auf der Datenbank
DMC_DB_BULK_LOAD_STRATEGYLade-Strategie für große Datenmengen (SingleBatch, Batched oder AsyncBatched)
DMC_DB_BULK_LOAD_BATCH_SIZEBatch-/Paket-Größe für Batched und AsyncBatched Ladestrategien
DMC_DB_BULK_LOAD_ASYNC_POOL_SIZEAnzahl Threads für parallele Beladung
DMC_SCHEMA_UPDATEob das Datenmodell automatisch per Liquibase aktualisiert werden soll standardmäßig false, sollte aber i.d.R. auf true gesetzt werden
DMC_SCHEMA_CONTEXTSKomma-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_TIMEZONENur 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_URLURL für den LDAP-Server (bspw. ldap://ldap.example.com:389 oder ldaps://ldap.example.com:663)
DMC_LDAP_USERNAMEBenutzername mit Leserechten für den LDAP-Server (Abfrage der Gruppen)
DMC_LDAP_PASSWORDPassword für den LDAP-Benutzer
DMC_LDAP_SEARCH_BASEDN des Startpunktes für die Suche nach Benutzern (z.B. ou=Users,dc=example,dc=com)
DMC_LDAP_SEARCH_FILTERFilter für die Suche nach Benutzern, standardmäßig (&(objectClass=user)(sAMAccountName=%s))
DMC_LDAP_USERNAME_ATTRIBUTEAttribut, das den Benutzernamen enthält, standardmäßig sAMAccountName für Active Directory
DMC_LDAP_DEFAULT_DOMAINStandard-Domäne für Benutzernamen

OpenID-Authentifizierung

OpenID-Authentifizierung
DMC_OPENID_ISSUERfür Microsoft https://login.microsoftonline.com/{Tenant}/v2.0
DMC_OPENID_DISCOVERY_URLfür Microsoft https://login.microsoftonline.com/{Tenant}/v2.0/.well-known/openid-configuration
DMC_OPENID_CLIENT_IDdie Client-ID der App-Registrierung
DMC_OPENID_JWKS_URLfür Microsoft https://login.microsoftonline.com/{Tenant}/discovery/v2.0/keys
DMC_OPENID_USER_INFO_URLfür Microsoft https://graph.microsoft.com/oidc/userinfo
DMC_OPENID_ROLES_CLAIMfür Microsoft groups
DMC_OPENID_SCOPEstandardmäßig "openid email profile" (ohne Anführungszeichen)
DMC_OPENID_USERNAME_CLAIMstandardmäßig preferred_username
DMC_OPENID_KEEP_CLAIM_ROLESRollen/Gruppen aus OpenID unverändert als DMC-Rollen übernehmen, standardmäßig false
DMC_OPENID_MAP_CLAIM_ROLESRollen/Gruppen aus OpenID per Mapping in DMC-Rollen überführen, standardmäßig true

Mail-Einstellungen

Mail-Einstellungen
DMC_MAIL_TEMPLATE_FILEPfad zur Vorlagen-Datei (html) für eMails
DMC_MAIL_FROM_ADDRESSAbsenderadresse
DMC_MAIL_TO_ADDRESSStandard-Empfängeradresse
DMC_MAIL_SUBJECTBetreff der eMails, Platzhalter %s wird durch den Tabellennamen ersetzt
DMC_MAIL_HOSTNAMEHostname für den Mailserver (SMTP)
DMC_MAIL_PORTPort für den Mailserver (SMTP), standardmäßig 25
DMC_MAIL_TLStrue um den Mailserver per TLS zu kontaktieren, standardmäßig false
DMC_MAIL_USERNAMEBenutzername für den Mailserver
DMC_MAIL_PASSWORDPasswort für den Mailserver

Deployment-Einstellungen

Deployment-Einstellungen
DMC_EXPORT_INCLUDE_UUID_IN_PATHFlag, ob UUID in Dateinamen beim Export von Objekten enthalten sein soll (Default: true)
DMC_EXPORT_PATH_DOMAINPfad von Wertelisten innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_CATEGORYPfad von Kategorien innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_TABLEPfad von Tabellen innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_COMMANDPfad von Commands innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_QS_RULEPfad von QS-Regeln innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DEPLOYMENT_SETPfad von Deploymentsets innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_DOMAINPfad von gelöschten Wertelisten innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_CATEGORYPfad von gelöschten Kategorien innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_TABLEPfad von gelöschten Tabellen innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_COMMANDPfad von gelöschten Commands innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_QS_RULEPfad von gelöschten QS-Regeln innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_DEPLOYMENT_SETPfad von gelöschten Deploymentsets innerhalb eines exportierten Deploymentsets
DMC_SNAPSHOTS_PATHPfad der ZIP-Datei bei Erstellung eines Screenshots
DMC_IMPORT_ADDITIONAL_CONTENT_PATHFalls beim initialen Starten der DMC Inhalte bereits geladen werden sollen, kann hierüber der Pfad für diese angegeben werden
DMC_IMPORT_DEMO_CONTENTFlag, ob Demo-Content in die DMC geladen werden soll (Default: false)
DMC_DEPLOY_TABLE_USER_PERMISSIONSFlag, ob Nutzerberechtigungen mit Tabellen exportiert werden sollen (Default: true)
DMC_DEPLOY_TABLE_ROLE_PERMISSIONSFlag, ob Rollenberechtigungen mit Tabellen exportiert werden sollen (Default: true)

Theme-Einstellungen

INFO

Das Frontend akzeptiert nur sechsstellige Hexadezimalwerte (Bsp.: #fafafa) für Farben, andernfalls wird die Angabe ignoriert.

Theme-Einstellungen
DMC_THEME_PRIMARYPrimäre Farbe des Themes
DMC_THEME_ACCENTAkzentfarbe
DMC_THEME_MAIN_BGFarbe des Haupthintergrunds
DMC_THEME_SEC_BGSekundäre Hintergrundsfarbe
DMC_THEME_ERRORFarbton von Fehlern
DMC_THEME_WARNFarbton von Warnungen
DMC_THEME_INFOFarbton von Informationen
DMC_THEME_VALIDFarbton von validen Eingaben
DMC_THEME_HEAD1Überschriftenfarbe 1
DMC_THEME_HEAD2Überschriftenfarbe 2
DMC_THEME_HEAD3Überschriftenfarbe 3
DMC_THEME_NAV_TEXTFarbe der Einträge der Navigation
DMC_THEME_ICONFarbe von Sondericons (Bedienelemente haben die DMC_THEME_PRIMARY Farbe)
DMC_THEME_CONTRAST_LIGHTHelle Kontrastfarbe
DMC_THEME_CONTRAST_DARKDunkle Kontrastfarbe
DMC_THEME_LOGO_PATHPfad zur Logo-Datei
DMC_THEME_ICON_PATHPfad zur Icon-Datei
DMC_THEME_TITLETitel der Anwendung

Zusätzliche Variablen

Zusätzliche Variablen
DMC_TRIM_ALL_PKSFlag, ob Primarykey-Spalten automatisch ohne Leerzeichen gespeichert werden (Default: false)
DMC_APP_EXPORT_TECHNICAL_COLUMN_NAMESFlag, ob technische Spaltennamen beim Export anstatt DMC-Spaltennamen verwendet werden sollen (Default: false)
DMC_APP_UPLOAD_PATHTemporärer Ordner für CSV-/XLSX-Uploads
DMC_APP_SCHEDULE_THREAD_POOL_SIZEAnzahl der verwendeten Threads für das Scheduling
DMC_LOG_PATTERNStruktur der Logeinträge
DMC_LOG_CHARSETCharset, in welchem die Logeinträge verfasst sind (Default: UTF-8)
DMC_DB_SQL_PER_BYTE_CHARDivisor, um die Umrechnung von Bytes eines Character für die zulässige Zeichenlänge zu steuern (Default: 1)