equal
deleted
inserted
replaced
13 .. _Cube: |
13 .. _Cube: |
14 |
14 |
15 Cubes |
15 Cubes |
16 ----- |
16 ----- |
17 |
17 |
18 A cube is a software component made of three parts: its data model |
18 A cube is a software component made of three parts: |
19 (:mod:`schema`), its logic (:mod:`entities`) and its user interface |
19 |
20 (:mod:`views`). |
20 - its data model (:mod:`schema`), |
|
21 - its logic (:mod:`entities`) and |
|
22 - its user interface (:mod:`views`). |
21 |
23 |
22 A cube can use other cubes as building blocks and assemble them to provide a |
24 A cube can use other cubes as building blocks and assemble them to provide a |
23 whole with richer functionnalities than its parts. The cubes `cubicweb-blog`_ and |
25 whole with richer functionnalities than its parts. The cubes `cubicweb-blog`_ and |
24 `cubicweb-comment`_ could be used to make a cube named *myblog* with commentable |
26 `cubicweb-comment`_ could be used to make a cube named *myblog* with commentable |
25 blog entries. |
27 blog entries. |
27 The `CubicWeb.org Forge`_ offers a large number of cubes developed by the community |
29 The `CubicWeb.org Forge`_ offers a large number of cubes developed by the community |
28 and available under a free software license. |
30 and available under a free software license. |
29 |
31 |
30 .. note:: |
32 .. note:: |
31 |
33 |
32 The command :command:`cubicweb-ctl list` displays the list of available cubes. |
34 The command :command:`cubicweb-ctl list` displays the list of available cubes. |
33 |
35 |
34 .. _`CubicWeb.org Forge`: http://www.cubicweb.org/project/ |
36 .. _`CubicWeb.org Forge`: http://www.cubicweb.org/project/ |
35 .. _`cubicweb-blog`: http://www.cubicweb.org/project/cubicweb-blog |
37 .. _`cubicweb-blog`: http://www.cubicweb.org/project/cubicweb-blog |
36 .. _`cubicweb-comment`: http://www.cubicweb.org/project/cubicweb-comment |
38 .. _`cubicweb-comment`: http://www.cubicweb.org/project/cubicweb-comment |
37 |
39 |
39 .. _Instance: |
41 .. _Instance: |
40 |
42 |
41 Instances |
43 Instances |
42 --------- |
44 --------- |
43 |
45 |
44 An instance is a runnable application installed on a computer and based on a |
46 An instance is a runnable application installed on a computer and |
45 cube. |
47 based on one or more cubes. |
46 |
48 |
47 The instance directory contains the configuration files. Several instances can be |
49 The instance directory contains the configuration files. Several |
48 created and based on the same cube. For exemple, several software forges can be |
50 instances can be created and based on the same cube. For example, |
49 set up on one computer system based on the `cubicweb-forge`_ cube. |
51 several software forges can be set up on one computer system based on |
|
52 the `cubicweb-forge`_ cube. |
50 |
53 |
51 .. _`cubicweb-forge`: http://www.cubicweb.org/project/cubicweb-forge |
54 .. _`cubicweb-forge`: http://www.cubicweb.org/project/cubicweb-forge |
52 |
|
53 Instances can be of three different types: all-in-one, web engine or data |
|
54 repository. For applications that support high traffic, several web (front-end) |
|
55 and data (back-end) instances can be set-up to share the load. |
|
56 |
|
57 .. image:: ../../images/archi_globale_en.png |
|
58 |
55 |
59 The command :command:`cubicweb-ctl list` also displays the list of instances |
56 The command :command:`cubicweb-ctl list` also displays the list of instances |
60 installed on your system. |
57 installed on your system. |
61 |
58 |
62 .. note:: |
59 .. note:: |
99 |
96 |
100 By default the web engine provides a `CRUD`_ user interface based on |
97 By default the web engine provides a `CRUD`_ user interface based on |
101 the data model of the instance. Entities can be created, displayed, |
98 the data model of the instance. Entities can be created, displayed, |
102 updated and deleted. As the default user interface is not very fancy, |
99 updated and deleted. As the default user interface is not very fancy, |
103 it is usually necessary to develop your own. |
100 it is usually necessary to develop your own. |
104 |
|
105 It is common to run the web engine and the repository in the same |
|
106 process (see instances of type all-in-one above), but this is not a |
|
107 requirement. A repository can be set up to be accessed remotely using |
|
108 Pyro (`Python Remote Objects`_) and act as a standalone server, which |
|
109 can be directly accessed or also through a standalone web engine. |
|
110 |
101 |
111 .. _`CRUD`: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete |
102 .. _`CRUD`: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete |
112 |
103 |
113 .. _SchemaIntro: |
104 .. _SchemaIntro: |
114 |
105 |