We use two kind of storage, depending on the type of data. Mesh files, visualization files and simulation journal files are stored in the Girder platform, the other ones in the Github repository.
Data can be stored for a particular user or in the concept of collections. This concept allows for sharing of the data between one or several users (Groups concept).
Data are organized in a hierarchical structure with Folders and Files. When Folders or Files are defined, an unique ID is attributed at this entities. These IDs allow for easy access to the data.
A level of permission can be defined for a resource :
READ permission (can view and download resources)
WRITE permission (includes READ permission, can edit the properties of a resource)
Collections and folders can defined with attributes :
Public (meaning viewable even by anonymous users)
Private (meaning viewable only by those with READ access).
Several MongoDB databases are used as storage. MongoDB storage can be seen in two ways:
static (stored local as a file, or local server)
server (stored on external mongodb server)