Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
||
(33 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Ein '''{{Alex}}Config-File''' beinhaltet Informationen die Alex benötigt um: | |||
*Die richtigen Model bzw. UI- Plugins zu laden | |||
* Die richtigen Model bzw. UI- Plugins zu laden | *Eine Datenbank im Standalone-Modus zu betreiben | ||
* Eine Datenbank im Standalone-Modus zu betreiben | *Eine Datenbank im Client/Server-Modus zu betreiben | ||
* Eine Datenbank im Client/Server-Modus zu betreiben | *Seinen HTTP-Server zu starten | ||
* Seinen HTTP-Server zu starten | *Die Server-Logfiles abzulegen | ||
* Die Server-Logfiles abzulegen | *Den [[ComputationAustria-Reparaturmodus]] durchzuführen | ||
* Den [[ComputationAustria-Reparaturmodus]] durchzuführen | *[[ALEX-Ports]] einzustellen | ||
* [[ALEX-Ports]] einzustellen | |||
Beispeilhafte Beschreibung des Inhaltes eines Config-Files : | |||
{ "db" : | { "db" : | ||
{ "convertFrom" : "C:/TEST1.aa8_7" | { "convertFrom" : "C:/TEST1.aa8_7" | ||
, "connectionInfo" : "C:/TEST.mongo" | , "connectionInfo" : "C:/TEST.mongo" | ||
, "backupTime" : "02:30" //Zeitpunkt der automatischen Mongo-Sicherung (wenn nichts eingetragen -> 03:00) | , "backupTime" : "02:30" //Zeitpunkt der automatischen Mongo-Sicherung und Rotation des Mongo Logfiles(wenn nichts eingetragen -> 03:00) | ||
, "connectWithTimeouts" : "true" //Aktiviert verlängerte Verbindungstimeouts(1h) für Verbindungen zu MongoDB(WGKK) | , "connectWithTimeouts" : "true" //Aktiviert verlängerte Verbindungstimeouts(1h) für Verbindungen zu MongoDB(WGKK) | ||
, "backupCopyTo" : "E:/Sicherungen" //Pfad an dem die Sicherung kopiert wird nachdem diese erstellt wurde | , "backupCopyTo" : "E:/Sicherungen" //Pfad an dem die Sicherung kopiert wird nachdem diese erstellt wurde | ||
Zeile 22: | Zeile 21: | ||
{ "showMongod" : "true" | { "showMongod" : "true" | ||
, "wiredTigerCacheSizeGB" : "1.0" //Wired Tiger Hauptspeichergrenze 1.0 GB | , "wiredTigerCacheSizeGB" : "1.0" //Wired Tiger Hauptspeichergrenze 1.0 GB | ||
, "minPoolSize": "0" //Verbindungen zur Datenbank die gehalten werden wenn sie einmal erzeugt wurden (default = 0 -> deaktiviert) -> https://mongocxx.org/mongocxx-v3/connection-pools/ | |||
, "maxPoolSize": "100" //Maximale Anzahl von Verbindungen zur Datenbank (default=100) | |||
} | } | ||
, "modelServer" : | , "modelServer" : | ||
{ "host" : "IP-Adresse" | { "host" : "IP-Adresse" | ||
, "port" : "4400" | , "port" : "4400" | ||
, "dnsName": "NAME.DES.SERVERS" //Wird für Generierung von Links(z.B.: Genehmigungsverfahren) verwendet anstelle der IP wenn angegeben | , "dnsName": "NAME.DES.SERVERS" //Wird für Aktive Benutzer und Generierung von Links(z.B.: Genehmigungsverfahren, Sicherer Login) verwendet anstelle der IP wenn angegeben("adresses->homepage" wird bevorzugt) | ||
, "leasedDuration" : "120" //Zeit in Minuten nachdem eine inaktive Session abgemeldet wird - Eine zu lange Dauer kann den Hauptspeicherbedarfs des ALEX-Servers negativ beeinflussen | , "leasedDuration" : "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 | , "keepAlive" : "true" //Windows Client + Stempeluhr halten Verbindung aufrecht(Bessere Performance bei schlechter Verbindungslatenz) - ab v2019.22 möglich | ||
, "splitDaemons" : "true" //um ServerDaemons am WebServer in geteilte Prozesse aufzuteilen | |||
} | } | ||
, "certificate" : | , "certificate" : | ||
Zeile 36: | Zeile 38: | ||
, "httpServer" : | , "httpServer" : | ||
{ "port" : "4480" | { "port" : "4480" | ||
, "plainSessions" : "true" // Standard "true", Erlauben/Verbieten von unverschlüsselten Verbindungen bei aktivierter Verschlüsselung | |||
} | } | ||
, "webServer" : | , "webServer" : | ||
Zeile 42: | Zeile 45: | ||
, "redirecthttp" : "true" | , "redirecthttp" : "true" | ||
, "threads" : "20" // Anzahl der Threads für WebServer(ohne Angabe Wt Default = 10) | , "threads" : "20" // Anzahl der Threads für WebServer(ohne Angabe Wt Default = 10) | ||
, "throttleDownloads" : "true" // Standard: "false" - 10MBit/s Limit für Downloads ein/aus (z.B. CurrentVersion.zip für Updates Stempeluhren/Update Daemon) | |||
} | } | ||
, "adresses" : | , "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) verwendet wenn angegeben | { "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" : | , "modelServerConfiguration" : | ||
Zeile 56: | Zeile 60: | ||
{ "showAdditionalAmounts":"false" // ab 2018.21.90.43 ohne Wirkung, alles immer sichtbar | { "showAdditionalAmounts":"false" // ab 2018.21.90.43 ohne Wirkung, alles immer sichtbar | ||
, "showSpecialAmounts": "false" // Standard "false" / für KV Tankstelle (steuerfreie/steuerpflichtige Nachtzulage) "true" | , "showSpecialAmounts": "false" // Standard "false" / für KV Tankstelle (steuerfreie/steuerpflichtige Nachtzulage) "true" | ||
, "12x" : "125" | , "12x" : "125" // NICHT mehr setzen in neuen DBs! | ||
, "useWeeklyRecalculationPeriodSettlement" : // Standard "false" / für KV Tankstelle (Wochendurchrechnugskonten sichtbar) "true" | , "useWeeklyRecalculationPeriodSettlement" : // Standard "false" / für KV Tankstelle (Wochendurchrechnugskonten sichtbar) "true" | ||
} | } | ||
Zeile 90: | Zeile 94: | ||
, "3" : "serverDaemon3.dll" | , "3" : "serverDaemon3.dll" | ||
} | } | ||
, "serverDaemonHostPlugins" : // Key = Computer-Name des Host-Servers, Value = Array von Plugins | |||
{ "SERVER_DAEMON_HOST1" : [ "serverDaemon1.dll", "serverDaemon2.dll", "serverDaemon3.dll" ] | |||
, "SERVER_DAEMON_HOST2" : [ "serverDaemon1.dll", "serverDaemon3.dll" ] | |||
, "SERVER_DAEMON_HOST3" : [ "serverDaemon2.dll" ] | |||
} | |||
, "attendanceRecorderClient" : | , "attendanceRecorderClient" : | ||
{ "noFullscreen" : "false" | { "noFullscreen" : "false" | ||
Zeile 101: | Zeile 110: | ||
} | } | ||
, "logging" : | , "logging" : | ||
{ | { "awsLogLevel" : "0" // LogLevel des AWS-SDKs - Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6 | ||
, "traceLockedObject" : "true" // Wenn sperren eines Objekts nicht möglich ist weil es von anderem Benutzer gesperrt ist wird ein Stacktrace geloggt | , "traceLockedObject" : "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! | }// ^^^Standard jeweils false bzw. 0! Wenn true bzw. 5 muss das Programm auf das Verzeichnis schreiben dürfen, wo das config-File liegt! | ||
, "updateService" : { "postfix" : "...postfix" } | , "updateService" : { "postfix" : "...postfix" } | ||
, "mail" : { "allTo" : "zum. | , "mail" : { "allTo" : "zum.beispiel@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" : // Unterscheidung automatisches Upgrade Echt-/Testsystem, siehe [[Automatisches_Upgrade]] | , "testSystem" : // Unterscheidung automatisches Upgrade Echt-/Testsystem, siehe [[Automatisches_Upgrade]] | ||
{ "sourceBackupPath" : "D:/BitFactory/Backupverzeichnis" //- Siehe [[Automatische_Aktualisierung_Testsystem]] | { "sourceBackupPath" : "D:/BitFactory/Backupverzeichnis" //- Siehe [[Automatische_Aktualisierung_Testsystem]] | ||
Zeile 114: | Zeile 121: | ||
} | } | ||
, "debug" : //-- Nur nach Absprache mit Technik | , "debug" : //-- Nur nach Absprache mit Technik | ||
{ "dontCatch" : "true" //- Programm bei jedem Fehler abstürzen lassen anstelle einer Fehlermeldung(oder Logeintrags) | { "dontCatch" : "true" //- Achtung CoRo! 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) | , "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) | , "dontCatchWin32" : "true" //- Programm bei Win32 Exceptions abstürzen lassen(z.B.: Daemons) | ||
Zeile 127: | Zeile 134: | ||
, "logLevel" : "* -info -debug" //- Wt Log Konfiguration anpassen - [https://www.webtoolkit.eu/wt/doc/reference/html/classWt_1_1WLogger.html#a567c5b28fee703e37523898d30016f40 siehe Wt Doc] | , "logLevel" : "* -info -debug" //- Wt Log Konfiguration anpassen - [https://www.webtoolkit.eu/wt/doc/reference/html/classWt_1_1WLogger.html#a567c5b28fee703e37523898d30016f40 siehe Wt Doc] | ||
} | } | ||
, "windowsDefaultStartPage": { // Blog wird nicht angezeigt... | , "windowsDefaultStartPage": | ||
{ "useLocal": "true" // Blog wird von AlexEXE Ordner geladen offline | |||
, "hide": "true" // Blog wird nicht angezeigt... | |||
} | |||
, "alexWebUI" : | |||
{ "alexApp" : "true" // Es wird automatisch von /Alex auf /AlexApp umgeleitet für die QML Oberfläche | |||
} | } | ||
} | } | ||
'''Besonderheiten:''' | '''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 | |||
===Vorhandene AddOns=== | |||
[[ | [[Intern:ALEX-Config-File-AddOns|Interne Seite: Vorhandene AddOns]] |
Aktuelle Version vom 17. April 2024, 12:30 Uhr
Ein Alex®Config-File beinhaltet Informationen die Alex 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
Beispeilhafte Beschreibung des Inhaltes eines Config-Files :
{ "db" : { "convertFrom" : "C:/TEST1.aa8_7" , "connectionInfo" : "C:/TEST.mongo" , "backupTime" : "02:30" //Zeitpunkt der automatischen Mongo-Sicherung und Rotation des Mongo Logfiles(wenn nichts eingetragen -> 03:00) , "connectWithTimeouts" : "true" //Aktiviert verlängerte Verbindungstimeouts(1h) für Verbindungen zu MongoDB(WGKK) , "backupCopyTo" : "E:/Sicherungen" //Pfad an dem die Sicherung kopiert wird nachdem diese erstellt wurde } , "mongo" : { "showMongod" : "true" , "wiredTigerCacheSizeGB" : "1.0" //Wired Tiger Hauptspeichergrenze 1.0 GB , "minPoolSize": "0" //Verbindungen zur Datenbank die gehalten werden wenn sie einmal erzeugt wurden (default = 0 -> deaktiviert) -> https://mongocxx.org/mongocxx-v3/connection-pools/ , "maxPoolSize": "100" //Maximale Anzahl von Verbindungen zur Datenbank (default=100) } , "modelServer" : { "host" : "IP-Adresse" , "port" : "4400" , "dnsName": "NAME.DES.SERVERS" //Wird für Aktive Benutzer und Generierung von Links(z.B.: Genehmigungsverfahren, Sicherer Login) verwendet anstelle der IP wenn angegeben("adresses->homepage" wird bevorzugt) , "leasedDuration" : "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 , "splitDaemons" : "true" //um ServerDaemons am WebServer in geteilte Prozesse aufzuteilen } , "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" : { "port" : "4480" , "plainSessions" : "true" // Standard "true", Erlauben/Verbieten von unverschlüsselten Verbindungen bei aktivierter Verschlüsselung } , "webServer" : { "port" : "8080" , "sslport" : "4430" , "redirecthttp" : "true" , "threads" : "20" // Anzahl der Threads für WebServer(ohne Angabe Wt Default = 10) , "throttleDownloads" : "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" : { "threads" : "12" // ab 2018.7.90.52 ohne Wirkung(automatisch nach Bedarf geregelt) } , "service" : { "name" : "TESTService" , "dependencies" : "NameVomDBService" // bei uns am SRVDB könnte man hier z.B. "MSSQL$MSSQL_2008R2" eintragen } , "computationAustriaModel" : { "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" : // 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" : "Model1.dll" , "2" : "Model2.dll" , "3" : "Model3.dll" } , "uiPlugins" : { "1" : "UI1.dll" , "2" : "UI2.dll" , "3" : "UI3.dll" } , "webuiPlugins" : { "1" : "WebUI1.dll" , "2" : "WebUI2.dll" , "3" : "Bfx.Alex.UI.Web.dll" } , "httpServicePlugins" : { "1" : "httpService1.dll" , "2" : "httpService2.dll" } , "architectureuiPlugins" : { "1" : "ArchitectureUI.dll" } , "serverDaemonPlugins" : { "1" : "serverDaemon1.dll" , "2" : "serverDaemon2.dll" , "3" : "serverDaemon3.dll" } , "serverDaemonHostPlugins" : // Key = Computer-Name des Host-Servers, Value = Array von Plugins { "SERVER_DAEMON_HOST1" : [ "serverDaemon1.dll", "serverDaemon2.dll", "serverDaemon3.dll" ] , "SERVER_DAEMON_HOST2" : [ "serverDaemon1.dll", "serverDaemon3.dll" ] , "SERVER_DAEMON_HOST3" : [ "serverDaemon2.dll" ] } , "attendanceRecorderClient" : { "noFullscreen" : "false" } , "qa" : { "tolerance" : "0.05" , "tolerancePerMille" : "0.00" } , "freeze" : { "time" : "TT.MM.JJJJ HH:MM" } , "logging" : { "awsLogLevel" : "0" // LogLevel des AWS-SDKs - Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6 , "traceLockedObject" : "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" : { "postfix" : "...postfix" } , "mail" : { "allTo" : "zum.beispiel@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" : // Unterscheidung automatisches Upgrade Echt-/Testsystem, siehe Automatisches_Upgrade { "sourceBackupPath" : "D:/BitFactory/Backupverzeichnis" //- Siehe Automatische_Aktualisierung_Testsystem , "autoUpdateDB" : "false/true" , "timeUpdateDB" : "01:00" } , "debug" : //-- Nur nach Absprache mit Technik { "dontCatch" : "true" //- Achtung CoRo! 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" : "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... } , "alexWebUI" : { "alexApp" : "true" // Es wird automatisch von /Alex auf /AlexApp umgeleitet für die QML Oberfläche } }
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