Einige systemnahe Parameter der Anwendung lassen sich nicht durch Einstellungen innerhalb der Anwendung verändern. Diese müssen auf dem Web-Server als Erweiterung der Datei „Web.Config” vorgenommen werden. Nach Änderungen an dieser Datei muß, wie auch bei Änderungen an der „Web.Config”, die Anwendung neu gestartet werden.

Falls noch nicht vorhanden, legen Sie dazu im gleichen Dateiverzeichnis der Datei „Web.Config” die neue Datei „Customer.Config” an. Diese wird bei Updates der Anwendung nie überschrieben. Der Aufbau des Dateiinhalts folgt prinzipiell dem folgenden Aufbau:

<appSettings>
	<add key="BA:DBConnectionPoolSize" value="25" />
	<add key="BA:Worker.LongCount" value="1" />
	<add key="BA:Worker.ShortCount" value="2" />
	<add key="BA:Configuration.DisableImplicitImport" value="false" />
	<add key="BA:DisableDBStartupScripts" value="false" />
</appSettings>

Die folgenden Parameter stehen zur Verfügung:

Parameter Default Erklärung
BA:APITokenExpireMinutes 20 Ablaufzeit eines JWT Token zur Tokenbasierten Authentifizierung an der API Schnittstelle genutzt von BM4O und GoMobilePro in Minuten.
BA:AttachmentCleanup.RunTime 0:00 Uhrzeit, zu der der Aufräummechanismus für Dateianhänge gestartet werden soll.
BA:AttachmentCleanup.RunIntervalDay 1 Anzahl Tage, die zwischen jedem Ausführen des Aufräummechanismus für Dateianhänge vergehen soll.
BA:AttachmentCleanup.AttachmentMaxAgeDays 2 Anzahl Tage, die ein Dateianhang verwaist sein muss, bevor der Aufräummechanismus ihn beseitigen darf.
BA:Authentication.Lockout.LockoutTime 15 Zeit in Minuten, die ein Benutzer nach mehrfach fehlgeschlagenen Anmeldeversuchen gesperrt wird.
BA:Authentication.Lockout.MaxFailedLoginAttempts 3 Anzahl erlaubter aufeinanderfolgender fehlerhafter Anmeldeversuche bevor der Benutzer für eine bestimmte Zeit automatisch gesperrt wird.
BA:BaseUrl https://{servername}/{virtualpath} URL unter der die Anwendung von außen erreichbar ist. Diese wird z.B. für automatisch erzeugte Hyperlinks in E-Mails benutzt. Der Platzhalter {servername} kann genutzt werden, um den DNS-Namen des aktuellen Servers, auf dem die Anwendung installiert ist. einzufügen. Das funktioniert nur, wenn die Anwendung in der Default-Website installiert ist und von außen nicht über einen Load-Balancer o.ä. angesprochen wird. Der Platzhalter {virtualpath} kann verwendet werden, um das im IIS konfigurierte Verzeichnis einzufügen.
BA:CheckAssembliesOfConfigurationsThatWillBeImported true Der Parameter gibt an, ob die Assemblies in der version.json des zu importierenden Config-Zips mit den Assemblies der Anwendung verglichen werden. (Assembly ist der technische Begriff für die Module in einer BA-Anwendung, diese haben eindeutige Ids und einen Typ. Bsp.: Das Modul/die Assembly BA.Core hat die AssemblyGuid “1f854566-b8dd-4a6a-a305-24eaac3a8ec2” und den AssemblyType “0” welcher für “Core” steht.)
Wenn der Parameter auf “true” steht werden bei zu importierenden Config-Zips alle Assemblies überprüft, welche nicht den AssemblyType “4” haben. Der AssemblyType “4” teilt der Anwendung mit, dass die Assembly vom Typ “Product” ist und Assemblies mit diesem Typ sollen nicht überprüft werden. (Sollte die Config-Zip aus einer Umgebung mit der Versionsnummer 0.8 oder niedriger stammen, werden alle Assemblies überprüft, da aus der version.json Datei dieser BA Versionen der AssemblyType noch nicht ermittelt werden kann.) Sollten in der version.json Datei Assemblies enthalten sein, welche nicht den AssemblyType “Product” haben und nicht in der aktuellen Anwendung enthalten sind, bricht der Config-Import ab. Wenn der Parameter auf “false” gestellt ist, wird die Config-Zip ohne Überprüfung importiert. ACHTUNG: Evtl. fährt die Anwendung nach dem Import der Konfiguration jedoch nicht mehr hoch, da es möglich ist eine Konfiguration zu importieren, welche nicht auf dem aktuellen System verwendet werden kann. Default: true, die Assemblies in der version.json Datei im zu importierenden Config-Zips werden mit den Assemblies in der Anwendung abgeglichen.
BA:Configuration.DisableImplicitImport false Wenn dieser Parameter auf „true” gesetzt wird wird verhindert, dass bei jedem Systemstart geprüft wird, ob die ausgelieferte Programmversion neuere Konfigurationsdaten enthält. Es wird also der automatische Import der Content/Configuration/*.zip Dateien verhindert. Default: false, die Config-ZIPs werden importiert.
BA:Connection DefaultConnection Über diesen Parameter kann die zu verwendende Datenbankverbindung definiert werden. Diese ist standardmäßig „DefaultConnection”.
BA:Default-Font-Family Arial, Helvetica, sans-serif Vorgabe Zeichensatz für den HTML-Editor. Sinnvoll sind Werte die der HTM-Editor in seiner Auswahl anbietet.
BA:Default-Font-Size 10pt Vorgabe Schriftgröße für den HTML-Editor. Sinnvolle Werte sind: 8pt, 10pt, 12pt, 14pt, 18pt, 24pt, 36pt.
BA:DBConnectionPoolSize 25 Die Anzahl gleichzeitig zulässiger SQL-Anfragen Anfragen auf die Datenbank.
BA:DisableDBStartupScripts false Wenn dieser Parameter auf „true” gesetzt wird, werden beim Anwendungsstart keine Datenbank-Skripte ausgeführt. Es kann sinnvoll sein, diese Skripte nicht beim Anwendungsstart auszuführen. Z.B. weil der DB-User nicht die erforderlichen Berechtigungen hat oder aber ein Administrator eine andere und/oder bessere DB-Konfiguration einstellen möchte. Standardmäßig wird derzeit bei MS SQL Server die Snapshot-Isolation aktiviert, falls nicht schon geschehen.
BA:PasswordSecurityRequireDigit true BA:PasswordSecurityRequireDigit “true” bedeutet, dass neu vergebene Passwörter mindestens eine Zahl enthalten müssen.
BA:PasswordSecurityRequireSpecialCharacter true BA:PasswordSecurityRequireSpecialCharacter “true” bedeutet, dass neu vergebene Passwörter mindestens ein Sonderzeichen enthalten müssen.
BA:PasswordSecurityMinLength 8 BA:PasswordSecurityMinLength bestimmt die Mindestlänge von neu vergebenen Passwörtern.
BA:PasswordSecurityRequireLowercase true BA:PasswordSecurityRequireLowercase “true” bedeutet, dass neu vergebene Passwörter mindestens einen Kleinbuchstaben enthalten müssen.
BA:PasswordSecurityRequireUppercase true BA:PasswordSecurityRequireUppercase “true” bedeutet, dass neu vergebene Passwörter mindestens einen Großbuchstaben enthalten müssen.
BA:RecentlyUsed.MaxCount 500 Maximal Anzahl von Einträgen pro Benutzer in der RecentlyUsed Liste. Beim Hinzufügen wird bei Überschreitung der jeweils älteste Eintrag gelöscht (Default 500).
BA:RecentlyUsed.MaxLifetime 14 Maximales Alter der Einträge in der RecentlyUsed Liste. Das Alter überschreitende Einträge werden beim Lesen und Schreiben bereinigt. (Default: 14 Tage. Angabe in Timespan-Schreibweise möglich).
BA:RecentlyUsed.PersistFrequency 00:05 Häufigkeit, mit der die RecentlyUsed Liste in der Datenbank persistiert wird. Unabhängig davon passiert das beim Anwendungsneustart über das Navigationssteuerelement ‘Anwendung neu starten’ garantiert. (Default 5 Minuten).
BA:RecurrenceDate.RecurYearly.Max 150 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Jährlich (maximal: 800). ACHTUNG: Diese Größe hat Einfluß auf die Performance.
BA:RecurrenceDate.RecurMonthly.Max 20 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Monatlich (maximal: 800). ACHTUNG: Diese Größe hat Einfluß auf die Performance.
BA:RecurrenceDate.RecurWeekly.Max 10 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Wöchentlich (maximal: 800). ACHTUNG: Diese Größe hat Einfluß auf die Performance.
BA:RecurrenceDate.RecurDaily.Max 5 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Täglich (maximal: 800). ACHTUNG: Diese Größe hat Einfluß auf die Performance.
BA:Report.ReportCacheDueTime 00:15 Verzögerung zwischen dem Start der Anwendung und dem Start des Report-Cache-Reinigungsdienstes.
BA:Report.ReportCachePeriod 00:15 Periode des Report-Cache-Reinigungsdienstes.
BA:Report.ReportCacheReportTTL 00:15 Die Lebensdauer der Berichtsvorlage (.REPX) seit dem letzten Zugriff. Falls keine gecachte Berichtsvorlage vorhanden ist, wird diese neu aus der Konfiguration geladen.
BA:Report.ReportCacheDocumentTTL 00:15 Die Lebensdauer des generierten Dokuments (.PRNX) seit dem letzten Zugriff auf das Dokument im Speicher. Nach dieser Zeit wird es für die dreifache angegebene Zeit noch im Dateisystem gecachet, bevor es dann auch dort verworfen wird.
BA:RestorePoint.KeepCount 50 Anzahl der Restorepoints, die mindestens gehalten werden.
BA:RestorePoint.KeepTime 3.00:00:00 Dauer, für die Restorepoints mindestens gehalten werden.
BA:RestorePoint.EnableLogging false Anwendungsprotokoll bei der Erzeugung der Restorepoints schreiben.
BA:Worker.CleanupInterval 2:00 Wir oft wird überprüft, ob abgeschlossene WorkItems aus der OrmWorkItem-Tabelle gelöscht werden sollen? Standard: “2:00” = alle 2 Stunden.
BA:Worker.LongCount 2 Anzahl der parallelen langlaufenden Worker für Hintergrundprozesse. Hinweis: lang laufende Worker können auch für kurz laufende Anforderungen verwendet werden, aber nicht vice versa.
BA:Worker.RetentionTime 1.00:00:00 Wie lange bleiben WorkItems in OrmWorkItem nachdem sie abgeschlossen sind? Standard: “1” = “1.00:00:00” = 1 Tag.
BA:Worker.ShortCount 1 Anzahl der parallelen kurzlaufenden Worker für Hintergrundprozesse
BA:Worker.ShortMaxRuntime 00:01 Maximale Laufzeit für schnelle Prozesse: hh:mm. Bei Erreichen dieser maximalen Laufzeit werden Prozesse abgebrochen.
BA:Worker.NormalMaxRuntime 00:15 Maximale Laufzeit für normale Prozesse: hh:mm. Bei Erreichen dieser maximalen Laufzeit werden Prozesse abgebrochen.
BA:Worker.LongMaxRuntime 05:00 Maximale Laufzeit für langsame Prozesse: hh:mm. Bei Erreichen dieser maximalen Laufzeit werden Prozesse abgebrochen.
BA:Workflow.ShortExecutionDelay 00:05 Mindestwartezeit bis asynchrone Workflow-Aktionen frühestens ausgeführt werden.
BA:Workflow.LongExecutionDelay 02:00 Wartezeit bis asynchrone Workflow-Aktionen ausgeführt werden, falls eine Editor-Maske geöffnet bleibt.
BA:Workflow.PeriodicCheckInterval 00:05 Häufigkeit mit der das Work-Item der Workflow-Execution-Engine nach neuer Arbeit sucht. Der Wert muss zwischen 30 Sekunden und einem Tag liegen.