tia Content Server Core stores files like documents or metadata into the storage hierarchically.
The storage path is created by encoding of the internal path.
For example, files in ArchiveLink-repositories are stored into following path:
Knowledge Provider/ArchiveLink/<DocId>/<CompId>
Now this path is encoded to create the storage path by following steps:
Each directory name is Base32-encoded and the result split into blocks separately.
The block size in characters can be specified by parameter maxfolderblocks
. Allowed sizes are 4
, 8
(default), and 16
.
Larger block size reduces the directory depth while increases the amount of sub directories inside single directory.
The component id is used as file name.
In case the length of component id exceeds the size setup by parameter maxFileNameLength
, it is split into blocks of this size which get interpreted as directories with exception of the last block which is the file name. Default for maxFileNameLength
is 250
.
In split file system V2, Base32-encoding and splitting is also applied to the component id. All blocks except the last are directories, the last block is the file name.
Don’t modify the parameters after initial configuration, as storing and accessing the files in archive would be inconsistent.
Example: Storage path for component id data
of document id 0123456789ABCDEF0123456789ABCDEF
.
First part for ArchiveLink repository storage path is always: Knowledge Provider/ArchiveLink
.
After base32-encoding and splitting, this is:
Using a block size of 4 characters:
|
| |
---|---|---|
|
|
|
Using a block size of 8 characters:
|
|
|
Using a block size of 16 characters:
|
|
|
Next part is the document id :
Using a block size of 4 characters:
|
---|
|
Using a block size of 8 characters:
|
Using a block size of 16 characters:
|
Finally, the component id is short and used as file name:
data.Data