Zum Hauptinhalt springen
Version: 2023.1.x

Konfiguration/Umgebungsvariablen

Ein zentraler Aspekt bei der Konfiguration der DMC sind Konfigurationsparameter. Über diese können neben grundlegender Konfiguration auch Datenbankkonfiguration, Authentifizierung und das Styling beeinflusst werden.

Die Parameter können auf zwei Arten eingestellt werden:

  1. Über Umgebungsvariablen (DMC_...). Diese Option ist insbesondere für das Deployment in Docker-Containern relevant.
  2. Als Parameter in einer .properties-Datei. In diesem Fall muss zumindest der Pfad zur Datei in der Umgebungsvariable DMC_CONFIGURATION hinterlegt werden.

Beispiel

Umgebungsvariable DMC_CONFIGURATION=C:/config/dmc.properties

C:/config/dmc.properties
logging.level.root=DEBUG
app.licensePath=C:\config\dmc-license.lic

security.authenticationMode=db
security.adminPassword=hiereinpasswort

jdbc.url=jdbc:sqlserver://db-adresse.net:1433;database=dmc-db
jdbc.schema=dbo
jdbc.username=dmc-test-user
jdbc.password=hiereinpasswort
jdbc.sql-configuration=mssql
jdbc.driverClass=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.schemaUpdate.enabled=true
jdbc.schemaUpdate.contexts=schema,baseContent,adminUser
(...)

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

Sowohl die Namen der Umgebungsvariablen als auch der Parameter für die .properties-Datei müssen, die Groß-/Kleinschreibung exakt befolgen!

Folgende Variablen/Parameter stehen grundsätzlich zur Verfügung:

Grundlegende Einstellungen

Grundlegende Einstellungen
DMC_AUTH / security.authenticationModeAuthentifizierungsmethode (db, ad, openId) in web.xml muss dazu fest "AuthEnv" eingestellt sein
DMC_ADMIN_PASSWORD / security.adminPasswordSetzt 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 / security.adminGroupAdministrator-Gruppe, standardmäßig "admin"
DMC_SALT / security.saltSalt (bspw. für Passwörter verwendet)
DMC_LICENSE / app.licenseDMC-Lizenzschlüssel (Base64-codiert)
DMC_LICENSE_PATH / app.licensePathPfad zur Lizenzdatei (inkl. Dateiname!) - wird ignoriert wenn die DMC_LICENSE angegeben ist
DMC_SECURE_COOKIE / security.useSecureCookieSteuert, 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 / security.cors.allowedOriginsÜ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 / security.exposeSessionIdForUsersDiese 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.

Logging

Logging
DMC_LOG_PATH / logging.pathPfad zur Logdatei - wenn keine Datei angegeben ist wird nach STDOUT geloggt
DMC_LOG_LEVEL / logging.level.rootDetailgrad der Logausgabe (Standard: INFO, möglich sind auch DEBUG, TRACE, WARN oder ERROR)
DMC_LOG_LEVEL_AD
logging.level.de.infomotion.idp.dpe.security.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
logging.level.de.infomotion.idp.dpe.security.openid
Detailgrad der Logausgabe für OpenID-Anbindung (Standard: identisch zu DMC_LOG_LEVEL, möglich sind auch DEBUG, TRACE, WARN oder ERROR)
DMC_LOG_PATTERN / logging.patternStruktur der Logeinträge
DMC_LOG_CHARSET / logging.charsetZeichensatz für die Logdatei (Default: UTF-8)

Datenbankkonfiguration

Datenbankkonfiguration
DMC_DB_TYPE / jdbc.sql-configurationDatenbanktyp (mssql, oracle, h2)
DMC_DB_DRIVER / jdbc.driverClassPassende JDBC-Treiberklasse
DMC_DB_JDBC_URL `/ jdbc.urlJDBC-URL
DMC_DB_USER / jdbc.usernameBenutzername für Datenbank
DMC_DB_PASSWORD / jdbc.passwordPasswort für Datenbank
DMC_DB_SCHEMA / jdbc.schemaSchema auf der Datenbank
DMC_SCHEMA_UPDATE / jdbc.schemaUpdate.enabledSteuert ob das Datenmodell der DMC automatisch aktualisiert werden soll.
Standardmäßig false, sollte aber i.d.R. auf true gesetzt werden
DMC_SCHEMA_CONTEXTS / jdbc.schemaUpdate.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_TIMEZONE / jdbc.mssqlTimezoneNur MSSQL Setzt die Zeitzone der Datenbank bei Änderungszeitstempeln, da bspw. in Azure SQL Databases keine Zeitzonen einstellbar sind. Default: Central European Standard Time
DMC_DB_BULK_LOAD_STRATEGY / jdbc.bulkLoad.strategyLade-Strategie für große Datenmengen (SingleBatch, Batched oder AsyncBatched)
DMC_DB_BULK_LOAD_BATCH_SIZE / jdbc.bulkLoad.batchSizeBatch-/Paket-Größe für Batched und AsyncBatched Ladestrategien
DMC_DB_BULK_LOAD_ASYNC_POOL_SIZE / jdbc.bulkLoad.asyncPoolSizeAnzahl Threads für parallele Beladung

LDAP/AD-Authentifizierung

Nur wenn DMC_AUTH bzw security.authenticationMode auf ad gesetzt ist.

LDAP/AD-Authentifizierung
DMC_LDAP_URL / ldap.urlURL für den LDAP-Server (bspw. ldap://ldap.example.com:389 oder ldaps://ldap.example.com:663)
DMC_LDAP_USERNAME / ldap.usernameBenutzername mit Leserechten für den LDAP-Server (Abfrage der Gruppen)
DMC_LDAP_PASSWORD / ldap.passwordPassword für den LDAP-Benutzer
DMC_LDAP_SEARCH_BASE / ldap.searchBaseDN des Startpunktes für die Suche nach Benutzern (z.B. ou=Users,dc=example,dc=com)
DMC_LDAP_SEARCH_FILTER / ldap.searchFilterFilter für die Suche nach Benutzern, standardmäßig (&(objectClass=user)(sAMAccountName=%s))
DMC_LDAP_USERNAME_ATTRIBUTE / ldap.usernameAttributeAttribut, das den Benutzernamen enthält, standardmäßig sAMAccountName für Active Directory
DMC_LDAP_DEFAULT_DOMAIN / ldap.defaultDomainStandard-Domäne für Benutzernamen

OpenID-Authentifizierung

Nur wenn DMC_AUTH bzw security.authenticationMode auf openId gesetzt ist.

OpenID-Authentifizierung
DMC_OPENID_ISSUER / openid.issuerfür Microsoft https://login.microsoftonline.com/{Tenant}/v2.0
DMC_OPENID_DISCOVERY_URL / openid.discoveryUrlfür Microsoft https://login.microsoftonline.com/{Tenant}/v2.0/.well-known/openid-configuration
DMC_OPENID_CLIENT_ID / openid.clientIddie Client-ID der App-Registrierung
DMC_OPENID_JWKS_URL / openid.jwksUrlfür Microsoft https://login.microsoftonline.com/{Tenant}/discovery/v2.0/keys
DMC_OPENID_USER_INFO_URL / openid.userInfoUrlfür Microsoft https://graph.microsoft.com/oidc/userinfo
DMC_OPENID_USERNAME_CLAIM / openid.usernameClaimstandardmäßig preferred_username
DMC_OPENID_ROLES_CLAIM / openid.rolesClaimfür Microsoft groups
DMC_OPENID_SCOPE / openid.scopestandardmäßig "openid email profile" (ohne Anführungszeichen)
DMC_OPENID_KEEP_CLAIM_ROLES / openid.keepClaimRolesRollen/Gruppen aus OpenID unverändert als DMC-Rollen übernehmen, standardmäßig false
DMC_OPENID_MAP_CLAIM_ROLES / openid.mapClaimRolesRollen/Gruppen aus OpenID per Mapping in DMC-Rollen überführen, standardmäßig true
DMC_OPENID_LOGIN_LABEL / openid.loginLabelDie Überschrift, unter der die Option für den OpenID-Login in der Oberfläche geführt wird. Standardmäßig "OpenId"

Mail-Einstellungen

Einstellungen für den E-Mail-Versand, beispielsweise durch QS-Mail-Tasks

Mail-Einstellungen
DMC_MAIL_HOSTNAME / mail.hostnameHostname für den Mailserver (SMTP)
DMC_MAIL_PORT / mail.portPort für den Mailserver (SMTP), standardmäßig 25
DMC_MAIL_TLS / mail.tlsEnabledtrue um den Mailserver per TLS zu kontaktieren, standardmäßig false
DMC_MAIL_USERNAME / mail.usernameBenutzername für den Mailserver
DMC_MAIL_PASSWORD / mail.passwordPasswort für den Mailserver
DMC_MAIL_FROM_ADDRESS / mail.fromAddressAbsenderadresse für von der DMC verschickte E-Mails

Deployment-Einstellungen

Diese Einstellungen betreffen das Deployment. Sie erlauben in weiten Teilen die Anpassung der beim Export von DMC-Inhalten generierten Ordner- und Dateistruktur.

Deployment-Einstellungen
DMC_EXPORT_INCLUDE_UUID_IN_PATH/ deployment.fileLayout.alwaysIncludeUuidFlag, ob UUID in Dateinamen beim Export von Objekten enthalten sein soll (Default: true)
DMC_EXPORT_PATH_DOMAIN / deployment.fileLayout.DOMAINPfad von Wertelisten innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_CATEGORY / deployment.fileLayout.CATEGORYPfad von Kategorien innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_TABLE / deployment.fileLayout.TABLEPfad von Tabellen innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_COMMAND / deployment.fileLayout.COMMANDPfad von Commands innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_QS_RULE / deployment.fileLayout.QS_RULEPfad von QS-Regeln innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DEPLOYMENT_SET / deployment.fileLayout.DEPLOYMENT_SETPfad von Deploymentsets innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_TASK / deployment.fileLayout.TASKPfad von Tasks innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_DOMAIN / deployment.fileLayout.DOMAIN.deletedPfad von gelöschten Wertelisten innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_CATEGORY / deployment.fileLayout.CATEGORY.deletedPfad von gelöschten Kategorien innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_TABLE / deployment.fileLayout.TABLE.deletedPfad von gelöschten Tabellen innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_COMMAND / deployment.fileLayout.COMMAND.deletedPfad von gelöschten Commands innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_QS_RULE / deployment.fileLayout.QS_RULE.deletedPfad von gelöschten QS-Regeln innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_DEPLOYMENT_SET / deployment.fileLayout.DEPLOYMENT_SET.deletedPfad von gelöschten Deploymentsets innerhalb eines exportierten Deploymentsets
DMC_EXPORT_PATH_DELETED_TASKS / deployment.fileLayout.TASKS.deletedPfad von gelöschten Tasks innerhalb eines exportierten Deploymentsets
DMC_DEPLOY_TABLE_USER_PERMISSIONS / deployment.table.exportUserPermissionsFlag, ob Nutzerberechtigungen mit Tabellen exportiert werden sollen (Default: true)
DMC_DEPLOY_TABLE_ROLE_PERMISSIONS / deployment.table.exportRolePermissionsFlag, ob Rollenberechtigungen mit Tabellen exportiert werden sollen (Default: true)
DMC_SNAPSHOTS_PATH / deployment.snapshots.pathPfad der ZIP-Datei bei Erstellung eines Screenshots
DMC_IMPORT_DEMO_CONTENT / deployment.importDemoContentFlag, ob Demo-Content in die DMC geladen werden soll (Default: false)
ACHTUNG: aktuell nur mit MSSQL kompatibel!
DMC_IMPORT_ADDITIONAL_CONTENT_PATH / deployment.importAdditionalContentPathFalls beim initialen Starten der DMC Inhalte bereits geladen werden sollen, kann hierüber der Pfad für diese angegeben werden

Theme-Einstellungen

INFO

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

Theme-Einstellungen
DMC_THEME_PRIMARY / theme.color.primaryPrimäre Farbe des Themes
DMC_THEME_ACCENT / theme.color.accentAkzentfarbe
DMC_THEME_MAIN_BG / theme.color.mainBackgroundFarbe des Haupthintergrunds
DMC_THEME_SEC_BG / theme.color.secondaryBackgroundSekundäre Hintergrundsfarbe
DMC_THEME_ERROR / theme.color.errorFarbton von Fehlern
DMC_THEME_WARN / theme.color.warnFarbton von Warnungen
DMC_THEME_INFO / theme.color.infoFarbton von Informationen
DMC_THEME_VALID / theme.color.validFarbton von validen Eingaben
DMC_THEME_HEAD1 `/ theme.color.textHeadingÜberschriftenfarbe 1
DMC_THEME_HEAD2 / theme.color.textHeading2Überschriftenfarbe 2
DMC_THEME_HEAD3 / theme.color.textHeading3Überschriftenfarbe 3
DMC_THEME_NAV_TEXT / theme.color.textNavFarbe der Einträge der Navigation
DMC_THEME_ICON / theme.color.iconFarbe von Sondericons (Bedienelemente haben die DMC_THEME_PRIMARY Farbe)
DMC_THEME_CONTRAST_LIGHT / theme.color.lightContrastHelle Kontrastfarbe
DMC_THEME_CONTRAST_DARK / theme.color.darkContrastDunkle Kontrastfarbe
DMC_THEME_LOGO_PATH / theme.logoPathPfad zur Logo-Datei
DMC_THEME_ICON_PATH / theme.iconPathPfad zur Icon-Datei
DMC_THEME_TITLE / theme.appTitleTitel der Anwendung

Tasks & Trigger

Zusätzliche Variablen
DMC_TASKS_CRON_POOL_SIZE / tasks.cronTrigger.poolSizeAnzahl der für die zeitgesteuerte Ausführung von Tasks verwendeten Threads
DMC_TASKS_QS_MAIL_TEMPLATE_FILE / tasks.qsMail.templateFilePfad zur Vorlagendatei für die QS-Mail

Zusätzliche Variablen

Zusätzliche Variablen
DMC_TRIM_ALL_PKS / app.trimAllPrimaryKeysFlag, ob Primarykey-Spalten automatisch ohne Leerzeichen gespeichert werden (Default: false)
DMC_APP_EXPORT_TECHNICAL_COLUMN_NAMES / app.exportTechnicalColumnNamesFlag, ob beim CSV-/XLSX-Export technische anstelle von DMC-Spaltennamen verwendet werden sollen (Default: false)
DMC_APP_UPLOAD_PATH / app.uploadPathTemporärer Ordner für CSV-/XLSX-Uploads
DMC_DB_SQL_PER_BYTE_CHAR / jdbc.sqlBytesPerCharDivisor, um die Umrechnung von Bytes eines Character für die zulässige Zeichenlänge zu steuern (Default: 1)