View source | View content page | Page history | Printable version   

Projects:File Management API/Specs

Back button.png   Back to Projects:File_Management_API



The main objective of this project is to provide an API that should be used as an standard for every process inside Openbravo that needs to create or handle files.

Functional Requirements

Current State

Currently there is not an standard way to handle the storage of files in Openbravo. Besides, it does not exist any configuration that allows to define how the storage should be done, with the except of attachments whose storage method can be defined using the Attachment Configuration window.

File Types

It has been identified four types of files:

Storage Configuration

In order to allow users to define how the storage configuration of the different file types should be done, the Storage Configuration window will be created.

The existing Attachment Configuration window fits well with the desired way for configuring the storage methods, therefore it is going to be renamed as Storage Configuration and a new field called Storage Type it is also being added. The default value for this field will be Attachment because is the only file type that was possible to configure so far. With this change we are avoiding to have multiple ways of configuring file storage mechanisms. Note that the name of the table related to that window is not going to be changed to avoid a disruptive API change.

In the same way the Attachment Method table will be renamed as Storage Method.

Known Limitations

Technical Specs

API Features

The file management API should provide the following features:

Temporary Storage

The temporary files are a special kind of file type. This is because we always want to generate and work with them in the local file system. For this reason a new class called TemporaryStorage will be created. It will keep all the methods required to deal with temporary files.

Storage Handler

The new StorageHandler interface will provide the different actions involved in file handling:

The classes implementing this interface will be annotated in order to link them with the Storage Configuration records created in the application.

Storage Type Management

The four type of files will be handled with different components that form the API:

Retrieved from ""

This page has been accessed 348 times. This page was last modified on 30 October 2019, at 11:44. Content is available under Creative Commons Attribution-ShareAlike 2.5 Spain License.