Document Archive was introduced in Agresso 5.5 to replace the document store in Agresso 5.4 which was handled by Compello. It was a great improvement over the 5.4 version because it was far more robust, feature rich and gave users options around where to store their documents. In this article we are going to concentrate on the storage of the documents in the database or outside of the database on shared storage.
Document Archive – File Storage
With the release of Agresso 5.6.3 (M3) there was distinct improvement in the File Storage method of storing images. The improvements included better data control on images within Agresso, however a much more relevant improvement to the purpose of this blog post was regarding storage of images and how they could be secured on the file system.
Previous to Agresso 5.6.3 you could had to either give users read access to the actual share hosting the images or you could proxy the connection with substitute credentials held as parameters and these were held in plain text.
In Agresso 5.6.3 this issue was removed with the introduction of a new service that runs under an Windows account that has access to the images. This means that you can remove all rights to the image share from everyone except the user (and admins) that runs the service. This means that when you ask for an image in Agresso, a request is placed with the service that retrieves it and passes the image back to Agresso for viewing.
Therefore our advice is to only use File Storage from Agresso 5.6.3 onwards, below you will find the advantages and disadvantages of this method.
- Disk Space – You can now store your images on cheaper, higher capacity disks. Only your technical team will thank you for this unless you get cross charged for disk space but it can extend the life of storage drastically.
- Local and Off Site Backups – These will benefit hugely, reducing the time your database takes to backup and the cost of storing these backups. SQL Server can compress data between 70-90% and images (BLOBS) by 0-1%, so with no images a 100 GB database can take up as little space at 10-25 GB, if you have 100 GB of data and 100 GB of images then your backups will be around 115 GB, a big difference!
- Restores – Restores to test systems will take a lot less time when storing images outside the database and if you have a DR event drastically reduces recovery time.
- Security – In previous versions to Agresso 5.6.3 this may have been a disadvantage over database storage but with the latest version of Agresso access can be locked down very tightly and is now an advantage.
- Portability – If you need to move your image store for any reason then you just copy and paste them to the new location and point the Document Archive service at the new location. There are other ways to achieve this via DNS rather than re-pointing the service but it does add an extra step that is not self contained within the Agresso application stack.
The disadvantages of File Storage over Database Storage are:
- Configuration – The configuration of the newly released File Storage mechanism is quite simple to set up technically but you will need to read the Tech Guidelines in your Agresso installation directory in order to do so. Once the service is configured correctly there is an extra step required in the Agresso Smart Client/Desktop which involves you changing or setting up a new Document System and setting a dll against it. Once this is completed the you either need to set up new Document Types or change existing ones to use the new Document System.
- Backup – A new backup source needs to be configured to backup the production image file location, this is not a big task however it is another step.
What happens if I want to move from database storage to file storage?
The short answer is that it is simply complicated. To clarify, the process appears straight forward however the transfer does not remove any images from the database so these need to be manually removed directly via the database. We will look into this in the next Spring Cleaning post.
Hopefully this has blog post has given you some insight into the Pro and Cons of storing images on the file system. Storing images on the file system is suitable for all customers regardless of size with the disadvantages usually being one time considerations to negate.