Tine2.0
Kieler Linux und Open Source Tage

Egwbase Record Container

[edit] Intoduction

In eGroupWare 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 eGroupWare 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.

[edit] Implementation

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 ishues. continer_name, container_type and container_backend are administrated by the consuming application. However, for performance ishues the container_type must be of type enum.

[edit] Entity Relation Diagram

image:Egwbase_Record_Container.png