System and Runtime Configuration
Summary
This page documents configuration that is not owned by a single business module: application data paths, service command line settings, system connection JSON, declared INI files, registry values, and global runtime flags. The source code is authoritative; unclear behaviours are marked as unclear.
Source Code Locations
Classes\Tools\vxConstant.pas:16 - service names and runtime file/folder constants.
Classes\Tools\vxConfigPath.pas:134 - custom app data folder loading.
Classes\Tools\vxConfigPath.pas:432 - initialization of app data and user data paths.
Classes\vxCon.pas:160 - Connections.json parsing.
Classes\vxDBParams.pas - database parameter object used by system connections.
Classes\Tools\vxTrial.pas - trial registry values when VELOXTRIAL is defined.
Classes\Tools\vxConfig.pas - global runtime flags and bitness helper.
VeloxService\classMain.pas:835 - service config key command line parameter.
VeloxAPIService\classMain.pas:648 - API service config key command line parameter.
Important Classes
TvxConnection, TvxDBParams
TVeloxWorker, TVeloxAPIWorker
TvxSetup
TSetupGeneral
TViewSysCons
TvxServicePassword
TvxUpdatePasswords
Important Services
VeloxService
VeloxAPIService
AppDataFolder.cfg
Connections.json
- Declared UI INI files in
vxConstant.pas
- Trial registry values under
HKEY_CURRENT_USER\SOFTWARE\Velox\License
Application Data Folder Settings
| Setting | Source | Valid values | Default | Impact |
|---|
AppDataFolder.cfg | Executable folder, read by GetCustomAppData | Text file content used as folder name/path segment | Velox\ when file missing | Overrides the common/user app data subfolder used by Velox. |
DEFAULTAPPDATAFOLDER | vxConstant.pas | Constant string | Velox\ | Base app data folder name when no custom file exists. |
| Common app data root | GetCommonAppDataFolder | Windows common app data path plus app data folder | Windows common app data + Velox\ | Root for shared configuration, files, logs, schema, scripts, and data. |
| User app data root | GetUserAppDataFolder | Windows local app data path plus app data folder | Windows local app data + Velox\ | Root for user-specific configuration and exports. |
Runtime Folder Constants
| Function | Folder constant | Default relative path | Purpose |
|---|
AppDataFilePath | FOLDER_FILES | Files\ | Runtime file staging/root folder. |
AppDataCertificatePath | FOLDER_CERTIFICATE | Certificate\ | Certificate storage root. |
AppDataPrivateCertPath | FOLDER_PRIVATECERT | Certificate\Private\ | Private key/certificate storage. |
AppDataPublicCertPath | FOLDER_PUBLICCERT | Certificate\Public\ | Public key/certificate storage. |
AppDataComparePath | FOLDER_COMPARE | Compare\ | Module export/compare output location. |
AppDataCookiePath | FOLDER_COOKIES | Cookies\ | HTTP cookie cache location. |
AppDataConfigPath | FOLDER_CONFIG | Config\ | Configuration files including Connections.json. |
UserDataConfigPath | FOLDER_CONFIG | user Config\ | User-level UI/configuration files. |
AppDataDataPath | FOLDER_DATA | Data\ | Runtime data files. |
AppDataExcelPath | FOLDER_EXCEL | Excel\ | Excel-related files. |
UserDataExportPath | FOLDER_EXPORTS | user Exports\ | User export output. |
AppDataHelpPath | FOLDER_HELP | Help\ | Help content. |
AppDataLogPath | FOLDER_LOG | Log\ | Log files such as missing properties/API request traces. |
AppDataResourcePath | FOLDER_RESOURCE | Resource\ | Resource files. |
AppDataSchemaPath | FOLDER_SCHEMA | Schema\ | XML/schema files. |
AppDataScriptPath | FOLDER_SCRIPT | Script\ | Script files. |
AppDataTempPath | FOLDER_TEMP | Temp\ | Temporary runtime files. |
AppDataVeloxConfigPath | FOLDER_VELOXCONFIG | Config\Velox\ | Velox-specific configuration folder. |
AppDataVeloxDBPath | FOLDER_VELOXDB | Data\Velox\ | Velox-specific database/data folder. |
Connections.json
Connections.json is read from AppDataConfigPath + JSON_CONNECTIONS. The parser expects the JSON to contain a Connections array and a Databases array. If the file is missing, the connection load exits; if required objects are missing or invalid, errors are shown/logged.
Connections Array
| Setting | Valid values | Default | Impact |
|---|
Key | String | No default in file parser | Identifies a named system connection. Used by service -c command line key. |
DisplayName | Non-empty string for valid connection | No default in file parser | Used for display and service naming. Blank display makes the connection invalid. |
ConfigNum | Integer, non-zero required for valid connection | No default in file parser | Identifies active configuration number. Zero makes the connection invalid. |
ProdLabel | String | No default in file parser | Display label for production configuration. |
TestLabel | String | No default in file parser | Display label for test configuration. |
Config | Database key string | No default in file parser | Production configuration database role. Must resolve to Databases. |
ConfigTest | Database key string | No default in file parser | Test configuration database role. |
Log | Database key string | No default in file parser | Production log database role. |
LogTest | Database key string | No default in file parser | Test log database role. |
Data | Database key string | No default in file parser | Production data database role. |
DataTest | Database key string | No default in file parser | Test data database role. |
Databases Array
| Setting | Valid values | Default | Impact |
|---|
Key | String | '' in TvxDBParams | Lookup key used by connection roles. |
HostType | TRegConType | ctMSSQL | Database engine type. |
Host | String | '' | Server/host name. |
Database | String | '' | Database/catalog name. |
AuthType | TvxSQLAuthType | atWindows | Authentication method. |
Username | String | '' | Login user for auth modes that require it. |
Password | Encrypted stored string; runtime getter decrypts | '' | Login secret. |
Driver | String, uppercased when loaded | '' | Driver name used by DB setup logic. |
TrustCertificate | Boolean | False | Enables certificate trust behaviour for SQL connections. |
Service Command Line Settings
| Setting | Applies to | Valid values | Default | Impact |
|---|
-c / config key | VeloxService, VeloxAPIService | Key from Connections.json | Required, no runtime default | Selects the system connection. Missing key logs an error and prevents normal startup. |
-n / unique name | VeloxService, VeloxAPIService | String | Required by startup parameter construction | Forms part of the unique display/service identity. |
test signature | VeloxService, VeloxAPIService | Presence/absence flag | Production when absent | Selects test-mode naming and connection roles. |
| API service port fallback | VeloxAPIService | Integer port | 8359 if setup VeloxAPIPort is 0 | Determines API HTTP/S listener port. |
| Service IPC server name | VeloxService | IPC_SERVERNAME + ConfigKey + test suffix | Derived | Used for service manager communication. |
| API IPC server name | VeloxAPIService | IPC_WEBSERVERNAME + ConfigKey + test suffix | Derived | Used for API service manager communication. |
Declared INI Files
The following file names are declared in vxConstant.pas. This pass confirmed their constants but did not trace every key written to each file.
| File | Purpose from name/code context | Valid values | Default | Impact |
|---|
Connections.ini | Legacy or UI connection settings | Unclear | Unclear | Declared constant; current system connection loading uses Connections.json. |
Velox.ini | Designer-level settings | Unclear | Unclear | Declared constant. |
VeloxService.ini | Service-level settings | Unclear | Unclear | Declared constant. |
ReportDesignerSettings.ini | Report designer UI settings | Unclear | Unclear | Declared constant. |
DataDesignerSettings.ini | Data designer UI settings | Unclear | Unclear | Declared constant. |
LogManagerSettings.ini | Log manager UI settings | Unclear | Unclear | Declared constant. |
TransportLogManagerSettings.ini | Transport log manager UI settings | Unclear | Unclear | Declared constant. |
MapManagerSettings.ini | Map manager UI settings | Unclear | Unclear | Declared constant. |
MapDesignSettings.ini | Map design UI settings | Unclear | Unclear | Declared constant. |
ActionManagerSettings.ini | Flow manager UI settings | Unclear | Unclear | Declared constant. |
TransportManagerSettings.ini | Transport manager UI settings | Unclear | Unclear | Declared constant. |
ViewProcessesSettings.ini | Process viewer UI settings | Unclear | Unclear | Declared constant. |
Registry Settings
Registry usage was found only in trial-related code guarded by VELOXTRIAL.
| Setting | Valid values | Default | Impact |
|---|
HKEY_CURRENT_USER\SOFTWARE\Velox\License\TrialKey | Encrypted string | Created when missing in trial build | Stores encrypted trial identity/expiry data. |
HKEY_CURRENT_USER\SOFTWARE\Velox\License\TrialExpiry | Date string yyyy-mm-dd | Executable file date plus 3 months when missing | Controls trial expiry in trial builds. |
Global Runtime Flags
| Setting | Valid values | Default | Impact |
|---|
TestMode | Boolean | False | Selects test configuration and test naming suffixes. |
TestMasterMode | Boolean | False | Purpose not fully determined in inspected code. |
EnableCustomConfig | Boolean | False | Purpose not fully determined in inspected code. |
GetAppBitness | Build-dependent string | (64bit) for WIN64, otherwise (32bit) | Used to display application bitness. |
XML, JSON, INI, Database
- JSON:
Connections.json is the active system connection file.
- XML/template streaming: module configuration is serialized by ReportBuilder/Delphi component streaming through
TvxModuleTemplate; exact wire details are handled by the framework.
- INI: file constants exist; key schemas were not fully determined in this pass.
- Database: module data is persisted through module tables and module template data. Table names are documented per module page.