Attribute von Konfigurationseigenschaften
Eine Reihe von Konfigurationseigenschaften besitzen neben dem Namen, dem Datentyp und den zulässigen Werteausprägungen auch bestimmte Zusatzattribute. Bei der Beschreibung der Eigenschaften in dieser Dokumentation wird auf die Zusatzattribute hingewiesen, wenn diese für die Konfiguration von spezieller Bedeutung sind.
Diese Attribute werden direkt beim Programmstart ausgewertet, d.h. beim Einlesen der Konfiguration. Abhängig von der Art des Attributs und von der Ausprägung des Konfigurationswertes können diese Attribute den erfolgreichen Programmstart verhindern. Wenn dies der Fall ist, ist ein entsprechender Hinweis im Logging zu finden.
Obligatorische Werte
Der gängigste Fall eines Zusatzattributs ist die Kennzeichnung einer Konfigurationseigenschaft als obligatorisch, weil diese zwingend angegeben werden muss. Diese verpflichtende Angabe muss bei bestimmten Eigenschaften nicht pauschal gelten, sondern kann auch abhängig von dem Wert einer anderen Eigenschaft sein, mit der diese in Beziehung steht. Viele Eigenschaften besitzen implizit auch einen Standardwert, der automatisch greift, wenn kein abweichender Wert explizit konfiguriert wurde.
Verschlüsselte Werte
Einige Werte enthalten sensible Daten, die nicht im Klartext in der Konfiguration lesbar sein sollen. Dies ist insbesondere bei Passwörtern für die Authentifizierung gegenüber angebundenen Fremdsystemen der Fall. Ein solcher Wert – oder ein Teilwert, wenn ein Passwort z. B. nur ein Teil einer Verbindungszeichenfolge ist – wird mit asymmetrischer RSA-Verschlüsselung in der Konfiguration gespeichert und durch Einbettung in die Tags <§>…</§> als verschlüsselt gekennzeichnet. Beim Einlesen der Konfiguration wird der Wert automatisch dekodiert.
Für die Verschlüsselung wird ein kundenspezifisches Zertifikat benötigt, das einen öffentlichen Schlüssel für die Verschlüsselung und einen privaten Schlüssel für die Entschlüsselung enthält. Wenn dieses Zertifikat auf dem Kundensystem verbleibt, ist eine Entschlüsselung auch nur auf eben diesem System möglich. Der Verweis auf das Zertifikat ist in der globalen Konfiguration anzugeben (siehe Konfigurationseigenschaft Certificate[].Usage: "Crypt").
Über den Konfigurator kann eine verschlüsselten Zeichenfolge auf Basis dieses Zertifikats erstellt werden. Bei einer manuellen Konfiguration kann die Zeichenfolge auch direkt über den Config-Webservice erstellt werden. Der Config-Webservice verfügt über einen entsprechenden REST-Aufruf.
Byte-Folgen in einem Textwert
Eine analoge Syntax gibt es zur Definition von Byte-Folgen in einem Textwert, nämlich <#>…</#>. Die hexadezimale Zeichenfolge zwischen diesen Tags wird zur Laufzeit in die entsprechenden (Steuer-) Zeichen aufgelöst, wenn ein Konfigurationsschlüssel diese Syntax unterstützt.
Mit <#>0D0A</#> können beispielsweise die Steuerzeichen CR (Carriage Return) und LF (Line Feed) für einen Zeilenumbruch angegeben werden. In diesem konkreten Beispiel können auch vereinfacht die dafür existierenden Escape-Sequenzen \r und \n verwendet werden. Dies ist allerdings nur möglich, wenn diese nicht alleinstehend, sondern in einen Textwert eingebettet auftreten, da sie sonst implizit beim Lesen eines Konfigurationswertes herausgefiltert werden.
Überprüfung des Dateipfades
Bestimmte Werte enthalten einen Verweis auf einen Dateipfad oder einen Ordnerpfad. Für diese Werte kann vorgegeben sein, dass eine Prüfung auf Existenz des konfigurierten Pfades durchgeführt wird, weil dieser zwingend benötigt wird. Das betrifft in der Regel Eingabedaten für xSuite Interface, die von anderen Systemen bereitgestellt werden. Bei Daten, die das Programm selbst neu generiert, ist hingegen für die betreffende Konfigurationseigenschaft meist ein Attribut gesetzt, durch das ein noch nicht existierender Ordnerpfad automatisch erstellt wird.
Weitere allgemeine Attribute für Pfadangaben bewirken, dass relative Pfade, bezogen auf das Programmverzeichnis der ausgeführten EXE-Datei, automatisch zu einem absoluten Pfad aufgelöst werden. Außerdem werden Umgebungsvariablen ersetzt und die Schreibweise von Pfaden wird vereinheitlicht. Die Vereinheitlichung bezieht sich auf die Art des Schrägstrichs (umgekehrter Schrägstrich (\) oder regulärer Schrägstrich (/)) und die Angabe eines abschließenden Schrägstrichs bei Ordnerpfaden. Das Programm erwartet standardmäßig einen Schrägstrich (/) sowie die Weglassung eines abschließenden Schrägstrichs. Abweichend konfigurierte Werte werden automatisch korrigiert.
Temporäre Deaktivierung von Eigenschaften
Um einzelne, nicht obligatorische Eigenschaften in einer Konfiguration temporär zu deaktivieren, ohne diese vollständig zu löschen, sollte die Eigenschaft umbenannt werden, z. B. durch einen vorangestellten Unterstrich.
Das Löschen eines Wertes erfordert zur Erhaltung einer gültigen JSON-Syntax das Setzen eines leeren Wertes wie "" oder null. Dies kann aber bei einigen Eigenschaften zu Validierungsfehlern führen, wenn diese Eigenschaften nur konkrete Werteausprägungen erlauben.