doc/book/en/B020-define-schema.en.txt
author Adrien Di Mascio <Adrien.DiMascio@logilab.fr>
Mon, 08 Dec 2008 10:12:32 +0100
changeset 184 92aebc6b533c
parent 127 ae611743f5c6
permissions -rw-r--r--
fix interface_selector bug If a view using this selector defines an `accepts` attribute, the view should be selectable only if the entity is of one of the accepted types (+need to consider schema inheritance)

.. -*- coding: utf-8 -*-

Data model definition (*schema*)
================================

The schema is the core piece of a `CubicWeb` application as it defines
the data model handled. It is based on entities types already defined
in the `CubicWeb` standard library and others, more specific, we would 
expect to find in one or more Python files under the `schema` directory.

At this point, it is important to make clear the difference between
relation type and relation definition: a relation type is only a relation
name with potentially other additionnal properties (see XXXX), whereas a 
relation definition is a complete triplet 
"<subject entity type> <relation type> <object entity type>". 
A relation type could have been implied if none is related to a 
relation definition of the schema.


.. include:: B021-schema-stdlib.en.txt
.. include:: B022-schema-definition.en.txt