doc/book/fr/04-01-schema-stdlib.fr.txt
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 23 Jun 2010 13:54:02 +0200
branchstable
changeset 5857 1a24c62aefc5
parent 1398 5fe84a5f7035
permissions -rw-r--r--
[bfss] fix file update to ensure file's content is available on the fs asap... and not only at commit time. So it's consistent with entity creation behaviour. The new file is created at assignement time and removed if the commit is rollbacked.

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

Schémas prédéfinies dans la librairie
-------------------------------------

La librairie définit un certain nombre de schémas d'entités nécessaires
au système ou bien couramment utilisées dans les application `cubicweb`.
Vous pouvez bien entendu étendre ces schémas au besoin.


Schémas "systèmes"
``````````````````

* `CWUser`, utilisateurs du système
* `CWGroup`, groupes d'utilisateurs
* `CWEType`, types d'entité
* `CWRType`, types de relation

* `State`, état d'un workflow
* `Transition`, transition d'un workflow
* `TrInfo`, enregistrement d'un passage de transition pour une entité

* `EmailAddress`, adresse électronique, utilisé par le système de notification
  pour les utilisateurs et par d'autres schéma optionnels

* `CWProperty`, utilisé pour configurer l'application
* `CWPermission`, utilisé pour configurer la sécurité de l'application

* `Card`, fiche documentaire générique
* `Bookmark`, un type d'entité utilisé pour permetter à un utilisateur de
  personnaliser ses liens de navigation dans l'application.


Composants de la librairie
``````````````````````````
Une application est construite sur la base de plusieurs composants de base.
Parmi les composants de base disponible, on trouve par exemple :

* `ecomment`, fournit le type d'entité `Comment` permettant de commenter les
  entités du site
  
* `emailinglist`, fournit le type d'entité `Mailinglist` regroupant des
  informations sur une liste de discussion

* `efile`, fournit les types d'entités `File` et `Image` utilisés pour
  représenter des fichiers (texte ou binaire) avec quelques données
  supplémentaires comme le type MIME ou l'encodage le cas échéant ().
  
* `elink`, fournit le type d'entité lien internet (`Link`)

* `eblog`, fournit le type d'entité weblog (`Blog`)

* `eperson`, fournit le type d'entité personne physique (`Person`)

* `eaddressbook`, fournit les types d'entités utilisés pour représenter des n°
  de téléphone (`PhoneNumber`) et des adresses postales (`PostalAddress`)
  
* `eclasstags`, système de classfication à base d'étiquettes (`Tag`)

* `eclassfolders`, système de classification à base de dossiers hiérarchiques
  destinés à créer des rubriques de navigation (`Folder`)

* `eemail`, gestion d'archives de courriers électroniques (`Email`, `Emailpart`,
  `Emailthread`)

* `ebasket`, gestion de paniers (`Basket`) permettant de regrouper des entités

Pour déclarer l'utilisation d'un composant, une fois celui-ci installé, ajoutez
le nom du composant à la variable `__use__` du fichier `__pkginfo__.py` de
votre propre composant.