updated list of cubes in the doc
authorAdrien Di Mascio <Adrien.DiMascio@logilab.fr>
Mon, 26 Jan 2009 07:55:35 +0100
changeset 466 bef394c66f10
parent 465 1158231e7360
child 467 a6f056bc7d1d
updated list of cubes in the doc
doc/book/en/A03a-concepts.en.txt
doc/book/en/B0011-schema-stdlib.en.txt
doc/book/en/B1030-form-management.en.txt
--- a/doc/book/en/A03a-concepts.en.txt	Fri Jan 23 19:21:29 2009 +0100
+++ b/doc/book/en/A03a-concepts.en.txt	Mon Jan 26 07:55:35 2009 +0100
@@ -11,7 +11,7 @@
 .. image:: images/archi_globale.en.png
 
 
-`CubicWeb` framework is a server/client application framework. Those two 
+`CubicWeb` framework is a server/client application framework. Those two
 parties communicates through RQL (`CubicWeb` query language implementation)
 and ResultSet (which will be explained in :ref:`TermsVocabulary`).
 
@@ -44,7 +44,7 @@
   stored in the database at the time an instance is created. `CubicWeb`
   provides a certain number of system entities included automatically as
   it is necessary for the core of `CubicWeb` and a library of
-  cubes (which defined application entities) that can be explicitely 
+  cubes (which defined application entities) that can be explicitely
   included if necessary.
 
 *entity type*
@@ -69,7 +69,7 @@
 *relation definition*
   A relation definition is a 3-uple (subject entity type, relation type, object
   entity type), with an associated set of property such as cardinality, constraints...
-  
+
 *repository*
   This is the RQL server side of `CubicWeb`. Be carefull not to get
   confused with a Mercurial repository or a debian repository.
@@ -77,7 +77,7 @@
 *source*
   A data source is a container of data (SGBD, LDAP directory, `Google
   App Engine`'s datastore ...) integrated in the
-  `CubicWeb` repository. This repository has at least one source, `system` which 
+  `CubicWeb` repository. This repository has at least one source, `system` which
   contains the schema of the application, plain-text index and others
   vital informations for the system.
 
@@ -86,7 +86,7 @@
 
   - ``repository`` : repository only, accessible for clients using Pyro
   - ``twisted`` : web interface only, access the repository using Pyro
-  - ``all-in-one`` : web interface and repository in a single process. 
+  - ``all-in-one`` : web interface and repository in a single process.
      The repository could be or not accessible using Pyro.
 
 *cube*
@@ -94,7 +94,7 @@
   to provide a specific functionnality or a complete `CubicWeb` application
   potentially using other cubes. The available cubes are located in the file
   system at `/path/to/forest/cubicweb/cubes` for a Mercurial forest installation,
-  for a debian packages installation they will be located in 
+  for a debian packages installation they will be located in
   `/usr/share/cubicweb/cubes`.
   Larger applications can be built faster by importing cubes,
   adding entities and relationships and overriding the
@@ -102,7 +102,7 @@
   cubes.
 
 *instance*
-  An instance is a specific installation of one or multiple cubes. All the required 
+  An instance is a specific installation of one or multiple cubes. All the required
   configuration files necessary for the well being of your web application
   are grouped in an instance. This will refer to the cube(s) your application
   is based on.
@@ -112,7 +112,7 @@
 
 *application*
   The term application is sometime used to talk about an instance
-  and sometimes to talk of a cube depending on the context. 
+  and sometimes to talk of a cube depending on the context.
   So we would like to avoid using this term and try to use *cube* and
   *instance* instead.
 
@@ -127,7 +127,7 @@
 
 *query language*
   A full-blown query language named RQL is used to formulate requests
-  to the database or any sources such as LDAP or `Google App Engine`'s 
+  to the database or any sources such as LDAP or `Google App Engine`'s
   datastore.
 
 *views*
@@ -147,7 +147,7 @@
  This query language is inspired by SQL but is highest level, its implementation
  generates SQL.
 
- 
+
 .. _`Python Remote Object`: http://pyro.sourceforge.net/
 .. _`yams`: http://www.logilab.org/project/yams/
 
@@ -194,14 +194,14 @@
 ~~~~~~~~~~~~~~
 
 The Python API developped to interface with RQL is inspired from the standard db-api,
-with a Connection object having the methods cursor, rollback and commit essentially. 
+with a Connection object having the methods cursor, rollback and commit essentially.
 The most important method is the `execute` method of a cursor :
 
 `execute(rqlstring, args=None, eid_key=None, build_descr=True)`
 
 :rqlstring: the RQL query to execute (unicode)
 :args: if the query contains substitutions, a dictionnary containing the values to use
-:eid_key: 
+:eid_key:
    an implementation detail of the RQL queries cache implies that if a substitution
    is used to introduce an eid *susceptible to raise the ambiguities in the query
    type resolution*, then we have to specify the correponding key in the dictionnary
@@ -210,14 +210,14 @@
 
 The `Connection` object owns the methods `commit` and `rollback`. You *should
 never need to use them* during the development of the web interface based on
-the `CubicWeb` framework as it determines the end of the transaction depending 
+the `CubicWeb` framework as it determines the end of the transaction depending
 on the query execution success.
 
 .. note::
   While executing updates queries (SET, INSERT, DELETE), if a query generates
   an error related to security, a rollback is automatically done on the current
   transaction.
-  
+
 
 The `Request` class (`cubicweb.web`)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -243,7 +243,7 @@
     key or the value `default` if the key is not defined
   * `set_session_data(key, value)`, assign a value to a key
   * `del_session_data(key)`,  suppress the value associated to a key
-    
+
 
 :Cookies handling:
   * `get_cookie()`, returns a dictionnary containing the value of the header
@@ -290,7 +290,7 @@
   `__registry__`) and its identifier (attribute `id`). Usually we do not have
   to take care of the register, only the identifier `id`.
 
-We can find a certain number of attributes and methods defined in this class 
+We can find a certain number of attributes and methods defined in this class
 and common to all the application objects.
 
 At the recording, the following attributes are dynamically added to
@@ -333,7 +333,7 @@
     also call the method `complete()` on the entity before returning it
 
 :Data formatting:
-  * `format_date(date, date_format=None, time=False)` returns a string for a 
+  * `format_date(date, date_format=None, time=False)` returns a string for a
     mx date time according to application's configuration
   * `format_time(time)` returns a string for a mx date time according to
     application's configuration
@@ -342,8 +342,8 @@
 
   * `external_resource(rid, default=_MARKER)`, access to a value defined in the
     configuration file `external_resource`
-    
-  * `tal_render(template, variables)`, renders a precompiled page template with 
+
+  * `tal_render(template, variables)`, renders a precompiled page template with
     variables in the given dictionary as context
 
 .. note::
@@ -357,7 +357,7 @@
               PrimaryView.f(self, arg1)
 
   You'd better write: ::
-  
+
       class Truc(PrimaryView):
           def f(self, arg1):
               super(Truc, self).f(arg1)
@@ -374,7 +374,7 @@
 in order to provide a specific feature or even a complete application using
 others cubes.
 
-You can decide to write your own set of cubes if you wish to re-use the 
+You can decide to write your own set of cubes if you wish to re-use the
 entity types you develop. Lots of cubes are available from the `CubicWeb
 Forge`_ under a free software license.
 
@@ -388,12 +388,12 @@
 A cube is structured as follows:
 
 ::
-  
+
   mycube/
   |
   |-- data/
   |   |-- cubes.mycube.css
-  |   |-- cubes.mycube.js  
+  |   |-- cubes.mycube.js
   |   `-- external_resources
   |
   |-- debian/
@@ -437,12 +437,12 @@
   |
   `-- views.py
 
-    
+
 We can use subpackages instead of python modules for ``views.py``, ``entities.py``,
 ``schema.py`` or ``hooks.py``. For example, we could have:
 
 ::
-  
+
   mycube/
   |
   |-- entities.py
@@ -451,7 +451,7 @@
       |-- forms.py
       |-- primary.py
       `-- widgets.py
-  
+
 
 where :
 
@@ -472,13 +472,13 @@
 * file ``__pkginfo__.py`` provides component meta-data, especially the distribution
   and the current version (server side and web interface) or sub-cubes used by
   the cube.
- 
- 
+
+
 At least you should have:
 
 * the file ``__pkginfo__.py``
 * the schema definition
-  XXX false, we may want to have cubes which are only adding a service, 
+  XXX false, we may want to have cubes which are only adding a service,
   no persistent data (eg embeding for instance)
 
 
--- a/doc/book/en/B0011-schema-stdlib.en.txt	Fri Jan 23 19:21:29 2009 +0100
+++ b/doc/book/en/B0011-schema-stdlib.en.txt	Mon Jan 26 07:55:35 2009 +0100
@@ -37,34 +37,54 @@
 An application is based on several basic cubes. In the set of available
 basic cubes we can find for example :
 
-* `comment`, provides an entity type for `Comment` allowing us to comment others
-  site's entities
-
-* `mailinglist`, provides an entity type for `Mailinglist` which groups informations
-  in a discussion list
+* addressbook_: PhoneNumber and PostalAddress
 
-* `file`, provides entity types for `File` et `Image` used to represent
-  files (text or binary) with additionnal informations such as MIME type or
-  encoding.
-  
-* `link`, provides an entity type for hypertext link (`Link`)
+* basket_: Basket (like a shopping cart)
 
-* `blog`, provides an entity type weblog (`Blog`)
-
-* `person`, provides an entity type for a person (`Person`)
+* blog_: Blog (a *very* basic blog)
 
-* `addressbook`, provides an entity type used to represent phone 
-  numbers (`PhoneNumber`) and mailing address (`PostalAddress`)
-  
-* `classtags`, categorization system based on tags (`Tag`)
+* comment_: Comment (to attach comment threads to entities)
 
-* `classfolders`, categorization system based on folders hierarchy in order 
-  to create navigation sections (`Folder`)
-
-* `email`, archiving management for emails (`Email`, `Emailpart`,
+* email_: archiving management for emails (`Email`, `Emailpart`,
   `Emailthread`)
 
-* `basket`, basket management (`Basket`) allowing to group entities
+* event_: Event (define events, display them in calendars)
+
+* file_: File (to allow users to upload and store binary or text files)
+
+* folder_: Folder (to organize things but grouping them in folders)
+
+* keyword_: Keyword (to define classification schemes)
+
+* link_: Link (to collect links to web resources)
+
+* mailinglist_: MailingList (to reference a mailing-list and the URLs
+  for its archives and its admin interface)
+
+* person_: Person (easily mixed with addressbook)
+
+* tag_: Tag (to tag anything)
+
+* task_: Task (something to be done between start and stop date)
+
+* zone_: Zone (to define places within larger places, for example a
+  city in a state in a country)
+
+.. _addressbook: http://www.cubicweb.org/project/cubicweb-addressbook
+.. _basket: http://www.cubicweb.org/project/cubicweb-basket
+.. _blog: http://www.cubicweb.org/project/cubicweb-blog
+.. _comment: http://www.cubicweb.org/project/cubicweb-comment
+.. _email: http://www.cubicweb.org/project/cubicweb-email
+.. _event: http://www.cubicweb.org/project/cubicweb-event
+.. _file: http://www.cubicweb.org/project/cubicweb-file
+.. _folder: http://www.cubicweb.org/project/cubicweb-folder
+.. _keyword: http://www.cubicweb.org/project/cubicweb-keyword
+.. _link: http://www.cubicweb.org/project/cubicweb-link
+.. _mailinglist: http://www.cubicweb.org/project/cubicweb-mailinglist
+.. _person: http://www.cubicweb.org/project/cubicweb-person
+.. _tag: http://www.cubicweb.org/project/cubicweb-tag
+.. _task: http://www.cubicweb.org/project/cubicweb-task
+.. _zone: http://www.cubicweb.org/project/cubicweb-zone
 
 To declare the use of a component, once installed, add the name of the component
 to the variable `__use__` in the file `__pkginfo__.py` of your own component.
--- a/doc/book/en/B1030-form-management.en.txt	Fri Jan 23 19:21:29 2009 +0100
+++ b/doc/book/en/B1030-form-management.en.txt	Mon Jan 26 07:55:35 2009 +0100
@@ -13,7 +13,7 @@
 The form generated by default does not fit your needs? You are not
 required to re-do all by hands! :)
 
-* rtags primary, secondary, generated, generic, 
+* rtags primary, secondary, generated, generic,
   `Entity.relation_category(rtype, x='subject')`
 * inline_view (now a rtag?)
 * widget specification
@@ -36,8 +36,8 @@
    starting by `eid:` and also having a parameter `__type` associated
    (also *qualified* by eid)
 
-2. For all the attributes and the relations of an entity to edit: 
-   
+2. For all the attributes and the relations of an entity to edit:
+
    1. search for a parameter `edits-<relation name>` or `edito-<relation name>`
       qualified in the case of a relation where the entity is object
    2. if found, the value returned is considered as the initial value
@@ -50,24 +50,24 @@
 
    1. if a qualified parameter `__linkto` is specified, its value has to be
       a string (or a list of string) such as: ::
-        
+
         <relation type>:<eids>:<target>
-      
+
       where <target> is either `subject` or `object` and each eid could be
       separated from the others by a `_`. Target specifies if the *edited entity*
       is subject or object of the relation and each relation specified will
       be inserted.
 
     2. if a qualified parameter `__clone_eid` is specified for an entity, the
-       relations of the specified entity passed as value of this parameter are 
+       relations of the specified entity passed as value of this parameter are
        copied on the edited entity.
 
     3. if a qualified parameter `__delete` is specified, its value must be
        a string or a list of string such as follows: ::
-          
+
           <ssubjects eids>:<relation type>:<objects eids>
 
-       where each eid subject or object can be seperated from the other 
+       where each eid subject or object can be seperated from the other
        by `_`. Each relation specified will be deleted.
 
     4. if a qualified parameter `__insert` is specified, its value should
@@ -84,14 +84,14 @@
 
 
 .. note::
-   
+
    * If the parameter `__action_delete` is found, all the entities specified
      as to be edited will be deleted.
-   
+
    * If the parameter`__action_cancel` is found, no action is completed.
 
-   * If the parameter `__action_apply` is found, the editing is applied 
-     normally but the redirection is done on the form 
+   * If the parameter `__action_apply` is found, the editing is applied
+     normally but the redirection is done on the form
      (see :ref:`RedirectionControl`).
 
    * The parameter `__method` is also supported as for the main template
@@ -120,7 +120,7 @@
 
 * `__redirectparams`: forms parameters to add to the path
 
-* `__redirectrql`: redirection RQL request 
+* `__redirectrql`: redirection RQL request
 
 * `__redirectvid`: redirection view identifier
 
@@ -132,6 +132,6 @@
 * `__form_id`: initial view form identifier, used if `__action_apply` is
   found
 
-In general we use either `__redirectpath` and `__redirectparams` or 
+In general we use either `__redirectpath` and `__redirectparams` or
 `__redirectrql` and `__redirectvid`.