A container is a directed acyclic graph (DAG) of entity types and relation types. It is defined by a root entity type and composite relations stemming directly and indirectly from this root.
The container contains:
Typical usages include:
Deletion and cloning are supported out of the box currently. Container serializers may be available as extension cubes.
A clone operation is defined over a parametrised subset of <container>. The scope of a clone is computed from an extensive etype list or using rtype boundaries.
A security module can provide a simple security model where granting permissions (or roles) to container related user groups gives them these permissions accross all contained entities.
More complicated security models can be grafted on containers but this is out of scope.
This section is illustrated by the container cube's test suite. You will find all the relevant examples in test/data.
These are the usual steps involved in a container definition:
|source repository||cubicweb-container repository|
|test environment||container env|
|may be discussed on||CubicWeb|