About
This article highlights changes done in DocumentRouter4 in comparison to DocumentRouter3.
Content
Introduction
DR4 development was started by the need of performance improvements. In order to reach this goal the code was restructured and partially new implemented. In addition some old and/or unused features, which are not anymore required, was removed. Therefore some configuration items were deleted and others changed the form and the way how they are persisted inside configuration files.
In next section inprovement changes are underlined.
Then changes in config and behavior are described.
Performance improvements and its impact
Performance improvements are reached by paralelisation of index and document file handling. Subsequentialy multi line index file handling needed a change.
Another performance improvement could be reached by schema file caching.
Changes
Global router config
in Main → KGS Document Router, exist in section Administration a link to global configuration, now.
Here a document router debug level can be configured, now. This only about document router log entries logged via KGS file logger plugin
The maximum thread count used by document router file connection is configured here
DMSAcquireSecTimeout can be configured here
logging and protocoling using UTC can be configured here, now
Creating and editing instances
removed button
removed button import properties
Changes in instance config
SAP tab
removed
BCSAPArchivDir
BCSAPALProt
BCSAPIndexExportDir
BCSAPIndexExportKeys
BCSAPSkipArchiving
added
PerformKeySetBeforeArchiving
changed
BCSAPLinkObject to DropDown
removed tab License
removed tab SSL
new tab Salesforce
added
Salesforce Linking Enabled
removed tab HTTP
removed tab Volume
Common tab
removed
ArchiveUser
ArchivePassword
ArchiveHost
ArchiveVendor
ArchiveTestMode
ShrinkErrorIndexfile
ProgressDir
TriggerByCommandfile
SearchCommandFile
NoteMimetype
changed
changed to drop down
SAPALinkInterface
TranslateUNICODE
changed to check box
NoDocTypeForSAPLink
CheckHash
SetAccesDateOnMove
MoveOnOKUnique
MoveOnError
MoveOnErrorUnique
MoveOnOK
IgnoreDuplicates
CleanupOnError
ImageFileCheck
ShortGUID
added
RefineErrorDir
Multipart memoryprocessing max size per file
removed tab Database
Changes in Behavior
Performance improvement and multi line index file handling
The main objective for this major change was performance optimization. Until DocumentRouter3, index file processing is single-threaded.
This means that the index files are treated in parallel, now. In order to fulfill stiff the max-fetch-file-feature we needed to redesign multi-line index file handling.
In version 4, if a multi line index file is found, it will be first split into single line index files. Therefore the error handling for such files has changed. The multi line index file after successful split will be moved to Success folder (or deleted). If it fails, created index files are deleted and the multi line index file is moved to Failure (or deleted). After the split, the single line index files are handled normal.
Another change is about the schema file reading. In version 3 on every index file read the schema was read and parsed again. In Version 4 the schema file reading and parsing is done once at the start of the instance. The parsing result is cached. This cache is deleted if schema file change takes place. This mean as well, that if the schema file is changed for another instance, all instances will reread its schema. In this manner we could maintain the behavior that the schema file change is effective on every file handling.
SID mapping
While in DR3 SID mapping was realized by a SID mapping definition file it can be done by referencing to an existing SAP connection (defined in SAP connector plugin) via index file, now. Further details can be found here: https://kgs-software.atlassian.net/wiki/spaces/DOCUEN/pages/2311028919/DR4+-+Defining+DataInterfaces+SIDMappings+and+Archive+Link+Mappings#SIDMapping-definition.
Archive Link Connection mapping
In DR3 connection mapping for KGS Access API was reusing SID mapping, which was primarily foreseen for linking.
In DR4 the same, former named SID definition file, can be used for Archive Link connection mapping. The reference to this file can be found in instance configuration tab Archiving. Further information can be found here: https://kgs-software.atlassian.net/wiki/spaces/DOCUEN/pages/2311028919/DR4+-+Defining+DataInterfaces+SIDMappings+and+Archive+Link+Mappings#Archiv-Link-Connection-mapping . Reusing DR3 config files in DR4 will overtake the SID-Definition-file value as value for Archive Link Connection mapping.