Skip to main content

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.

Source Code Locations

  • Classes\vxSetup.pas:17 - TvxSetup class.
  • Classes\vxSetup.pas:330 - TvxSetup.New defaults.
  • Classes\vxSetup.pas:845 - TvxSetup.Transfer.
  • Classes\vxSetup.pas:1025 - database save hook for default/API/web paths.
  • Forms\frmSetupGeneral.pas:21 - TSetupGeneral form.
  • Forms\frmSSLSettings.pas:60 - SSL settings dialog used by setup and transports.

Important Classes

  • TvxSetup
  • TvxModule
  • TvxSQLQuery

Important Forms

  • TSetupGeneral
  • TSSLSettings

Important Services

  • VeloxService reads setup during configuration load and execution.
  • VeloxAPIService reads setup for API port, domain, SSL, and runtime behaviour.
  • Database table: VX_SETUP.
  • Additional save columns: DEFAULTFILEPATH, APIADDRESS, WEBADDRESS, WEBINSTALLPATH.
  • Shared enum values: see Configuration Reference Index.

Module Identity

SettingValid valuesDefaultImpact
TableInternal stringVX_SETUPSelects the setup database table.
ModuleDescriptionInternal stringGeneral SetupDisplay/module metadata.
ModuleNameInternal stringSetupSpecial-case setup module name.
FIDInternal GUIDEmptyGuid via GetFID overrideSetup is loaded as the singleton root setup module.

Email Settings

SettingValid valuesDefaultImpact
FromEmailEmail address string; code does not validate format here''Default sender address for notifications. Runtime getter is locked for thread-safe script access.
FromDisplayNameString''Default sender display name. Runtime getter is locked.
AdminEmailEmail address list/string; code does not validate format here''Admin notification target. Runtime getter is locked.
NotifyEmailEmail address list/string; code does not validate format here''Non-admin notification target. Runtime getter is locked.
OverrideEmailEmail address list/string''Overrides normal notification email routing when used by runtime email code.
EmailBodyTStringListEmpty listDefault email body text. Assigned under lock.
SMTPActiveBooleanTrueEnables SMTP behaviour where setup email is used.
SMTPRelayBooleanTrueIndicates relay-style SMTP use. Exact downstream impact is in email sending code, not fully traced here.
SMTPServerHost string''SMTP server host. Runtime getter is locked.
SMTPPortInteger port587SMTP server port.
SMTPAuthTypeTvxAuthTypefatNoneSMTP authentication type.
SMTPOAuthClientIdString''OAuth client id for SMTP.
SMTPOAuthTenantString''OAuth tenant for SMTP.
SMTPUserIDString''SMTP username/user id.
SMTPPasswordEncrypted persisted string; runtime getter decrypts''SMTP secret. Setter encrypts outside component loading.

SSL/TLS Settings

SettingValid valuesDefaultImpact
RootCertificateFile path/string''Root certificate used by SSL configuration.
SSLClientCertFileFile path/string''Client certificate file.
SSLClientKeyFileFile path/string''Client key file.
SSLClientKeyPasswordEncrypted persisted string; runtime getter decrypts''Secret for client key file.
SSLClientTypeTvxSSLClientTypefstAutoSSL/TLS version selection. Old aliases are migrated during transfer.
SSLTLSTypeTvxTLSTypefttImplicitTLSTLS negotiation mode.
SSLCertDepthInteger2Certificate chain depth.
SSLVerifyPeerBooleanTrueEnables peer certificate verification.
SSLFailNoPeerBooleanTrueFails when no peer certificate is supplied where required.
SSLVerifyOnceBooleanTrueVerifies peer once per SSL session.

Azure Settings

SettingValid valuesDefaultImpact
AzureClientIdEncrypted persisted string; runtime getter decrypts''Azure/OAuth client id or related secret-like identifier. Setter encrypts.
AzureSecretEncrypted persisted string; runtime getter decrypts''Azure secret. Setter encrypts.
AzureTenantString''Azure tenant identifier.
AzureKeyVaultString''Azure Key Vault name/identifier. Downstream use was not fully traced in this pass.

API and Web Settings

SettingValid valuesDefaultImpact
VeloxAPIDomainHost/domain stringlocalhostDomain used to construct VeloxAPIUrl. Getter/setter locked for script/runtime use.
VeloxAPIPortInteger port8359API service port. VeloxAPIService also falls back to 8359 when setup port is 0.
VeloxAPIEnableSSLBooleanTrueControls whether VeloxAPIUrl uses https:// or http://.
VeloxAPICertificateFile path/string''API certificate reference. Exact binding mechanism is outside the inspected setup unit.
VeloxAPIUrlDerived read-only stringhttps://localhost:8359 with defaultsUsed for persisted APIADDRESS and display/runtime references.
VeloxWebDomainHost/domain stringGetComputerNameExFQNameDomain used to construct VeloxWebUrl.
VeloxWebPortInteger port443Web platform HTTPS port.
VeloxWebInstallPathFolder pathc:\inetpub\Velox_Test\ in test mode, otherwise c:\inetpub\Velox\Web install path. Setter enforces trailing delimiter.
VeloxWebUrlDerived read-only stringhttps://{VeloxWebDomain}:443/ with defaultsPersisted to WEBADDRESS; code always uses HTTPS for this URL.

File and Runtime Settings

SettingValid valuesDefaultImpact
DefaultFilePathFolder path/string''Used by file connections and LAN transports when <DEFAULTDIR> tags are processed. Setter enforces trailing delimiter when non-empty.
MaxWaitBeforeTerminationCardinal seconds3600Maximum wait before termination. Runtime use is not fully traced here. Getter is locked.
ServiceUsersTStringList of usernamesEmpty listService user allow/check list used by ServiceUsersExists; checks exact, stripped domain, and .\user forms.

Proxy Settings

SettingValid valuesDefaultImpact
ProxyEnabledBooleanNot explicitly assigned in TvxSetup.New; Delphi field default is FalseEnables proxy use where HTTP/email code reads setup proxy configuration.
ProxyHostStringNot explicitly assigned in TvxSetup.New; Delphi field default is ''Proxy host.
ProxyPortIntegerNot explicitly assigned in TvxSetup.New; Delphi field default is 0Proxy port.
ProxyAuthTypeTvxAuthType; selection code handles fatNone, fatBasic, fatWindowsNot explicitly assigned in TvxSetup.New; enum field default is first value fatNoneDetermines Indy proxy authentication class.
ProxyUsernameStringNot explicitly assigned in TvxSetup.New; Delphi field default is ''Proxy username.
ProxyPasswordEncrypted persisted string; runtime getter decryptsNot explicitly assigned in TvxSetup.New; Delphi field default is ''Proxy secret.
ProxyDomainStringNot explicitly assigned in TvxSetup.New; Delphi field default is ''NTLM/Windows proxy domain.
ProxyAddressDerived host:port stringDerivedConvenience property that reads/writes ProxyHost and ProxyPort.

Transport Retry and Notification Settings

SettingValid valuesDefaultImpact
EnableLogUserReportingBooleanFalseEnables user-reporting behaviour for logs where used. Getter/setter locked.
TransportAttemptIntervalInteger20Retry 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.
TransportMaxAttemptsInteger7Maximum attempts before a transport is considered failed. Getter locked.

Diagnostics, Logging, and Behaviour Flags

SettingValid valuesDefaultImpact
DetailedSystemAuditBooleanTrueEnables detailed system audit logging in TvxSystemLog.
SafeReportProcessingBooleanFalseCopied into reports as FSafeReportProcessing; runtime report impact is in report processing code.
ReloadModuleOnErrorBooleanTrueRuntime behaviour flag; exact reload points are outside this unit. Getter locked.
CacheManualActionsBooleanFalseRuntime action caching behaviour flag. Getter locked.
EnableDiffMergeEditBooleanFalseEnables diff/merge editing behaviour where used by Designer.
SQL2014SupportBooleanFalseCopied into TvxSystemLog before save; impacts SQL/log persistence compatibility.
BackgroundColourTColorclSilverDesigner/background display setting.
EnableDebugBooleanFalseSets global vxConfig.EnableDebug; TvxSystemLog uses it for audit debug logging.
EnableMemCheckBooleanFalseEnters or exits FastMM debug mode when changed.
ShutdownMemDumpBooleanFalseShutdown memory dump flag. Runtime effect not fully traced here.
AllModulesUpdatedBooleanFalseModule update state flag. Runtime effect not fully traced here.
InitialisedBooleanFalseSetup initialization state flag. Runtime effect not fully traced here.

Service State

SettingValid valuesDefaultImpact
ServiceStateTvxServiceStatevssEnabledControls whether the service is considered enabled. Designer changes save immediately through SaveModule; service may also set this value for itself.

Persistence Notes

  • BeforeSaveModuleEvent writes derived columns for DEFAULTFILEPATH, APIADDRESS, WEBADDRESS, and WEBINSTALLPATH.
  • Several getters/setters lock around fields because scripts and services can read setup concurrently.
  • Secret fields use EncryptString on write outside component loading and DecryptString on read outside component writing.

Unclear Areas

  • The complete downstream behaviour of AzureKeyVault, ShutdownMemDump, AllModulesUpdated, EnableLogUserReporting, and ReloadModuleOnError was not fully traced in this pass.
  • Exact validation rules for email address strings are not present in TvxSetup.ValidateSave, which currently returns True.