Need to use a custom FileSystem in a custom TemporaryFolder
Problem reported by Christian Davén - 8/28/2023 at 1:09 AM
In order to comply with customer and regulatory requirements, we are not allowed to store documents on the web servers' hard drives (the documents can contain sensitive information). It seemed like a pretty nice solution to implement a custom GleamTech.FileSystems.Location for the cache, but then we discovered an almost completely undocumented feature -- the GleamTechConfiguration.Current.TemporaryFolder setting!

It's not clear at all what data you're storing in this temporary folder, but via ProcessMonitor, we can see that the XPZ files are briefly stored there (which may or may not be encrypted at this point), and some DispCache-ContentStreams*.trn files as well (we do not know what is inside these files). This will not be approved by our customers, and we had not anticipated this problem when purchasing DocumentUltimate.

A way forward could be that you slightly change the implementation of GleamTechConfiguration.Current.TemporaryFolder, so that it accepts a TemporaryFolder subclass that can use a GleamTech.FileSystems.FileSystem subclass instead.

TemporaryFolder then needs either an interface (preferred) or the methods must be "virtual" to be overridden in a subclass. Or maybe some other, flexible solution that lets us reuse our custom FileSystem implementation also for TemporaryFolder.

1 Reply

Reply to Thread
Christian Davén Replied
Also, you probably need to split the "temporary" folder where you put the embedded DLLs from the "temporary" folder where you store documents during conversion, since it could be difficult or unnecessary to load DLLs from e.g. Amazon S3.

Reply to Thread