Tinebase Record Container
In Tine 2.0 a container is a structured entity of records. The Container is the base for different backends and access control. Thus, any record belongs to a container. In standart SQL backends there are records of many different containers in one table. However other backends could just represent one container.
The container concept supplies the freedom to uncouple access control rights from the ownership of the record. Moreover it also helps to simultaneously aggregate different storage backends for an application.
In most Tine 2.0 applications containers are directly visible to users as the folders in the application acordion. For example the personal addressbook of a user and any addressbook he adds are displayed as one folder in the tree which are mapped to containers on server side. As in this example each addressbook is just a container, its easy to assing fine granulated acls for each of this containers.
In the container ERD lets concentrate on the container itselve. As it stores an applicaiton_id its a concept which could be attended by any app. The container_id is unique and mainly of interest for acl issues. continer_name, container_type and container_backend are administrated by the consuming application. However, for performance issues the container_type must be of type enum.