|
1 Fondements CubicWeb |
|
2 ================ |
|
3 |
|
4 Concepts et vocabulaire |
|
5 ----------------------- |
|
6 |
|
7 *schéma* |
|
8 le schéma définit le modèle de données d'une application sous forme d'entités |
|
9 et de relations, grâce au package `yams`_. C'est l'élément central d'une |
|
10 application. Il est initialement défini sur le système de fichiers et est |
|
11 stocké dans la base de données lors de la création d'une instance. CubicWeb |
|
12 fournit un certain nombres de types d'entités inclus systématiquement |
|
13 car nécessaire au noyau CubicWeb et une librairie de composants devant être |
|
14 inclus explicitement le cas échéant. |
|
15 |
|
16 *source* |
|
17 une source de données est un conteneur de données quelquonque (SGBD, annuaire |
|
18 LDAP...) intégré par l'entrepôt CubicWeb. Un entrepôt possède au moins une source |
|
19 dite "system" contenant le schéma de l'application, l'index plein-texte et |
|
20 d'autres informations vitales au système. |
|
21 |
|
22 *composant* |
|
23 un composant est un modèle regroupant un ou plusieurs types de données et/ou |
|
24 des vues afin de fournir une fonctionalité précise, ou une application CubicWeb |
|
25 complète utilisant éventuellement d'autres composants. Les différents |
|
26 composants disponibles sur une machine sont installés dans |
|
27 `/usr/share/cubicweb/templates` |
|
28 |
|
29 *result set* |
|
30 objet encaspulant les résultats d'une requête RQL et des informations sur |
|
31 cette requête. |
|
32 |
|
33 .. _`Python Remote Object`: http://pyro.sourceforge.net/ |
|
34 .. _`yams`: http://www.logilab.org/project/name/yams/ |
|
35 |
|
36 |
|
37 Structure générale d'une application LAX |
|
38 ---------------------------------------- |
|
39 |
|
40 Un composant complexe est structuré selon le modèle suivant : |
|
41 |
|
42 :: |
|
43 |
|
44 . |
|
45 |-- app.yaml |
|
46 |-- custom.py |
|
47 |-- data |
|
48 |-- cubicweb/ |
|
49 |-- i18n/ |
|
50 |-- logilab/ |
|
51 |-- main.py |
|
52 |-- mx/ |
|
53 |-- rql/ |
|
54 |-- schema.py |
|
55 |-- simplejson/ |
|
56 |-- tools/ |
|
57 | |-- generate_schema_img.py |
|
58 | `-- i18ncompile.py |
|
59 |-- views.py |
|
60 |-- yams/ |
|
61 `-- yapps/ |
|
62 |
|
63 |
|
64 où : |
|
65 |
|
66 * ``schema.py`` contient la définition du schéma |
|
67 * ``views.py`` contient les définitions des vues |
|
68 * ``i18n`` contient les catalogues de messages pour les langues supportées (coté |
|
69 serveur et interface web) |
|
70 * ``data`` contient des fichiers de données arbitraires servis statiquement |
|
71 (images, css, fichiers javascripts)... (coté interface web uniquement) |