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:AuditLog false Audit-Protokoll (Audit.log) aktivieren.
BA:AuditLog.Login BA:AuditLog Protokoll für Login-Ereignisse (in-)aktivieren, Standardwert: siehe Parameter BA:AuditLog
BA:AuditLog.Application BA:AuditLog Audit-Protokoll für Anwendungs-Ereignisse (in-)aktivieren, Standardwert: siehe Parameter BA:AuditLog
BA:AuditLog.RoleMember BA:AuditLog Audit-Protokoll für Rollenänderungen (in-)aktivieren, Standardwert: siehe Parameter BA:AuditLog
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. Groß-/Kleinschreibung ist hier relevant.
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:DeletionLogging false Aktivieren von gesondertem Logging bei Löschungen. Alle (OrmBABase-) Datensätze, die gelöscht werden, werden mit Datum und Uhrzeit, Benutzernamen, Oid, MigrationID und EntityTitle in eine neue Datei im Log-Verzeichnis ‘Deletions.log’ protokolliert, um Löschungen nachvollziehen zu können. Die Datei läuft ab einer Größe von 100MB über und wird in ‘Deletions_001.log’ umbenannt (log rolling). Die Konfiguration zu dieser Log-Datei findet sich im NLog-Bereich der web.config und kann nicht über die Customer.config Datei konfiguriert werden
BA:DeletionLoggingLoggerName Es ist möglich im Kontext der Löschungsprotokollierung einen eigenen Logger mit einem eigenen Namen in der Datei CustomNLog.config zu konfigurieren. Dieser alternative Logger-Name kann über den folgenden Parameter gesetzt werden. Die Löschprotokollierung von Datensätzen wird dann diesen Logger verwenden. Bei der Einrichtung des Loggers können die Logging-Variablen ‘oid’, ‘migrationid’ und ‘entitytitle’ verwendet werden (Verwendung: vgl. web.config), andere Informationen neben den üblichen NLog-Daten werden nicht bereit gestellt.
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:Import.DBMaintenanceAtRelationImport.Interval Während des Relationsimports, in dem in schneller Zeit sehr viele Datensätze in der Datenbank angelegt werden, kann es sinnvoll sein, während des Imports ein Wartungs-SQL-Skript auszuführen. Über diesen Parameter geben Sie an, nach wievielen Datensätzen dies erfolgt.
BA:Import.DBMaintenanceAtRelationImport.SQL Während des Relationsimports, in dem in schneller Zeit sehr viele Datensätze in der Datenbank angelegt werden, kann es sinnvoll sein, während des Imports ein Wartungs-SQL-Skript auszuführen. Dieser Parameter definiert das Skript. Z.B. ALTER INDEX ALL ON dbo.OrmRelation REBUILD WITH (FILLFACTOR = 70, SORT_IN_TEMPDB = ON, STATISTICS_NORECOMPUTE = ON);
BA:OrmPurge.DaysIntervalWithError 1 Wenn ein Fehler beim Lauf des Hintergrundprozesses zur Bereinigung der Datentabellen auftritt, wird der Hintergrundprozess nach der angegebenen Anzahl von Tagen automatisch neu gestartet. Erlaubte Werte: 1-10.
BA:OrmPurge.DaysIntervalWithoutError 15 Wenn kein Fehler beim Lauf des Hintergrundprozesses zur Bereinigung der Datentabellen auftritt, wird der Hintergrundprozess nach der angegebenen Anzahl von Tagen automatisch neu gestartet. Erlaubte Werte: 1-90.
BA.OrmPurge.PurgeTimeOfDay 03:00 Die Uhrzeit, zu der der das Bereinigen der Datentabellen beginnt und gelöschte Daten physikalisch aus der Datenbank entfernt werden. Es sollte sich um eine Nicht-Arbeitszeit handeln. Default 03:00.
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:PicklistSelectAllLimit 50 Maximale Anzahl von Datensätzen, die der Benutzer mit der Funktion “Alles auswählen” im Picklist-Steuerelement auswählen kann (dasselbe gilt für die Auswahl von E-Mail-Adressen).
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.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.Duration.Max 5 Max. Zeitspanne in Jahren für mehrtägige Termine. Der Standardwert ist 5. Längere Termine erscheinen unvollständig in mehrfachgruppierten Ansichten. ACHTUNG: Diese Größe hat Einfluss auf die Performance
BA:RecurrenceDate.RecurYearly.Max 150 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Jährlich (maximal: 800). ACHTUNG: Diese Größe hat Einfluss auf die Performance.
BA:RecurrenceDate.RecurMonthly.Max 20 Max. Zeitspanne in Jahren für wiederholende Datumswerte. Monatlich (maximal: 800). ACHTUNG: Diese Größe hat Einfluss 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 Einfluss 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 Einfluss auf die Performance.
BA.Report:MaxSubreportNestingLevel 32 Maximale Verschachtelungstiefe von Subreports.
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:Search.AttachmentParsers Abweichende Zuordnungen von Dateierweiterung zu Parser angeben. Defaultwerte siehe Beschreibung des Dateianhänge-Steuerelements. Beispiel: BA.Core.Search.AttachmentParser.ReturnEmptyStringParser:(.geheim);BA.Core.Search.AttachmentParser.HtmlParser:(.htm,.mht,.schnitzel,.html)
BA:Search.IndexManagementEnabled true IndexManagement über Service Seite ein und ausschalten (default: „true”). Sollte in gehosteten Umgebungen mit unterschiedlichen Kunden auf dem selben Server deaktiviert („false”) werden, damit die Kunden nicht gegenseitig ihre Indizes sehen und löschen können.
BA:Search.IndexPrefix Indexprefix, der anstelle des DB-Namens aus dem Connection-String (default) verwendet wird, z.B. „db123”.
BA:Search.MaxHitCount 300 Wieviel Treffer sollen maximal bei der Suche angezeigt werden? Min 1, Max 1.000, Default 300
BA:Search.Password Passwort für Basic Auth, wenn aktiv.
BA:Search.PeriodicCheckInterval 00:01 Wartezeit nach einem Suchindexer-Lauf, bis erneut nach zu indizierenden Daten gesucht wird (default: 1min).
BA:Search.Url URL für Suchdienst-Server. Wenn gesetzt wird die Suche an sich aktiviert, z.B.. „http://localhost:9200/”.
BA:Search.Username Benutzername für Basic Auth, wenn aktiv.
BA:Worker.CleanupInterval 2:00 Wie 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.