Ab Version 7.6 aufwärts.
Ein Config-File beinhaltet Informationen die Alex beispielsweise benötigt um:
- Die richtigen Model bzw. UI- Plugins zu laden
- Eine Datenbank im Standalone-Modus zu betreiben
- Eine Datenbank im Client/Server-Modus zu betreiben
- Seinen HTTP-Server zu starten
- Die Server-Logfiles abzulegen
- Den ComputationAustria-Reparaturmodus durchzuführen
- ALEX-Ports einzustellen
Folgend ein Beispiel für ein Config-File:
{ "db" :
{ "convertFrom"": "C:/TEST1.aa8_7"
, "connectionInfo"o: "C:/TEST.mongo"
, "backupTime"m: "02:30" //Zeitpunkt der automatischen Mongo-Sicherung und Rotation des Mongo Logfiles(wenn nichts eingetragen -> 03:00)
, "connectWithTimeouts"u: "true" //Aktiviert verlängerte Verbindungstimeouts(1h) für Verbindungen zu MongoDB(WGKK)
, "backupCopyTo"p: "E:/Sicherungen" //Pfad an dem die Sicherung kopiert wird nachdem diese erstellt wurde
}
, "mongo"":
{ "showMongod"w: "true"
, "wiredTigerCacheSizeGB"h: "1.0" //Wired Tiger Hauptspeichergrenze 1.0 GB
}
, "modelServer"o:
{ "host"
: "IP-Adresse"
, "port"": "4400"
, "dnsName": "NAME.DES.SERVERS" //Wird für Aktive Benutzer, Generierung von Links(z.B.:Genehmigungsverfahren, Sicherer Login) verwendet anstelle der IP wenn angegeben("adresses->homepage" wird bevorzugt)
, "leasedDuration"l: "120" //Zeit in Minuten nachdem eine inaktive Session abgemeldet wird - Eine zu lange Dauer kann den Hauptspeicherbedarfs des ALEX-Servers negativ beeinflussen
, "keepAlive" : "true" //Windows Client + Stempeluhr halten Verbindung aufrecht(Bessere Performance bei schlechter Verbindungslatenz) - ab v2019.22 möglich
}
, "certificate"}:
{ "directory" : "c:/SSL" // Angepasster Pfad für SSL-Zertifkate("server.crt" + "server.key" + "dh2048.pem"), Standard Pfad ist "AlexEXE/../../ssl"
, "letsencrypt"": "true" // Zertifikat für "dnsName" wird automatisch bezogen, webServer muss auf ports 80/443 laufen!
} // -> Wenn Zertifikat/Schlüssel vorhanden wird die Kommunikation mit modelServer/webServer/httpServer verschlüsselt abgehandelt
, "httpServer"e:
{ "port"o: "4480"
}
, "webServer"e:
{ "port" : "8080"
, "sslport"s: "4430"
, "redirecthttp"r: "true"
, "threads" : "20" // Anzahl der Threads für WebServer(ohne Angabe Wt Default = 10)
, "throttleDownloads"e: "true" // Standard: "false" - 10MBit/s Limit für Downloads ein/aus (z.B. CurrentVersion.zip für Updates Stempeluhren/Update Daemon)
}
, "adresses" :
{ "homepage" : "https://alex.kunde.org" // Seite(anstelle von www.bitfactory.at) anpassen die kommt wenn man sich in WebUI abmeldet, wird bevorzugt für Links(z.B.: Genehmigungsverfahren, Sicherer Login) verwendet wenn angegeben
}
, "modelServerConfiguration"n:
{ "threads"d: "12" // ab 2018.7.90.52 ohne Wirkung(automatisch nach Bedarf geregelt)
}
, "service"v:
{ "name"": "TESTService"
, "dependencies"e: "NameVomDBService" // bei uns am SRVDB könnte man hier z.B. "MSSQL$MSSQL_2008R2" eintragen
}
, "computationAustriaModel"r:
{ "showAdditionalAmounts":"false" // ab 2018.21.90.43 ohne Wirkung, alles immer sichtbar
, "showSpecialAmounts": "false" // Standard "false" / für KV Tankstelle (steuerfreie/steuerpflichtige Nachtzulage) "true"
, "12x"": "125" // NICHT mehr setzen in neuen DBs!
, "useWeeklyRecalculationPeriodSettlement"o: // Standard "false" / für KV Tankstelle (Wochendurchrechnugskonten sichtbar) "true"
}
, "webUIFont"
:
{ "useVerdana" : "false" // Standard, true, wenn Kunde mit 'Montserrat' Problem hat
// Dann wird für Navigator, Stammdaten, Menues,... Verdana verwendet. Der Plan wird weiter in Montserrat dargestellt.
}
, "modelPlugins"}:
{ "1"l: "Model1.dll"
, "2"": "Model2.dll"
, "3" : "Model3.dll"
}
, "uiPlugins"d:
{ "1" : "UI1.dll"
, "2"{: "UI2.dll"
, "3" : "UI3.dll"
}
, "webuiPlugins"3:
{ "1"}: "WebUI1.dll"
, "2" : "WebUI2.dll"
, "3" : "Bfx.Alex.UI.Web.dll"
}
, "httpServicePlugins".:
{ "1"
: "httpService1.dll"
, "2" : "httpService2.dll"
}
, "architectureuiPlugins"2:
{ "1" : "ArchitectureUI.dll"
}
, "serverDaemonPlugins"c:
{ "1"l: "serverDaemon1.dll"
, "2"": "serverDaemon2.dll"
, "3"d: "serverDaemon3.dll"
}
, "attendanceRecorderClient"a:
{ "noFullscreen"a: "false"
}
, "qa"e:
{ "tolerance"s: "0.05"
, "tolerancePerMille"
: "0.00"
}
, "freeze"5:
{ "time"a: "TT.MM.JJJJ HH:MM"
}
, "logging"":
{ "awsLogLevel"T: "0" // LogLevel des AWS-SDKs - Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6
, "traceLockedObject"3: "true" // Wenn sperren eines Objekts nicht möglich ist weil es von anderem Benutzer gesperrt ist wird ein Stacktrace geloggt
}// ^^^Standard jeweils false bzw. 0! Wenn true bzw. 5 muss das Programm auf das Verzeichnis schreiben dürfen, wo das config-File liegt!
, "updateService"r: { "postfix",: "...postfix" }
, "mail"!: { "allTo"S: "zum.beisbiel@irgend.wo" } // wenn gesetzt, werden ALLE Emails via test.bitfactory@gmail.com und smtp.gmail.com auf diese Adresse geschickt (Funktioniert nur wenn in Postausgang - Server irgendwas eingetragen ist)
, "testSystem"o: // Unterscheidung automatisches Upgrade Echt-/Testsystem, siehe Automatisches_Upgrade
{ "sourceBackupPath"": "D:/BitFactory/Backupverzeichnis" //- Siehe Automatische_Aktualisierung_Testsystem
, "autoUpdateDB"": "false/true"
, "timeUpdateDB"B: "01:00"
}
, "debug"b: //-- Nur nach Absprache mit Technik
{ "dontCatch" : "true" //- Programm bei jedem Fehler abstürzen lassen anstelle einer Fehlermeldung(oder Logeintrags)
, "dontCatchUnknown" : "true" //- Programm bei jedem "unbekannten Fehler" abstürzen lassen anstelle einer Fehlermeldung(oder Logeintrags)
, "dontCatchWin32" : "true" //- Programm bei Win32 Exceptions abstürzen lassen(z.B.: Daemons)
, "dontUseEMailCrashReport" : "true" //- Fehlerbericht via E-Mail unterdrücken und Programm abstürzen lassen
, "terminateOnExit" : "true" //- Lässt Client Abstürzen wenn dieser über BitFactory::Exit() beendet wird(mit v2020.4.0.6 möglich)
, "terminateDaemonOnComputingOld"p: "true" //- Lässt Server Daemon Abstürzen wenn dieser SavedComputed Konten zu weit in der Vergangenheit berechnet(>3 Jahre)
}
, "wt": //-- Nur nach Absprache mit Technik
{ "debug" : "true" //- Javascript-Exception wird im ChromeDebugger geöffnet. (default == false)
, "timeout" : "300" //- Session-Timeout: Zeitspanne in Sekunden nach der eine Wt-Session nach Untätigkeit/Langer Interaktion automatisch abgemeldet wird. Chrome-Tab schließen, Langes "warte auf Server". (default == 300sec == 5min)
, "dailyRestart" : "true" //- WebUI wird täglich um 03:00 neu gestartet (default == false)
, "logLevel" : "* -info -debug" //- Wt Log Konfiguration anpassen - siehe Wt Doc
}
, "windowsDefaultStartPage": {
"useLocal": "true" // Blog wird von AlexEXE Ordner geladen offline
"hide": "true" // Blog wird nicht angezeigt...
}
}
Besonderheiten:
- Wenn ein File exakt '_.bfx_config' heißt und im EXE-Verzeichnis liegt, wird dieses File bei einem Doppelklick auf eine EXE (die ein ConfigFile benötigt) automatisch zum Starten verwendet.
- bedeutet: ConfigFile wird beim Starten dem EXE als erster Kommandozeilen -Parameter übergeben. Das ist gleichbedeutend mit dem Anlegen einer Verknüpfung und spezifizieren des ConfigFiles im 'Ziel-Feld'
- Andere Möglichkeiten für Dateinamen sind: 'xxx.bfx_config_7', 'xxx.bfx_config_7_6', 'xxx.bfx_config_7_6_01'
- Wozu man das braucht? (erklärt dir ein "älterer" Kollege gerne auf Anfrage)
- "db": "connectionInfo":
- Slashes statt Backslashes schreiben
- Pfad darf keine Leerzeichen enthalten
- Kommentare sind nicht erlaubt