doc/book/devrepo/datamodel/baseschema.rst
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 28 Jan 2016 18:17:30 +0100
changeset 11090 b4b854c25de5
parent 10491 c67bcee93248
child 12539 10159a3d1d72
permissions -rw-r--r--
[repository] set .eid on eschema when schema is loaded from the filesystem enforcing the contract that a repository's schema should have .eid attribute of entity schema set to the eid of the entity used to serialize them in the db. Before this cset, this was not true during tests or for some c-c commands where 'quick_start' is set (eg db-restore, i18ncube...). The change in server __init__ makes this assumption true during instance creation: the serializing code was actually setting eid on schema object, but a reference to a previously built schema was given instead of the one for the latest created repository. Closes #10450092

.. _pre_defined_entity_types:

Pre-defined entities in the library
-----------------------------------

The library defines a set of entity schemas that are required by the system
or commonly used in *CubicWeb* instances.


Entity types used to store the schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* _`CWEType`, entity type
* _`CWRType`, relation type
* _`CWRelation`, relation definition
* _`CWAttribute`, attribute relation definition
* _`CWConstraint`,  `CWConstraintType`, `RQLExpression`

Entity types used to manage users and permissions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* _`CWUser`, system users
* _`CWGroup`, users groups

Entity types used to manage workflows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* :ref:`Workflow <Workflow>`, workflow entity, linked to some entity types which may use this workflow
* _`State`, workflow state
* _`Transition`, workflow transition
* _`TrInfo`, record of a transition trafic for an entity

Other entity types
~~~~~~~~~~~~~~~~~~
* _`CWCache`, cache entities used to improve performances
* _`CWProperty`, used to configure the instance

* _`EmailAddress`, email address, used by the system to send notifications
  to the users and also used by others optionnals schemas

* _`Bookmark`, an entity type used to allow a user to customize his links within
  the instance

* _`ExternalUri`, used for semantic web site to indicate that an entity is the
  same as another from an external site