Implements the file content storage system using connected CIFS (SMB) servers or the local filesystem.
This module is purely configured through the file "config/tinyjee-configuration.xml". All available options can be seen there including documentation.
The following list is a subset of options highlighted here:
Other, better performing path schemes can easily be used instead of the symmetric default, when assuming that the hash algorithms ensure a proper distribution of hash values. Setting the value of this property to "00/00/00/" produces paths like "A0/12/C1/B454129874F4..4DEF" which is only 3 levels of folders with 256 entries per level.
The last level does not have a defined maximum that would be in a range that file systems can handle in general, however assuming the proper distribution, 256^3 already offers room for 16,777,216 folders. Assuming a growth of roughly 64000 new files per day this scheme satisfies the needs for the next 700 years when assuming max. 1000 files per folder ((16,8m * 1000) / 64k / 365).
Benchmark tests have shown that the 3 folder path scheme produces around 10 times better file access performance than the default and it reaches it's maximum slowdown in around 260 days of operation (or when 16,8m files were stored, which can easily be validated in benchmarks).
Note: The ACL creates internal access URIs based on the configured path scheme, however when accessing the content, it does not use these URIs directly. Instead the hash value is parsed and the current scheme is applied. This means changing the path scheme later requires that existing files are manually renamed.
It's also important to mention that there are other GRID modules that access files either using the URIs or using an own implementation that generates paths out of hash values.
As a result, changing this value requires CAUTION and COMMUNICATION with the whole GRID team.