Skip to main content

Module Configuration

Summary

This page documents configurable Velox modules that are not covered by setup, connections, data definitions, flows, or transports: folders, definition-backed modules, maps, reports, SQL scripts, scriptlets, variable groups, variables, and API catalogs.

Source Code Locations

  • Classes\vxModule.pas:83 - TvxModule base configuration properties.
  • Classes\vxDefModule.pas:12 - TvxDefModule.
  • Classes\vxFolder.pas:15 - TvxFolder.
  • Classes\vxMap.pas:20 - map item classes.
  • Classes\vxMap.pas:334 - TvxMap.
  • Classes\vxReport.pas:21 - TvxReport.
  • Classes\vxSQLScript.pas:11 - TvxSQLScript.
  • Classes\vxScriptlet.pas:11 - TvxScriptlet.
  • Classes\vxVariableGroup.pas:15 - TvxVariableGroup.
  • Classes\vxVariables.pas:9 - TvxVariable.
  • Classes\vxAPI.pas:14 - TvxAPIActionItem.
  • Classes\vxAPI.pas:63 - TvxAPI.

Important Classes

  • TvxModule, TvxModuleTemplate
  • TvxDefModule
  • TvxFolder
  • TvxMap, TvxCustomMapItem, TvxViewMap, TvxFieldMap
  • TvxReport
  • TvxSQLScript
  • TvxScriptlet
  • TvxVariableGroup, TvxVariable
  • TvxAPI, TvxAPIActionItem

Important Forms

  • TSetupFolder
  • TSetupMaps, TSetupMapDesign
  • TSetupReports
  • TSetupSQLScript
  • TSetupScriptlet
  • TSetupVariableGroup
  • TSetupAPI

Important Services

  • VeloxService loads maps, reports, SQL scripts, scriptlets, variables, and folders during flow execution.
  • VeloxAPIService loads API catalogs and REST flow definitions.
  • Database tables: VX_FOLDER, VX_MAP, VX_REPORT, VX_SQLSCRIPT, VX_SCRIPTLET, VX_VARIABLE, VX_API.
  • Component/module template streaming through TvxModuleTemplate.

Base Module Settings

Every TvxModule descendant inherits the following published properties.

SettingValid valuesDefaultImpact
FIDSGUID stringNew GUID created by module logic unless overriddenPersisted module identity.
FolderFIDSGUID stringEmptyGuid unless assignedParent folder relationship.
ModuleNameStringModule-specific default such as New MapUser-visible name.
FolderNameString'' by field defaultParent/display folder name.
VersionDoubleDefault not explicitly visible in inspected excerptModule version used by upgrade/load logic.
VxVersionDoubleDefault not explicitly visible in inspected excerptVelox version marker.
ProdRevisionInteger0 by field defaultProduction revision number.
TestRevisionInteger0 by field defaultTest revision number.
ActiveBooleanFalse by field default unless module-specific code changes itEnables or disables module use.
CreatedDateTDateTimeSet by create/save logic; exact default not fully traced hereCreation timestamp.
UpdatedDateTDateTimeSet by save logic; exact default not fully traced hereUpdate timestamp.
ModuleNotesTStringList inherited from TvxLogRelativeEmpty listNotes attached to a module or child object.

Definition-Backed Module Settings

TvxDefModule is the base for maps and reports.

SettingValid valuesDefaultImpact
SourceTypeTvxDefinitionTypefstDatabaseSource definition type. Legacy fstJSON is migrated to fstFile during transfer.
SourceFIDSGUID stringEmptyGuidSource data definition reference.
DestTypeTvxDefinitionTypefstDatabaseDestination definition type. Legacy fstJSON is migrated to fstFile during transfer.
DestFIDSGUID stringEmptyGuidDestination data definition reference.

Folder Settings

SettingValid valuesDefaultImpact
TableInternal stringVX_FOLDERSelects folder table.
ModuleDescriptionInternal stringFolderDisplay/module metadata.
ModuleNameStringNew FolderFolder name.
ModuleMaskTvxModuleTypeSet[fmtFolder, fmtFileCon, fmtDBDef, fmtFileDef, fmtInboundTransport, fmtOutboundTransport, fmtReport, fmtSQLScript, fmtScriptlet, fmtMap, fmtFlow]Controls module types allowed/displayed under the folder.

Map Settings

Map Module

SettingValid valuesDefaultImpact
TableInternal stringVX_MAPSelects map table.
ModuleDescriptionInternal stringMapDisplay/module metadata.
ModuleNameStringNew MapUser-visible map name.
SourceType, SourceFIDS, DestType, DestFIDSSee definition-backed module settingsSee definition-backed module settingsLinks map source and destination data definitions.
InitialisedBooleanFalseIndicates map initialization status.
GlobalScriptTStringListEmpty listGlobal map script.
SaveDataBoolean, public not publishedTrueControls whether map saves destination data.
IgnoreEmptySourceDataBoolean, public not publishedNot explicitly assigned in TvxMap.New; Delphi field default is FalseAllows mapping even when source data is empty.
UseXSINilForNullsBoolean, public not publishedFalseXML nil behaviour in mapping.

Map Event Item Settings

TvxCustomMapItem is the base for view and field map script events.

SettingValid valuesDefaultImpact
DescriptionString'' by field defaultItem description/name.
BeforeMapFormulaTStringsEmpty listScript run before map event.
OnMapFormulaTStringsEmpty listMain map script.
AfterMapFormulaTStringsEmpty listScript run after map event.
LinkedDataFormulaTStringsEmpty listScript for linked data event.
AfterDetailMapFormulaTStringsEmpty listScript after detail map.
OnStartMapFormulaTStringsEmpty listScript at map start.
OnEndMapFormulaTStringsEmpty listScript at map end.
CompiledStatusInteger0Compile status for map item scripts.
LastPositionInteger1Last editor position.

Field Map Settings

SettingValid valuesDefaultImpact
FieldNameStringDerived from data field when created; otherwise '' by field defaultDestination/source field mapped by this item.
VxFieldTypeTvxFieldTypeDerived from RTTI/default enum value during constructionField type metadata.

TvxViewMap has no additional published settings in the inspected source; it owns field map children and runtime view/link state.

Report Settings

SettingValid valuesDefaultImpact
TableInternal stringVX_REPORTSelects report table.
ModuleDescriptionInternal stringReportDisplay/module metadata.
ModuleNameStringNew ReportUser-visible report name.
SourceType, SourceFIDSSee definition-backed module settingsfstDatabase, EmptyGuidLinks report source data definition.
NoDataPrintBooleanTrueAllows printing/output with no source data.
SplitReportBooleanFalseSplits report output. Exact split mechanism is in report execution code.
IgnoreReportErrorsBooleanFalseAllows report errors to be ignored.
EmbedFontsPDFBooleanFalseWhen enabled, code sets ReportBuilder PDF embed font options to all/subset.

SafeReportProcessing is copied from gSetup.SafeReportProcessing into runtime report state and is not a published report property.

SQL Script Settings

SettingValid valuesDefaultImpact
TableInternal stringVX_SQLSCRIPTSelects SQL script table.
ModuleDescriptionInternal stringSQL ScriptDisplay/module metadata.
ModuleNameStringNew SQL ScriptUser-visible script name.
ScriptTStringListEmpty listSQL script text.
DBConFIDSGUID stringEmptyGuidDatabase connection used by the SQL script.
LastPositionInteger1Last editor position.

Default SQL scripts may be created with names _Site Settings and _Override; _Site Settings points to _Data by assigning DefaultModuleGuid.

Scriptlet Settings

SettingValid valuesDefaultImpact
TableInternal stringVX_SCRIPTLETSelects scriptlet table.
ModuleDescriptionInternal stringScriptletDisplay/module metadata.
ModuleNameStringNew ScriptletUser-visible scriptlet name.
ScriptTStringListEmpty listScriptlet code.
LastPositionInteger1Last editor position.

Default scriptlets may be created with names _Common and _Override.

Variable Group and Variable Settings

Variable Group

SettingValid valuesDefaultImpact
TableInternal stringVX_VARIABLESelects variable table.
ModuleDescriptionInternal stringVariable GroupDisplay/module metadata.
ModuleNameStringNew Variable GroupUser-visible variable group name.

TvxVariableGroup stores variables as child objects. It has no additional published properties in the inspected source beyond inherited module properties.

Variable

SettingValid valuesDefaultImpact
CodeString''Variable code/key.
ValueVariant; encrypted when Encrypted=True for stringsnullVariable value. Getter decrypts encrypted string values.
ItemNameString''Display name.
OperatorStringString=Operator used for parameter/filter contexts.
ParamTypeTFieldTypeftStringData type for value validation/conversion.
EncryptedBooleanFalseEncrypts string values when set through the property.

ValidateValue is public runtime behaviour, not published. It defaults True except for variable lists whose owner is TvxVariableList, where comments say globals/locals cannot validate because param type may not be set.

API Catalog Settings

API Module

SettingValid valuesDefaultImpact
TableInternal stringVX_APISelects API table.
ModuleDescriptionInternal stringAPIDisplay/module metadata.
ModuleNameStringNew APIUser-visible API name.
VersionStringv1.0API version placed into generated OpenAPI document.
APIDescriptionTStringsEmpty listAPI-level description.
GroupDescriptionTStringsEmpty listGroup description text.
ProdURLString''Production server URL for OpenAPI/catalog.
ProdURLDescriptionStringProduction URLProduction URL description.
TestURLString''Test/development server URL for OpenAPI/catalog.
TestURLDescriptionStringDevelopment URLTest/development URL description.
GroupsString''API grouping/category text.
TermsString''Terms of service text/URL.
ContactNameString''API contact name.
ContactUrlString''API contact URL.
ContactEmailString''API contact email.
LicenseNameString''API license name.
LicenseUrlString''API license URL.
DocumentationUrlString''External documentation URL.
OpenAPISchemaTStringsEmpty listOpenAPI schema text/cache.

API Action Item

SettingValid valuesDefaultImpact
APIFIDSGUID stringEmptyGuidParent API reference.
ActionFIDSGUID stringEmptyGuidFlow/action reference exposed by API.
ActionNameString'' by field defaultDisplay name for linked action.
ActiveBooleanTrueEnables API action item.
CreatedDateTDateTimeNow at constructorCreation timestamp.
UpdatedDateTDateTimeNot explicitly assigned in constructor; Delphi date/time default is 0 until updatedUpdate timestamp.

Persistence Notes

  • TvxDefModule saves source/destination relationships as module relations.
  • TvxMap.BeforeAddModuleEvent/BeforeSaveModuleEvent persist source/destination FIDs and types into auxiliary columns.
  • TvxVariable.Value encrypts only string values when Encrypted is true.
  • TvxAPI constructs an OpenAPI document using TOpenAPIDocument version v304.

Unclear Areas

  • Full semantics of map CompiledStatus and all script status integer values are not defined by an enum in the inspected source.
  • TvxVariableGroup itself has no published properties beyond inherited module metadata; variables are persisted as children, but the exact database child serialization layout is handled by module streaming.