Database and Directory Structures
When using a relational database, the following tables are created:
Notice
Some properties of the internal object models are not fully resolved into elementary database-level properties.
Instead, some table fields contain multiple values in the form of either JSON objects or scalar values separated with delimiters.
Notice
Under certain circumstances, databases that are separated from each other by name are used for data objects such as logs (the "Log" table) and configurations (the "Configs" table). In these databases, only the respective table is relevant. The other tables will still be created automatically, but will remain empty.
Table [Link] | Description |
|---|---|
Batches | Batches |
[1:n] Documents | Documents per batch |
[1:n] Fields | Index fields per document (flat list of header and table fields) |
[1:n] Attachments | File attachments per document (metadata only, binary data is in temporary storage) |
[1:n] DocHistory | History of processing steps per document for monitoring purposes |
BatchUpdateQueue | Queue for the batch status values to be updated by the BatchUpdate worker |
CustomStore | Auxiliary table for temporary storage of custom values via macro functions |
DataImport | Auxiliary table for saving the hashes of the data records for the xSuite Helix master data transfer ("XSuiteHelixDataImport" task) |
Log | Log entries with active logging to the internal database |
Status | Current activity status of worker instances for monitoring purposes |
Configs | Database-based configuration data |
When using the NoSQL database MongoDB, collections are created that are the same as the tables above. However, no separate collections exist for the subelements of Documents. Instead, this data is stored directly in the Document objects.
For the primary processing objects "Batch" and "Document," the most important properties are explained below.
General Properties
The following properties apply across all objects of the types "Batch," "Document," and "File attachment."
Notice
The object of the "Index field" type has only the Id property of the following properties.
Object property | Description |
|---|---|
Id | Primary key of the object, in numeric serial form |
FixedGuid | Additional key in the form of a UUID The key remains unchanged for the life of the object. |
TempGuid | Temporary key in the form of a UUID The key is updated with each change to the object. |
Created | Time stamp indicating the time of creation of an object |
Modified | Time stamp indicating the time of the last change to an object |
ProcessedBy | Identifier of the process that made the last change to the object The identifier may be the computer name, the user name, the process name or the process ID. |
MetaData | Additional metadata from the object for which no dedicated property exists (optional) |
Batch and Document Properties
The following properties apply to all objects of the types "Batch" and "Document."
Object property | Description |
|---|---|
ExternalId | Technical name of the batch or document The name is usually taken from the input system. |
DisplayName | Display name of the batch or document |
Creator | "Creator" of the batch or document The specification depends on the input system. The "creator" might be the owner of a file, the user of a mailbox, or the login name for web-service access. |
Status | Current processing status of the batch or document |
Step | Current processing step of the batch or document |
ErrorText | Message text of a batch-related or document-related processing error |
BackupData | List of backup files on the batch or document level for file-system-based input system |
BatchLogFile | Path of a batch-specific log file, if this file has been created according to the configuration |
Batch Properties
Object property | Description |
|---|---|
Scenarios | List of names of current processing scenarios across all constituent documents The current processing scenarios may differ from the |
OriginalScenario | Name of the original processing scenario in which the batch was read in |
TrackingIds | List of tracking IDs across all documents |
TrackingKeys | List of tracking keys across all documents |
CustomKeys | List of custom keys across all documents in the batch |
DocCount | Number of all documents in the batch |
Document Properties
Object property | Description |
|---|---|
Number | Serial number of the document in the batch Counting starts at 1. |
SubStep | Identifier of the sub-processing step for a multi-step output |
Scenario | Name of the processing scenario |
FieldCatalog | Name of the field catalog used |
Priority | Priority of processing by a worker instance serving multiple scenarios |
RetryNo | Number of the retry attempts |
NextRetryTime | Earliest time of next execution for automatic repetition of processing in case of error |
TrackingId | Tracking ID |
TrackingKey | Tracking key |
CustomKey | User-defined key |
ExternalKeys | List of external keys generated by output systems |
Index Field Properties
Object property | Description |
|---|---|
Name | Name of the field from the field catalog |
Path | Path for nested table fields (e.g., |
Value | Current value of the field in internal string notation (analogous to constant macro values) |
File Attachment Properties
Object property | Description |
|---|---|
Number | Serial number of the file attachment in the document Counting starts at 1. |
Type | The type of file attachment made Possible values:
|
OriginalFile | Path or name of the source file from the input system |
Name | Name of file attachment |
Size | Size of file attachment in bytes |
StorageKey | Key of the associated object with the binary data in temporary storage |
ExternalKeys | List of external keys generated by output systems |
IsPrimaryFile | Flag indicating whether the file is the primary file of a document |
IsDocSplitFile | Flag indicating whether the file is the result of artificial document splitting |
IsIndexFile | Flag indicating whether the file is an index file |
File System Storage Directory Structure
The binary data of the file attachments is not cached in the database, but in a temporary storage. If the file system is used for caching, the following directory structure will be used:
Folder/File name | Description |
|---|---|
{root directory} | Root directory as per global configuration property |
...\{Tenant} | Tenant subdirectory If the default tenant is used, the subdirectory has the name |
...\{Batch ID} | Database ID of the parent batch |
…\...\...\{UUID}_{Name} | File name of the object in temporary storage The file name consists of a unique UUID and the name of the file attachment. The reference to the object is stored in the database as "StorageKey" and is composed of |
...\...\temp\{instance ID}\inputWs ...\...\temp\{instance-ID}\indexWs ...\...\temp\{instance-ID}\stackOrg\output ...\temp\stackOrg\{Batch ID} | Directories for temporary working files of the Input Web Service, the Office+ Index Client and the Stack Organizer application. The instance ID is a unique ID for each program instance running in parallel. This ID ensures that the temporary files of the program instances do not collide with the temporary files of the other instances. |