doc/book/devrepo/datamodel/baseschema.rst
author Philippe Pepiot <ph@itsalwaysdns.eu>
Tue, 31 Mar 2020 19:15:03 +0200
changeset 12957 0c973204033a
parent 12539 10159a3d1d72
permissions -rw-r--r--
[server] prevent returning closed cursor to the database pool In since c8c6ad8 init_repository use repo.internal_cnx() instead of repo.system_source.get_connection() so it use the pool and we should not close cursors from the pool before returning it back. Otherwise we may have "connection already closed" error. This bug only trigger when connection-pool-size = 1. Since we are moving to use a dynamic pooler we need to get this fixed. This does not occur with sqlite since the connection wrapper instantiate new cursor everytime, but this occur with other databases.

.. _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
~~~~~~~~~~~~~~~~~~
* _`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