General Setup Configuration
Summary
This page documents TvxSetup, the Velox General Setup module. It contains global product settings for email, SSL/TLS, Azure, API and web endpoints, file defaults, proxy, transport retry behaviour, logging, diagnostics, service state, and service users.
Related PKB Documents
- Configuration Reference Index
- System and Runtime Configuration
- Transport Configuration
- Architecture
- Domain Model
Source Code Locations
Classes\vxSetup.pas:17-TvxSetupclass.Classes\vxSetup.pas:330-TvxSetup.Newdefaults.Classes\vxSetup.pas:845-TvxSetup.Transfer.Classes\vxSetup.pas:1025- database save hook for default/API/web paths.Forms\frmSetupGeneral.pas:21-TSetupGeneralform.Forms\frmSSLSettings.pas:60- SSL settings dialog used by setup and transports.
Important Classes
TvxSetupTvxModuleTvxSQLQuery
Important Forms
TSetupGeneralTSSLSettings
Important Services
VeloxServicereads setup during configuration load and execution.VeloxAPIServicereads setup for API port, domain, SSL, and runtime behaviour.
Related Configuration
- Database table:
VX_SETUP. - Additional save columns:
DEFAULTFILEPATH,APIADDRESS,WEBADDRESS,WEBINSTALLPATH. - Shared enum values: see Configuration Reference Index.
Module Identity
| Setting | Valid values | Default | Impact |
|---|---|---|---|
Table | Internal string | VX_SETUP | Selects the setup database table. |
ModuleDescription | Internal string | General Setup | Display/module metadata. |
ModuleName | Internal string | Setup | Special-case setup module name. |
FID | Internal GUID | EmptyGuid via GetFID override | Setup is loaded as the singleton root setup module. |
Email Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
FromEmail | Email address string; code does not validate format here | '' | Default sender address for notifications. Runtime getter is locked for thread-safe script access. |
FromDisplayName | String | '' | Default sender display name. Runtime getter is locked. |
AdminEmail | Email address list/string; code does not validate format here | '' | Admin notification target. Runtime getter is locked. |
NotifyEmail | Email address list/string; code does not validate format here | '' | Non-admin notification target. Runtime getter is locked. |
OverrideEmail | Email address list/string | '' | Overrides normal notification email routing when used by runtime email code. |
EmailBody | TStringList | Empty list | Default email body text. Assigned under lock. |
SMTPActive | Boolean | True | Enables SMTP behaviour where setup email is used. |
SMTPRelay | Boolean | True | Indicates relay-style SMTP use. Exact downstream impact is in email sending code, not fully traced here. |
SMTPServer | Host string | '' | SMTP server host. Runtime getter is locked. |
SMTPPort | Integer port | 587 | SMTP server port. |
SMTPAuthType | TvxAuthType | fatNone | SMTP authentication type. |
SMTPOAuthClientId | String | '' | OAuth client id for SMTP. |
SMTPOAuthTenant | String | '' | OAuth tenant for SMTP. |
SMTPUserID | String | '' | SMTP username/user id. |
SMTPPassword | Encrypted persisted string; runtime getter decrypts | '' | SMTP secret. Setter encrypts outside component loading. |
SSL/TLS Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
RootCertificate | File path/string | '' | Root certificate used by SSL configuration. |
SSLClientCertFile | File path/string | '' | Client certificate file. |
SSLClientKeyFile | File path/string | '' | Client key file. |
SSLClientKeyPassword | Encrypted persisted string; runtime getter decrypts | '' | Secret for client key file. |
SSLClientType | TvxSSLClientType | fstAuto | SSL/TLS version selection. Old aliases are migrated during transfer. |
SSLTLSType | TvxTLSType | fttImplicitTLS | TLS negotiation mode. |
SSLCertDepth | Integer | 2 | Certificate chain depth. |
SSLVerifyPeer | Boolean | True | Enables peer certificate verification. |
SSLFailNoPeer | Boolean | True | Fails when no peer certificate is supplied where required. |
SSLVerifyOnce | Boolean | True | Verifies peer once per SSL session. |
Azure Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
AzureClientId | Encrypted persisted string; runtime getter decrypts | '' | Azure/OAuth client id or related secret-like identifier. Setter encrypts. |
AzureSecret | Encrypted persisted string; runtime getter decrypts | '' | Azure secret. Setter encrypts. |
AzureTenant | String | '' | Azure tenant identifier. |
AzureKeyVault | String | '' | Azure Key Vault name/identifier. Downstream use was not fully traced in this pass. |
API and Web Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
VeloxAPIDomain | Host/domain string | localhost | Domain used to construct VeloxAPIUrl. Getter/setter locked for script/runtime use. |
VeloxAPIPort | Integer port | 8359 | API service port. VeloxAPIService also falls back to 8359 when setup port is 0. |
VeloxAPIEnableSSL | Boolean | True | Controls whether VeloxAPIUrl uses https:// or http://. |
VeloxAPICertificate | File path/string | '' | API certificate reference. Exact binding mechanism is outside the inspected setup unit. |
VeloxAPIUrl | Derived read-only string | https://localhost:8359 with defaults | Used for persisted APIADDRESS and display/runtime references. |
VeloxWebDomain | Host/domain string | GetComputerNameExFQName | Domain used to construct VeloxWebUrl. |
VeloxWebPort | Integer port | 443 | Web platform HTTPS port. |
VeloxWebInstallPath | Folder path | c:\inetpub\Velox_Test\ in test mode, otherwise c:\inetpub\Velox\ | Web install path. Setter enforces trailing delimiter. |
VeloxWebUrl | Derived read-only string | https://{VeloxWebDomain}:443/ with defaults | Persisted to WEBADDRESS; code always uses HTTPS for this URL. |
File and Runtime Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
DefaultFilePath | Folder path/string | '' | Used by file connections and LAN transports when <DEFAULTDIR> tags are processed. Setter enforces trailing delimiter when non-empty. |
MaxWaitBeforeTermination | Cardinal seconds | 3600 | Maximum wait before termination. Runtime use is not fully traced here. Getter is locked. |
ServiceUsers | TStringList of usernames | Empty list | Service user allow/check list used by ServiceUsersExists; checks exact, stripped domain, and .\user forms. |
Proxy Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
ProxyEnabled | Boolean | Not explicitly assigned in TvxSetup.New; Delphi field default is False | Enables proxy use where HTTP/email code reads setup proxy configuration. |
ProxyHost | String | Not explicitly assigned in TvxSetup.New; Delphi field default is '' | Proxy host. |
ProxyPort | Integer | Not explicitly assigned in TvxSetup.New; Delphi field default is 0 | Proxy port. |
ProxyAuthType | TvxAuthType; selection code handles fatNone, fatBasic, fatWindows | Not explicitly assigned in TvxSetup.New; enum field default is first value fatNone | Determines Indy proxy authentication class. |
ProxyUsername | String | Not explicitly assigned in TvxSetup.New; Delphi field default is '' | Proxy username. |
ProxyPassword | Encrypted persisted string; runtime getter decrypts | Not explicitly assigned in TvxSetup.New; Delphi field default is '' | Proxy secret. |
ProxyDomain | String | Not explicitly assigned in TvxSetup.New; Delphi field default is '' | NTLM/Windows proxy domain. |
ProxyAddress | Derived host:port string | Derived | Convenience property that reads/writes ProxyHost and ProxyPort. |
Transport Retry and Notification Settings
| Setting | Valid values | Default | Impact |
|---|---|---|---|
EnableLogUserReporting | Boolean | False | Enables user-reporting behaviour for logs where used. Getter/setter locked. |
TransportAttemptInterval | Integer | 20 | Retry interval for transport attempts. Getter locked. Unit is not explicitly stated in this unit; related code names suggest seconds, but this page does not assume that. |
TransportMaxAttempts | Integer | 7 | Maximum attempts before a transport is considered failed. Getter locked. |
Diagnostics, Logging, and Behaviour Flags
| Setting | Valid values | Default | Impact |
|---|---|---|---|
DetailedSystemAudit | Boolean | True | Enables detailed system audit logging in TvxSystemLog. |
SafeReportProcessing | Boolean | False | Copied into reports as FSafeReportProcessing; runtime report impact is in report processing code. |
ReloadModuleOnError | Boolean | True | Runtime behaviour flag; exact reload points are outside this unit. Getter locked. |
CacheManualActions | Boolean | False | Runtime action caching behaviour flag. Getter locked. |
EnableDiffMergeEdit | Boolean | False | Enables diff/merge editing behaviour where used by Designer. |
SQL2014Support | Boolean | False | Copied into TvxSystemLog before save; impacts SQL/log persistence compatibility. |
BackgroundColour | TColor | clSilver | Designer/background display setting. |
EnableDebug | Boolean | False | Sets global vxConfig.EnableDebug; TvxSystemLog uses it for audit debug logging. |
EnableMemCheck | Boolean | False | Enters or exits FastMM debug mode when changed. |
ShutdownMemDump | Boolean | False | Shutdown memory dump flag. Runtime effect not fully traced here. |
AllModulesUpdated | Boolean | False | Module update state flag. Runtime effect not fully traced here. |
Initialised | Boolean | False | Setup initialization state flag. Runtime effect not fully traced here. |
Service State
| Setting | Valid values | Default | Impact |
|---|---|---|---|
ServiceState | TvxServiceState | vssEnabled | Controls whether the service is considered enabled. Designer changes save immediately through SaveModule; service may also set this value for itself. |
Persistence Notes
BeforeSaveModuleEventwrites derived columns forDEFAULTFILEPATH,APIADDRESS,WEBADDRESS, andWEBINSTALLPATH.- Several getters/setters lock around fields because scripts and services can read setup concurrently.
- Secret fields use
EncryptStringon write outside component loading andDecryptStringon read outside component writing.
Unclear Areas
- The complete downstream behaviour of
AzureKeyVault,ShutdownMemDump,AllModulesUpdated,EnableLogUserReporting, andReloadModuleOnErrorwas not fully traced in this pass. - Exact validation rules for email address strings are not present in
TvxSetup.ValidateSave, which currently returnsTrue.