File Storage
File Storage in 3PL Dynamics can be implemented in multiple ways. The default approach is to use Azure Blob Storage. It is also possible to use an onpremises SMB share that is accessed through the same service that is used for printing. 3PL Dynamics can also interact with an SFTP share or Azure File Share for some specific use cases.
The easiest way to get started with a new company is to use the Initialize Company action on the File Storage Setup page. It will prompt the user for some information about how the file storage should be configured. Most of the configuration will be set to the recommended defaults.
In some cases, you may want to copy files from one file storage service to another. File Copy Jobs can be used as a solution and are covered in the third section.
File Storage Setup
File Storage is configured through two different setup pages. The first is File Storage Setup. The second is File Storage Services (covered in the next section). File Storage Setup is a setup page that should be configured seperately for each Business Central company. This pages can contain seperate lines for each environment type (PROD, RAPP etc.) instructing the file storage framework which File Storage Service should be used for which environment type for the current company.
A File Storage Setup entry has a Default Storage Path. This configuration behaves in the same way as Document Storage Path in Document Storage Setup behaved in older versions of 3PL Dynamics (v21 and older). The Default Storage Path is added as a prefix to any file that is stored as a record link. Other functionality can however ignore the Default Storage Path and store files elsewhere, depending on the implementation of that functionality. This is contrary to how the Base Path in some storage types on the File Storage Service works (see below). The Default Storage Path can be left empty to store all files in the root of the File Storage Service.
File Storage Services
A File Storage Service defines some means to access a file storage. This could be any of the supported file storage types (e.g. Azure Blob Storage, SMB). Such a file storage service has several configuration parameters which vary per storage type. File Storage Services are shared between companies in Business Central and an single service can be used by multiple companies. The possible parameters per storage type are listed below.
1. Azure Blob Storage (3PL Client)
This is the newest default implementation of Azure Blob Storage. In order to use this storage type, you first need to set up a Azure Storage Account in the appropriate setup page. On the File Storage Service you can specify this Azure Storage Account. You also need to specify the name of the container where the blobs will be stored. This can be an existing or new container. 3PL Dynamics will create the container for you if it does not exist.
Availability: v24.0 and newer
2. Azure Blob Storage (Microsoft ABS Client)
This is an alternative implementation for Azure Blob Storage based on the Microsoft ABS Client. Its configuration is identical to the 3PL Client. There are some known issues with this client when using non-latin or special characters in filenames.
On older versions: Azure Blob Storage (new)
3. Azure Blob Storage (Legacy)
This is the legacy implementation of Azure Blob Storage. It should not be used for new implementations and will be obsoleted in v25. When using this storage type, the container names are managed by 3PL Dynamics. You cannot specify an Azure Storage Account for this type. It will use the single storage account in Azure Storage Account Setup.
4. OnPrem Agent Local Storage
This type allows you to access an SMB share or local files through an OnPrem Agent (print service). This approach should only be used for onpremises installations of 3PL Dynamics. You need to specifiy which OnPrem Agent you want to use. This type allows you to specify a Base Path on the storage service. This base path functions as a container for all files in 3PL Dynamics. 3PL Dynamics will never store or retrieve files from outside this base path. The base path itself will also never be stored in record links. Any configuration (e.g. transport location on DI Message Type) should use a relative path to this base path.
The base path is not mandatory an can be left empty. It is however highly recommended to specify a base path for new installations. This is not recommended for existing installations because existing records links will break when you change the base path.
5. OnPrem Agent SFTP
This type allows you to acces an SFTP share through an OnPrem Agent (print service). You need to specifiy which OnPrem Agent you want to use. You also need to provide the service with credentials for the SFTP share. Please note that FTPS is a different protocol which is not supported by 3PL Dynamics.
This storage type cannot be used as a primary file storage for 3PL Dynamics. It can however be used by the File Transfer functionality. This allows you to easily transfer files between an SFTP share and the default file storage of 3PL Dynamics. It may also be used in future features of 3PL Dynamics.
6. Azure File Share
This type allowd you to access a Azure File Share through a configured Azure Storage account (similar to Azure Blob Storage using the newer clients). Its scope is similar to SFTP: it cannot be used as a primary file storage for 3PL Dynamics, but it can be used for other purposes (like File Transfer).
Availability: v24.0 and newer
File Copy Jobs
A File Copy Job is the definition of a copy task between storage services or within a storage service. It is primarily meant to copy files between a production and a test environment, which usually use different storage services. It is therefore useful when you want to reproduce a scenario in a test environment that require files that are only available in production.
A copy job can be created from the File Copy Job List, which is accessible from the File Storage Service List. The configuration is self-explainatory: simply specify a source and target storage service and a source and target path. You can choose to either overwrite conflicting files on the target or to maintain the original files on the target.
Be careful not to accidentally copy files from a test environment to production. Trying to run such a job from a non-production environment will prompt you with a warning, but it is still a good idea to carefully check your configuration before running the job.
Availability: v24.0 and newer