Vergleichsreport

Vergleiche Einstellungen
Änderungen von:
bis:
Typ:

Veränderungen an Parts

Part "Inhalt" wurde verändert


Veränderungen des Inhalts
Klicken Sie für eine detaillierte Beschreibung auf die geänderten Stellen:
Benutzen sie die linke oder die rechte Maustaste, um zur jeweils vorherigen bzw. nachfolgenden Änderung zu gelangen.
 ersteletzte 

Die Datei The file webdesk.properties ist die Startkonfiguration von is the startup configuration of Webdesk 4. Sie enthält die Verbindungsdaten zur Webdesk- und zur Shark-Datenbank, die Einstellungen zur Verschlüsselung dieser Zugangsdaten und einige Schalter, die das Verhalten beim Start des Systems steuern. Diese Seite richtet sich an Systemadministratoren und Berater, die ein System installieren, auf Container umstellen oder Startprobleme analysieren. Fachliche Einstellungen (Mandanten, Jobs, Berechtigungen usw.) werden nicht hier, sondern in der Anwendung vorgenommen, siehe z. B. Systemparameter Portal & Organisation. Ausgewählte Schlüssel der Datei können zusätzlich über JVM-Parameter (-Dschlüssel=wert) oder Umgebungsvariablen It contains the connection data for the Webdesk and Shark databases, the settings for encrypting these credentials and a few switches that control how the system behaves at startup. This page is intended for system administrators and consultants who install a system, move it to containers or analyze startup problems. Functional settings (clients, jobs, authorizations, etc.) are not made here but in the application itself, see e.g. System parameters Portal & Organization.

Selected keys of the file can additionally be overridden by JVM parameters (-Dkey=value) or environment variables (WD_...) übersteuert werden. Das ist die empfohlene Methode für Container-Betrieb, weil dann keine Zugangsdaten in der Datei stehen müssen.

Ablageort und Aufbau

Webdesk sucht die Datei im Klassenpfad der Webanwendung. In einer Standardinstallation liegt sie daher unter

. This is the recommended method for container operation, because then no credentials need to be stored in the file.

Location and structure

  • Webdesk looks for the file on the classpath of the web application. In a standard installation it is therefore located at WEB-INF/classes/webdesk.properties der Webdesk-Anwendung im Servlet-Container (Windows-Installer of the Webdesk application in the servlet container (Windows installer: <Webdesk-Webapp>\WEB-INF\classes\webdesk.properties).
  • Die Datei ist eine Java-Properties-Datei: eine Zeile pro Eintrag in der Form schlüssel = wert, Kommentarzeilen beginnen mit #. Die Datei wird beim Start gelesen, Änderungen werden erst nach einem Neustart wirksam.
  • Als Ausgangspunkt dienen die vom Installer ausgelieferte Datei bzw. die Vorlage webdesk.properties.template der Webanwendung. Kundenbeispiele finden sich im Quellcode unter The file is a Java properties file: one entry per line in the form key = value; comment lines start with #. The file is read at startup; changes only take effect after a restart.
  • Use the file shipped with the installer or the template webdesk.properties.template of the web application as a starting point. Customer examples can be found in the source code under webdesk-webapp/src/test/resources/customerprops.
  • Ohne diese Datei startet Webdesk nicht (Fehler „Error Webdesk does not start without this file (error "Error while trying to load webdesk.properties“), außer es ist die eingebettete Datenbank aktiviert (siehe properties"), unless the embedded database is enabled (see webdesk.useEmbeddedDatabase). Auch beim Betrieb mit Umgebungsvariablen muss daher mindestens eine kleine Datei vorhanden sein. Webdesk schreibt beim Start selbst in die Datei (Verschlüsselung der Zugangsdaten, Schlüssel, Anpassung veralteter Einträge, Zurücksetzen von Even when operating with environment variables, at least a small file must therefore exist.
  • Webdesk itself writes to the file at startup (encrypting the credentials, the key, adjusting outdated entries, resetting webdesk.runRegistration). Der Benutzer, unter dem der Container läuft, benötigt daher Schreibrechte, und die Datei muss bei Container-Betrieb auf einem dauerhaften Speicher liegen. Vor manuellen Änderungen ist eine Sicherung anzulegen.

Minimales Beispiel

  • The user running the container therefore needs write permission, and in container operation the file must reside on persistent storage. Create a backup before making manual changes.

Minimal example

webdesk.runRegistration = 1

webdesk.connection.driver_class = org.mariadb.jdbc.Driver
webdesk.connection.url = jdbc:mysql://<db-host>/webdesk
webdesk.dialect = org.hibernate.dialect.MySQLDialect
webdesk.connection.username = <db-user>
webdesk.connection.password = <db-password>

shark.connection.driver_class = org.mariadb.jdbc.Driver
shark.connection.url = jdbc:mysql://<db-host>/shark
shark.connection.username = <db-user>
shark.connection.password = <db-password>

webdesk.ta.if6020impl.rmi = rmi://<ta-host>:4009/taRmiBroker

Beim ersten Start verschlüsselt Webdesk die Benutzernamen und Passwörter in der Datei, erzeugt (bzw. liest) den Verschlüsselungsschlüssel und trägt At the first start Webdesk encrypts the user names and passwords in the file, generates (or reads) the encryption key and itself adds webdesk.credentials.encrypted, shark.credentials.encrypted, webdesk.encryption.key und and webdesk.encryption.key.source selbst ein (siehe „Verschlüsselung der Zugangsdaten“).

Automatische Anpassungen beim Start

Webdesk korrigiert beim Start folgende veraltete Einträge in der Datei und speichert sie danach neu:

Alte Schlüssel

(see "Encryption of the credentials").

Automatic adjustments at startup

At startup Webdesk corrects the following outdated entries in the file and then saves it again:

  • The old keys hibernate.connection.driver_class, hibernate.connection.url, hibernate.connection.username, hibernate.connection.password, hibernate.dialect werden in are renamed to webdesk.connection.* bzw. and webdesk.dialect umbenannt (sofern der neue Schlüssel noch nicht existiert (provided the new key does not exist yet).
  • webdesk-SessionFactory.executeIndexManager wird in is renamed to PoStartup.executeIndexManager umbenannt.
  • Der Treiber The driver com.mysql.jdbc.Driver wird durch is replaced by org.mariadb.jdbc.Driver ersetzt (der MySQL-Treiber wird nicht mitgeliefertthe MySQL driver is not shipped).
  • Bei For JDBC - URLs , die mit starting with jdbc:mysql beginnen, werden die Parameter permitMysqlScheme und the parameters permitMysqlScheme and allowMultiQueries=true ergänzt. Bei JDBC-URLs für SQL Server are added.
  • For SQL Server JDBC URLs (jdbc:sqlserver) ohne Parameter encrypt wird without an encrypt parameter, ;encrypt=false angehängt; der Dialekt is appended; the dialect org.hibernate.dialect.SQLServerDialect wird zu becomes org.hibernate.dialect.SQLServer2012Dialect.
  • Veraltete Cache-Replikations-Einträge werden entfernt bzw. umbenannt Obsolete cache replication entries are removed or renamed (webdesk.cacheReplication.peerProvider.properties wird zu becomes webdesk.cacheReplication.RMI.peerProvider.properties).

Hinweis: Diese Korrekturen betreffen nur die Datei. Werte, die per Umgebungsvariable oder JVM-Parameter geliefert werden, werden nicht korrigiert und müssen bereits die aktuelle Schreibweise haben (z. B. den Treiber Note: These corrections only affect the file. Values supplied by environment variables or JVM parameters are not corrected and must already use the current notation (e.g. the driver org.mariadb.jdbc.Driver).

Datenbankverbindung

Eigenschaft

Erklärung

mögliche Wert(e

Database connection

z. Bz. BText (Vorlage: Klartext-Beispielwertetrue, false (Standard bei fehlendem Eintrag: Webdesk verschlüsselt und setzt (Vorlage

Property

Description

Possible value(s)

webdesk.connection.driver_class

JDBC -Treiberklasse der Webdesk-Datenbank.

driver class of the Webdesk database.

e.g. org.mariadb.jdbc.Driver (MySQL/MariaDB), com.microsoft.sqlserver.jdbc.SQLServerDriver (SQL Server), oracle.jdbc.OracleDriver (Oracle) (Vorlagetemplate: com.mysql.jdbc.Driver, wird beim Start ersetztreplaced at startup)

webdesk.connection.url

JDBC - URL der of the Webdesk -Datenbankdatabase.

ze. Bg. jdbc:mysql://<db-host>/webdesk oder or jdbc:sqlserver://<db-host>:1433;databaseName=webdesk (Vorlagetemplate: jdbc:mysql://localhost/webdesk)

webdesk.dialect

Hibernate -Dialekt passend zur Datenbank.

dialect matching the database.

e.g. org.hibernate.dialect.MySQLDialect, org.hibernate.dialect.SQLServer2012Dialect, org.hibernate.dialect.OracleDialect (Vorlagetemplate: org.hibernate.dialect.MySQLDialect)

webdesk.connection.username
webdesk.connection.password

Zugangsdaten der Webdesk-Datenbank. Sind sie verschlüsselt, stehen hier Base64-Texte (siehe unten).

Credentials of the Webdesk database. If they are encrypted, Base64 texts are stored here (see below).

text (template: plain-text sample values)

webdesk.credentials.encrypted

Gibt an, ob Benutzername und Passwort der Webdesk-Datenbank verschlüsselt in der Datei stehen. Fehlt der Eintrag, verschlüsselt Webdesk beim Start die Werte und setzt den Eintrag auf true. Der Eintrag kann nicht per Umgebungsvariable übersteuert werden.

Specifies whether user name and password of the Webdesk database are stored encrypted in the file. If the entry is missing, Webdesk encrypts the values at startup and sets the entry to true. This entry cannot be overridden by an environment variable.

true, false (default if the entry is missing: Webdesk encrypts and sets true)

shark.connection.driver_class
shark.connection.url

Treiberklasse und Driver class and JDBC - URL der of the Shark -Datenbank (Workflow-Engine). Es gelten die gleichen Hinweise wie oben.

database (workflow engine). The same notes as above apply.

(template: com.mysql.jdbc.Driver, jdbc:mysql://localhost/shark)

shark.connection.username
shark.connection.password

Zugangsdaten der Shark-Datenbank. Fehlen die Einträge (System ohne Workflow-Modul), werden sie als leer angenommen.

Text

Credentials of the Shark database. If the entries are missing (system without workflow module), they are assumed to be empty.

text

shark.credentials.encrypted

Wie Like webdesk.credentials.encrypted, für die Shark-Datenbank. Fehlt der Eintrag und ist ein Shark-Benutzername in der Datei vorhanden, verschlüsselt Webdesk beim Start; fehlt auch der Benutzername, gilt falsefor the Shark database. If the entry is missing and a Shark user name exists in the file, Webdesk encrypts at startup; if the user name is missing too, false applies.

true, false

webdesk-sessionFactory.schemaUpdate

Legt fest, ob das Datenbankschema beim Start automatisch angepasst wird, wenn das Datenmodell neue Spalten oder Tabellen enthält. Bei false wird das Schema nicht geprüft (kürzere Startzeit, aber nach Updates nicht für Produktivsysteme geeignet, solange Schemaänderungen anstehenSpecifies whether the database schema is adjusted automatically at startup when the data model contains new columns or tables. With false the schema is not checked (shorter startup, but not suitable for production systems while schema changes are pending after an update).

true, false (Standarddefault: true)

webdesk.exitJvmOnConnectionError

Bei With true wird die the JVM beendet (Exit-Code 1), wenn beim Start keine Datenbankverbindung aufgebaut werden kann und die Fehlermeldung „Access denied“ oder „Communications link failure“ enthält. Nützlich, damit ein Container-Orchestrator den Container neu startet. Der Wert wird aus der Datei webdesk.properties gelesen; bitte dort setzenis terminated (exit code 1) if no database connection can be established at startup and the error message contains "Access denied" or "Communications link failure". Useful so that a container orchestrator restarts the container. The value is read from the file webdesk.properties; please set it there.

true, false (Standarddefault: false)

webdesk.useEmbeddedDatabase

Bei With true startet Webdesk mit einer eingebetteten HSQLDB statt mit den konfigurierten Datenbanken; die Verbindungsdaten der Datei werden ignoriert. Die Datenbank liegt , Webdesk starts with an embedded HSQLDB instead of the configured databases; the connection data in the file is ignored. The database is located in WEB-INF/work/db (falls vorhandenif present), sonst im temporären Verzeichnis der JVM unter db, und bleibt über Neustarts erhalten. Gedacht für Demo- und Entwicklungszwecke. Es wird dabei ein fester Testschlüssel statt eines geheimen Schlüssels verwendet; für Produktivsysteme nicht einsetzenotherwise in the JVM temp directory under db, and is preserved across restarts. Intended for demo and development purposes. A fixed test key is used instead of a secret key; do not use it for production systems.

true, false (Standarddefault: false)

Verschlüsselung der Zugangsdaten

Webdesk verschlüsselt die Zugangsdaten

Encryption of the credentials

Webdesk encrypts the credentials in webdesk.properties mit einem Schlüssel with a key (AES-256). Derselbe Schlüssel wird auch für andere in der Anwendung gespeicherte Passwörter verwendet, etwa in Konnektoren (Datenbank-, REST-, Notes-Konnektor), der Dokumentenverwaltung (Repositories) und im Groupware-Zugriff The same key is also used for other passwords stored in the application, for example in connectors (database, REST and Notes connectors), the document management (repositories) and the groupware access (Graph/Exchange). Mehr zur Umstellung der Verschlüsselung finden Sie in Neue For more about the change of the encryption see New Features in 4.56.

Achtung: Geht der Schlüssel verloren, können die verschlüsselten Zugangsdaten Warning: If the key is lost, the encrypted credentials in webdesk.properties und die verschlüsselt gespeicherten Passwörter in der Datenbank nicht mehr entschlüsselt werden. Webdesk kann dann nicht mehr gestartet werden bzw. die Verbindungen funktionieren nicht mehr. Der Schlüssel (enc.key bzw. der Eintrag and the encrypted passwords stored in the database can no longer be decrypted. Webdesk then can no longer be started or the connections stop working. The key (enc.key or the entry webdesk.encryption.key) muss daher unabhängig von der Datenbank-Sicherung separat gesichert werden. Ein Schlüssel, der nur in einer Container-Instanz ohne dauerhaften Speicher liegt, geht beim Austausch des Containers verloren.

Eigenschaft

Erklärung

mögliche Wert(e

must therefore be backed up separately, independently of the database backup. A key that exists only in a container instance without persistent storage is lost when the container is replaced.

Property

Description

Possible value(s)

webdesk.encryption.key.source

Gibt an, woher der Schlüssel gelesen wirdSpecifies where the key is read from. webdesk_properties: Der Schlüssel steht Base64-codiert im Eintrag the key is stored Base64-encoded in the entry webdesk.encryption.key derselben Datei of the same file. file: Der Schlüssel steht in der Datei the key is stored in the file enc.key (nur Base64 -Text, erste Zeile), die im Klassenpfad im selben Verzeichnis wie text only, first line), located on the classpath in the same directory as webdesk.properties liegt. webservice ist im Code nicht umgesetzt. Fehlt der Eintrag, sucht Webdesk den Schlüssel in der Datenbank (Tabelle is not implemented in the code. If the entry is missing, Webdesk looks for the key in the database (table PoFile, FILE_UID = 'encryptionKey'), erzeugt bei Bedarf einen neuen und trägt ihn mit Quelle creates a new one if necessary and writes it into the file with the source webdesk_properties in die Datei ein.

file, webdesk_properties (Standarddefault: nicht gesetzt, siehe Erklärungnot set, see description)

webdesk.encryption.key

Der Schlüssel The key (Base64) , wenn die Quelle if the source is webdesk_properties ist. Wird von Webdesk selbst erzeugt und eingetragen. Nicht von Hand ändern: andere Werte machen die vorhandenen verschlüsselten Daten unlesbar.

Base64-Text (vom System erzeugt)

Schlüssel in eine eigene Datei auslagern

Empfohlen ist, den Schlüssel nach dem ersten erfolgreichen Start aus der Konfigurationsdatei in eine eigene Datei enc.key auszulagern und diese getrennt zu sichern:

  • Sicherung von webdesk.properties und der Datenbanken anlegen.
  • Den Wert des Eintrags webdesk.encryption.key als einzige Zeile in eine neue Datei enc.key schreiben und diese im selben Verzeichnis wie webdesk.properties ablegen.
  • In webdesk.properties den Eintrag

    . Generated and entered by Webdesk itself. Do not change it manually: any other value makes the existing encrypted data unreadable.

    Base64 text (generated by the system)

    Moving the key to a separate file

    We recommend moving the key out of the configuration file into a separate file enc.key after the first successful start and backing it up separately:

    1. Create a backup of webdesk.properties and of the databases.
    2. Write the value of the entry webdesk.encryption.key as the only line into a new file enc.key and place it in the same directory as webdesk.properties.
    3. In webdesk.properties set the entry webdesk.encryption.key.source = file setzen und den Eintrag and remove the entry webdesk.encryption.key entfernen.
    4. Webdesk neu starten und prüfen, dass das System startet.
    5. enc.key getrennt von der Anwendung sichern.

    Verhalten im Cluster

    Alle Knoten müssen mit demselben Schlüssel arbeiten. Fehlt auf einem Knoten die Angabe
    1. Restart Webdesk and verify that the system starts.
    2. Back up enc.key separately from the application.

    Behavior in a cluster

    All nodes must work with the same key. If the entry webdesk.encryption.key.source, liest er den Schlüssel aus der Datenbank is missing on a node, it reads the key from the database (PoFile, FILE_UID = 'encryptionKey'); beim Anlegen wird die Tabelle gesperrt, sodass nur ein Schlüssel entsteht. Wird der Schlüssel in enc.key ausgelagert, muss die Datei auf jedem Knoten mit demselben Inhalt vorliegen. Der Datenbankeintrag wird danach nicht mehr verwendet und kann (laut Hinweis in Neue when creating it, the table is locked so that only one key is created. If the key is moved to enc.key, the file must exist with identical content on every node. The database entry is then no longer used and can (according to the note in New Features in 4.56) mit be removed with DELETE FROM PoFile WHERE FILE_UID='encryptionKey'; entfernt werden, erst nachdem alle Knoten erfolgreich mit , but only after all nodes have started successfully with enc.key gestartet sind. Weitere Cluster-Einstellungen siehe Seite „Cluster- . For further cluster settings see the page "Cluster- und Cache-Betrieb“.

    Kommandozeilenwerkzeug CredentialsEncryptor

    Mit dem Werkzeug webdesk-encryptor lassen sich Zugangsdaten in einer webdesk.properties verschlüsseln, ansehen und neu setzen, ohne das System zu starten. Auf Windows-Installationen liegt dafür im Tomcat-Verzeichnis bin das Skript manageWebdeskDBProps.bat, das die Datei und die Programmdatei Betrieb".

    Command line tool CredentialsEncryptor

    The tool webdesk-encryptor can encrypt, display and reset credentials in a webdesk.properties without starting the system. On Windows installations the script manageWebdeskDBProps.bat in the Tomcat bin directory is provided for this; it finds the file and the program file webdesk-encryptor-*.jar selbst sucht und zwischen „Basic“- und „Expert“-Modus wählen lässt. Direkter Aufruf itself and lets you choose between "Basic" and "Expert" mode. Direct call:

    java -cp webdesk-encryptor-<version>.jar at.workflow.webdesk.tools.CredentialsEncryptor path=<Pfad><path>/webdesk.properties [webdeskLogin=<user>] [webdeskPassword=<pw>] [sharkLogin=<user>] [sharkPassword=<pw>]
    • Ohne Without path wird , the webdesk.properties im aktuellen Arbeitsverzeichnis verwendet. Die Parameter in the current working directory is used.
    • The parameters webdeskLogin, webdeskPassword, sharkLogin, sharkPassword setzen den jeweiligen Benutzernamen bzw. das Passwort neu (im Klartext angegeben, das Werkzeug verschlüsselt sie). Sind die Zugangsdaten noch nicht verschlüsselt, werden sie verschlüsselt und set the respective user name or password anew (given in plain text, the tool encrypts them).
    • If the credentials are not encrypted yet, they are encrypted and webdesk.credentials.encrypted / shark.credentials.encrypted gesetzt; Werte im alten Verschlüsselungsverfahren werden neu verschlüsselt.
    • Danach zeigt das Werkzeug ein Menü: Werte entschlüsselt anzeigen, verschlüsselte Werte anzeigen, alle vier Werte neu eingeben, beenden.
    • Enthält die Datei noch keine Schlüsselquelle, erzeugt das Werkzeug einen neuen Schlüssel und trägt ihn mit der Quelle webdesk_properties ein. Das Werkzeug unterstützt nur diese Quelle; bei are set; values using the old encryption scheme are re-encrypted.
    • Afterwards the tool shows a menu: display values decrypted, display encrypted values, re-enter all four values, quit.
    • If the file does not yet contain a key source, the tool generates a new key and enters it with the source webdesk_properties. The tool only supports this source; with webdesk.encryption.key.source = file bricht es mit einer Fehlermeldung ab.

    Achtung: Wird das Werkzeug auf eine Datei angewendet, die zu einem bereits laufenden System gehört, aber keinen Schlüssel enthält, entsteht ein neuer, anderer Schlüssel als der im System verwendete. Verwenden Sie das Werkzeug nur mit der Original-Datei des Systems samt Schlüssel.

    Startverhalten

    Eigenschaft

    Erklärung

    mögliche Wert(e)

    webdesk.runRegistration

    Legt fest, ob beim Start Aktionen, Texte (Textbausteine) und weitere Artefakte der Module in der Datenbank registriert werden. 0: nie. 1: einmal, danach setzt Webdesk den Eintrag in der Datei auf 0 zurück. 2: bei jedem Start vollständig. 3: bei jedem Start, aber ohne Textbausteine. 4: wie 2, danach wird Webdesk beendet (nur für automatisierte Deployments und Updates in Kubernetes). Ein ungültiger Wert wirkt wie 1. Ist die Datenbank noch leer, wird die Registrierung einmal erzwungen und vor der Nutzung abgeschlossen
    • it aborts with an error message.

    Warning: If the tool is applied to a file that belongs to an already running system but contains no key, a new key is created that differs from the one used by the system. Use the tool only with the original file of the system including its key.

    Startup behavior

    Property

    Description

    Possible value(s)

    webdesk.runRegistration

    Specifies whether actions, texts (text modules) and other artifacts of the modules are registered in the database at startup. 0: never. 1: once, afterwards Webdesk resets the entry in the file to 0. 2: completely at every start. 3: at every start, but without text modules. 4: like 2, afterwards Webdesk exits (only for automated deployments and updates with Kubernetes). An invalid value acts like 1. If the database is still empty, the registration is forced once and completed before the system is used.

    0, 1, 2, 3, 4 (Standard bei fehlendem Eintragdefault if the entry is missing: 1; Vorlagetemplate: 1)

    webdesk.runRegistrationInThread

    Bei false läuft die Registrierung im Vordergrund, d. h. der Start dauert länger, bis sie abgeschlossen ist. Standardmäßig läuft sie in einem Hintergrund-ThreadWith false the registration runs in the foreground, i.e. startup takes longer until it is finished. By default it runs in a background thread.

    true, false (Standarddefault: true)

    PoStartup.executeIndexManager

    Ob beim Start alle Indizes der Webdesk-Datenbank mit den erwarteten verglichen und fehlende angelegt werden. Kann den Start deutlich verlängern. Für die Shark-Datenbank gilt analog WfStartup.executeIndexManager (Standard: true). Die Vorlage verwendet noch den alten Namen Whether at startup all indexes of the Webdesk database are compared with the expected ones and missing ones are created. Can lengthen startup considerably. For the Shark database WfStartup.executeIndexManager applies analogously (default: true). The template still uses the old name webdesk-SessionFactory.executeIndexManager, der beim Start umbenannt wirdwhich is renamed at startup.

    true, false (Standarddefault: true; Vorlagetemplate: false)

    webdesk.disableTimeLineChecks

    Bei true entfällt beim Start die Konsistenzprüfung der Zeitleisten (Historisierung) der Personen. Die Prüfung kann länger als 30 Sekunden dauern; eine Abschaltung verzichtet auf die Sicherheitsprüfung von Inkonsistenzen in den StammdatenWith true, the consistency check of the persons' timelines (historization) at startup is skipped. The check can take more than 30 seconds; disabling it forgoes the safety check for inconsistencies in the master data.

    true, false (Standarddefault: false; Vorlagetemplate: true)

    webdesk.luceneIndexing

    Ob der Lucene-Suchindex beim Start aktualisiert wird. Der Index liegt im Cache-Verzeichnis der Anwendung unter lucene/<Unterverzeichnis>. Das Unterverzeichnis ist standardmäßig eine Zufallszahl, kann aber mit dem JVM-Parameter -Whether the Lucene search index is refreshed at startup. The index is stored in the cache directory of the application under lucene/<subdirectory>. The subdirectory is a random number by default, but can be fixed with the JVM parameter -Dwebdesk.lucene.index.subdir=<name> fest vorgegeben werden (ze. B. wenn mehrere Instanzen denselben Cache-Pfad nutzeng. when several instances use the same cache path).

    true, false (Standarddefault: true)

    webdesk.localLogConfig

    Bei With true ignoriert der Knoten Aufforderungen, die Log-Konfiguration , the node ignores requests to reload the log configuration (log4j2.xml) aus der Datenbank neu zu laden. Änderungen in der Aktion from the database. Changes made in the action po_editLogSettings („Log"Log-Einstellungen“) auf diesem Knoten werden dann nicht in die Datenbank gespeichert und nicht an andere Cluster-Knoten verteilt. Typischer Einsatz: ein Debug-KnotenSettings") on this node are then neither saved to the database nor distributed to other cluster nodes. Typical use: a debug node.

    true, false (Standarddefault: false)

    webdesk.collectorHostname.regex

    Regulärer Ausdruck für die Hostnamen, die den JavaMelody-Collector verwenden dürfen. Wenn gesetzt und der Tomcat-Filter RemoteHostFilter verfügbar ist, konfiguriert Webdesk den Filter beim Start mit diesem Ausdruck.

    regulärer Ausdruck (Standard: nicht gesetzt)

    webdesk.licenceCheckDisabled

    Interner Schalter für Entwicklung und Tests; schaltet die Lizenzprüfung ab. Steht in der Vorlage, soll aber auf Produktiv- und Kundensystemen nicht gesetzt werdenRegular expression for the host names allowed to use the JavaMelody collector. If set and the Tomcat filter RemoteHostFilter is available, Webdesk configures the filter with this expression at startup.

    regular expression (default: not set)

    webdesk.licenceCheckDisabled

    Internal switch for development and testing; disables the licence check. It appears in the template but must not be set on production and customer systems.

    true, false (Standarddefault: false; Vorlagetemplate: true)

    TA -Konnektor connector (IF6020)

    Zahl (Standard

    Eigenschaft

    Erklärung

    mögliche Wert(e Property

    Description

    Possible value(s)

    webdesk.ta.if6020impl.rmi

    RMI -Adresse des TA-Konnektors (Broker) zur Zeiterfassungs-Anbindung IF6020. Stehen mehrere Konnektoren zur Verfügung, werden die Adressen durch Strichpunkt getrennt. Fehlt der Eintrag, wird er als leer angenommenaddress of the TA connector (broker) for the IF6020 time and attendance integration. If several connectors are available, separate the addresses with a semicolon. If the entry is missing, it is assumed to be empty.

    rmi://<host>:<port>/taRmiBroker, mehrere mit „;“ getrennt (Vorlageseveral separated by ";" (template: rmi://localhost:4009/taRmiBroker)

    webdesk.ta.if6020impl.rmi.timeoutMillis

    Timeout in Millisekunden für den Verbindungs-Handshake zum Konnektor.

    milliseconds for the connection handshake with the connector.

    number (default: 2000)

    webdesk.ta.if6020impl.rmi.connectTimeoutMillis

    Timeout in Millisekunden für den TCP-Verbindungsaufbau zum Konnektor.

    Zahl (Standard: 3000)

    Beispiel mit zwei Konnektoren

    milliseconds for establishing the TCP connection to the connector.

    number (default: 3000)

    Example with two connectors:

    webdesk.ta.if6020impl.rmi = rmi://<ta-host1>:4009/taRmiBroker;rmi://<ta-host2>:4012/taRmiBroker

    Eigenschaften von Beans überschreiben

    Jeder Eintrag der Form <beanId>.<eigenschaft> = wert setzt beim Start die Eigenschaft der Spring-Bean mit dieser Id (Bean-Namen und Eigenschaften entsprechen den Namen in der Maske „Systemparameter“, siehe Systemparameter Portal & Organisation). Das ist ein Spring-„PropertyOverrideConfigurer“, der webdesk.properties liest.

    Beispiele

    Overriding bean properties

    Every entry of the form <beanId>.<property> = value sets, at startup, the property of the Spring bean with that id (bean names and properties correspond to the names in the "Systemparameter" mask, see System parameters Portal & Organization). This is a Spring "PropertyOverrideConfigurer" that reads webdesk.properties.

    Examples:

    PoOptions.clusterNode = node1
    PoHelpOptions.serviceDeskEmail = <service-desk-adresse>address>
    PoHelpOptions.errorReportEnabled = true

    Achtung: Einträge mit unbekannter Bean-Id oder unbekannter Eigenschaft werden ohne Fehlermeldung ignoriert. Ein Tippfehler bleibt daher unbemerkt; prüfen Sie nach dem Neustart in der Anwendung, ob der Wert wirksam ist. Per Umgebungsvariable oder JVM-Parameter können nur die in der Tabelle unten genannten Schlüssel übersteuert werden, darunter Warning: Entries with an unknown bean id or an unknown property are ignored without an error message. A typo therefore goes unnoticed; after the restart, check in the application whether the value is effective. Only the keys listed in the table below can be overridden by environment variable or JVM parameter, including PoOptions.clusterNode, WfStartup.engineName und and SecurityHeadersOptions.forceSameSiteNoneCookieAttribute; alle anderen Bean-Einträge müssen in der Datei stehen.

    JVM-Parameter und Umgebungsvariablen

    Bestimmte Schlüssel können unabhängig von der Datei übersteuert werden. Für diese Schlüssel gilt die Rangfolge (höchste zuerst):

    Umgebungsvariable

    all other bean entries must be in the file.

    JVM parameters and environment variables

    Certain keys can be overridden independently of the file. For these keys the following precedence applies (highest first):

    1. Environment variable WD_...
    2. JVM parameter -Parameter -DschlüsselDkey=wertvalue (ze. Bg. in CATALINA_OPTS / JAVA_OPTS)
    3. Wert Value in webdesk.properties

    Namensregel

    Der Name der Umgebungsvariable entsteht aus dem Schlüsselnamen so: alle Buchstaben in Großbuchstaben umwandeln, jeden Punkt durch einen Unterstrich ersetzen und WD_ voranstellen. Andere Zeichen (z. B. Unterstriche) bleiben unverändert. Beispiele

    Naming rule

    The name of the environment variable is derived from the key name as follows: convert all letters to upper case, replace every dot with an underscore and prepend WD_. Other characters (e.g. underscores) remain unchanged. Examples:

    • webdesk.connection.driver_class wird zu becomes WD_WEBDESK_CONNECTION_DRIVER_CLASS
    • webdesk.ta.if6020impl.rmi wird zu becomes WD_WEBDESK_TA_IF6020IMPL_RMI
    • PoOptions.clusterNode wird zu becomes WD_POOPTIONS_CLUSTERNODE

    Eine leere oder nur aus Leerzeichen bestehende Umgebungsvariable wird ignoriert (der Wert aus der Datei gilt dann weiter). Nicht in der Liste enthaltene Schlüssel können nicht per Umgebungsvariable gesetzt werden, auch wenn eine passend benannte Variable existiert.

    Überschreibbare Schlüssel

    Schlüssel

    Umgebungsvariable

    Bemerkung

    An empty environment variable or one consisting only of whitespace is ignored (the value from the file then continues to apply). Keys that are not in the list cannot be set by environment variable, even if a suitably named variable exists.

    Overridable keys

    Key

    Environment variable

    Remark

    webdesk.connection.driver_class

    WD_WEBDESK_CONNECTION_DRIVER_CLASS

    Webdesk -Datenbankdatabase

    webdesk.connection.url

    WD_WEBDESK_CONNECTION_URL

    Webdesk -Datenbankdatabase

    webdesk.connection.username

    WD_WEBDESK_CONNECTION_USERNAME

    Webdesk -Datenbankdatabase

    webdesk.connection.password

    WD_WEBDESK_CONNECTION_PASSWORD

    Webdesk -Datenbankdatabase

    webdesk.dialect

    WD_WEBDESK_DIALECT

    Hibernate -Dialektdialect

    shark.connection.driver_class

    WD_SHARK_CONNECTION_DRIVER_CLASS

    Shark -Datenbankdatabase

    shark.connection.url

    WD_SHARK_CONNECTION_URL

    Shark -Datenbankdatabase

    shark.connection.username

    WD_SHARK_CONNECTION_USERNAME

    Shark -Datenbankdatabase

    shark.connection.password

    WD_SHARK_CONNECTION_PASSWORD

    Shark -Datenbankdatabase

    webdesk.ta.if6020impl.rmi

    WD_WEBDESK_TA_IF6020IMPL_RMI

    TA -Konnektorconnector(ens), mehrere mit „;“several separated by ";"

    webdesk.runRegistration

    WD_WEBDESK_RUNREGISTRATION

    Registrierung beim Start

    registration at startup

    webdesk.disableTimeLineChecks

    WD_WEBDESK_DISABLETIMELINECHECKS

    Zeitleistenprüfung

    timeline check

    webdesk.licenceCheckDisabled

    WD_WEBDESK_LICENCECHECKDISABLED

    nur Entwicklungdevelopment/Testtesting only

    webdesk.useEmbeddedDatabase

    WD_WEBDESK_USEEMBEDDEDDATABASE

    eingebettete Datenbank

    embedded database

    webdesk.exitJvmOnConnectionError

    WD_WEBDESK_EXITJVMONCONNECTIONERROR

    steht auf der Liste, die Prüfung liest den Wert jedoch aus is on the list, but the check reads the value from webdesk.properties; dort setzenset it there

    PoOptions.clusterNode

    WD_POOPTIONS_CLUSTERNODE

    Knotenname node name (Clustercluster)

    WfStartup.engineName

    WD_WFSTARTUP_ENGINENAME

    Name der Workflow-Engine (Standardname of the workflow engine (default: webdeskshark)

    SecurityHeadersOptions.forceSameSiteNoneCookieAttribute

    WD_SECURITYHEADERSOPTIONS_FORCESAMESITENONECOOKIEATTRIBUTE

    Cookie-Attribut force the cookie attribute SameSite=None erzwingen

    isDistributed

    WD_ISDISTRIBUTED

    Clustercluster, siehe untensee below

    useJmsReplication

    WD_USEJMSREPLICATION

    Clustercluster, siehe untensee below

    webdesk.cacheReplication.RMI.peerProvider.properties

    WD_WEBDESK_CACHEREPLICATION_RMI_PEERPROVIDER_PROPERTIES

    Clustercluster, siehe untensee below

    webdesk.cacheReplication.JMS.peerProvider.properties

    WD_WEBDESK_CACHEREPLICATION_JMS_PEERPROVIDER_PROPERTIES

    Clustercluster, siehe untensee below

    redis.useAsSessionStore
    redis.connection.url
    redis.connection.password
    redis.clusterNodes
    redis.session.cookie.jvmRoute
    redis.credentials.encrpted

    WD_REDIS_USEASSESSIONSTORE
    WD_REDIS_CONNECTION_URL
    WD_REDIS_CONNECTION_PASSWORD
    WD_REDIS_CLUSTERNODES
    WD_REDIS_SESSION_COOKIE_JVMROUTE
    WD_REDIS_CREDENTIALS_ENCRPTED

    Redis als Session-Speicher, siehe unten. Der Schlüssel as session store, see below. The key redis.credentials.encrpted heißt tatsächlich so (ohne „y“).

    Beispiel für den Container-Betrieb

    In der Datei webdesk.properties im Container genügt ein Eintrag, der festlegt, dass die über die Umgebung gelieferten Zugangsdaten nicht verschlüsselt sind (der Eintrag lässt sich nicht per Umgebungsvariable setzen). Ohne diesen Eintrag versucht Webdesk beim Start, die (fehlenden) Werte der Datei zu verschlüsseln, und bricht mit der Meldung ab, dass

    is really spelled this way (without the "y").

    Example for container operation

    In the file webdesk.properties inside the container, one entry is enough that states that the credentials supplied via the environment are not encrypted (this entry cannot be set by environment variable). Without it, Webdesk tries at startup to encrypt the (missing) values of the file and aborts with the message that webdesk.connection.username in webdesk.properties keinen Wert hat has no value:

    webdesk.credentials.encrypted = false
    webdesk.runRegistration = 1

    Die Umgebungsvariablen (hier als Liste, wie in einer Docker-Compose-Datei The environment variables (shown as a list, as in a Docker Compose file):

    WD_WEBDESK_CONNECTION_DRIVER_CLASS=org.mariadb.jdbc.Driver
    WD_WEBDESK_CONNECTION_URL=jdbc:mysql://<db-host>/webdesk?permitMysqlScheme&allowMultiQueries=true
    WD_WEBDESK_CONNECTION_USERNAME=<db-user>
    WD_WEBDESK_CONNECTION_PASSWORD=<db-password>
    WD_WEBDESK_DIALECT=org.hibernate.dialect.MySQLDialect
    WD_SHARK_CONNECTION_DRIVER_CLASS=org.mariadb.jdbc.Driver
    WD_SHARK_CONNECTION_URL=jdbc:mysql://<db-host>/shark?permitMysqlScheme&allowMultiQueries=true
    WD_SHARK_CONNECTION_USERNAME=<db-user>
    WD_SHARK_CONNECTION_PASSWORD=<db-password>
    WD_WEBDESK_TA_IF6020IMPL_RMI=rmi://<ta-host>:4009/taRmiBroker
    WD_WEBDESK_EXITJVMONCONNECTIONERROR=true

    Hinweis: Möchten Sie im Container verschlüsselte Zugangsdaten verwenden, setzen Sie Note: If you want to use encrypted credentials in the container, set webdesk.credentials.encrypted = true in der Datei und liefern in den Variablen die mit dem Systemschlüssel verschlüsselten Base64-Werte. Da the file and supply in the variables the Base64 values encrypted with the system key. Because WD_WEBDESK_EXITJVMONCONNECTIONERROR die Prüfung nicht erreicht (siehe Tabelle), tragen Sie does not reach the check (see table), enter webdesk.exitJvmOnConnectionError = true in der Datei ein, wenn der Container bei Verbindungsfehlern beendet werden soll.

    Cluster und Redis (Überblick)

    Für den Betrieb mit mehreren Knoten kennt webdesk.properties unter anderem folgende Schlüssel; Bedeutung und Zusammenspiel siehe Seite „Cluster- und Cache-Betrieb“.

    Eigenschaft

    Erklärung

    mögliche Wert(e)

    isDistributed

    Schaltet den Cluster-Betrieb (Cache-Replikation) ein

    the file if the container is to exit on connection errors.

    Cluster and Redis (overview)

    For operation with several nodes, webdesk.properties knows, among others, the following keys; for their meaning and interplay see the page "Cluster- und Cache-Betrieb".

    Text, z. B

    Property

    Description

    Possible value(s)

    isDistributed

    Enables cluster operation (cache replication).

    true, false (Standarddefault: false)

    useJmsReplication

    Cache -Replikation über JMS statt replication via JMS instead of RMI.

    true, false

    PoOptions.clusterNode

    Name des aktuellen Knotens. Ist isDistributed per Umgebung/JVM auf true gesetzt und kein Knotenname angegeben, verwendet Webdesk den Wert der Umgebungsvariable HOSTNAME. Im Cluster hängt Webdesk den Knotennamen an den Namen der Workflow-Engine an (webdeskshark_<knoten>), solange WfStartup.engineName nicht geändert wurde.

    of the current node. If isDistributed is set to true via environment/JVM and no node name is given, Webdesk uses the value of the environment variable HOSTNAME. In a cluster Webdesk appends the node name to the name of the workflow engine (webdeskshark_<node>) as long as WfStartup.engineName has not been changed.

    text, e.g. node1

    webdesk.cacheReplication.RMI.peerProvider.properties
    webdesk.cacheReplication.peerListener.properties
    webdesk.cacheReplication.JMS.peerProvider.properties

    Parameter der Cache-Replikation Parameters of the cache replication (RMI bzw. or JMS).

    Beispiele siehe Vorlage

    examples: see template

    redis.*

    Redis als Session-Speicher as session store (redis.useAsSessionStore, redis.connection.url, redis.connection.password, redis.clusterNodes, redis.session.cookie.jvmRoute).

    siehe Seite „Clustersee page "Cluster- und Cache-Betrieb“

    Fehlersuche

    Webdesk startet nicht, „Error

    Betrieb"

    Troubleshooting

    • Webdesk does not start, "Error while trying to load webdesk.properties“: Die Datei fehlt im Klassenpfad properties": the file is missing on the classpath (WEB-INF/classes).
    • Start bricht ab mit „Startup aborts with "... in webdesk.properties has no value“: Die Zugangsdaten stehen nicht in der Datei, value": the credentials are not in the file, but webdesk.credentials.encrypted fehlt jedoch (siehe Container-Beispiel). Entschlüsselung schlägt fehl bzw. System startet nicht nach Wechsel der Datei oder des Servers: Schlüssel is missing (see the container example).
    • Decryption fails or the system does not start after replacing the file or the server: the key (enc.key bzw. or webdesk.encryption.key) stimmt nicht mit dem im System verwendeten Schlüssel überein.
    • Eine Umgebungsvariable zeigt keine Wirkung: Schlüssel in der Tabelle „Überschreibbare Schlüssel“ prüfen, Namensregel prüfen (Punkte werden zu Unterstrichen, Großbuchstaben), Variable darf nicht leer sein.
    • Änderung in der Datei wirkt nicht oder ist nach dem Start verschwunden: Die Datei wird nur beim Start gelesen; Webdesk schreibt sie dabei teilweise neu (siehe „Automatische Anpassungen beim Start“) und setzt webdesk.runRegistration = 1 nach der Registrierung auf 0.
    • Start ist sehr langsamdoes not match the key used by the system.
    • An environment variable has no effect: check the key in the table "Overridable keys" and the naming rule (dots become underscores, upper case); the variable must not be empty.
    • A change in the file has no effect or has disappeared after startup: the file is only read at startup; Webdesk partly rewrites it (see "Automatic adjustments at startup") and sets webdesk.runRegistration = 1 to 0 after the registration.
    • Startup is very slow: PoStartup.executeIndexManager, webdesk.disableTimeLineChecks, webdesk-sessionFactory.schemaUpdate, webdesk.runRegistration und and webdesk.luceneIndexing bestimmen, welche Prüfungen beim Start laufen determine which checks run at startup.
    Mime Typetext/xmltext/xml
    Datei-name
    Größe (in Bytes)3343231960
    Version 1 von Gabriel Gruber
    am 17.10.26 18:55:28
    Name: Konfigurationsdatei webdesk.properties und Umgebungsvariablen
    Variante: main - en
    Status: Entwurf
    Version 2 von Gabriel Gruber
    am 17.10.26 18:56:30
    Name: Configuration file webdesk.properties and environment variables
    Variante: main - en
    Status: Entwurf