Skip to main content

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

Important Forms

  • 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

SettingSourceValid valuesDefaultImpact
AppDataFolder.cfgExecutable folder, read by GetCustomAppDataText file content used as folder name/path segmentVelox\ when file missingOverrides the common/user app data subfolder used by Velox.
DEFAULTAPPDATAFOLDERvxConstant.pasConstant stringVelox\Base app data folder name when no custom file exists.
Common app data rootGetCommonAppDataFolderWindows common app data path plus app data folderWindows common app data + Velox\Root for shared configuration, files, logs, schema, scripts, and data.
User app data rootGetUserAppDataFolderWindows local app data path plus app data folderWindows local app data + Velox\Root for user-specific configuration and exports.

Runtime Folder Constants

FunctionFolder constantDefault relative pathPurpose
AppDataFilePathFOLDER_FILESFiles\Runtime file staging/root folder.
AppDataCertificatePathFOLDER_CERTIFICATECertificate\Certificate storage root.
AppDataPrivateCertPathFOLDER_PRIVATECERTCertificate\Private\Private key/certificate storage.
AppDataPublicCertPathFOLDER_PUBLICCERTCertificate\Public\Public key/certificate storage.
AppDataComparePathFOLDER_COMPARECompare\Module export/compare output location.
AppDataCookiePathFOLDER_COOKIESCookies\HTTP cookie cache location.
AppDataConfigPathFOLDER_CONFIGConfig\Configuration files including Connections.json.
UserDataConfigPathFOLDER_CONFIGuser Config\User-level UI/configuration files.
AppDataDataPathFOLDER_DATAData\Runtime data files.
AppDataExcelPathFOLDER_EXCELExcel\Excel-related files.
UserDataExportPathFOLDER_EXPORTSuser Exports\User export output.
AppDataHelpPathFOLDER_HELPHelp\Help content.
AppDataLogPathFOLDER_LOGLog\Log files such as missing properties/API request traces.
AppDataResourcePathFOLDER_RESOURCEResource\Resource files.
AppDataSchemaPathFOLDER_SCHEMASchema\XML/schema files.
AppDataScriptPathFOLDER_SCRIPTScript\Script files.
AppDataTempPathFOLDER_TEMPTemp\Temporary runtime files.
AppDataVeloxConfigPathFOLDER_VELOXCONFIGConfig\Velox\Velox-specific configuration folder.
AppDataVeloxDBPathFOLDER_VELOXDBData\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

SettingValid valuesDefaultImpact
KeyStringNo default in file parserIdentifies a named system connection. Used by service -c command line key.
DisplayNameNon-empty string for valid connectionNo default in file parserUsed for display and service naming. Blank display makes the connection invalid.
ConfigNumInteger, non-zero required for valid connectionNo default in file parserIdentifies active configuration number. Zero makes the connection invalid.
ProdLabelStringNo default in file parserDisplay label for production configuration.
TestLabelStringNo default in file parserDisplay label for test configuration.
ConfigDatabase key stringNo default in file parserProduction configuration database role. Must resolve to Databases.
ConfigTestDatabase key stringNo default in file parserTest configuration database role.
LogDatabase key stringNo default in file parserProduction log database role.
LogTestDatabase key stringNo default in file parserTest log database role.
DataDatabase key stringNo default in file parserProduction data database role.
DataTestDatabase key stringNo default in file parserTest data database role.

Databases Array

SettingValid valuesDefaultImpact
KeyString'' in TvxDBParamsLookup key used by connection roles.
HostTypeTRegConTypectMSSQLDatabase engine type.
HostString''Server/host name.
DatabaseString''Database/catalog name.
AuthTypeTvxSQLAuthTypeatWindowsAuthentication method.
UsernameString''Login user for auth modes that require it.
PasswordEncrypted stored string; runtime getter decrypts''Login secret.
DriverString, uppercased when loaded''Driver name used by DB setup logic.
TrustCertificateBooleanFalseEnables certificate trust behaviour for SQL connections.

Service Command Line Settings

SettingApplies toValid valuesDefaultImpact
-c / config keyVeloxService, VeloxAPIServiceKey from Connections.jsonRequired, no runtime defaultSelects the system connection. Missing key logs an error and prevents normal startup.
-n / unique nameVeloxService, VeloxAPIServiceStringRequired by startup parameter constructionForms part of the unique display/service identity.
test signatureVeloxService, VeloxAPIServicePresence/absence flagProduction when absentSelects test-mode naming and connection roles.
API service port fallbackVeloxAPIServiceInteger port8359 if setup VeloxAPIPort is 0Determines API HTTP/S listener port.
Service IPC server nameVeloxServiceIPC_SERVERNAME + ConfigKey + test suffixDerivedUsed for service manager communication.
API IPC server nameVeloxAPIServiceIPC_WEBSERVERNAME + ConfigKey + test suffixDerivedUsed 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.

FilePurpose from name/code contextValid valuesDefaultImpact
Connections.iniLegacy or UI connection settingsUnclearUnclearDeclared constant; current system connection loading uses Connections.json.
Velox.iniDesigner-level settingsUnclearUnclearDeclared constant.
VeloxService.iniService-level settingsUnclearUnclearDeclared constant.
ReportDesignerSettings.iniReport designer UI settingsUnclearUnclearDeclared constant.
DataDesignerSettings.iniData designer UI settingsUnclearUnclearDeclared constant.
LogManagerSettings.iniLog manager UI settingsUnclearUnclearDeclared constant.
TransportLogManagerSettings.iniTransport log manager UI settingsUnclearUnclearDeclared constant.
MapManagerSettings.iniMap manager UI settingsUnclearUnclearDeclared constant.
MapDesignSettings.iniMap design UI settingsUnclearUnclearDeclared constant.
ActionManagerSettings.iniFlow manager UI settingsUnclearUnclearDeclared constant.
TransportManagerSettings.iniTransport manager UI settingsUnclearUnclearDeclared constant.
ViewProcessesSettings.iniProcess viewer UI settingsUnclearUnclearDeclared constant.

Registry Settings

Registry usage was found only in trial-related code guarded by VELOXTRIAL.

SettingValid valuesDefaultImpact
HKEY_CURRENT_USER\SOFTWARE\Velox\License\TrialKeyEncrypted stringCreated when missing in trial buildStores encrypted trial identity/expiry data.
HKEY_CURRENT_USER\SOFTWARE\Velox\License\TrialExpiryDate string yyyy-mm-ddExecutable file date plus 3 months when missingControls trial expiry in trial builds.

Global Runtime Flags

SettingValid valuesDefaultImpact
TestModeBooleanFalseSelects test configuration and test naming suffixes.
TestMasterModeBooleanFalsePurpose not fully determined in inspected code.
EnableCustomConfigBooleanFalsePurpose not fully determined in inspected code.
GetAppBitnessBuild-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.