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
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 lile 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 fullfil stiff the max-fetch-file-feature we needed to redesign multiline index file handling.
In version 4, if an multi line index file is found, it will be first splited into single line index files. Therefore the error handling for such files has changed. THe multiline index file is splitted and after successful split it will be moved to Success folder (or deleted). If it fails, created index files are gone 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. So we could maintain the old behavior that the schema file change is effective on every file handling.
SID mapping
TODO