Image Storage

The software keeps the processed documents in its image storage. It can be on the file system or in a document-oriented database.

Image storage on the file system

The images for each batch of documents are stored in a subfolder named by the batch Id.

The images are stored in PNG format even if the original file format was different. The original files are stored in the Input File Storage subfolder.

Input File Storage

The original files are stored in the Input File Storage subfolder inside the Image Storage folder by batch id and file id.

Configuring the image storage location

The location of the image storage is configured during the installation of the server:

../_images/deployment-server-settings.png

It can also be changed later in the server’s configuration file.

<add key="ImageStorageRoot" value="D:\SsiServerImages" />
<add key="EncryptedStorage" value="false" />

Warning

Removing an image file from the image storage, which belongs to a batch that has not yet been fully processed will result in an error when that batch is loaded by a client. Changing the image storage location will prevent in any batches which have not yet been fully processed to

Absolute storage path mode

Internally the system stores the locations of files and images relative to the root image storage path. This can be changed so the tables hold the full UNC path instead. This can be useful in case you need to be able to add a new image storage drive once the old one is full, by changing the ImageStorageRoot setting while leaving any old batches accessible.

This mode is controlled by a setting in the server’s configuration file, the default value is false: <add key="UseAbsoluteStoragePaths" value="false" />

Encrypting Image Storage

For security reasons the image storage can optionally be encrypted.

Image storage on in a document-oriented database

Although file system based image storage does not necessarily imply that the server and the storage location should be in the same LAN, they are most often located on the same machine. A NoSQL, document-oriented database allows for the storage to be in a remote location, easily accessible via a RESTful API, with all the additional benefits of storing documents in a database.

Supported document-oriented database management systems:

  • MongoDB - MongoDB is the most popular NoSQL Database

To enable MongoDB storage the following configuration must be added to the server configuration file:

<add key="ImageStorageType" value="MongoDb" /> // Possible values (case-insensitive): FileSystem and MongoDb
<add key="ImageStorageConnectionString" value="mongodb://localhost:27017" /> // When MongoDb is specified as the image storage type, a connection string is required. Sample local connection string: "mongodb://localhost:27017"

Warning

When the image storage type is changed from FileSystem to MongoDB the users will not be able to load any old batches.