ALEX-Config-File: Unterschied zwischen den Versionen

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Markierung: 2017-Quelltext-Bearbeitung
 
(54 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Neu ab Version 7.6 aufwärts.
Ein '''{{Alex}}Config-File''' beinhaltet Informationen die Alex benötigt um:


Ein Config-File beinhaltet Informationen die Alex beispielsweise 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


Folgend ein Beispiel für ein Config-File:
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"
   , "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/Alex"          // Seite(anstelle von www.bitfactory.at) anpassen die kommt wenn man sich in WebUI abmeldet
   { "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" :  
   { "timeStampProcessor" : "true" 
   { "awsLogLevel" : "0"         // LogLevel des AWS-SDKs - Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6
  , "manualTimeStampProcessor" : "true"
  , "traceLockedObject" : "true" // Wenn sperren eines Objekts nicht möglich ist weil es von anderem Benutzer gesperrt ist wird ein Stacktrace geloggt
  , "awsLogLevel" : "0" // LogLevel des AWS-SDKs - Off = 0, Fatal = 1, Error = 2, Warn = 3, Info = 4, Debug = 5, Trace = 6
   }// ^^^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.beisbiel@irgend.wo" } // wenn gesetzt, werden ALLE Emails via test.bitfactory@gmail.com und smtp.gmail.com auf diese Adresse geschickt
  , "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 113: 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)
   , "dontUseEMailCrashReport" : "true"  //- Fehlerbericht via E-Mail unterdrücken und Programm abstürzen lassen
  , "dontCatchWin32"                : "true"  //- Programm bei Win32 Exceptions abstürzen lassen(z.B.: Daemons)
   , "terminateOnExit"         : "true"  //- Lässt Client Abstürzen wenn dieser über BitFactory::Exit() beendet wird
   , "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 - [https://www.webtoolkit.eu/wt/doc/reference/html/classWt_1_1WLogger.html#a567c5b28fee703e37523898d30016f40 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:'''
'''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? (erkä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 ==
=== modelPlugins ===
* [[Bfx.Alex.AttendanceRecorder.Interface.Model.dll]]
* [[Bfx.Alex.AttendanceRecorder.Model.dll]]
* [[Bfx.Alex.AccountTypeProject.Model.dll]]
* [[Bfx.Alex.ClassicImport.Model.dll]]
* [[Bfx.Alex.Computation.Austria.Model.dll]]
* [[Bfx.Alex.EmployeePlanSymbolFromTo.Model.dll]]
* [[Bfx.Alex.Entitlement.Model.dll]]
* [[Bfx.Alex.ManningReport.Model.dll]]
* [[Bfx.Alex.MaternityLeave.Model.dll]]
* [[Bfx.Alex.PermissionWorkflow.Model.dll]]
* [[Bfx.Alex.MonthReport.Model.dll]]
* [[Bfx.Alex.QA.Model.dll]]
* [[Bfx.Scenario.Model.dll]]
* [[Bfx.Alex.Outfitting.Model.dll]]
* [[Bfx.Alex.Computation.NOE.Doc.Model.dll]]
* [[Bfx.Alex.Computation.Education.Model.dll]]
* [[Bfx.Alex.EmployeeInfo.Model.dll]]
* [[Bfx.Alex.Automatic.Accounting.Model.dll]]
* [[Bfx.Alex.Customer.Accounting.Model.dll]]
* [[Bfx.Alex.WageAccountingAutomatic.Model.dll]]
* [[Bfx.Alex.Computation.Austria.CheckIdlePeriod.Model.dll]]
* [[Bfx.Alex.Computation.Austria.Medic.Model.dll]]
* [[Bfx.Alex.ShiftExtension.Model.dll]]
* [[Bfx.Alex.EmployeeAttendanceInfo.Model.dll]]
* [[Bfx.Alex.EmployeeImport.Model.dll]]
* [[Bfx.Alex.AttendanceRecorder.AutoBreak.Model.dll]]
* [[Bfx.Alex.VacationFormMail.Model.dll]]
* [[Bfx.Alex.EmployeeCalendar.Model.dll]]
* [[Bfx.Alex.EmployeeEmailAddress.Model.dll]] - ohne Funktion, EMail-Property für Personal fix in Programm vorhanden
* [[Bfx.Alex.RequestHoliday.Model.dll]]
* [[Bfx.Alex.AccountsReport.DayInterval.Model.dll]]
* [[Bfx.Alex.TimeStampLog.Model.dll]]
* [[Bfx.Alex.AttendanceRecorder.AutoMark.Model.dll]]
* [[Bfx.Alex.Computation.Austria.PremiQaMed.Model.dll]]
* [[Bfx.Alex.AlexUserMessage.Model.dll]]
* [[Bfx.Alex.CaretimeEntitlement.Model.dll]]
* [[Bfx.Alex.PlanSymbolsToExchange.Model.dll]]
* [[Bfx.Alex.Computation.Austria.PKAKV.Model|Bfx.Alex.Computation.Austria.PKAKV.Model.dll]]
* [[Bfx.Alex.AttendanceRecorder.StandBySWOeBAGS.Model.dll"]]
* [[Bfx.Alex.ExportToSAPBI.Model.dll]]
* [[VenDoc_Schnittstelle#Personalstammdaten_von_ALEX_an_VenDoc|Bfx.Alex.Logistics.Interface.Model]]
=== architectureuiPlugins===
* [[Bfx.Alex.VacationFormMail.UI.Architecture.dll]]
* [[Bfx.Alex.Computation.Austria.UI.Architecture.dll]]
* [[Bfx.Alex.EmployeeCalendar.Model.dll|Bfx.Alex.EmployeeCalendar.UI.Architecture.dll]]
* [[Bfx.Alex.RequestHoliday.UI.Architecture.dll]]
* [[Bfx.Alex.TimeSheetMail.UI.Architecture.dll]]
* [[Bfx.Alex.EmployeeYearInfoText.UI.Architecture.dll]]
* [[Bfx.Alex.Mobile.UI.Architecture.dll]]
* [[Bfx.Alex.AlexUserMessage.UI.Architecture.dll]]
* [[Bfx.Alex.Wishplan.UI.Architecture.dll]]
* [[Bfx.Alex.ExportToSAPBI.Model.dll|Bfx.Alex.ExportToSAPBI.UI.Architecture.dll]]
=== uiPlugins ===
* [[Bfx.Alex.AttendanceRecorder.Interface.Standalone.UI.dll]]
* [[Bfx.Alex.AttendanceRecorder.Interface.UI.dll]]
* [[Bfx.Alex.AttendanceRecorder.UI.dll]]
* [[Bfx.Alex.ClassicImport.UI.dll]]
* [[Bfx.Alex.ManningReport.UI.dll]]
* [[Bfx.Alex.PermissionWorkflow.UI.dll]]
* [[Bfx.Alex.QA.UI.dll]]
* [[Bfx.Scenario.UI.dll]]
* [[Bfx.Alex.Automatic.Accounting.UI.Web.dll]]
* [[Bfx.Alex.WageAccountingAutomatic.UI.dll]]
* [[Bfx.Alex.EmployeeImport.UI.dll]]
=== webuiPlugins ===
* [[Bfx.Alex.UI.Web.dll]]
* [[Bfx.Alex.AttendanceRecorder.UI.Web.dll]]
* [[Bfx.Alex.WageAccountingAutomatic.UI.Web.dll]]
* [[Bfx.Alex.PermissionWorkflow.UI.Web.dll]]
=== httpServicePlugins ===
--> Voraussetzung: serverdaemonplugins [[Bfx.HTTP.Server.dll]]
* [[Bfx.Abstract.Model.ClientServerProtocol.dll]]  --> gibt es nur < 7.7
* [[Bfx.Alex.EmployeeCalendar.Model.dll]]
* [[Bfx.Alex.Model.AKHLinzWebService.dll]]
* [[Bfx.Alex.AccountsReport.DayInterval.Model.dll]]
* [[Bfx.Alex.Model.OEAMTCWebService.dll]]


=== serverDaemonPlugins ===
*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


* [[Bfx.Alex.AttendanceRecorder.Interface.Model.dll]]
===Vorhandene AddOns===
* [[Bfx.Alex.Computation.NOE.Doc.Model.dll]]
* [[Bfx.Alex.TCXProcedure.Daemon.dll]]
* [[Bfx.Alex.WageAccountingAutomatic.Model.dll]]
* [[Bfx.Alex.EmployeeAttendanceInfo.Model.dll]]
* [[Bfx.Alex.SmartPlanPrint.Model.dll]]
* [[Bfx.Alex.SmartTimeSheet.Model.dll]]
* [[Bfx.HTTP.Server.dll]]
* [[Bfx.Alex.PlanSymbolsToExchange.Model.dll]]
* [[Bfx.Alex.EmployeeCardID.Model.dll]]


[[Kategorie:Installation]]
[[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

Vorhandene AddOns

Interne Seite: Vorhandene AddOns