merge
authorNicolas Chauvat <nicolas.chauvat@logilab.fr>
Thu, 30 Apr 2009 12:27:32 +0200
changeset 1598 8f400d5f6742
parent 1593 8602116daef3 (current diff)
parent 1597 3960f764bbf6 (diff)
child 1599 38a1d0f190e2
merge
doc/book/en/B0012-schema-definition.en.txt
doc/book/en/B1020-define-views.en.txt
doc/book/en/C011-installation.en.txt
doc/book/en/C012-create-instance.en.txt
doc/book/en/C013-cubicweb-ctl.en.txt
doc/book/en/C020-site-config.en.txt
doc/book/en/C030-instance-config.en.txt
doc/book/en/C040-rql.en.txt
doc/book/en/C050-rql.en.txt
doc/book/en/D020-api-reference.en.txt
doc/book/en/D030-architecture.en.txt
doc/book/en/D040-modules-stdlib.en.txt
doc/book/en/D050-modules-cbw-api.en.txt
doc/book/en/D060-mercurial.en.txt
doc/book/en/D070-cookbook.en.txt
doc/book/en/Z013-blog-less-ten-minutes.en.txt
web/views/baseviews.py
--- a/doc/book/en/A020-tutorial.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/A020-tutorial.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -1,9 +1,9 @@
 .. -*- coding: utf-8 -*-
 
-.. _Overview:
+.. _Tutorial:
 
-Quick overview of `CubicWeb`
-============================
+Tutorial
+========
 
 `CubicWeb` is a semantic web application framework that favors reuse and
 object-oriented design.
@@ -17,6 +17,7 @@
 An `instance` is a specific installation of an application and includes
 configuration files.
 
+
 This tutorial will show how to create a `cube` and how to use it as an
 application to run an `instance`.
 
--- a/doc/book/en/A02a-create-cube.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/A02a-create-cube.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -24,8 +24,6 @@
 
 ::
 
-  from cubicweb.schema import format_constraint
-  
   class Blog(EntityType):
     title = String(maxsize=50, required=True)
     description = String()
@@ -63,9 +61,7 @@
   cubicweb-ctl create blog blogdemo
 
 
-This command will create a directory ``~/etc/cubicweb.d/blogdemo``
-which will contain all the configuration files required to start
-you web application.
+This command will create the corresponding database and initialize it.
 
 Welcome to your web application
 -------------------------------
--- a/doc/book/en/A02b-components.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/A02b-components.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -68,7 +68,7 @@
 
 Once you modified your data model, you need to synchronize the
 database with your model. For this purpose, `CubicWeb` provides
-a very usefull command ``cubicweb-ctl shell blogdemo`` which
+a very useful command ``cubicweb-ctl shell blogdemo`` which
 launches an interactive migration Python shell. (see 
 :ref:`cubicweb-ctl-shell` for more details))
 As you modified a relation from the `BlogEntry` schema,
--- a/doc/book/en/B0012-schema-definition.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/B0012-schema-definition.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -23,14 +23,36 @@
     works_for = SubjectRelation('Company', cardinality='?*')
 
 
-* the name of the Python attribute corresponds to the name of the attribute
-  or the relation in `CubicWeb` application.
+The entity described above defines three attributes of type String,
+last_name, first_name and title, an attribute of type Date for the date of
+birth and a relation that connects a `Person` to another entity of type
+`Company` through the semantic `works_for`.
+
+The name of the Python attribute corresponds to the name of the attribute
+or the relation in `CubicWeb` application.
+
+Built-in types for attributes
+`````````````````````````````
 
-* all `CubicWeb` built-in types are available : `String`, `Int`, `Float`,
-  `Boolean`, `Date`, `Datetime`, `Time`, `Byte`; they are and implicitely
-  imported (as well as the special the function "_").
+All `CubicWeb` built-in types are available : `String`, `Int`, `Float`,
+`Decimal`, `Boolean`, `Date`, `Datetime`, `Time`, `Interval`, `Byte` 
+and `Password`.
+They are implicitely imported (as well as the special the function "_"
+for translation :ref:`internationalization`).
+
+An attribute is defined in the schema as follows::
+    
+    attr_name = attr_type(properties*)
 
-* each entity type has at least the following meta-relations :
+where `attr_type` is one of the type listed above and `properties` is
+a list of  the attribute needs to statisfy (see :ref:`properties`
+for more details). 
+
+
+Meta-data
+`````````
+
+Each entity type has at least the following meta-relations :
 
   - `eid` (`Int`)
   
@@ -43,7 +65,7 @@
   - `owned_by` (`EUser`) (to whom the entity belongs; by default the 
      creator but not necessary, and it could have multiple owners)
      
-  - `is` (`EEType`)
+  - `is` (`EEType`) (of which type the entity is)
 
 
 * relations can be defined by using `ObjectRelation` or `SubjectRelation`.
@@ -64,6 +86,11 @@
 * it is possible to use the attribute `meta` to flag an entity type as a `meta`
   (e.g. used to describe/categorize other entities)
 
+Optionnal properties
+````````````````````
+.. _properties:
+
+
 * optional properties for attributes and relations : 
 
   - `description` : a string describing an attribute or a relation. By default
@@ -97,7 +124,7 @@
     or not within all entities of the same type (false by default)
 
   - `indexed` : boolean indicating if an index needs to be created for this 
-    attribute in the database (false by default). This is usefull only if
+    attribute in the database (false by default). This is useful only if
     you know that you will have to run numerous searches on the value of this
     attribute.
 
--- a/doc/book/en/B0040-migration.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/B0040-migration.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -208,3 +208,6 @@
 * `add_entity_type_table(etype, commit=True)`
 * `add_relation_type_table(rtype, commit=True)`
 * `uninline_relation(rtype, commit=True)`
+
+
+[FIXME] Add explanation on how to use cubicweb-ctl shell
--- a/doc/book/en/B1020-define-views.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/B1020-define-views.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -220,12 +220,19 @@
     of type `Password` and `Bytes`.
 
 *content_navigation_components(self, context)*
+    This method is applicable only for entity type implementing the interface 
+    `IPrevNext`. This interface is for entities which can be linked to a previous
+    and/or next entity. This methods will render the navigation links between
+    entities of this type, either at the top or at the bottom of the page
+    given the context (navcontent{top|bottom}).
 
 *render_entity_relations(self, entity, siderelations)*
-    Renders all the relations of the entity.
+    Renders all the relations of the entity in the main section of the page.
         
 *render_side_related(self, entity, siderelations)*
-    Renders side related relations.
+    Renders all the relations of the entity in a side box. This is equivalent
+    to *render_entity_relations* in addition to render the relations
+    in a box.
 
 Also, please note that by setting the following attributes in you class,
 you can already customize some of the rendering:
--- a/doc/book/en/B1090-internationalization.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/B1090-internationalization.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -1,9 +1,9 @@
 .. -*- coding: utf-8 -*-
 
-.. _internationalization:
+.. _internationalisation:
 
 
-Internationalization
+Internationalisation
 ====================
 
 Cubicweb fully supports the internalization of it's content and interface.
--- a/doc/book/en/C000-administration.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/C000-administration.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -13,7 +13,8 @@
    :maxdepth: 1
 
    C010-setup.en.txt
-   C020-site-config.en.txt
-   C030-instance-config.en.txt
-   C040-rql.en.txt
+   C020-create-instance.en.txt
+   C030-site-config.en.txt
+   C040-instance-config.en.txt
+   C050-rql.en.txt
 
--- a/doc/book/en/C010-setup.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/C010-setup.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -6,7 +6,202 @@
 Installation and set-up of a `CubicWeb` environment
 ===================================================
 
-.. include:: C011-installation.en.txt
-.. include:: C012-create-instance.en.txt
-.. include:: C013-cubicweb-ctl.en.txt
+Installation of `Cubicweb` and its dependencies
+-----------------------------------------------
+
+`CubicWeb` is packaged for Debian and Ubuntu, but can be installed from source
+using a tarball or the Mercurial version control system.
+
+.. _DebianInstallation:
+
+Debian and Ubuntu packages
+```````````````````````````
+
+Depending on the distribution you are using, add the appropriate line to your list
+of sources (for example by editing ``/etc/apt/sources.list``).
+
+For Debian Lenny::
+
+  deb http://ftp.logilab.org/dists/ lenny/
+
+For Debian Sid::
+
+  deb http://ftp.logilab.org/dists/ sid/
+
+For Ubuntu Hardy::
+
+  deb http://ftp.logilab.org/dists/ hardy/
+
+
+You can now install the required packages with the following command::
+
+  apt-get update 
+  apt-get install cubicweb cubicweb-dev
+
+`cubicweb` installs the framework itself, allowing you to create
+new applications.
+
+`cubicweb-dev` installs the development environment allowing you to
+develop new cubes.
+
+There is also a wide variety of cubes listed on http://www.cubicweb.org/Project available as debian packages and tarball.
+
+
+Install from source
+```````````````````
+
+You can download the archive containing the sources from our `ftp site`_ at::
+
+  http://ftp.logilab.org/pub/cubicweb/
+
+.. _`ftp site`: http://ftp.logilab.org/pub/cubicweb/
+
+or keep up to date with on-going development by using Mercurial and its forest
+extension::
+
+  hg fclone http://www.logilab.org/hg/forests/cubicweb
+
+See :ref:`MercurialPresentation` for more details about Mercurial.
+
+Postgres installation
+`````````````````````
+
+Please refer to the `Postgresql project online documentation`_.
+
+.. _`Postgresql project online documentation`: http://www.postgresql.org/
+
+You need to install the three following packages: `postgres-8.3`,
+`postgres-contrib-8.3` and `postgresql-plpython-8.3`.
+
+
+Then you can install:
+
+* `pyro` if you wish the repository to be accessible through Pyro
+  or if the client and the server are not running on the same machine
+  (in which case the packages will have to be installed on both
+  machines)
+
+* `python-ldap` if you plan to use a LDAP source on the server
+
+.. _ConfigurationEnv:
+
+Environment configuration
+-------------------------
+
+If you installed `CubicWeb` by cloning the Mercurial forest, then you
+will need to update the environment variable PYTHONPATH by adding  
+the path to the forest ``cubicweb``:
+
+Add the following lines to either `.bashrc` or `.bash_profile` to configure
+your development environment ::
+  
+  export PYTHONPATH=/full/path/to/cubicweb-forest
+
+If you installed the debian packages, no configuration is required.
+Your new cubes will be placed in `/usr/share/cubicweb/cubes` and
+your applications will be placed in `/etc/cubicweb.d`.
+
+To use others directories then you will have to configure the
+following environment variables as follows::
 
+    export CW_CUBES_PATH=~/lib/cubes
+    export CW_REGISTRY=~/etc/cubicweb.d/
+    export CW_INSTANCE_DATA=$CW_REGISTRY
+    export CW_RUNTIME=/tmp
+
+.. note::
+    The values given above are our suggestions but of course
+    can be different.
+
+
+Databases configuration
+-----------------------
+
+
+
+.. _ConfigurationPostgres:
+
+Postgres configuration
+``````````````````````
+
+.. note::
+    If you already have an existing cluster and postgres server
+    running, you do not need to execute the initilization step
+    of your Postgres database.
+
+* First, initialize the database Postgres with the command ``initdb``.
+  ::
+
+    $ initdb -D /path/to/pgsql
+
+  Once initialized, start the database server Postgres 
+  with the command::
+  
+    $ postgres -D /path/to/psql
+
+  If you cannot execute this command due to permission issues, please
+  make sure that your username has write access on the database.
+  ::
+ 
+    $ chown username /path/to/pgsql
+
+* The database authentication can be either set to `ident sameuser`
+  or `md5`. 
+  If set to `md5`, make sure to use an existing user
+  of your database.
+  If set to `ident sameuser`, make sure that your
+  client's operating system user name has a matching user in
+  the database. If not, please do as follow to create a user::
+    
+    $ su
+    $ su - postgres
+    $ createuser -s -P username
+
+  The option `-P` (for password prompt), will encrypt the password with
+  the method set in the configuration file ``pg_hba.conf``. 
+  If you do not use this option `-P`, then the default value will be null
+  and you will need to set it with::
+    
+    $ su postgres -c "echo ALTER USER username WITH PASSWORD 'userpasswd' | psql"
+
+  This login/password will be requested when you will create an
+  instance with `cubicweb-ctl create` to initialize the database of
+  your application.
+
+.. note::
+    The authentication method can be configured in ``pg_hba.conf``.
+
+
+.. FIXME Are these steps really necessary? It seemed to work without.
+
+* Installation of plain-text index extension ::
+
+    cat /usr/share/postgresql/8.3/contrib/tsearch2.sql | psql -U username template1
+
+* Installation of plpythonu language by default ::
+
+    createlang -U pgadmin plpythonu template1
+
+MySql configuration
+```````````````````
+Yout must add the following lines in /etc/mysql/my.cnf file::
+
+    transaction-isolation = READ-COMMITTED
+    default-storage-engine=INNODB
+    default-character-set=utf8
+    max_allowed_packet = 128M
+
+Pyro configuration
+------------------
+
+If you use Pyro, it is required to have a name server Pyro running on your
+network (by default it is detected by a broadcast request).
+
+To do so, you need to :
+
+* launch the server manually before starting cubicweb as a server with
+  `pyro-nsd start`
+
+* edit the file ``/etc/default/pyro-nsd`` so that the name server pyro
+  will be launched automatically when the machine fire up
+
--- a/doc/book/en/C011-installation.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-.. _CubicWebInstallation:
-
-Installation
-============
-
-Installation of `Cubicweb` and its dependencies
------------------------------------------------
-
-`CubicWeb` is packaged for Debian and Ubuntu, but can be installed from source
-using a tarball or the Mercurial version control system.
-
-Debian and Ubuntu packages
-```````````````````````````
-Depending on the distribution you are using, add the appropriate line to your list
-of sources (for example by editing ``/etc/apt/sources.list``).
-
-For Debian Lenny::
-
-  deb http://ftp.logilab.org/dists/ lenny/
-
-For Debian Sid::
-
-  deb http://ftp.logilab.org/dists/ sid/
-
-For Ubuntu Hardy::
-
-  deb http://ftp.logilab.org/dists/ hardy/
-
-
-You can now install the required packages with the following command::
-
-  apt-get update 
-  apt-get install cubicweb
-  apt-get install cubicweb-dev
-
-`cubicweb` installs the framework itself, allowing you to create
-new applications.
-
-`cubicweb-dev` installs the development environment allowing you to
-develop new cubes.
-
-There is also a wide variety of cubes listed on http://www.cubicweb.org/Project available as debian packages and tarball.
-
-
-Install from source
-```````````````````
-
-You can download the archive containing the sources from our `ftp site`_ at::
-
-  http://ftp.logilab.org/pub/cubicweb/
-
-.. _`ftp site`: http://ftp.logilab.org/pub/cubicweb/
-
-or keep up to date with on-going development by using Mercurial and its forest
-extension::
-
-  hg fclone http://www.logilab.org/hg/forests/cubicweb
-
-See :ref:`MercurialPresentation` for more details about Mercurial.
-
-Postgres installation
-`````````````````````
-
-Please refer to the `Postgresql project online documentation`_.
-
-.. _`Postgresql project online documentation`: http://www.postgresql.org/
-
-You need to install the three following packages: `postgres-8.3`,
-`postgres-contrib-8.3` and `postgresql-plpython-8.3`.
-
-
-Then you can install:
-
-* `pyro` if you wish the repository to be accessible through Pyro
-  or if the client and the server are not running on the same machine
-  (in which case the packages will have to be installed on both
-  machines)
-
-* `python-ldap` if you plan to use a LDAP source on the server
-
-.. _ConfigurationEnv:
-
-Environment configuration
--------------------------
-
-If you installed `CubicWeb` by cloning the Mercurial forest, then you
-will need to update the environment variable PYTHONPATH by adding  
-the path to the forest ``cubicweb``:
-
-Add the following lines to either `.bashrc` or `.bash_profile` to configure
-your development environment ::
-  
-  export PYTHONPATH=/full/path/to/cubicweb-forest
-
-If you installed the debian packages, no configuration is required.
-Your new cubes will be placed in `/usr/share/cubicweb/cubes` and
-your applications will be placed in `/etc/cubicweb.d`.
-
-To use others directories then you will have to configure the
-following environment variables as follows::
-
-    export CW_CUBES_PATH=~/lib/cubes
-    export CW_REGISTRY=~/etc/cubicweb.d/
-    export CW_INSTANCE_DATA=$CW_REGISTRY
-    export CW_RUNTIME=/tmp
-
-.. note::
-    The values given above are our suggestions but of course
-    can be different.
-
-.. _ConfigurationPostgres:
-
-Postgres configuration
-----------------------
-
-.. note::
-    If you already have an existing cluster and postgres server
-    running, you do not require to execute the initilization step
-    of your Postgres database.
-
-* First you have to initialize the database Postgres with the command ``initdb``.
-  ::
-
-    $ initdb -D /path/to/pgsql
-
-  Once initialized, you can launch the database server Postgres 
-  with the command::
-  
-    $ postgres -D /path/to/psql
-
-  If you cannot execute this command due to permission issues, please
-  make sure that your username has write access on the database.
-  ::
- 
-    $ chown username /path/to/pgsql
-
-* The database authentication can be either set to `ident sameuser`
-  or `md5`. 
-  If set to `md5`, make sure to use an existing user
-  of your database.
-  If set to `ident sameuser`, make sure that your
-  client's operating system user name has a matching user in
-  the database. If not, please do as follow to create a user::
-    
-    $ su
-    $ su - postgres
-    $ createuser -s username
-
-  If created with the options -P (for password prompt, 
-  ``createuser -s -P username``), the password will be encrypted with
-  the method set in the configuration file ``pg_hba.conf``. 
-  If you do not use this option, then the default value will be null
-  and this require to set the password in the database itself.
-  To do so: ::
-    
-    $ su 
-    $ su - postgres
-    $ psql
-
-  And then execute de following query::
-    
-    ALTER USER username WITH PASSWORD `password`
-
-  This login/password will be requested when you will create an
-  instance with `cubicweb-ctl create` to initialize the database of
-  your application.
-
-.. note::
-    The authentication method can be configured in ``pg_hba.conf``.
-
-
-.. FIXME Are these steps really necessary? It seemed to work without.
-
-* Installation of plain-text index extension ::
-
-    cat /usr/share/postgresql/8.3/contrib/tsearch2.sql | psql -U username template1
-
-* Installation of plpythonu language by default ::
-
-    createlang -U pgadmin plpythonu template1
-
-MySql configuration
--------------------
-Yout must add the following lines in /etc/mysql/my.cnf file::
-
-    transaction-isolation = READ-COMMITTED
-    default-storage-engine=INNODB
-    default-character-set=utf8
-    max_allowed_packet = 128M
-
-Pyro configuration
-------------------
-
-If you use Pyro, it is required to have a name server Pyro running on your
-network (by default it is identified by a broadcast request).
-
-To do so, you need to :
-
-* launch the server manually before starting cubicweb with `pyro-ns`
-
-* launch the server manually before starting cubicweb as a server with
-  `pyro-nsd start`
-
-* edit the file ``/etc/default/pyro-nsd`` so that the name server pyro
-  will be launched automatically when the machine fire up
-
-
--- a/doc/book/en/C012-create-instance.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,132 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-Creation of your first instance
-===============================
-
-What is an instance?
---------------------
-
-A `CubicWeb` instance is a directory in ``~/etc/cubicweb.d``
-which enables us to run a web application. An instance is based on
-one or more cubes.
-
-An instance is a container that refers to cubes and configuration 
-parameters for your web application.
-
-We recommand not to define schema, entities or views in the instance
-file system itself but in the cube, in order to maintain re-usability of
-entities and their views. We strongly recommand to develop cubes which
-could be used in other instances (modular approach).
-
-
-What is a cube?
----------------
-
-A cube defines entities, their views, their schemas and workflows
-in an independant directory located in ``/path/to/forest/cubicweb/cubes/``
-for a Mercurial installation or in ``/usr/share/cubicweb/cubes`` for
-a debian package installation.
-
-When an instance is created, you list one or more cubes that your instance
-will use. Using a cube means having the entities defined in your cube's schema
-available in your instance as well as their views and workflows.
-
-.. note::
-   The commands used below are more detailled in the section dedicated to 
-   :ref:`cubicweb-ctl`.
-
-
-Create a cube
--------------
-
-Let's start by creating the cube environment in which we will develop ::
-
-  cd ~/hg
-
-  cubicweb-ctl newcube mycube
-
-  # answer questions 
-  hg init moncube
-  cd mycube
-  hg add .
-  hg ci
-
-If all went well, you should see the cube you just create in the list
-returned by `cubicweb-ctl list` in the section *Available components*,
-and if it is not the case please refer to :ref:`ConfigurationEnv`.
-
-To use a cube, you have to list it in the variable ``__use__``
-of the file ``__pkginfo__.py`` of the instance.
-This variable is used for the instance packaging (dependencies
-handled by system utility tools such as APT) and the usable cubes
-at the time the base is created (import_erschema('MyCube') will
-not properly work otherwise).
-
-.. note::
-    Please note that if you do not wish to use default directory
-    for your cubes library, then you want to use the option
-    --directory to specify where you would like to place
-    the source code of your cube:
-    ``cubicweb-ctl newcube --directory=/path/to/cubes/library cube_name``
-
-Instance creation
------------------
-
-Now that we created our cube, we can create an instance to view our
-application in a web browser. To do so we will use a `all-in-on` 
-configuration to simplify things ::
-
-  cubicweb-ctl create -c all-in-one mycube myinstance
-
-.. note::
-  Please note that we created a new cube for a demo purpose but
-  you could have use an existing cube available in our standard library
-  such as blog or person for example.
-
-A serie of questions will be prompted to you, the default answer is usually
-sufficient. You can anyway modify the configuration later on by editing
-configuration files. When a user/psswd is requested to access the database
-please use the login you create at the time you configured the database
-(:ref:`ConfigurationPostgres`).
-
-It is important to distinguish here the user used to access the database and
-the user used to login to the cubicweb application. When a `CubicWeb` application
-starts, it uses the login/psswd for the database to get the schema and handle
-low level transaction. But, when ``cubicweb-ctl create`` asks for
-a manager login/psswd of `CubicWeb`, it refers to an application user you will
-use during the development to administrate your web application. It will be 
-possible, later on, to create others users for your final web application.
-
-When this command is completed, the definition of your instance is
-located in *~/etc/cubicweb.d/myinstance/*. To launch it, you just type ::
-
-  cubicweb-ctl start -D myinstance
-
-The option `-D` specify the *debug mode* : the instance is not running in
-server mode and does not disconnect from the termnial, which simplifies debugging
-in case the instance is not properly launched. You can see how it looks by
-visiting the URL `http://localhost:8080` (the port number depends of your 
-configuration). To login, please use the cubicweb administrator login/psswd you 
-defined when you created the instance.
-
-To shutdown the instance, Crtl-C in the terminal window is enough.
-If you did not use the option `-D`, then type ::
-
-  cubicweb-ctl stop myinstance
-
-This is it! All is settled down to start developping your data model...
-
-
-Usage of `cubicweb-liveserver`
-``````````````````````````````
-
-To quickly test a new cube, you can also use the script `cubicweb-liveserver`
-which allows to create an application in memory (use of SQLite database by 
-default) and make it accessible through a web server ::
-
-  cubicweb-ctl live-server mycube
-
-or by using an existing database (SQLite or Postgres)::
-
-  cubicweb-ctl live-server -s myfile_sources mycube
-
--- a/doc/book/en/C013-cubicweb-ctl.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-.. _cubicweb-ctl:
-
-``cubicweb-ctl`` tool
-=====================
-
-`cubicweb-ctl` is the swiss knife to manage `CubicWeb` instances.
-The general syntax is ::
-
-  cubicweb-ctl <command> [options command] <arguments commands>
-
-To view available commands ::
-
-  cubicweb-ctl
-  cubicweb-ctl --help
-
-Please note that the commands available depends on the `CubicWeb` packages
-and cubes that have been installed.
-
-To view the help menu on specific command ::
-
-  cubicweb-ctl <command> --help
-
-Command to create a cube
-------------------------
-
-* ``newcube``, create a new cube on the file system based on the name
-  given in the parameters. This command create a cube from an application
-  skeleton that includes default files required for debian packaging.
-  
-
-Command to create an instance
------------------------------
-* ``create``, creates the files for the instance configuration
-* ``db-create``, creates the system database of an instance (tables and
-  extensions only)
-* ``db-init``, initializes the system database of an instance
-  (schema, groups, users, workflows...)
-
-By default, those three commandes are encapsulated in ``create`` so
-that they can be executed consecutively.
-
-Command to create an instance for Google AppEngine datastore source
--------------------------------------------------------------------
-* ``newgapp``, creates the configuration files for an instance
-
-This command needs to be followed by the commands responsible for
-the database initialization. As those are specific to the `datastore`,
-specific Google AppEgine database, they are not available for now
-in cubicweb-ctl, but they are available in the instance created.
-
-For more details, please see :ref:`gaecontents` .
-
-Commands to launch instance
----------------------------
-* ``start``, starts one or more or all instances
-* ``stop``, stops one or more or all instances
-* ``restart``, restarts one or more or all instances
-* ``status``, returns the status of the instance
-
-Commands to maintain instances
-------------------------------
-* ``upgrade``, launches the existing instances migration when a new version
-  of `CubicWeb` or the cubes installed is available
-* ``shell``, opens a migration shell for manual maintenance of the instance
-  (see :ref:`cubicweb-ctl-shell` for more details)
-* ``db-dump``, creates a dump of the system database
-* ``db-restore``, restores a dump of the system database
-* ``db-check``, checks data integrity of an instance. If the automatic correction
-  is activated, it is recommanded to create a dump before this operation.
-* ``schema-sync``, synchronizes the persistent schema of an instance with
-  the application schema. It is recommanded to create a dump before this operation.
-
-Commands to maintain i18n catalogs
-----------------------------------
-* ``i18nlibupdate``, regenerates messages catalogs of the `CubicWeb` library
-* ``i18nupdate``, regenerates the messages catalogs of a cube
-* ``i18ncompile``, recompiles the messages catalogs of an instance. 
-  This is automatically done while upgrading.
-
-Cf :ref:`Internationalisation`.
-
-Other commands
---------------
-* ``list``, provides a list of the available configuration, cubes
-  and instances.
-* ``delete``, deletes an instance (configuration files and database)
-
-
-.. _cubicweb-ctl-shell:
-
-``cubicweb-ctl shell`` addon
-----------------------------
-
-This migration shell provides an interactive interface to all
-the migrations functions described in the chapter :ref:`migration`.
-
-Usage
-`````
-::
-  
-  ``cubicweb-ctl shell myapp``
-
-Examples
---------
-
-Create an instance from an existing cube
-````````````````````````````````````````
-
-To create an instance from an existing cube, execute the following
-command ::
-
-   cubicweb-ctl create <cube_name> <instance_name>
-
-This command will create the configuration files of an instance in
-``~/etc/cubicweb.d/<instance_name>``.
-The tool ``cubicweb-ctl`` allows you to execute the command ``db-create``
-and ``db-init`` when you run ``create`` so that you can complete an
-instance creation in a single command.
-
-If you decide not to execut those commands while ``cubicweb-ctl create``,
-then you will have to execute them seperately(``cubicweb-ctl db-create``,
-``cubicweb-ctl db-init`` ) otherwise your installation will not be complete
-and you will not be able to launch your instance.
-
-
-Creation of an instance from a new cube
-```````````````````````````````````````
-
-Create first your new cube cube ::
-
-   cubicweb-ctl newcube <mycube>
-
-This will create a new cube in ``/path/to/forest/cubicweb/cubes/<mycube>``
-for a Mercurial forest installation, or in ``/usr/share/cubicweb/cubes``
-for a debian packages installation, and then create an instance as 
-explained just above.
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/C020-create-instance.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,132 @@
+.. -*- coding: utf-8 -*-
+
+Creation of your first instance
+===============================
+
+What is an instance?
+--------------------
+
+A `CubicWeb` instance is a directory in ``~/etc/cubicweb.d``
+which enables us to run a web application. An instance is based on
+a cube.
+
+An instance is a container that refers to cubes and configuration 
+parameters for your web application.
+
+We recommand not to define schema, entities or views in the instance
+file system itself but in the cube, in order to maintain re-usability of
+entities and their views. We strongly recommand to develop cubes which
+could be used in other instances (modular approach).
+
+
+What is a cube?
+---------------
+
+A cube defines entities, their views, their schemas and workflows
+in an independant directory located in ``/path/to/forest/cubicweb/cubes/``
+for a Mercurial installation or in ``/usr/share/cubicweb/cubes`` for
+a debian package installation.
+
+When an instance is created, you list one or more cubes that your instance
+will use. Using a cube means having the entities defined in your cube's schema
+available in your instance as well as their views and workflows.
+
+.. note::
+   The commands used below are more detailled in the section dedicated to 
+   :ref:`cubicweb-ctl`.
+
+
+Create a cube
+-------------
+
+Let's start by creating the cube environment in which we will develop ::
+
+  cd ~/hg
+
+  cubicweb-ctl newcube mycube
+
+  # answer questions 
+  hg init moncube
+  cd mycube
+  hg add .
+  hg ci
+
+If all went well, you should see the cube you just create in the list
+returned by `cubicweb-ctl list` in the section *Available components*,
+and if it is not the case please refer to :ref:`ConfigurationEnv`.
+
+To use a cube, you have to list it in the variable ``__use__``
+of the file ``__pkginfo__.py`` of the instance.
+This variable is used for the instance packaging (dependencies
+handled by system utility tools such as APT) and the usable cubes
+at the time the base is created (import_erschema('MyCube') will
+not properly work otherwise).
+
+.. note::
+    Please note that if you do not wish to use default directory
+    for your cubes library, then you want to use the option
+    --directory to specify where you would like to place
+    the source code of your cube:
+    ``cubicweb-ctl newcube --directory=/path/to/cubes/library cube_name``
+
+Instance creation
+-----------------
+
+Now that we created our cube, we can create an instance to view our
+application in a web browser. To do so we will use a `all-in-on` 
+configuration to simplify things ::
+
+  cubicweb-ctl create -c all-in-one mycube myinstance
+
+.. note::
+  Please note that we created a new cube for a demo purpose but
+  you could have use an existing cube available in our standard library
+  such as blog or person for example.
+
+A serie of questions will be prompted to you, the default answer is usually
+sufficient. You can anyway modify the configuration later on by editing
+configuration files. When a user/psswd is requested to access the database
+please use the login you create at the time you configured the database
+(:ref:`ConfigurationPostgres`).
+
+It is important to distinguish here the user used to access the database and
+the user used to login to the cubicweb application. When a `CubicWeb` application
+starts, it uses the login/psswd for the database to get the schema and handle
+low level transaction. But, when ``cubicweb-ctl create`` asks for
+a manager login/psswd of `CubicWeb`, it refers to an application user you will
+use during the development to administrate your web application. It will be 
+possible, later on, to create others users for your final web application.
+
+When this command is completed, the definition of your instance is
+located in *~/etc/cubicweb.d/myinstance/*. To launch it, you just type ::
+
+  cubicweb-ctl start -D myinstance
+
+The option `-D` specify the *debug mode* : the instance is not running in
+server mode and does not disconnect from the termnial, which simplifies debugging
+in case the instance is not properly launched. You can see how it looks by
+visiting the URL `http://localhost:8080` (the port number depends of your 
+configuration). To login, please use the cubicweb administrator login/psswd you 
+defined when you created the instance.
+
+To shutdown the instance, Crtl-C in the terminal window is enough.
+If you did not use the option `-D`, then type ::
+
+  cubicweb-ctl stop myinstance
+
+This is it! All is settled down to start developping your data model...
+
+
+Usage of `cubicweb-liveserver`
+``````````````````````````````
+
+To quickly test a new cube, you can also use the script `cubicweb-liveserver`
+which allows to create an application in memory (use of SQLite database by 
+default) and make it accessible through a web server ::
+
+  cubicweb-ctl live-server mycube
+
+or by using an existing database (SQLite or Postgres)::
+
+  cubicweb-ctl live-server -s myfile_sources mycube
+
--- a/doc/book/en/C020-site-config.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-User interface for web site configuration
-=========================================
-
-.. image:: images/lax-book.03-site-config-panel.en.png
-
-This panel allows you to configure the appearance of your application site.
-Six menus are available and we will go through each of them to explain how
-to use them.
-
-Navigation
-~~~~~~~~~~
-This menu provides you a way to adjust some navigation options depending on
-your needs, such as the number of entities to display by page of results.
-Follows the detailled list of available options :
-  
-* navigation.combobox-limit : maximum number of entities to display in related
-  combo box (sample format: 23)
-* navigation.page-size : maximum number of objects displayed by page of results 
-  (sample format: 23)
-* navigation.related-limit : maximum number of related entities to display in 
-  the primary view (sample format: 23)
-* navigation.short-line-size : maximum number of characters in short description
-  (sample format: 23)
-
-UI
-~~
-This menu provides you a way to customize the user interface settings such as
-date format or encoding in the produced html.
-Follows the detailled list of available options :
-
-* ui.date-format : how to format date in the ui ("man strftime" for format description)
-* ui.datetime-format : how to format date and time in the ui ("man strftime" for format
-  description)
-* ui.default-text-format : default text format for rich text fields.
-* ui.encoding : user interface encoding
-* ui.fckeditor :should html fields being edited using fckeditor (a HTML WYSIWYG editor).
-  You should also select text/html as default text format to actually get fckeditor.
-* ui.float-format : how to format float numbers in the ui
-* ui.language : language of the user interface
-* ui.main-template : id of main template used to render pages
-* ui.site-title	: site title, which is displayed right next to the logo in the header
-* ui.time-format : how to format time in the ui ("man strftime" for format description)
-
-
-Actions
-~~~~~~~
-This menu provides a way to configure the context in which you expect the actions
-to be displayed to the user and if you want the action to be visible or not. 
-You must have notice that when you view a list of entities, an action box is 
-available on the left column which display some actions as well as a drop-down 
-menu for more actions. 
-
-The context available are :
-
-* mainactions : actions listed in the left box
-* moreactions : actions listed in the `more` menu of the left box
-* addrelated : add actions listed in the left box
-* useractions : actions listed in the first section of drop-down menu 
-  accessible from the right corner user login link
-* siteactions : actions listed in the second section of drop-down menu
-  accessible from the right corner user login link
-* hidden : select this to hide the specific action
-
-Boxes
-~~~~~
-The application has already a pre-defined set of boxes you can use right away. 
-This configuration section allows you to place those boxes where you want in the
-application interface to customize it. 
-
-The available boxes are :
-
-* actions box : box listing the applicable actions on the displayed data
-
-* boxes_blog_archives_box : box listing the blog archives 
-
-* possible views box : box listing the possible views for the displayed data
-
-* rss box : RSS icon to get displayed data as a RSS thread
-
-* search box : search box
-
-* startup views box : box listing the configuration options available for 
-  the application site, such as `Preferences` and `Site Configuration`
-
-Components
-~~~~~~~~~~
-[WRITE ME]
-
-Contextual components
-~~~~~~~~~~~~~~~~~~~~~
-[WRITE ME]
-
--- a/doc/book/en/C030-instance-config.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-
-Configure an instance
-=====================
-
-While creating an instance, a configuration file is generated in::
-
-    $ (CW_REGISTRY) / <instance> / <configuration name>.conf
-
-For example::
-
-    /etc/cubicweb.d/JPL/all-in-one.conf
-
-It is a simple text file format INI. In the following description,
-each option name is prefixed with its own section and followed by its
-default value if necessary, e.g. "`<section>.<option>` [value]."
-
-
-Configuring the Web server
---------------------------
-:`web.auth-model` [cookie]:
-    authentication mode, cookie or http
-:`web.realm`:
-    realm of the application in http authentication mode
-:`web.http-session-time` [0]:
-    period of inactivity of an HTTP session before it closes automatically.
-    Duration in seconds, 0 meaning no expiration (or more exactly at the
-    closing of the browser client)
-
-:`main.anonymous-user`, `main.anonymous-password`:
-    login and password to use to connect to the RQL server with
-    HTTP anonymous connection. EUser account should exist.
-
-:`main.base-url`:
-    url base site to be used to generate the urls of web pages
-
-Https configuration
-```````````````````
-It is possible to make a site accessible for anonymous http connections
-and https for authenticated users. This requires to
-use apache (for example) for redirection and the variable `main.https-url`
-of configuration file.
-
-:Example:
-
-   For an apache redirection of a site accessible via `http://localhost/demo`
-   and `https://localhost/demo` and actually running on port 8080, it
-   takes to the http:::
-
-     RewriteCond %(REQUEST_URI) ^/demo
-     RewriteRule ^/demo$/demo/
-     RewriteRule ^/demo/(.*) http://127.0.0.1:8080/$1 [L,P]
-  
-   and for the https:::
-
-     RewriteCond %(REQUEST_URI) ^/ demo
-     RewriteRule ^/demo$/demo/
-     RewriteRule ^/demo/(.*) http://127.0.0.1:8080/https/$1 [L,P]
-
-
-   and we will file in the all-in-one.conf of the instance:::
-
-     base-url = http://localhost/demo
-     https-url = `https://localhost/demo`
-
-Setting up the web
---------------------------------
-:`web.embed-allowed`:
-    regular expression matching sites which could be "embedded" in
-    the site (controllers 'embed')
-:`web.submit-url`:
-    url where the bugs encountered in the application can be mailed to
-
-
-RQL server configuration
-------------------------
-:`main.host`:
-    host name if it can not be detected correctly
-:`main.pid-file`:
-    file where will be written the server pid
-:`main.uid`:
-    user account to use for launching the server when it is
-    root launched by init
-:`main.session-time [30*60]`:
-    timeout of a RQL session
-:`main.query-log-file`:
-    file where all requests RQL executed by the server are written
-
-
-Pyro configuration for the instance
------------------------------------
-Web server side:
-
-:`pyro-client.pyro-application-id`:
-    pyro identifier of RQL server (e.g. the instance name)
-
-RQL server side:
-
-:`pyro-server.pyro-port`:
-    pyro port number. If none is specified, a port is assigned
-    automatically.
-
-RQL and web servers side:
-
-:`pyro-name-server.pyro-ns-host`:
-    hostname hosting pyro server name. If no value is
-    specified, it is located by a request from broadcast
-:`pyro-name-server.pyro-ns-group` [cubicweb]:
-    pyro group in which to save the application
-
-
-Configuring e-mail
-------------------
-RQL and web server side:
-
-:`email.mangle-mails [no]`:
-    indicates whether the email addresses must be displayed as is or
-    transformed
-
-RQL server side:
-
-:`email.smtp-host [mail]`:
-    hostname hosting the SMTP server to use for outgoing mail
-:`email.smtp-port [25]`:
-    SMTP server port to use for outgoing mail
-:`email.sender-name`:
-    name to use for outgoing mail of the application
-:`email.sender-addr`:
-    address for outgoing mail of the application
-:`email.default dest-addrs`:
-    destination addresses by default, if used by the configuration of the
-    dissemination of the model (separated by commas)
-:`email.supervising-addrs`:
-    destination addresses of e-mails of supervision (separated by
-    commas)
-
-
-Configuring logging
--------------------
-:`main.log-threshold`:
-    level of filtering messages (DEBUG, INFO, WARNING, ERROR)
-:`main.log-file`:
-    file to write messages
-
-
-Configuring Eproperties
------------------------
-Other configuration settings are in the form of entities `EProperty`
-in the database. It must be edited via the web interface or by
-RQL queries.
-
-:`ui.encoding`:
-    Character encoding to use for the web
-:`navigation.short-line-size`: # XXX should be in ui
-    number of characters for "short" display
-:`navigation.page-size`:
-    maximum number of entities to show per results page
-:`navigation.related-limit`:
-    number of related entities to show up on primary entity view
-:`navigation.combobox-limit`:
-    number of entities unrelated to show up on the drop-down lists of
-    the sight on an editing entity view
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/C030-site-config.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,94 @@
+.. -*- coding: utf-8 -*-
+
+User interface for web site configuration
+=========================================
+
+.. image:: images/lax-book.03-site-config-panel.en.png
+
+This panel allows you to configure the appearance of your application site.
+Six menus are available and we will go through each of them to explain how
+to use them.
+
+Navigation
+~~~~~~~~~~
+This menu provides you a way to adjust some navigation options depending on
+your needs, such as the number of entities to display by page of results.
+Follows the detailled list of available options :
+  
+* navigation.combobox-limit : maximum number of entities to display in related
+  combo box (sample format: 23)
+* navigation.page-size : maximum number of objects displayed by page of results 
+  (sample format: 23)
+* navigation.related-limit : maximum number of related entities to display in 
+  the primary view (sample format: 23)
+* navigation.short-line-size : maximum number of characters in short description
+  (sample format: 23)
+
+UI
+~~
+This menu provides you a way to customize the user interface settings such as
+date format or encoding in the produced html.
+Follows the detailled list of available options :
+
+* ui.date-format : how to format date in the ui ("man strftime" for format description)
+* ui.datetime-format : how to format date and time in the ui ("man strftime" for format
+  description)
+* ui.default-text-format : default text format for rich text fields.
+* ui.encoding : user interface encoding
+* ui.fckeditor :should html fields being edited using fckeditor (a HTML WYSIWYG editor).
+  You should also select text/html as default text format to actually get fckeditor.
+* ui.float-format : how to format float numbers in the ui
+* ui.language : language of the user interface
+* ui.main-template : id of main template used to render pages
+* ui.site-title	: site title, which is displayed right next to the logo in the header
+* ui.time-format : how to format time in the ui ("man strftime" for format description)
+
+
+Actions
+~~~~~~~
+This menu provides a way to configure the context in which you expect the actions
+to be displayed to the user and if you want the action to be visible or not. 
+You must have notice that when you view a list of entities, an action box is 
+available on the left column which display some actions as well as a drop-down 
+menu for more actions. 
+
+The context available are :
+
+* mainactions : actions listed in the left box
+* moreactions : actions listed in the `more` menu of the left box
+* addrelated : add actions listed in the left box
+* useractions : actions listed in the first section of drop-down menu 
+  accessible from the right corner user login link
+* siteactions : actions listed in the second section of drop-down menu
+  accessible from the right corner user login link
+* hidden : select this to hide the specific action
+
+Boxes
+~~~~~
+The application has already a pre-defined set of boxes you can use right away. 
+This configuration section allows you to place those boxes where you want in the
+application interface to customize it. 
+
+The available boxes are :
+
+* actions box : box listing the applicable actions on the displayed data
+
+* boxes_blog_archives_box : box listing the blog archives 
+
+* possible views box : box listing the possible views for the displayed data
+
+* rss box : RSS icon to get displayed data as a RSS thread
+
+* search box : search box
+
+* startup views box : box listing the configuration options available for 
+  the application site, such as `Preferences` and `Site Configuration`
+
+Components
+~~~~~~~~~~
+[WRITE ME]
+
+Contextual components
+~~~~~~~~~~~~~~~~~~~~~
+[WRITE ME]
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/C040-instance-config.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,163 @@
+.. -*- coding: utf-8 -*-
+
+
+Configure an instance
+=====================
+
+While creating an instance, a configuration file is generated in::
+
+    $ (CW_REGISTRY) / <instance> / <configuration name>.conf
+
+For example::
+
+    /etc/cubicweb.d/JPL/all-in-one.conf
+
+It is a simple text file format INI. In the following description,
+each option name is prefixed with its own section and followed by its
+default value if necessary, e.g. "`<section>.<option>` [value]."
+
+
+Configuring the Web server
+--------------------------
+:`web.auth-model` [cookie]:
+    authentication mode, cookie or http
+:`web.realm`:
+    realm of the application in http authentication mode
+:`web.http-session-time` [0]:
+    period of inactivity of an HTTP session before it closes automatically.
+    Duration in seconds, 0 meaning no expiration (or more exactly at the
+    closing of the browser client)
+
+:`main.anonymous-user`, `main.anonymous-password`:
+    login and password to use to connect to the RQL server with
+    HTTP anonymous connection. EUser account should exist.
+
+:`main.base-url`:
+    url base site to be used to generate the urls of web pages
+
+Https configuration
+```````````````````
+It is possible to make a site accessible for anonymous http connections
+and https for authenticated users. This requires to
+use apache (for example) for redirection and the variable `main.https-url`
+of configuration file.
+
+:Example:
+
+   For an apache redirection of a site accessible via `http://localhost/demo`
+   and `https://localhost/demo` and actually running on port 8080, it
+   takes to the http:::
+
+     RewriteCond %(REQUEST_URI) ^/demo
+     RewriteRule ^/demo$ /demo/
+     RewriteRule ^/demo/(.*) http://127.0.0.1:8080/$1 [L,P]
+  
+   and for the https:::
+
+     RewriteCond %(REQUEST_URI) ^/ demo
+     RewriteRule ^/demo$/demo/
+     RewriteRule ^/demo/(.*) http://127.0.0.1:8080/https/$1 [L,P]
+
+
+   and we will file in the all-in-one.conf of the instance:::
+
+     base-url = http://localhost/demo
+     https-url = `https://localhost/demo`
+
+Setting up the web
+--------------------------------
+:`web.embed-allowed`:
+    regular expression matching sites which could be "embedded" in
+    the site (controllers 'embed')
+:`web.submit-url`:
+    url where the bugs encountered in the application can be mailed to
+
+
+RQL server configuration
+------------------------
+:`main.host`:
+    host name if it can not be detected correctly
+:`main.pid-file`:
+    file where will be written the server pid
+:`main.uid`:
+    user account to use for launching the server when it is
+    root launched by init
+:`main.session-time [30*60]`:
+    timeout of a RQL session
+:`main.query-log-file`:
+    file where all requests RQL executed by the server are written
+
+
+Pyro configuration for the instance
+-----------------------------------
+Web server side:
+
+:`pyro-client.pyro-application-id`:
+    pyro identifier of RQL server (e.g. the instance name)
+
+RQL server side:
+
+:`pyro-server.pyro-port`:
+    pyro port number. If none is specified, a port is assigned
+    automatically.
+
+RQL and web servers side:
+
+:`pyro-name-server.pyro-ns-host`:
+    hostname hosting pyro server name. If no value is
+    specified, it is located by a request from broadcast
+:`pyro-name-server.pyro-ns-group` [cubicweb]:
+    pyro group in which to save the application
+
+
+Configuring e-mail
+------------------
+RQL and web server side:
+
+:`email.mangle-mails [no]`:
+    indicates whether the email addresses must be displayed as is or
+    transformed
+
+RQL server side:
+
+:`email.smtp-host [mail]`:
+    hostname hosting the SMTP server to use for outgoing mail
+:`email.smtp-port [25]`:
+    SMTP server port to use for outgoing mail
+:`email.sender-name`:
+    name to use for outgoing mail of the application
+:`email.sender-addr`:
+    address for outgoing mail of the application
+:`email.default dest-addrs`:
+    destination addresses by default, if used by the configuration of the
+    dissemination of the model (separated by commas)
+:`email.supervising-addrs`:
+    destination addresses of e-mails of supervision (separated by
+    commas)
+
+
+Configuring logging
+-------------------
+:`main.log-threshold`:
+    level of filtering messages (DEBUG, INFO, WARNING, ERROR)
+:`main.log-file`:
+    file to write messages
+
+
+Configuring Eproperties
+-----------------------
+Other configuration settings are in the form of entities `EProperty`
+in the database. It must be edited via the web interface or by
+RQL queries.
+
+:`ui.encoding`:
+    Character encoding to use for the web
+:`navigation.short-line-size`: # XXX should be in ui
+    number of characters for "short" display
+:`navigation.page-size`:
+    maximum number of entities to show per results page
+:`navigation.related-limit`:
+    number of related entities to show up on primary entity view
+:`navigation.combobox-limit`:
+    number of entities unrelated to show up on the drop-down lists of
+    the sight on an editing entity view
--- a/doc/book/en/C040-rql.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,655 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-.. _RQL:
-
-======================================
-RQL language (Relation Query Language)
-======================================
-
-Introduction
-============
-
-Goals of RQL
-------------
-
-The goal is to have a language emphasizing the way of browsing
-relations. As such, attributes will be regarded as cases of
-special relations (in terms of implementation, the language
-user should see virtually no difference between an attribute and a
-relation).
-
-RQL is inspired by SQL but is the highest level. A knowledge of the 
-`CubicWeb` schema defining the application is necessary.
-
-Comparison with existing languages
-----------------------------------
-
-SQL
-```
-RQL builds on the features of SQL but is at a higher level
-(the current implementation of RQL generates SQL). For that it is limited
-to the way of browsing relations and introduces variables. 
-The user does not need to know the model underlying SQL, but the `CubicWeb` 
-schema defining the application.
-
-Versa
-`````
-We should look in more detail, but here are already some ideas for
-the moment ... Versa_ is the language most similar to what we wanted
-to do, but the model underlying data being RDF, there is some
-number of things such as namespaces or handling of the RDF types which 
-does not interest us. On the functionality level, Versa_ is very comprehensive
-including through many functions of conversion and basic types manipulation,
-which may need to be guided at one time or another. 
-Finally, the syntax is a little esoteric.
-
-Sparql
-``````
-
-The query language most similar to RQL is SPARQL_, defined by the W3C to serve
-for the semantic web. 
-
-
-The different types of queries
-------------------------------
-
-Search (`Any`)
-   Extract entities and attributes of entities.
-
-Insert entities (`INSERT`)
-   Insert new entities or relations in the database.
-   It can also directly create relationships for the newly created entities.
-
-Update entities, create relations (`SET`)
-   Update existing entities in the database,
-   or create relations between existing entities.
-
-Delete entities or relationship (`DELETE`)
-   Remove entities or relations existing in the database.
-
-Search Query
-------------
-
-   [ `DISTINCT`] <entity type> V1 (V2) \ *
-   [ `GROUPBY` V1 (V2) \*] [ `ORDERBY` <orderterms>]
-   [ `WHERE` <restriction>]
-   [ `LIMIT` <value>] [ `OFFSET` <value>]
-
-:entity type:
-   Type of selected variables.
-   The special type `Any` is equivalent to not specify a type.
-:restriction:
-   list of conditions to test successively 
-     `V1 relation V2 | <static value>`
-:orderterms:
-   Definition of the selection order: variable or column number followed by
-   sorting method ( `ASC`, `DESC`), ASC is the default.
-:note for grouped queries:
-   For grouped queries (e.g., a clause `GROUPBY`), all
-   selected variables must be aggregated or grouped.
-
-
-
-- *Search for the object of identifier 53*
-  ::
-
-        Any WHERE X
-        X eid 53
-
-- *Search material such as comics, owned by syt and available*
-  ::
-
-        WHERE X Document
-        X occurence_of F, F class C, C name 'Comics'
-        X owned_by U, U login 'syt'
-        X available true
-
-- *Looking for people working for eurocopter interested in training*
-  ::
-
-        Any P WHERE
-        P is Person, P work_for S, S name 'Eurocopter'
-        P interested_by T, T name 'training'
-
-- *Search note less than 10 days old written by jphc or ocy*
-  ::
-
-        Any N WHERE
-        N is Note, N written_on D, D day> (today -10),
-        N written_by P, P name 'jphc' or P name 'ocy'
-
-- *Looking for people interested in training or living in Paris*
-  ::
-
-        Any P WHERE
-        P is Person, (P interested_by T, T name 'training') OR
-        (P city 'Paris')
-
-- *The name and surname of all people*
-  ::
-
-        Any N, P WHERE
-        X is Person, X name N, X first_name P
-
-  Note that the selection of several entities generally force
-  the use of "Any" because the type specification applies otherwise
-  to all the selected variables. We could write here
-  ::
-
-        String N, P WHERE
-        X is Person, X name N, X first_name P
-
-
-  Note: You can not specify several types with * ... where X is FirstType or X is SecondType*.
-  To specify several types explicitely, you have to do
-
-  ::
-
-        Any X where X is in (FirstType, SecondType)
-
-
-Insertion query
----------------
-
-    `INSERT` <entity type> V1 (, <entity type> V2) \ * `:` <assignments>
-    [ `WHERE` <restriction>]
-
-:assignments:
-   list of relations to assign in the form `V1 relationship V2 | <static value>`
-
-The restriction can define variables used in assignments.
-
-Caution, if a restriction is specified, the insertion is done for 
-*each line result returned by the restriction*.
-
-- *Insert a new person named 'foo'*
-  ::
-
-        INSERT Person X: X name 'foo'
-
-- *Insert a new person named 'foo', another called 'nice' and a 'friend' relation
-  between them*
-  ::
-
-        INSERT Person X, Person Y: X name 'foo', Y name 'nice', X friend Y
-
-- *Insert a new person named 'foo' and a 'friend' relation with an existing 
-  person called 'nice'*
-  ::
-
-        INSERT Person X: X name 'foo', X friend Y WHERE Y name 'nice'
-
-Update and relation creation queries
-------------------------------------
-    `SET` <assignements>
-    [ `WHERE` <restriction>]
-
-Caution, if a restriction is specified, the update is done *for
-each result line returned by the restriction*.
-
-- *Renaming of the person named 'foo' to 'bar' with the first name changed*
-  ::
-
-        SET X name 'bar', X first_name 'original' WHERE X is Person, X name 'foo'
-
-- *Insert a relation of type 'know' between objects linked by 
-  the relation of type 'friend'*
-  ::
-
-        SET X know Y  WHERE X friend Y
-
-
-Deletion query
---------------
-    `DELETE` (<entity type> V) | (V1 relation v2 ),...
-    [ `WHERE` <restriction>]
-
-Caution, if a restriction is specified, the deletion is made *for
-each line result returned by the restriction*.
-
-- *Deletion of the person named 'foo'*
-  ::
-
-        DELETE Person X WHERE X name 'foo'
-
-- *Removal of all relations of type 'friend' from the person named 'foo'*
-  ::
-
-        DELETE X friend Y WHERE X is Person, X name 'foo'
-
-
-(yet) Undocumented types of queries
------------------------------------
-
-**Limit / offset**
-::
-    
-    Any P ORDERBY N LIMIT 5 OFFSET 10 WHERE P is Person, P firstname N
-
-**Function calls**
-::
-    
-    Any UPPER(N) WHERE P firstname N
-
-**Exists**
-::
-    
-    Any X ORDERBY PN,N
-    WHERE X num N, X version_of P, P name PN, 
-          EXISTS(X in_state S, S name IN ("dev", "ready"))
-          OR EXISTS(T tags X, T name "priority")
-
-**Left outer join**
-::
-
-    Any T,P,V WHERE T is Ticket, T concerns P, T done_in V?
-    
-    
-**Having**
-::
-    
-    Any X GROUPBY X WHERE X knows Y HAVING COUNT(Y) > 10
-
-**Simple union**
-::
-
-    (Any X WHERE X is Person) UNION (Any X WHERE X is Company)
-    
-**Complex union**
-::
-
-     DISTINCT Any W, REF
-        WITH W, REF BEING 
-            (
-	      (Any W, REF WHERE W is Workcase, W ref REF, 
-                                 W concerned_by D, D name "Logilab")
-               UNION 
-              (Any W, REF WHERE W is Workcase, W ref REF, '
-                                W split_into WP, WP name "WP1")
-            )
-
-
-Language definition
-===================
-
-Reserved keywords
------------------
-The keywords are not case sensitive.
-
-::
-
-     DISTINCT, INSERT, SET, DELETE,
-     WHERE, AND, OR, NOT, EXISTS,
-     IN, LIKE, UNION, WITH, BEING,
-     TRUE, FALSE, NULL, TODAY, NOW,
-     LIMIT, OFFSET,
-     HAVING, GROUPBY, ORDERBY, ASC, DESC
-
-
-Variables and Typing
---------------------
-
-With RQL, we do not distinguish between entities and attributes. The
-value of an attribute is considered an entity of a particular type (see
-below), linked to one (real) entity by a relation called the name of
-the attribute.
-
-Entities and values to browse and/or select are represented in
-the query by *variables* that must be written in capital letters.
-
-There is a special type **Any**, referring to a non specific type.
-
-We can restrict the possible types for a variable using the
-special relation **is**.
-The possible type(s) for each variable is derived from the schema
-according to the constraints expressed above and thanks to the relations between
-each variable.
-
-Built-in types
-``````````````
-
-The base types supported are string (between double or single quotes),
-integers or floats (the separator is '.'), dates and
-boolean. We expect to receive a schema in which types String,
-Int, Float, Date and Boolean are defined.
-
-* `String` (literal: between double or single quotes).
-* `Int`, `Float` (separator being'.').
-* `Date`, `Datetime`, `Time` (literal: string YYYY/MM/DD [hh:mm] or keywords
-  `TODAY` and `NOW`).
-* `Boolean` (keywords `TRUE` and `FALSE`).
-* `Keyword` NULL.
-
-
-Operators
----------
-
-Logical Operators
-`````````````````
-::
-
-     AND, OR, NOT, ','
-
-',' is equivalent to 'AND' but with the smallest among the priority
-of logical operators (see :ref:`PriorityOperators`).
-
-Mathematical Operators
-``````````````````````
-::
-
-     +, -, *, /
-
-Comparison operators
-````````````````````
-::
-
-     =, <, <=, >=, >, ~=, IN, LIKE
-
-* The operator `=` is the default operator.
-
-* The operator `LIKE` equivalent to `~=` can be used with the
-  special character `%` in a string to indicate that the chain 
-  must start or finish by a prefix/suffix:
-  ::
-
-     Any X WHERE X name ~= 'Th%'
-     Any X WHERE X name LIKE '%lt'
-
-* The operator `IN` provides a list of possible values:
-  ::
-  
-    Any X WHERE X name IN ( 'chauvat', 'fayolle', 'di mascio', 'thenault')
-
-
-XXX nico: "A trick <> 'bar'" wouldn't it be more convenient than 
-"NOT A trick 'bar'" ?
-
-.. _PriorityOperators:
-
-Operator priority
-`````````````````
-
-1. '*', '/'
-
-2. '+', '-'
-
-3. 'not'
-
-4 'and'
-
-5 'or'
-
-6 ','
-
-
-Advanced Features
------------------
-
-Aggregate Functions
-```````````````````
-::
-
-     COUNT, MIN, MAX, AVG, SUM
-
-Functions on string
-```````````````````
-::
-
-     UPPER, LOWER
-
-Optional relations
-``````````````````
-
-* They allow you to select entities related or not to another.
-
-* You must use the `?` behind the variable to specify that the relation
-  toward it is optional:
-
-   - Anomalies of a project attached or not to a version ::
-
-       Any X, V WHERE X concerns P, P eid 42, X corrected_in V?
-
-   - All cards and the project they document if necessary ::
-
-       Any C, P WHERE C is Card, P? documented_by C
-
-
-
-BNF grammar
------------
-
-The terminal elements are in capital letters, non-terminal in lowercase.
-The value of the terminal elements (between quotes) is a Python regular
-expression.
-::
-
-     statement:: = (select | delete | insert | update) ';'
-
-
-     # select specific rules
-     select      ::= 'DISTINCT'? E_TYPE selected_terms restriction? group? sort?
-
-     selected_terms ::= expression ( ',' expression)*
-
-     group       ::= 'GROUPBY' VARIABLE ( ',' VARIABLE)*
-
-     sort        ::= 'ORDERBY' sort_term ( ',' sort_term)*
-
-     sort_term   ::=  VARIABLE sort_method =?
-
-     sort_method ::= 'ASC' | 'DESC'
-
-
-     # delete specific rules
-     delete ::= 'DELETE' (variables_declaration | relations_declaration) restriction?
-
-
-     # insert specific rules
-     insert ::= 'INSERT' variables_declaration ( ':' relations_declaration)? restriction?
-
-
-     # update specific rules
-     update ::= 'SET' relations_declaration restriction
-
-
-     # common rules
-     variables_declaration ::= E_TYPE VARIABLE (',' E_TYPE VARIABLE)*
-
-     relations_declaration ::= simple_relation (',' simple_relation)*
-
-     simple_relation ::= VARIABLE R_TYPE expression
-
-     restriction ::= 'WHERE' relations
-
-     relations   ::= relation (LOGIC_OP relation)*
-                   | '(' relations')'
-
-     relation    ::= 'NOT'? VARIABLE R_TYPE COMP_OP? expression
-                   | 'NOT'? R_TYPE VARIABLE 'IN' '(' expression (',' expression)* ')'
-                   
-     expression  ::= var_or_func_or_const (MATH_OP var_or_func_or_const) *
-                   | '(' expression ')'
-
-     var_or_func_or_const ::= VARIABLE | function | constant
-
-     function    ::= FUNCTION '(' expression ( ',' expression) * ')'
-
-     constant    ::= KEYWORD | STRING | FLOAT | INT
-
-     # tokens
-     LOGIC_OP ::= ',' | 'OR' | 'AND'
-     MATH_OP  ::= '+' | '-' | '/' | '*'
-     COMP_OP  ::= '>' | '>=' | '=' | '<=' | '<' | '~=' | 'LIKE'
-
-     FUNCTION ::= 'MIN' | 'MAX' | 'SUM' | 'AVG' | 'COUNT' | 'UPPER' | 'LOWER'
-
-     VARIABLE ::= '[A-Z][A-Z0-9]*'
-     E_TYPE   ::= '[A-Z]\w*'
-     R_TYPE   ::= '[a-z_]+'
-
-     KEYWORD  ::= 'TRUE' | 'FALSE' | 'NULL' | 'TODAY' | 'NOW'
-     STRING   ::= "'([^'\]|\\.)*'" |'"([^\"]|\\.)*\"'
-     FLOAT    ::= '\d+\.\d*'
-     INT      ::= '\d+'
-
-
-Remarks
--------
-
-Sorting and groups
-``````````````````
-
-- For grouped queries (e.g. with a GROUPBY clause), all
-  selected variables should be grouped.
-
-- To group and/or sort by attributes, we can do: "X,L user U, U
-  login L GROUPBY L, X ORDERBY L"
-
-- If the sorting method (SORT_METHOD) is not specified, then the sorting is
-  ascendant.
-
-Negation
-````````
-
-* A query such as `Document X WHERE NOT X owned_by U` means "the
-  documents have no relation `owned_by`".
-* But the query `Document X WHERE NOT X owned_by U, U login "syt"`
-  means "the documents have no relation `owned_by` with the user
-  syt". They may have a relation "owned_by" with another user.
-
-Identity
-````````
-
-You can use the special relation `identity` in a query to 
-add an identity constraint between two variables. This is equivalent
-to ``is`` in python::
-
-   Any A WHERE A comments B, A identity B
-
-return all objects that comment themselves. The relation
-`identity` is especially useful when defining the rules for securities
-with `RQLExpressions`.
-
-Implementation
-==============
-
-Internal representation (syntactic tree)
-----------------------------------------
-
-The tree research does not contain the selected variables 
-(e.g. there is only what follows "WHERE").
-
-The insertion tree does not contain the variables inserted or relations
-defined on these variables (e.g. there is only what follows "WHERE").
-
-The removal tree does not contain the deleted variables and relations
-(e.g. there is only what follows the "WHERE").
-
-The update tree does not contain the variables and relations updated
-(e.g. there is only what follows the "WHERE").
-
-::
-
-     Select         ((Relationship | And | Or)?, Group?, Sort?)
-     Insert         (Relations | And | Or)?
-     Delete         (Relationship | And | Or)?
-     Update         (Relations | And | Or)?
-
-     And            ((Relationship | And | Or), (Relationship | And | Or))
-     Or             ((Relationship | And | Or), (Relationship | And | Or))
-
-     Relationship   ((VariableRef, Comparison))
-
-     Comparison     ((Function | MathExpression | Keyword | Constant | VariableRef) +)
-
-     Function       (())
-     MathExpression ((MathExpression | Keyword | Constant | VariableRef), (MathExpression | Keyword | Constant | VariableRef))
-
-     Group          (VariableRef +)
-     Sort           (SortTerm +)
-     SortTerm       (VariableRef +)
-
-     VariableRef    ()
-     Variable       ()
-     Keyword        ()
-     Constant       ()
-
-
-Remarks
--------
-
-- The current implementation does not support linking two relations of type
-  'is' with a OR. I do not think that the negation is  supported on this type 
-  of relation (XXX FIXME to be confirmed).
-
-- Relations defining the variables must be left to those using them. 
-  For example::
-
-     Point P where P abs X, P ord Y, P value X+Y
-
-  is valid, but::
-
-     Point P where P abs X, P value X+Y, P ord Y
-
-  is not.
-
-RQL logs
---------
-
-You can configure the `CubicWeb` application to keep a log
-of the queries executed against your database. To do so, 
-edit the configuration file of your application 
-``.../etc/cubicweb.d/myapp/all-in-one.conf`` and uncomment the
-variable ``query-log-file``::
-
-  # web application query log file
-  query-log-file=/tmp/rql-myapp.log
-
-
-Conclusion
-==========
-
-Limitations
------------
-
-It lacks at the moment:
-
-- COALESCE
-
-- restrictions on groups (HAVING)
-
-and certainly other things ...
-
-A disadvantage is that to use this language we must know the
-format used (with real relation names and entities, not those viewing
-in the user interface). On the other hand, we can not really bypass
-that, and it is the job of a user interface to hide the RQL.
-
-
-Topics
-------
-
-It would be convenient to express the schema matching
-relations (non-recursive rules)::
-
-     Document class Type <-> Document occurence_of Fiche class Type
-     Sheet class Type    <-> Form collection Collection class Type
-    
-Therefore 1. becomes::
-
-     Document X where
-     X class C, C name 'Cartoon'
-     X owned_by U, U login 'syt'
-     X available true
-
-I'm not sure that we should handle this at RQL level ...
-
-There should also be a special relation 'anonymous'.
-
-
-
-.. _Versa: http://uche.ogbuji.net/tech/rdf/versa/
-.. _SPARQL: http://www.w3.org/TR/rdf-sparql-query/
-
-
-[FIXME] see also RQL documentation in source rql/doc.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/C050-rql.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,655 @@
+.. -*- coding: utf-8 -*-
+
+.. _RQL:
+
+======================================
+RQL language (Relation Query Language)
+======================================
+
+Introduction
+============
+
+Goals of RQL
+------------
+
+The goal is to have a language emphasizing the way of browsing
+relations. As such, attributes will be regarded as cases of
+special relations (in terms of implementation, the language
+user should see virtually no difference between an attribute and a
+relation).
+
+RQL is inspired by SQL but is the highest level. A knowledge of the 
+`CubicWeb` schema defining the application is necessary.
+
+Comparison with existing languages
+----------------------------------
+
+SQL
+```
+RQL builds on the features of SQL but is at a higher level
+(the current implementation of RQL generates SQL). For that it is limited
+to the way of browsing relations and introduces variables. 
+The user does not need to know the model underlying SQL, but the `CubicWeb` 
+schema defining the application.
+
+Versa
+`````
+We should look in more detail, but here are already some ideas for
+the moment ... Versa_ is the language most similar to what we wanted
+to do, but the model underlying data being RDF, there is some
+number of things such as namespaces or handling of the RDF types which 
+does not interest us. On the functionality level, Versa_ is very comprehensive
+including through many functions of conversion and basic types manipulation,
+which may need to be guided at one time or another. 
+Finally, the syntax is a little esoteric.
+
+Sparql
+``````
+
+The query language most similar to RQL is SPARQL_, defined by the W3C to serve
+for the semantic web. 
+
+
+The different types of queries
+------------------------------
+
+Search (`Any`)
+   Extract entities and attributes of entities.
+
+Insert entities (`INSERT`)
+   Insert new entities or relations in the database.
+   It can also directly create relationships for the newly created entities.
+
+Update entities, create relations (`SET`)
+   Update existing entities in the database,
+   or create relations between existing entities.
+
+Delete entities or relationship (`DELETE`)
+   Remove entities or relations existing in the database.
+
+Search Query
+------------
+
+   [ `DISTINCT`] <entity type> V1 (V2) \ *
+   [ `GROUPBY` V1 (V2) \*] [ `ORDERBY` <orderterms>]
+   [ `WHERE` <restriction>]
+   [ `LIMIT` <value>] [ `OFFSET` <value>]
+
+:entity type:
+   Type of selected variables.
+   The special type `Any` is equivalent to not specify a type.
+:restriction:
+   list of conditions to test successively 
+     `V1 relation V2 | <static value>`
+:orderterms:
+   Definition of the selection order: variable or column number followed by
+   sorting method ( `ASC`, `DESC`), ASC is the default.
+:note for grouped queries:
+   For grouped queries (e.g., a clause `GROUPBY`), all
+   selected variables must be aggregated or grouped.
+
+
+
+- *Search for the object of identifier 53*
+  ::
+
+        Any WHERE X
+        X eid 53
+
+- *Search material such as comics, owned by syt and available*
+  ::
+
+        WHERE X Document
+        X occurence_of F, F class C, C name 'Comics'
+        X owned_by U, U login 'syt'
+        X available true
+
+- *Looking for people working for eurocopter interested in training*
+  ::
+
+        Any P WHERE
+        P is Person, P work_for S, S name 'Eurocopter'
+        P interested_by T, T name 'training'
+
+- *Search note less than 10 days old written by jphc or ocy*
+  ::
+
+        Any N WHERE
+        N is Note, N written_on D, D day> (today -10),
+        N written_by P, P name 'jphc' or P name 'ocy'
+
+- *Looking for people interested in training or living in Paris*
+  ::
+
+        Any P WHERE
+        P is Person, (P interested_by T, T name 'training') OR
+        (P city 'Paris')
+
+- *The name and surname of all people*
+  ::
+
+        Any N, P WHERE
+        X is Person, X name N, X first_name P
+
+  Note that the selection of several entities generally force
+  the use of "Any" because the type specification applies otherwise
+  to all the selected variables. We could write here
+  ::
+
+        String N, P WHERE
+        X is Person, X name N, X first_name P
+
+
+  Note: You can not specify several types with * ... where X is FirstType or X is SecondType*.
+  To specify several types explicitely, you have to do
+
+  ::
+
+        Any X where X is in (FirstType, SecondType)
+
+
+Insertion query
+---------------
+
+    `INSERT` <entity type> V1 (, <entity type> V2) \ * `:` <assignments>
+    [ `WHERE` <restriction>]
+
+:assignments:
+   list of relations to assign in the form `V1 relationship V2 | <static value>`
+
+The restriction can define variables used in assignments.
+
+Caution, if a restriction is specified, the insertion is done for 
+*each line result returned by the restriction*.
+
+- *Insert a new person named 'foo'*
+  ::
+
+        INSERT Person X: X name 'foo'
+
+- *Insert a new person named 'foo', another called 'nice' and a 'friend' relation
+  between them*
+  ::
+
+        INSERT Person X, Person Y: X name 'foo', Y name 'nice', X friend Y
+
+- *Insert a new person named 'foo' and a 'friend' relation with an existing 
+  person called 'nice'*
+  ::
+
+        INSERT Person X: X name 'foo', X friend Y WHERE Y name 'nice'
+
+Update and relation creation queries
+------------------------------------
+    `SET` <assignements>
+    [ `WHERE` <restriction>]
+
+Caution, if a restriction is specified, the update is done *for
+each result line returned by the restriction*.
+
+- *Renaming of the person named 'foo' to 'bar' with the first name changed*
+  ::
+
+        SET X name 'bar', X first_name 'original' WHERE X is Person, X name 'foo'
+
+- *Insert a relation of type 'know' between objects linked by 
+  the relation of type 'friend'*
+  ::
+
+        SET X know Y  WHERE X friend Y
+
+
+Deletion query
+--------------
+    `DELETE` (<entity type> V) | (V1 relation v2 ),...
+    [ `WHERE` <restriction>]
+
+Caution, if a restriction is specified, the deletion is made *for
+each line result returned by the restriction*.
+
+- *Deletion of the person named 'foo'*
+  ::
+
+        DELETE Person X WHERE X name 'foo'
+
+- *Removal of all relations of type 'friend' from the person named 'foo'*
+  ::
+
+        DELETE X friend Y WHERE X is Person, X name 'foo'
+
+
+(yet) Undocumented types of queries
+-----------------------------------
+
+**Limit / offset**
+::
+    
+    Any P ORDERBY N LIMIT 5 OFFSET 10 WHERE P is Person, P firstname N
+
+**Function calls**
+::
+    
+    Any UPPER(N) WHERE P firstname N
+
+**Exists**
+::
+    
+    Any X ORDERBY PN,N
+    WHERE X num N, X version_of P, P name PN, 
+          EXISTS(X in_state S, S name IN ("dev", "ready"))
+          OR EXISTS(T tags X, T name "priority")
+
+**Left outer join**
+::
+
+    Any T,P,V WHERE T is Ticket, T concerns P, T done_in V?
+    
+    
+**Having**
+::
+    
+    Any X GROUPBY X WHERE X knows Y HAVING COUNT(Y) > 10
+
+**Simple union**
+::
+
+    (Any X WHERE X is Person) UNION (Any X WHERE X is Company)
+    
+**Complex union**
+::
+
+     DISTINCT Any W, REF
+        WITH W, REF BEING 
+            (
+	      (Any W, REF WHERE W is Workcase, W ref REF, 
+                                 W concerned_by D, D name "Logilab")
+               UNION 
+              (Any W, REF WHERE W is Workcase, W ref REF, '
+                                W split_into WP, WP name "WP1")
+            )
+
+
+Language definition
+===================
+
+Reserved keywords
+-----------------
+The keywords are not case sensitive.
+
+::
+
+     DISTINCT, INSERT, SET, DELETE,
+     WHERE, AND, OR, NOT, EXISTS,
+     IN, LIKE, UNION, WITH, BEING,
+     TRUE, FALSE, NULL, TODAY, NOW,
+     LIMIT, OFFSET,
+     HAVING, GROUPBY, ORDERBY, ASC, DESC
+
+
+Variables and Typing
+--------------------
+
+With RQL, we do not distinguish between entities and attributes. The
+value of an attribute is considered an entity of a particular type (see
+below), linked to one (real) entity by a relation called the name of
+the attribute.
+
+Entities and values to browse and/or select are represented in
+the query by *variables* that must be written in capital letters.
+
+There is a special type **Any**, referring to a non specific type.
+
+We can restrict the possible types for a variable using the
+special relation **is**.
+The possible type(s) for each variable is derived from the schema
+according to the constraints expressed above and thanks to the relations between
+each variable.
+
+Built-in types
+``````````````
+
+The base types supported are string (between double or single quotes),
+integers or floats (the separator is '.'), dates and
+boolean. We expect to receive a schema in which types String,
+Int, Float, Date and Boolean are defined.
+
+* `String` (literal: between double or single quotes).
+* `Int`, `Float` (separator being'.').
+* `Date`, `Datetime`, `Time` (literal: string YYYY/MM/DD [hh:mm] or keywords
+  `TODAY` and `NOW`).
+* `Boolean` (keywords `TRUE` and `FALSE`).
+* `Keyword` NULL.
+
+
+Operators
+---------
+
+Logical Operators
+`````````````````
+::
+
+     AND, OR, NOT, ','
+
+',' is equivalent to 'AND' but with the smallest among the priority
+of logical operators (see :ref:`PriorityOperators`).
+
+Mathematical Operators
+``````````````````````
+::
+
+     +, -, *, /
+
+Comparison operators
+````````````````````
+::
+
+     =, <, <=, >=, >, ~=, IN, LIKE
+
+* The operator `=` is the default operator.
+
+* The operator `LIKE` equivalent to `~=` can be used with the
+  special character `%` in a string to indicate that the chain 
+  must start or finish by a prefix/suffix:
+  ::
+
+     Any X WHERE X name ~= 'Th%'
+     Any X WHERE X name LIKE '%lt'
+
+* The operator `IN` provides a list of possible values:
+  ::
+  
+    Any X WHERE X name IN ( 'chauvat', 'fayolle', 'di mascio', 'thenault')
+
+
+XXX nico: "A trick <> 'bar'" wouldn't it be more convenient than 
+"NOT A trick 'bar'" ?
+
+.. _PriorityOperators:
+
+Operator priority
+`````````````````
+
+1. '*', '/'
+
+2. '+', '-'
+
+3. 'not'
+
+4 'and'
+
+5 'or'
+
+6 ','
+
+
+Advanced Features
+-----------------
+
+Aggregate Functions
+```````````````````
+::
+
+     COUNT, MIN, MAX, AVG, SUM
+
+Functions on string
+```````````````````
+::
+
+     UPPER, LOWER
+
+Optional relations
+``````````````````
+
+* They allow you to select entities related or not to another.
+
+* You must use the `?` behind the variable to specify that the relation
+  toward it is optional:
+
+   - Anomalies of a project attached or not to a version ::
+
+       Any X, V WHERE X concerns P, P eid 42, X corrected_in V?
+
+   - All cards and the project they document if necessary ::
+
+       Any C, P WHERE C is Card, P? documented_by C
+
+
+
+BNF grammar
+-----------
+
+The terminal elements are in capital letters, non-terminal in lowercase.
+The value of the terminal elements (between quotes) is a Python regular
+expression.
+::
+
+     statement:: = (select | delete | insert | update) ';'
+
+
+     # select specific rules
+     select      ::= 'DISTINCT'? E_TYPE selected_terms restriction? group? sort?
+
+     selected_terms ::= expression ( ',' expression)*
+
+     group       ::= 'GROUPBY' VARIABLE ( ',' VARIABLE)*
+
+     sort        ::= 'ORDERBY' sort_term ( ',' sort_term)*
+
+     sort_term   ::=  VARIABLE sort_method =?
+
+     sort_method ::= 'ASC' | 'DESC'
+
+
+     # delete specific rules
+     delete ::= 'DELETE' (variables_declaration | relations_declaration) restriction?
+
+
+     # insert specific rules
+     insert ::= 'INSERT' variables_declaration ( ':' relations_declaration)? restriction?
+
+
+     # update specific rules
+     update ::= 'SET' relations_declaration restriction
+
+
+     # common rules
+     variables_declaration ::= E_TYPE VARIABLE (',' E_TYPE VARIABLE)*
+
+     relations_declaration ::= simple_relation (',' simple_relation)*
+
+     simple_relation ::= VARIABLE R_TYPE expression
+
+     restriction ::= 'WHERE' relations
+
+     relations   ::= relation (LOGIC_OP relation)*
+                   | '(' relations')'
+
+     relation    ::= 'NOT'? VARIABLE R_TYPE COMP_OP? expression
+                   | 'NOT'? R_TYPE VARIABLE 'IN' '(' expression (',' expression)* ')'
+                   
+     expression  ::= var_or_func_or_const (MATH_OP var_or_func_or_const) *
+                   | '(' expression ')'
+
+     var_or_func_or_const ::= VARIABLE | function | constant
+
+     function    ::= FUNCTION '(' expression ( ',' expression) * ')'
+
+     constant    ::= KEYWORD | STRING | FLOAT | INT
+
+     # tokens
+     LOGIC_OP ::= ',' | 'OR' | 'AND'
+     MATH_OP  ::= '+' | '-' | '/' | '*'
+     COMP_OP  ::= '>' | '>=' | '=' | '<=' | '<' | '~=' | 'LIKE'
+
+     FUNCTION ::= 'MIN' | 'MAX' | 'SUM' | 'AVG' | 'COUNT' | 'UPPER' | 'LOWER'
+
+     VARIABLE ::= '[A-Z][A-Z0-9]*'
+     E_TYPE   ::= '[A-Z]\w*'
+     R_TYPE   ::= '[a-z_]+'
+
+     KEYWORD  ::= 'TRUE' | 'FALSE' | 'NULL' | 'TODAY' | 'NOW'
+     STRING   ::= "'([^'\]|\\.)*'" |'"([^\"]|\\.)*\"'
+     FLOAT    ::= '\d+\.\d*'
+     INT      ::= '\d+'
+
+
+Remarks
+-------
+
+Sorting and groups
+``````````````````
+
+- For grouped queries (e.g. with a GROUPBY clause), all
+  selected variables should be grouped.
+
+- To group and/or sort by attributes, we can do: "X,L user U, U
+  login L GROUPBY L, X ORDERBY L"
+
+- If the sorting method (SORT_METHOD) is not specified, then the sorting is
+  ascendant.
+
+Negation
+````````
+
+* A query such as `Document X WHERE NOT X owned_by U` means "the
+  documents have no relation `owned_by`".
+* But the query `Document X WHERE NOT X owned_by U, U login "syt"`
+  means "the documents have no relation `owned_by` with the user
+  syt". They may have a relation "owned_by" with another user.
+
+Identity
+````````
+
+You can use the special relation `identity` in a query to 
+add an identity constraint between two variables. This is equivalent
+to ``is`` in python::
+
+   Any A WHERE A comments B, A identity B
+
+return all objects that comment themselves. The relation
+`identity` is especially useful when defining the rules for securities
+with `RQLExpressions`.
+
+Implementation
+==============
+
+Internal representation (syntactic tree)
+----------------------------------------
+
+The tree research does not contain the selected variables 
+(e.g. there is only what follows "WHERE").
+
+The insertion tree does not contain the variables inserted or relations
+defined on these variables (e.g. there is only what follows "WHERE").
+
+The removal tree does not contain the deleted variables and relations
+(e.g. there is only what follows the "WHERE").
+
+The update tree does not contain the variables and relations updated
+(e.g. there is only what follows the "WHERE").
+
+::
+
+     Select         ((Relationship | And | Or)?, Group?, Sort?)
+     Insert         (Relations | And | Or)?
+     Delete         (Relationship | And | Or)?
+     Update         (Relations | And | Or)?
+
+     And            ((Relationship | And | Or), (Relationship | And | Or))
+     Or             ((Relationship | And | Or), (Relationship | And | Or))
+
+     Relationship   ((VariableRef, Comparison))
+
+     Comparison     ((Function | MathExpression | Keyword | Constant | VariableRef) +)
+
+     Function       (())
+     MathExpression ((MathExpression | Keyword | Constant | VariableRef), (MathExpression | Keyword | Constant | VariableRef))
+
+     Group          (VariableRef +)
+     Sort           (SortTerm +)
+     SortTerm       (VariableRef +)
+
+     VariableRef    ()
+     Variable       ()
+     Keyword        ()
+     Constant       ()
+
+
+Remarks
+-------
+
+- The current implementation does not support linking two relations of type
+  'is' with a OR. I do not think that the negation is  supported on this type 
+  of relation (XXX FIXME to be confirmed).
+
+- Relations defining the variables must be left to those using them. 
+  For example::
+
+     Point P where P abs X, P ord Y, P value X+Y
+
+  is valid, but::
+
+     Point P where P abs X, P value X+Y, P ord Y
+
+  is not.
+
+RQL logs
+--------
+
+You can configure the `CubicWeb` application to keep a log
+of the queries executed against your database. To do so, 
+edit the configuration file of your application 
+``.../etc/cubicweb.d/myapp/all-in-one.conf`` and uncomment the
+variable ``query-log-file``::
+
+  # web application query log file
+  query-log-file=/tmp/rql-myapp.log
+
+
+Conclusion
+==========
+
+Limitations
+-----------
+
+It lacks at the moment:
+
+- COALESCE
+
+- restrictions on groups (HAVING)
+
+and certainly other things ...
+
+A disadvantage is that to use this language we must know the
+format used (with real relation names and entities, not those viewing
+in the user interface). On the other hand, we can not really bypass
+that, and it is the job of a user interface to hide the RQL.
+
+
+Topics
+------
+
+It would be convenient to express the schema matching
+relations (non-recursive rules)::
+
+     Document class Type <-> Document occurence_of Fiche class Type
+     Sheet class Type    <-> Form collection Collection class Type
+    
+Therefore 1. becomes::
+
+     Document X where
+     X class C, C name 'Cartoon'
+     X owned_by U, U login 'syt'
+     X available true
+
+I'm not sure that we should handle this at RQL level ...
+
+There should also be a special relation 'anonymous'.
+
+
+
+.. _Versa: http://uche.ogbuji.net/tech/rdf/versa/
+.. _SPARQL: http://www.w3.org/TR/rdf-sparql-query/
+
+
+[FIXME] see also RQL documentation in source rql/doc.
--- a/doc/book/en/D000-annex.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/D000-annex.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -12,9 +12,10 @@
    :maxdepth: 1
 
    D010-faq.en.txt
-   D020-api-reference.en.txt
-   D030-architecture.en.txt
-   D040-modules-stdlib.en.txt
-   D050-modules-cbw-api.en.txt
-   D060-mercurial.en.txt
-   D070-cookbook.en.txt
+   D020-cookbook.en.txt
+   D030-cubicweb-ctl.en.txt
+   D040-api-reference.en.txt
+   D050-architecture.en.txt
+   D060-modules-stdlib.en.txt
+   D070-modules-cbw-api.en.txt
+   D080-mercurial.en.txt
--- a/doc/book/en/D010-faq.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/D010-faq.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -135,12 +135,6 @@
   `AppRsetObject` instances are selected on a request and a result
   set. `AppObject` instances are directly selected by id.
 
-HOW TO
-======
-
-[TO COMPLETE]
-
-
 * How to update a database after a schema modification?
 
   It depends on what has been modified in the schema.
--- a/doc/book/en/D020-api-reference.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-API Reference
-=============
-
-Schema API
-----------
-
-Base Types
-~~~~~~~~~~
-
-Base types are defined as a set in yams.BASE_TYPES that includes:
-`String`, `Int`, `Float`, `Boolean`, `Date`, `Time`, `Datetime`,
-`Interval`, `Password`, `Bytes`.
-
-See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
-
-Constraints
-~~~~~~~~~~~
-
-Constraints are defined in yams.constraints and include:
-`UniqueConstraint`, `SizeConstraint`, `RegexpConstraint`,
-`BoundConstraint`, `IntervalBoundConstraint`,
-`StaticVocabularyConstraint`, `MultipleStaticVocabularyConstraint`.
-
-See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
-
-Views API
----------
-
-See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
-[WRITE ME]
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D020-cookbook.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,64 @@
+.. -*- coding: utf-8 -*-
+
+Cook book
+=========
+
+We gathered together some of our tricks and scripts that could make
+life easier.
+
+
+* How to import LDAP users in `CubicWeb`?
+
+  Here is a very useful script which enables you to import LDAP users
+  into your `CubicWeb` application by running the following: ::
+
+
+    import os
+    import pwd
+    import sys
+
+    from logilab.common.db import get_connection
+
+    def getlogin():
+        """avoid usinng os.getlogin() because of strange tty / stdin problems
+        (man 3 getlogin)
+        Another solution would be to use $LOGNAME, $USER or $USERNAME
+        """
+        return pwd.getpwuid(os.getuid())[0]
+
+
+    try:
+        database = sys.argv[1]
+    except IndexError:
+        print 'USAGE: python ldap2system.py <database>'
+        sys.exit(1)
+
+    if raw_input('update %s db ? [y/n]: ' % database).strip().lower().startswith('y'):
+        cnx = get_connection(user=getlogin(), database=database)
+        cursor = cnx.cursor()
+
+        insert = ('INSERT INTO euser (creation_date, eid, modification_date, login, firstname, surname, last_login_time, upassword) '
+                  "VALUES (%(mtime)s, %(eid)s, %(mtime)s, %(login)s, %(firstname)s, %(surname)s, %(mtime)s, './fqEz5LeZnT6');")
+        update = "UPDATE entities SET source='system' WHERE eid=%(eid)s;"
+        cursor.execute("SELECT eid,type,source,extid,mtime FROM entities WHERE source!='system'")
+        for eid, type, source, extid, mtime in cursor.fetchall():
+            if type != 'EUser':
+                print "don't know what to do with entity type", type
+                continue
+            if source != 'ldapuser':
+                print "don't know what to do with source type", source
+                continue
+            ldapinfos = dict(x.strip().split('=') for x in extid.split(','))
+            login = ldapinfos['uid']
+            firstname = ldapinfos['uid'][0].upper()
+            surname = ldapinfos['uid'][1:].capitalize()
+            if login != 'jcuissinat':
+                args = dict(eid=eid, type=type, source=source, login=login,
+                            firstname=firstname, surname=surname, mtime=mtime)
+                print args
+                cursor.execute(insert, args)
+                cursor.execute(update, args)
+
+        cnx.commit()
+        cnx.close()
+
--- a/doc/book/en/D030-architecture.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-
-Server Architecture
--------------------
-
-.. image:: images/server-class-diagram.png
-
-`Diagramme ArgoUML`_
-
-[FIXME]
-Make a downloadable source of zargo file.
-
-.. _`Diagramme ArgoUML`: cubicweb.zargo
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D030-cubicweb-ctl.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,122 @@
+.. -*- coding: utf-8 -*-
+
+.. _cubicweb-ctl:
+
+``cubicweb-ctl`` tool
+=====================
+
+`cubicweb-ctl` is the swiss knife to manage `CubicWeb` instances.
+The general syntax is ::
+
+  cubicweb-ctl <command> [options command] <arguments commands>
+
+To view available commands ::
+
+  cubicweb-ctl
+  cubicweb-ctl --help
+
+Please note that the commands available depends on the `CubicWeb` packages
+and cubes that have been installed.
+
+To view the help menu on specific command ::
+
+  cubicweb-ctl <command> --help
+
+Command to create a cube
+------------------------
+
+* ``newcube``, create a new cube on the file system based on the name
+  given in the parameters. This command create a cube from an application
+  skeleton that includes default files required for debian packaging.
+  
+
+Command to create an instance
+-----------------------------
+* ``create``, creates the files for the instance configuration
+* ``db-create``, creates the system database of an instance (tables and
+  extensions only)
+* ``db-init``, initializes the system database of an instance
+  (schema, groups, users, workflows...)
+
+By default, those three commandes are encapsulated in ``create`` so
+that they can be executed consecutively.
+
+Command to create an instance for Google AppEngine datastore source
+-------------------------------------------------------------------
+* ``newgapp``, creates the configuration files for an instance
+
+This command needs to be followed by the commands responsible for
+the database initialization. As those are specific to the `datastore`,
+specific Google AppEgine database, they are not available for now
+in cubicweb-ctl, but they are available in the instance created.
+
+For more details, please see :ref:`gaecontents` .
+
+Commands to control instances
+-----------------------------
+* ``start``, starts one or more or all instances
+* ``stop``, stops one or more or all instances
+* ``restart``, restarts one or more or all instances
+* ``status``, returns the status of the instance
+
+Commands to maintain instances
+------------------------------
+* ``upgrade``, launches the existing instances migration when a new version
+  of `CubicWeb` or the cubes installed is available
+* ``shell``, opens a migration shell for manual maintenance of the instance
+* ``db-dump``, creates a dump of the system database
+* ``db-restore``, restores a dump of the system database
+* ``db-check``, checks data integrity of an instance. If the automatic correction
+  is activated, it is recommanded to create a dump before this operation.
+* ``schema-sync``, synchronizes the persistent schema of an instance with
+  the application schema. It is recommanded to create a dump before this operation.
+
+Commands to maintain i18n catalogs
+----------------------------------
+* ``i18nlibupdate``, regenerates messages catalogs of the `CubicWeb` library
+* ``i18nupdate``, regenerates the messages catalogs of a cube
+* ``i18ncompile``, recompiles the messages catalogs of an instance. 
+  This is automatically done while upgrading.
+
+See also chapter :ref:`internationalisation`.
+
+Other commands
+--------------
+* ``list``, provides a list of the available configuration, cubes
+  and instances.
+* ``delete``, deletes an instance (configuration files and database)
+
+
+Create an instance from an existing cube
+````````````````````````````````````````
+
+To create an instance from an existing cube, execute the following
+command ::
+
+   cubicweb-ctl create <cube_name> <instance_name>
+
+This command will create the configuration files of an instance in
+``~/etc/cubicweb.d/<instance_name>``.
+The tool ``cubicweb-ctl`` allows you to execute the command ``db-create``
+and ``db-init`` when you run ``create`` so that you can complete an
+instance creation in a single command.
+
+If you decide not to execut those commands while ``cubicweb-ctl create``,
+then you will have to execute them seperately(``cubicweb-ctl db-create``,
+``cubicweb-ctl db-init`` ) otherwise your installation will not be complete
+and you will not be able to launch your instance.
+
+
+Creation of an instance from a new cube
+```````````````````````````````````````
+
+Create first your new cube cube ::
+
+   cubicweb-ctl newcube <mycube>
+
+This will create a new cube in ``/path/to/forest/cubicweb/cubes/<mycube>``
+for a Mercurial forest installation, or in ``/usr/share/cubicweb/cubes``
+for a debian packages installation, and then create an instance as 
+explained just above.
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D040-api-reference.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,33 @@
+.. -*- coding: utf-8 -*-
+
+API Reference
+=============
+
+Schema API
+----------
+
+Base Types
+~~~~~~~~~~
+
+Base types are defined as a set in yams.BASE_TYPES that includes:
+`String`, `Int`, `Float`, `Boolean`, `Date`, `Time`, `Datetime`,
+`Interval`, `Password`, `Bytes`.
+
+See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
+
+Constraints
+~~~~~~~~~~~
+
+Constraints are defined in yams.constraints and include:
+`UniqueConstraint`, `SizeConstraint`, `RegexpConstraint`,
+`BoundConstraint`, `IntervalBoundConstraint`,
+`StaticVocabularyConstraint`, `MultipleStaticVocabularyConstraint`.
+
+See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
+
+Views API
+---------
+
+See `yams' API <http://www.cubicweb.org/doc/en/modindex.html>`_
+[WRITE ME]
+
--- a/doc/book/en/D040-modules-stdlib.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-================
-Standard library
-================
-
-:mod:`cubes.addressbook` 
-========================
-
-.. automodule:: cubes.addressbook
-   :members:
-
-:mod:`cubes.basket` 
-========================
-
-.. automodule:: cubes.basket
-   :members:
-
-:mod:`cubes.blog` 
-========================
-
-.. automodule:: cubes.blog
-   :members:
-
-:mod:`cubes.book` 
-========================
-
-.. automodule:: cubes.book
-   :members:
-
-:mod:`cubes.comment` 
-========================
-
-.. automodule:: cubes.comment
-   :members:
-
-:mod:`cubes.company` 
-========================
-
-.. automodule:: cubes.company
-   :members:
-
-
-:mod:`cubes.conference` 
-========================
-
-.. automodule:: cubes.conference
-   :members:
-
-:mod:`cubes.email` 
-========================
-
-.. automodule:: cubes.email
-   :members:
-
-:mod:`cubes.event` 
-========================
-
-.. automodule:: cubes.event
-   :members:
-
-:mod:`cubes.expense` 
-========================
-
-.. automodule:: cubes.expense
-   :members:
-
-
-:mod:`cubes.file` 
-========================
-
-.. automodule:: cubes.file
-   :members:
-
-:mod:`cubes.folder` 
-========================
-
-.. automodule:: cubes.folder
-   :members:
-
-:mod:`cubes.i18ncontent` 
-========================
-
-.. automodule:: cubes.i18ncontent
-   :members:
-
-:mod:`cubes.invoice` 
-========================
-
-.. automodule:: cubes.invoice
-   :members:
-
-:mod:`cubes.keyword` 
-========================
-
-.. automodule:: cubes.keyword
-   :members:
-
-:mod:`cubes.link` 
-========================
-
-.. automodule:: cubes.link
-   :members:
-
-:mod:`cubes.mailinglist` 
-========================
-
-.. automodule:: cubes.mailinglist
-   :members:
-
-:mod:`cubes.person` 
-========================
-
-.. automodule:: cubes.person
-   :members:
-
-:mod:`cubes.shopcart` 
-========================
-
-.. automodule:: cubes.shopcart
-   :members:
-
-:mod:`cubes.skillmat` 
-========================
-
-.. automodule:: cubes.skillmat
-   :members:
-
-:mod:`cubes.tag` 
-========================
-
-.. automodule:: cubes.tag
-   :members:
-
-:mod:`cubes.task` 
-========================
-
-.. automodule:: cubes.task
-   :members:
-
-:mod:`cubes.workcase` 
-========================
-
-.. automodule:: cubes.workcase
-   :members:
-
-:mod:`cubes.workorder` 
-========================
-
-.. automodule:: cubes.workorder
-   :members:
-
-:mod:`cubes.zone` 
-========================
-
-.. automodule:: cubes.zone
-   :members:
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D050-architecture.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,14 @@
+.. -*- coding: utf-8 -*-
+
+
+Server Architecture
+-------------------
+
+.. image:: images/server-class-diagram.png
+
+`Diagramme ArgoUML`_
+
+[FIXME]
+Make a downloadable source of zargo file.
+
+.. _`Diagramme ArgoUML`: cubicweb.zargo
--- a/doc/book/en/D050-modules-cbw-api.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1961 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-============
-CubicWeb API
-============
-
-:mod:`cubicweb.hercule`
-=======================
-
-.. automodule:: cubicweb.hercule
-   :members:
-
-:mod:`cubicweb.cwctl`
-=====================
-
-.. automodule:: cubicweb.cwctl
-   :members:
-
-:mod:`cubicweb.schema`
-======================
-
-.. automodule:: cubicweb.schema
-   :members:
-
-:mod:`cubicweb.cwconfig`
-========================
-
-.. automodule:: cubicweb.cwconfig
-   :members:
-
-:mod:`cubicweb.schemaviewer`
-============================
-
-.. automodule:: cubicweb.schemaviewer
-   :members:
-
-:mod:`cubicweb._exceptions`
-===========================
-
-.. automodule:: cubicweb._exceptions
-   :members:
-
-:mod:`cubicweb.dbapi`
-=====================
-
-.. automodule:: cubicweb.dbapi
-   :members:
-
-:mod:`cubicweb.toolsutils`
-==========================
-
-.. automodule:: cubicweb.toolsutils
-   :members:
-
-:mod:`cubicweb.cwvreg`
-======================
-
-.. automodule:: cubicweb.cwvreg
-   :members:
-
-:mod:`cubicweb.md5crypt`
-========================
-
-.. automodule:: cubicweb.md5crypt
-   :members:
-
-:mod:`cubicweb.rset`
-====================
-
-.. automodule:: cubicweb.rset
-   :members:
-
-:mod:`cubicweb`
-===============
-
-.. automodule:: cubicweb
-   :members:
-
-:mod:`cubicweb.setup`
-=====================
-
-.. automodule:: cubicweb.setup
-   :members:
-
-:mod:`cubicweb.gettext`
-=======================
-
-.. automodule:: cubicweb.gettext
-   :members:
-
-:mod:`cubicweb.interfaces`
-==========================
-
-.. automodule:: cubicweb.interfaces
-   :members:
-
-:mod:`cubicweb.vregistry`
-=========================
-
-.. automodule:: cubicweb.vregistry
-   :members:
-
-:mod:`cubicweb.web.httpcache`
-=============================
-
-.. automodule:: cubicweb.web.httpcache
-   :members:
-
-:mod:`cubicweb.web.webconfig`
-=============================
-
-.. automodule:: cubicweb.web.webconfig
-   :members:
-
-:mod:`cubicweb.web.request`
-===========================
-
-.. automodule:: cubicweb.web.request
-   :members:
-
-:mod:`cubicweb.web._exceptions`
-===============================
-
-.. automodule:: cubicweb.web._exceptions
-   :members:
-
-:mod:`cubicweb.web.webctl`
-==========================
-
-.. automodule:: cubicweb.web.webctl
-   :members:
-
-:mod:`cubicweb.web.application`
-===============================
-
-.. automodule:: cubicweb.web.application
-   :members:
-
-:mod:`cubicweb.web.controller`
-==============================
-
-.. automodule:: cubicweb.web.controller
-   :members:
-
-:mod:`cubicweb.web.widgets`
-===========================
-
-.. automodule:: cubicweb.web.widgets
-   :members:
-
-:mod:`cubicweb.web.htmlwidgets`
-===============================
-
-.. automodule:: cubicweb.web.htmlwidgets
-   :members:
-
-:mod:`cubicweb.web`
-===================
-
-.. automodule:: cubicweb.web
-   :members:
-
-:mod:`cubicweb.web.form`
-========================
-
-.. automodule:: cubicweb.web.form
-   :members:
-
-:mod:`cubicweb.web.box`
-=======================
-
-.. automodule:: cubicweb.web.box
-   :members:
-
-:mod:`cubicweb.web.component`
-=============================
-
-.. automodule:: cubicweb.web.component
-   :members:
-
-:mod:`cubicweb.web.action`
-==========================
-
-.. automodule:: cubicweb.web.action
-   :members:
-
-:mod:`cubicweb.web.facet`
-=========================
-
-.. automodule:: cubicweb.web.facet
-   :members:
-
-:mod:`cubicweb.web.views.plots`
-===============================
-
-.. automodule:: cubicweb.web.views.plots
-   :members:
-
-:mod:`cubicweb.web.views.error`
-===============================
-
-.. automodule:: cubicweb.web.views.error
-   :members:
-
-:mod:`cubicweb.web.views.magicsearch`
-=====================================
-
-.. automodule:: cubicweb.web.views.magicsearch
-   :members:
-
-:mod:`cubicweb.web.views.basetemplates`
-=======================================
-
-.. automodule:: cubicweb.web.views.basetemplates
-   :members:
-
-:mod:`cubicweb.web.views.idownloadable`
-=======================================
-
-.. automodule:: cubicweb.web.views.idownloadable
-   :members:
-
-:mod:`cubicweb.web.views.ajaxedit`
-==================================
-
-.. automodule:: cubicweb.web.views.ajaxedit
-   :members:
-
-:mod:`cubicweb.web.views.wfentities`
-====================================
-
-.. automodule:: cubicweb.web.views.wfentities
-   :members:
-
-:mod:`cubicweb.web.views.navigation`
-====================================
-
-.. automodule:: cubicweb.web.views.navigation
-   :members:
-
-:mod:`cubicweb.web.views.schemaentities`
-========================================
-
-.. automodule:: cubicweb.web.views.schemaentities
-   :members:
-
-:mod:`cubicweb.web.views.treeview`
-==================================
-
-.. automodule:: cubicweb.web.views.treeview
-   :members:
-
-:mod:`cubicweb.web.views.startup`
-=================================
-
-.. automodule:: cubicweb.web.views.startup
-   :members:
-
-:mod:`cubicweb.web.views.iprogress`
-===================================
-
-.. automodule:: cubicweb.web.views.iprogress
-   :members:
-
-:mod:`cubicweb.web.views.euser`
-===============================
-
-.. automodule:: cubicweb.web.views.euser
-   :members:
-
-:mod:`cubicweb.web.views.facets`
-================================
-
-.. automodule:: cubicweb.web.views.facets
-   :members:
-
-:mod:`cubicweb.web.views.emailaddress`
-======================================
-
-.. automodule:: cubicweb.web.views.emailaddress
-   :members:
-
-:mod:`cubicweb.web.views.sessions`
-==================================
-
-.. automodule:: cubicweb.web.views.sessions
-   :members:
-
-:mod:`cubicweb.web.views.timetable`
-===================================
-
-.. automodule:: cubicweb.web.views.timetable
-   :members:
-
-:mod:`cubicweb.web.views.timeline`
-==================================
-
-.. automodule:: cubicweb.web.views.timeline
-   :members:
-
-:mod:`cubicweb.web.views.baseviews`
-===================================
-
-.. automodule:: cubicweb.web.views.baseviews
-   :members:
-
-:mod:`cubicweb.web.views.boxes`
-===============================
-
-.. automodule:: cubicweb.web.views.boxes
-   :members:
-
-:mod:`cubicweb.web.views.old_calendar`
-======================================
-
-.. automodule:: cubicweb.web.views.old_calendar
-   :members:
-
-:mod:`cubicweb.web.views.card`
-==============================
-
-.. automodule:: cubicweb.web.views.card
-   :members:
-
-:mod:`cubicweb.web.views.ibreadcrumbs`
-======================================
-
-.. automodule:: cubicweb.web.views.ibreadcrumbs
-   :members:
-
-:mod:`cubicweb.web.views.basecontrollers`
-=========================================
-
-.. automodule:: cubicweb.web.views.basecontrollers
-   :members:
-
-:mod:`cubicweb.web.views.embedding`
-===================================
-
-.. automodule:: cubicweb.web.views.embedding
-   :members:
-
-:mod:`cubicweb.web.views.actions`
-=================================
-
-.. automodule:: cubicweb.web.views.actions
-   :members:
-
-:mod:`cubicweb.web.views.editcontroller`
-========================================
-
-.. automodule:: cubicweb.web.views.editcontroller
-   :members:
-
-:mod:`cubicweb.web.views.debug`
-===============================
-
-.. automodule:: cubicweb.web.views.debug
-   :members:
-
-:mod:`cubicweb.web.views.urlpublishing`
-=======================================
-
-.. automodule:: cubicweb.web.views.urlpublishing
-   :members:
-
-:mod:`cubicweb.web.views.baseforms`
-===================================
-
-.. automodule:: cubicweb.web.views.baseforms
-   :members:
-
-:mod:`cubicweb.web.views.urlrewrite`
-====================================
-
-.. automodule:: cubicweb.web.views.urlrewrite
-   :members:
-
-:mod:`cubicweb.web.views.massmailing`
-=====================================
-
-.. automodule:: cubicweb.web.views.massmailing
-   :members:
-
-:mod:`cubicweb.web.views`
-=========================
-
-.. automodule:: cubicweb.web.views
-   :members:
-
-:mod:`cubicweb.web.views.eproperties`
-=====================================
-
-.. automodule:: cubicweb.web.views.eproperties
-   :members:
-
-:mod:`cubicweb.web.views.tabs`
-==============================
-
-.. automodule:: cubicweb.web.views.tabs
-   :members:
-
-:mod:`cubicweb.web.views.vcard`
-===============================
-
-.. automodule:: cubicweb.web.views.vcard
-   :members:
-
-:mod:`cubicweb.web.views.wdoc`
-==============================
-
-.. automodule:: cubicweb.web.views.wdoc
-   :members:
-
-:mod:`cubicweb.web.views.authentication`
-========================================
-
-.. automodule:: cubicweb.web.views.authentication
-   :members:
-
-:mod:`cubicweb.web.views.tableview`
-===================================
-
-.. automodule:: cubicweb.web.views.tableview
-   :members:
-
-:mod:`cubicweb.web.views.management`
-====================================
-
-.. automodule:: cubicweb.web.views.management
-   :members:
-
-:mod:`cubicweb.web.views.igeocodable`
-=====================================
-
-.. automodule:: cubicweb.web.views.igeocodable
-   :members:
-
-:mod:`cubicweb.web.views.xbel`
-==============================
-
-.. automodule:: cubicweb.web.views.xbel
-   :members:
-
-:mod:`cubicweb.web.views.bookmark`
-==================================
-
-.. automodule:: cubicweb.web.views.bookmark
-   :members:
-
-:mod:`cubicweb.web.views.apacherewrite`
-=======================================
-
-.. automodule:: cubicweb.web.views.apacherewrite
-   :members:
-
-:mod:`cubicweb.web.views.dynimages`
-===================================
-
-.. automodule:: cubicweb.web.views.dynimages
-   :members:
-
-:mod:`cubicweb.web.views.searchrestriction`
-===========================================
-
-.. automodule:: cubicweb.web.views.searchrestriction
-   :members:
-
-:mod:`cubicweb.web.views.basecomponents`
-========================================
-
-.. automodule:: cubicweb.web.views.basecomponents
-   :members:
-
-:mod:`cubicweb.web.views.calendar`
-==================================
-
-.. automodule:: cubicweb.web.views.calendar
-   :members:
-
-:mod:`cubicweb.sobjects.supervising`
-====================================
-
-.. automodule:: cubicweb.sobjects.supervising
-   :members:
-
-:mod:`cubicweb.sobjects.hooks`
-==============================
-
-.. automodule:: cubicweb.sobjects.hooks
-   :members:
-
-:mod:`cubicweb.sobjects.email`
-==============================
-
-.. automodule:: cubicweb.sobjects.email
-   :members:
-
-:mod:`cubicweb.sobjects`
-========================
-
-.. automodule:: cubicweb.sobjects
-   :members:
-
-:mod:`cubicweb.sobjects.notification`
-=====================================
-
-.. automodule:: cubicweb.sobjects.notification
-   :members:
-
-:mod:`cubicweb.wsgi.request`
-============================
-
-.. automodule:: cubicweb.wsgi.request
-   :members:
-
-:mod:`cubicweb.wsgi`
-====================
-
-.. automodule:: cubicweb.wsgi
-   :members:
-
-:mod:`cubicweb.wsgi.handler`
-============================
-
-.. automodule:: cubicweb.wsgi.handler
-   :members:
-
-:mod:`cubicweb.etwist.server`
-=============================
-
-.. automodule:: cubicweb.etwist.server
-   :members:
-
-:mod:`cubicweb.etwist.request`
-==============================
-
-.. automodule:: cubicweb.etwist.request
-   :members:
-
-:mod:`cubicweb.etwist.twconfig`
-===============================
-
-.. automodule:: cubicweb.etwist.twconfig
-   :members:
-
-:mod:`cubicweb.etwist`
-======================
-
-.. automodule:: cubicweb.etwist
-   :members:
-
-:mod:`cubicweb.etwist.twctl`
-============================
-
-.. automodule:: cubicweb.etwist.twctl
-   :members:
-
-:mod:`cubicweb.goa.goaconfig`
-=============================
-
-.. automodule:: cubicweb.goa.goaconfig
-   :members:
-
-:mod:`cubicweb.goa.rqlinterpreter`
-==================================
-
-.. automodule:: cubicweb.goa.rqlinterpreter
-   :members:
-
-:mod:`cubicweb.goa.dbmyams`
-===========================
-
-.. automodule:: cubicweb.goa.dbmyams
-   :members:
-
-:mod:`cubicweb.goa.db`
-======================
-
-.. automodule:: cubicweb.goa.db
-   :members:
-
-:mod:`cubicweb.goa.goactl`
-==========================
-
-.. automodule:: cubicweb.goa.goactl
-   :members:
-
-:mod:`cubicweb.goa.goavreg`
-===========================
-
-.. automodule:: cubicweb.goa.goavreg
-   :members:
-
-:mod:`cubicweb.goa`
-===================
-
-.. automodule:: cubicweb.goa
-   :members:
-
-:mod:`cubicweb.goa.gaesource`
-=============================
-
-.. automodule:: cubicweb.goa.gaesource
-   :members:
-
-:mod:`cubicweb.goa.dbinit`
-==========================
-
-.. automodule:: cubicweb.goa.dbinit
-   :members:
-
-:mod:`cubicweb.goa.testlib`
-===========================
-
-.. automodule:: cubicweb.goa.testlib
-   :members:
-
-:mod:`cubicweb.goa.appobjects.dbmgmt`
-=====================================
-
-.. automodule:: cubicweb.goa.appobjects.dbmgmt
-   :members:
-
-:mod:`cubicweb.goa.appobjects.gauthservice`
-===========================================
-
-.. automodule:: cubicweb.goa.appobjects.gauthservice
-   :members:
-
-:mod:`cubicweb.goa.appobjects.sessions`
-=======================================
-
-.. automodule:: cubicweb.goa.appobjects.sessions
-   :members:
-
-:mod:`cubicweb.goa.appobjects`
-==============================
-
-.. automodule:: cubicweb.goa.appobjects
-   :members:
-
-:mod:`cubicweb.goa.appobjects.components`
-=========================================
-
-.. automodule:: cubicweb.goa.appobjects.components
-   :members:
-
-:mod:`cubicweb.goa.tools.laxctl`
-================================
-
-.. automodule:: cubicweb.goa.tools.laxctl
-   :members:
-
-:mod:`cubicweb.goa.tools.generate_schema_img`
-=============================================
-
-.. automodule:: cubicweb.goa.tools.generate_schema_img
-   :members:
-
-:mod:`cubicweb.goa.tools`
-=========================
-
-.. automodule:: cubicweb.goa.tools
-   :members:
-
-:mod:`cubicweb.goa.tools.i18n`
-==============================
-
-.. automodule:: cubicweb.goa.tools.i18n
-   :members:
-
-:mod:`cubicweb.goa.overrides.mttransforms`
-==========================================
-
-.. automodule:: cubicweb.goa.overrides.mttransforms
-   :members:
-
-:mod:`cubicweb.goa.overrides.rqlannotation`
-===========================================
-
-.. automodule:: cubicweb.goa.overrides.rqlannotation
-   :members:
-
-:mod:`cubicweb.goa.overrides.toolsutils`
-========================================
-
-.. automodule:: cubicweb.goa.overrides.toolsutils
-   :members:
-
-:mod:`cubicweb.goa.overrides`
-=============================
-
-.. automodule:: cubicweb.goa.overrides
-   :members:
-
-:mod:`cubicweb.goa.overrides.server__init__`
-============================================
-
-.. automodule:: cubicweb.goa.overrides.server__init__
-   :members:
-
-:mod:`cubicweb.goa.overrides.server_utils`
-==========================================
-
-.. automodule:: cubicweb.goa.overrides.server_utils
-   :members:
-
-:mod:`cubicweb.common.mttransforms`
-===================================
-
-.. automodule:: cubicweb.common.mttransforms
-   :members:
-
-:mod:`cubicweb.common.utils`
-============================
-
-.. automodule:: cubicweb.common.utils
-   :members:
-
-:mod:`cubicweb.common.schema`
-=============================
-
-.. automodule:: cubicweb.common.schema
-   :members:
-
-:mod:`cubicweb.common.tal`
-==========================
-
-.. automodule:: cubicweb.common.tal
-   :members:
-
-:mod:`cubicweb.common.appobject`
-================================
-
-.. automodule:: cubicweb.common.appobject
-   :members:
-
-:mod:`cubicweb.common.migration`
-================================
-
-.. automodule:: cubicweb.common.migration
-   :members:
-
-:mod:`cubicweb.common.rest`
-===========================
-
-.. automodule:: cubicweb.common.rest
-   :members:
-
-:mod:`cubicweb.common.html4zope`
-================================
-
-.. automodule:: cubicweb.common.html4zope
-   :members:
-
-:mod:`cubicweb.common.view`
-===========================
-
-.. automodule:: cubicweb.common.view
-   :members:
-
-:mod:`cubicweb.common.selectors`
-================================
-
-.. automodule:: cubicweb.common.selectors
-   :members:
-
-:mod:`cubicweb.common.entity`
-=============================
-
-.. automodule:: cubicweb.common.entity
-   :members:
-
-:mod:`cubicweb.common.mail`
-===========================
-
-.. automodule:: cubicweb.common.mail
-   :members:
-
-:mod:`cubicweb.common.mixins`
-=============================
-
-.. automodule:: cubicweb.common.mixins
-   :members:
-
-:mod:`cubicweb.common`
-======================
-
-.. automodule:: cubicweb.common
-   :members:
-
-:mod:`cubicweb.common.uilib`
-============================
-
-.. automodule:: cubicweb.common.uilib
-   :members:
-
-:mod:`cubicweb.common.registerers`
-==================================
-
-.. automodule:: cubicweb.common.registerers
-   :members:
-
-:mod:`cubicweb.common.i18n`
-===========================
-
-.. automodule:: cubicweb.common.i18n
-   :members:
-
-:mod:`cubicweb.entities.schemaobjs`
-===================================
-
-.. automodule:: cubicweb.entities.schemaobjs
-   :members:
-
-:mod:`cubicweb.entities.wfobjs`
-===============================
-
-.. automodule:: cubicweb.entities.wfobjs
-   :members:
-
-:mod:`cubicweb.entities`
-========================
-
-.. automodule:: cubicweb.entities
-   :members:
-
-:mod:`cubicweb.entities.authobjs`
-=================================
-
-.. automodule:: cubicweb.entities.authobjs
-   :members:
-
-:mod:`cubicweb.entities.lib`
-============================
-
-.. automodule:: cubicweb.entities.lib
-   :members:
-
-:mod:`cubicweb.server.server`
-=============================
-
-.. automodule:: cubicweb.server.server
-   :members:
-
-:mod:`cubicweb.server.utils`
-============================
-
-.. automodule:: cubicweb.server.utils
-   :members:
-
-:mod:`cubicweb.server.checkintegrity`
-=====================================
-
-.. automodule:: cubicweb.server.checkintegrity
-   :members:
-
-:mod:`cubicweb.server.rqlrewrite`
-=================================
-
-.. automodule:: cubicweb.server.rqlrewrite
-   :members:
-
-:mod:`cubicweb.server.rqlannotation`
-====================================
-
-.. automodule:: cubicweb.server.rqlannotation
-   :members:
-
-:mod:`cubicweb.server.hooks`
-============================
-
-.. automodule:: cubicweb.server.hooks
-   :members:
-
-:mod:`cubicweb.server.hooksmanager`
-===================================
-
-.. automodule:: cubicweb.server.hooksmanager
-   :members:
-
-:mod:`cubicweb.server.securityhooks`
-====================================
-
-.. automodule:: cubicweb.server.securityhooks
-   :members:
-
-:mod:`cubicweb.server.schemahooks`
-==================================
-
-.. automodule:: cubicweb.server.schemahooks
-   :members:
-
-:mod:`cubicweb.server.session`
-==============================
-
-.. automodule:: cubicweb.server.session
-   :members:
-
-:mod:`cubicweb.server.serverctl`
-================================
-
-.. automodule:: cubicweb.server.serverctl
-   :members:
-
-:mod:`cubicweb.server.serverconfig`
-===================================
-
-.. automodule:: cubicweb.server.serverconfig
-   :members:
-
-:mod:`cubicweb.server.pool`
-===========================
-
-.. automodule:: cubicweb.server.pool
-   :members:
-
-:mod:`cubicweb.server.mssteps`
-==============================
-
-.. automodule:: cubicweb.server.mssteps
-   :members:
-
-:mod:`cubicweb.server.hookhelper`
-=================================
-
-.. automodule:: cubicweb.server.hookhelper
-   :members:
-
-:mod:`cubicweb.server`
-======================
-
-.. automodule:: cubicweb.server
-   :members:
-
-:mod:`cubicweb.server.sqlutils`
-===============================
-
-.. automodule:: cubicweb.server.sqlutils
-   :members:
-
-:mod:`cubicweb.server.schemaserial`
-===================================
-
-.. automodule:: cubicweb.server.schemaserial
-   :members:
-
-:mod:`cubicweb.server.repository`
-=================================
-
-.. automodule:: cubicweb.server.repository
-   :members:
-
-:mod:`cubicweb.server.ssplanner`
-================================
-
-.. automodule:: cubicweb.server.ssplanner
-   :members:
-
-:mod:`cubicweb.server.msplanner`
-================================
-
-.. automodule:: cubicweb.server.msplanner
-   :members:
-
-:mod:`cubicweb.server.querier`
-==============================
-
-.. automodule:: cubicweb.server.querier
-   :members:
-
-:mod:`cubicweb.server.migractions`
-==================================
-
-.. automodule:: cubicweb.server.migractions
-   :members:
-
-:mod:`cubicweb.server.sources.rql2sql`
-======================================
-
-.. automodule:: cubicweb.server.sources.rql2sql
-   :members:
-
-:mod:`cubicweb.server.sources.ldapuser`
-=======================================
-
-.. automodule:: cubicweb.server.sources.ldapuser
-   :members:
-
-:mod:`cubicweb.server.sources`
-==============================
-
-.. automodule:: cubicweb.server.sources
-   :members:
-
-:mod:`cubicweb.server.sources.pyrorql`
-======================================
-
-.. automodule:: cubicweb.server.sources.pyrorql
-   :members:
-
-:mod:`cubicweb.server.sources.native`
-=====================================
-
-.. automodule:: cubicweb.server.sources.native
-   :members:
-
-:mod:`cubicweb.server.sources.extlite`
-======================================
-
-.. automodule:: cubicweb.server.sources.extlite
-   :members:
-
-:mod:`cubicweb.devtools.devctl`
-===============================
-
-.. automodule:: cubicweb.devtools.devctl
-   :members:
-
-:mod:`cubicweb.devtools.pkginfo`
-================================
-
-.. automodule:: cubicweb.devtools.pkginfo
-   :members:
-
-:mod:`cubicweb.devtools.migrtest`
-=================================
-
-.. automodule:: cubicweb.devtools.migrtest
-   :members:
-
-:mod:`cubicweb.devtools.htmlparser`
-===================================
-
-.. automodule:: cubicweb.devtools.htmlparser
-   :members:
-
-:mod:`cubicweb.devtools`
-========================
-
-.. automodule:: cubicweb.devtools
-   :members:
-
-:mod:`cubicweb.devtools.fill`
-=============================
-
-.. automodule:: cubicweb.devtools.fill
-   :members:
-
-:mod:`cubicweb.devtools._apptest`
-=================================
-
-.. automodule:: cubicweb.devtools._apptest
-   :members:
-
-:mod:`cubicweb.devtools.stresstester`
-=====================================
-
-.. automodule:: cubicweb.devtools.stresstester
-   :members:
-
-:mod:`cubicweb.devtools.fake`
-=============================
-
-.. automodule:: cubicweb.devtools.fake
-   :members:
-
-:mod:`cubicweb.devtools.apptest`
-================================
-
-.. automodule:: cubicweb.devtools.apptest
-   :members:
-
-:mod:`cubicweb.devtools.livetest`
-=================================
-
-.. automodule:: cubicweb.devtools.livetest
-   :members:
-
-:mod:`cubicweb.devtools.testlib`
-================================
-
-.. automodule:: cubicweb.devtools.testlib
-   :members:
-
-:mod:`cubicweb.devtools.repotest`
-=================================
-
-.. automodule:: cubicweb.devtools.repotest
-   :members:
-
-:mod:`cubicweb.devtools.cwtwill`
-================================
-
-.. automodule:: cubicweb.devtools.cwtwill
-   :members:
-
-:mod:`cubicweb.misc.cwdesklets.rqlsensor`
-=========================================
-
-.. automodule:: cubicweb.misc.cwdesklets.rqlsensor
-   :members:
-
-:mod:`cubicweb.embedded.mx`
-===========================
-
-.. automodule:: cubicweb.embedded.mx
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.mxDateTime_python`
-======================================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.mxDateTime_python
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.ARPA`
-=========================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.ARPA
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.ISO`
-========================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.ISO
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.Parser`
-===========================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.Parser
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime`
-====================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.Timezone`
-=============================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.Timezone
-   :members:
-
-:mod:`cubicweb.embedded.mx.DateTime.DateTime`
-=============================================
-
-.. automodule:: cubicweb.embedded.mx.DateTime.DateTime
-   :members:
-
-:mod:`indexer`
-==============
-
-.. automodule:: indexer
-   :members:
-
-:mod:`indexer.indexable_objects`
-================================
-
-.. automodule:: indexer.indexable_objects
-   :members:
-
-:mod:`indexer.search`
-=====================
-
-.. automodule:: indexer.search
-   :members:
-
-:mod:`indexer.query_objects`
-============================
-
-.. automodule:: indexer.query_objects
-   :members:
-
-:mod:`indexer._exceptions`
-==========================
-
-.. automodule:: indexer._exceptions
-   :members:
-
-:mod:`indexer.setup`
-====================
-
-.. automodule:: indexer.setup
-   :members:
-
-:mod:`indexer.query`
-====================
-
-.. automodule:: indexer.query
-   :members:
-
-:mod:`logilab`
-==============
-
-.. automodule:: logilab
-   :members:
-
-:mod:`logilab.constraint.propagation`
-=====================================
-
-.. automodule:: logilab.constraint.propagation
-   :members:
-
-:mod:`logilab.constraint.psyco_wrapper`
-=======================================
-
-.. automodule:: logilab.constraint.psyco_wrapper
-   :members:
-
-:mod:`logilab.constraint.fd`
-============================
-
-.. automodule:: logilab.constraint.fd
-   :members:
-
-:mod:`logilab.constraint.fi`
-============================
-
-.. automodule:: logilab.constraint.fi
-   :members:
-
-:mod:`logilab.constraint`
-=========================
-
-.. automodule:: logilab.constraint
-   :members:
-
-:mod:`logilab.constraint.setup`
-===============================
-
-.. automodule:: logilab.constraint.setup
-   :members:
-
-:mod:`logilab.constraint.interfaces`
-====================================
-
-.. automodule:: logilab.constraint.interfaces
-   :members:
-
-:mod:`logilab.constraint.distributors`
-======================================
-
-.. automodule:: logilab.constraint.distributors
-   :members:
-
-:mod:`logilab.common.clcommands`
-================================
-
-.. automodule:: logilab.common.clcommands
-   :members:
-
-:mod:`logilab.common.table`
-===========================
-
-.. automodule:: logilab.common.table
-   :members:
-
-:mod:`logilab.common.interface`
-===============================
-
-.. automodule:: logilab.common.interface
-   :members:
-
-:mod:`logilab.common.logger`
-============================
-
-.. automodule:: logilab.common.logger
-   :members:
-
-:mod:`logilab.common.cli`
-=========================
-
-.. automodule:: logilab.common.cli
-   :members:
-
-:mod:`logilab.common.xmlrpcutils`
-=================================
-
-.. automodule:: logilab.common.xmlrpcutils
-   :members:
-
-:mod:`logilab.common.corbautils`
-================================
-
-.. automodule:: logilab.common.corbautils
-   :members:
-
-:mod:`logilab.common.cache`
-===========================
-
-.. automodule:: logilab.common.cache
-   :members:
-
-:mod:`logilab.common.astutils`
-==============================
-
-.. automodule:: logilab.common.astutils
-   :members:
-
-:mod:`logilab.common.daemon`
-============================
-
-.. automodule:: logilab.common.daemon
-   :members:
-
-:mod:`logilab.common.tree`
-==========================
-
-.. automodule:: logilab.common.tree
-   :members:
-
-:mod:`logilab.common.textutils`
-===============================
-
-.. automodule:: logilab.common.textutils
-   :members:
-
-:mod:`logilab.common.modutils`
-==============================
-
-.. automodule:: logilab.common.modutils
-   :members:
-
-:mod:`logilab.common.fileutils`
-===============================
-
-.. automodule:: logilab.common.fileutils
-   :members:
-
-:mod:`logilab.common.patricia`
-==============================
-
-.. automodule:: logilab.common.patricia
-   :members:
-
-:mod:`logilab.common.date`
-==========================
-
-.. automodule:: logilab.common.date
-   :members:
-
-:mod:`logilab.common.optparser`
-===============================
-
-.. automodule:: logilab.common.optparser
-   :members:
-
-:mod:`logilab.common.twisted_distutils`
-=======================================
-
-.. automodule:: logilab.common.twisted_distutils
-   :members:
-
-:mod:`logilab.common.decorators`
-================================
-
-.. automodule:: logilab.common.decorators
-   :members:
-
-:mod:`logilab.common.db`
-========================
-
-.. automodule:: logilab.common.db
-   :members:
-
-:mod:`logilab.common.deprecation`
-=================================
-
-.. automodule:: logilab.common.deprecation
-   :members:
-
-:mod:`logilab.common.tasksqueue`
-================================
-
-.. automodule:: logilab.common.tasksqueue
-   :members:
-
-:mod:`logilab.common.changelog`
-===============================
-
-.. automodule:: logilab.common.changelog
-   :members:
-
-:mod:`logilab.common.shellutils`
-================================
-
-.. automodule:: logilab.common.shellutils
-   :members:
-
-:mod:`logilab.common.sqlgen`
-============================
-
-.. automodule:: logilab.common.sqlgen
-   :members:
-
-:mod:`logilab.common.optik_ext`
-===============================
-
-.. automodule:: logilab.common.optik_ext
-   :members:
-
-:mod:`logilab.common.configuration`
-===================================
-
-.. automodule:: logilab.common.configuration
-   :members:
-
-:mod:`logilab.common.visitor`
-=============================
-
-.. automodule:: logilab.common.visitor
-   :members:
-
-:mod:`logilab.common.pytest`
-============================
-
-.. automodule:: logilab.common.pytest
-   :members:
-
-:mod:`logilab.common`
-=====================
-
-.. automodule:: logilab.common
-   :members:
-
-:mod:`logilab.common.setup`
-===========================
-
-.. automodule:: logilab.common.setup
-   :members:
-
-:mod:`logilab.common.logservice`
-================================
-
-.. automodule:: logilab.common.logservice
-   :members:
-
-:mod:`logilab.common.debugger`
-==============================
-
-.. automodule:: logilab.common.debugger
-   :members:
-
-:mod:`logilab.common.html`
-==========================
-
-.. automodule:: logilab.common.html
-   :members:
-
-:mod:`logilab.common.vcgutils`
-==============================
-
-.. automodule:: logilab.common.vcgutils
-   :members:
-
-:mod:`logilab.common.compat`
-============================
-
-.. automodule:: logilab.common.compat
-   :members:
-
-:mod:`logilab.common.logging_ext`
-=================================
-
-.. automodule:: logilab.common.logging_ext
-   :members:
-
-:mod:`logilab.common.umessage`
-==============================
-
-.. automodule:: logilab.common.umessage
-   :members:
-
-:mod:`logilab.common.proc`
-==========================
-
-.. automodule:: logilab.common.proc
-   :members:
-
-:mod:`logilab.common.monclient`
-===============================
-
-.. automodule:: logilab.common.monclient
-   :members:
-
-:mod:`logilab.common.bind`
-==========================
-
-.. automodule:: logilab.common.bind
-   :members:
-
-:mod:`logilab.common.graph`
-===========================
-
-.. automodule:: logilab.common.graph
-   :members:
-
-:mod:`logilab.common.testlib`
-=============================
-
-.. automodule:: logilab.common.testlib
-   :members:
-
-:mod:`logilab.common.contexts`
-==============================
-
-.. automodule:: logilab.common.contexts
-   :members:
-
-:mod:`logilab.common.adbh`
-==========================
-
-.. automodule:: logilab.common.adbh
-   :members:
-
-:mod:`logilab.common.pdf_ext`
-=============================
-
-.. automodule:: logilab.common.pdf_ext
-   :members:
-
-:mod:`logilab.common.monserver`
-===============================
-
-.. automodule:: logilab.common.monserver
-   :members:
-
-:mod:`logilab.common.ureports.nodes`
-====================================
-
-.. automodule:: logilab.common.ureports.nodes
-   :members:
-
-:mod:`logilab.common.ureports`
-==============================
-
-.. automodule:: logilab.common.ureports
-   :members:
-
-:mod:`logilab.common.ureports.html_writer`
-==========================================
-
-.. automodule:: logilab.common.ureports.html_writer
-   :members:
-
-:mod:`logilab.common.ureports.text_writer`
-==========================================
-
-.. automodule:: logilab.common.ureports.text_writer
-   :members:
-
-:mod:`logilab.common.ureports.docbook_writer`
-=============================================
-
-.. automodule:: logilab.common.ureports.docbook_writer
-   :members:
-
-:mod:`logilab.mtconverter.engine`
-=================================
-
-.. automodule:: logilab.mtconverter.engine
-   :members:
-
-:mod:`logilab.mtconverter.transform`
-====================================
-
-.. automodule:: logilab.mtconverter.transform
-   :members:
-
-:mod:`logilab.mtconverter`
-==========================
-
-.. automodule:: logilab.mtconverter
-   :members:
-
-:mod:`logilab.mtconverter.setup`
-================================
-
-.. automodule:: logilab.mtconverter.setup
-   :members:
-
-:mod:`logilab.mtconverter.transforms.html2text`
-===============================================
-
-.. automodule:: logilab.mtconverter.transforms.html2text
-   :members:
-
-:mod:`logilab.mtconverter.transforms.cmdtransforms`
-===================================================
-
-.. automodule:: logilab.mtconverter.transforms.cmdtransforms
-   :members:
-
-:mod:`logilab.mtconverter.transforms.python`
-============================================
-
-.. automodule:: logilab.mtconverter.transforms.python
-   :members:
-
-:mod:`logilab.mtconverter.transforms.pygmentstransforms`
-========================================================
-
-.. automodule:: logilab.mtconverter.transforms.pygmentstransforms
-   :members:
-
-:mod:`logilab.mtconverter.transforms`
-=====================================
-
-.. automodule:: logilab.mtconverter.transforms
-   :members:
-
-:mod:`logilab.mtconverter.transforms.piltransforms`
-===================================================
-
-.. automodule:: logilab.mtconverter.transforms.piltransforms
-   :members:
-
-:mod:`logilab.devtools.cvstatus`
-================================
-
-.. automodule:: logilab.devtools.cvstatus
-   :members:
-
-:mod:`logilab.devtools.changelog`
-=================================
-
-.. automodule:: logilab.devtools.changelog
-   :members:
-
-:mod:`logilab.devtools`
-=======================
-
-.. automodule:: logilab.devtools
-   :members:
-
-:mod:`logilab.devtools.setup`
-=============================
-
-.. automodule:: logilab.devtools.setup
-   :members:
-
-:mod:`logilab.devtools.cvslog`
-==============================
-
-.. automodule:: logilab.devtools.cvslog
-   :members:
-
-:mod:`logilab.devtools.lgp.utils`
-=================================
-
-.. automodule:: logilab.devtools.lgp.utils
-   :members:
-
-:mod:`logilab.devtools.lgp.tag`
-===============================
-
-.. automodule:: logilab.devtools.lgp.tag
-   :members:
-
-:mod:`logilab.devtools.lgp.setupinfo`
-=====================================
-
-.. automodule:: logilab.devtools.lgp.setupinfo
-   :members:
-
-:mod:`logilab.devtools.lgp.changelog`
-=====================================
-
-.. automodule:: logilab.devtools.lgp.changelog
-   :members:
-
-:mod:`logilab.devtools.lgp.preparedist`
-=======================================
-
-.. automodule:: logilab.devtools.lgp.preparedist
-   :members:
-
-:mod:`logilab.devtools.lgp.build`
-=================================
-
-.. automodule:: logilab.devtools.lgp.build
-   :members:
-
-:mod:`logilab.devtools.lgp.clean`
-=================================
-
-.. automodule:: logilab.devtools.lgp.clean
-   :members:
-
-:mod:`logilab.devtools.lgp`
-===========================
-
-.. automodule:: logilab.devtools.lgp
-   :members:
-
-:mod:`logilab.devtools.lgp.setup`
-=================================
-
-.. automodule:: logilab.devtools.lgp.setup
-   :members:
-
-:mod:`logilab.devtools.lgp.check`
-=================================
-
-.. automodule:: logilab.devtools.lgp.check
-   :members:
-
-:mod:`logilab.devtools.lgp.exceptions`
-======================================
-
-.. automodule:: logilab.devtools.lgp.exceptions
-   :members:
-
-:mod:`logilab.devtools.templates`
-=================================
-
-.. automodule:: logilab.devtools.templates
-   :members:
-
-:mod:`logilab.devtools.templates.setup`
-=======================================
-
-.. automodule:: logilab.devtools.templates.setup
-   :members:
-
-:mod:`logilab.devtools.lib.coverage`
-====================================
-
-.. automodule:: logilab.devtools.lib.coverage
-   :members:
-
-:mod:`logilab.devtools.lib.manifest`
-====================================
-
-.. automodule:: logilab.devtools.lib.manifest
-   :members:
-
-:mod:`logilab.devtools.lib.pkginfo`
-===================================
-
-.. automodule:: logilab.devtools.lib.pkginfo
-   :members:
-
-:mod:`logilab.devtools.lib`
-===========================
-
-.. automodule:: logilab.devtools.lib
-   :members:
-
-:mod:`logilab.devtools.vcslib.cvsparse`
-=======================================
-
-.. automodule:: logilab.devtools.vcslib.cvsparse
-   :members:
-
-:mod:`logilab.devtools.vcslib.svn`
-==================================
-
-.. automodule:: logilab.devtools.vcslib.svn
-   :members:
-
-:mod:`logilab.devtools.vcslib.node`
-===================================
-
-.. automodule:: logilab.devtools.vcslib.node
-   :members:
-
-:mod:`logilab.devtools.vcslib`
-==============================
-
-.. automodule:: logilab.devtools.vcslib
-   :members:
-
-:mod:`logilab.devtools.vcslib.interfaces`
-=========================================
-
-.. automodule:: logilab.devtools.vcslib.interfaces
-   :members:
-
-:mod:`logilab.devtools.vcslib.cvs`
-==================================
-
-.. automodule:: logilab.devtools.vcslib.cvs
-   :members:
-
-:mod:`logilab.devtools.vcslib.hg`
-=================================
-
-.. automodule:: logilab.devtools.vcslib.hg
-   :members:
-
-:mod:`rql.nodes`
-================
-
-.. automodule:: rql.nodes
-   :members:
-
-:mod:`rql.undo`
-===============
-
-.. automodule:: rql.undo
-   :members:
-
-:mod:`rql.utils`
-================
-
-.. automodule:: rql.utils
-   :members:
-
-:mod:`rql.base`
-===============
-
-.. automodule:: rql.base
-   :members:
-
-:mod:`rql.analyze`
-==================
-
-.. automodule:: rql.analyze
-   :members:
-
-:mod:`rql._exceptions`
-======================
-
-.. automodule:: rql._exceptions
-   :members:
-
-:mod:`rql.compare`
-==================
-
-.. automodule:: rql.compare
-   :members:
-
-:mod:`rql.stmts`
-================
-
-.. automodule:: rql.stmts
-   :members:
-
-:mod:`rql.parser_main`
-======================
-
-.. automodule:: rql.parser_main
-   :members:
-
-:mod:`rql.stcheck`
-==================
-
-.. automodule:: rql.stcheck
-   :members:
-
-:mod:`rql.parser`
-=================
-
-.. automodule:: rql.parser
-   :members:
-
-:mod:`rql`
-==========
-
-.. automodule:: rql
-   :members:
-
-:mod:`rql.setup`
-================
-
-.. automodule:: rql.setup
-   :members:
-
-:mod:`rql.interfaces`
-=====================
-
-.. automodule:: rql.interfaces
-   :members:
-
-:mod:`rql.editextensions`
-=========================
-
-.. automodule:: rql.editextensions
-   :members:
-
-:mod:`rql.fol`
-==============
-
-.. automodule:: rql.fol
-   :members:
-
-:mod:`rqlgen`
-=============
-
-.. automodule:: rqlgen
-   :members:
-
-:mod:`yams.schema`
-==================
-
-.. automodule:: yams.schema
-   :members:
-
-:mod:`yams.reader`
-==================
-
-.. automodule:: yams.reader
-   :members:
-
-:mod:`yams.schema2sql`
-======================
-
-.. automodule:: yams.schema2sql
-   :members:
-
-:mod:`yams._exceptions`
-=======================
-
-.. automodule:: yams._exceptions
-   :members:
-
-:mod:`yams.sqlreader`
-=====================
-
-.. automodule:: yams.sqlreader
-   :members:
-
-:mod:`yams.schema2dot`
-======================
-
-.. automodule:: yams.schema2dot
-   :members:
-
-:mod:`yams`
-===========
-
-.. automodule:: yams
-   :members:
-
-:mod:`yams.setup`
-=================
-
-.. automodule:: yams.setup
-   :members:
-
-:mod:`yams.interfaces`
-======================
-
-.. automodule:: yams.interfaces
-   :members:
-
-:mod:`yams.buildobjs`
-=====================
-
-.. automodule:: yams.buildobjs
-   :members:
-
-:mod:`yams.constraints`
-=======================
-
-.. automodule:: yams.constraints
-   :members:
--- a/doc/book/en/D060-mercurial.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-.. _MercurialPresentation:
-
-Introducing Mercurial
-=====================
-
-Introduction
-````````````
-Mercurial_ manages a distributed repository containing revisions
-trees (each revision indicates the changes required to obtain the
-next, and so on). Locally, we have a repository containing revisions
-tree, and a working directory. It is possible
-to put in its working directory, one of the versions of its local repository,
-modify and then push it in its repository. 
-It is also possible to get revisions from another repository or to export
-its own revisions from the local repository to another repository.
-
-.. _Mercurial: http://www.selenic.com/mercurial/
-
-In contrast to CVS/Subversion, we usually create a repository by
-project to manage.
-
-In a collaborative development, we usually create a central repository
-accessible to all developers of the project. These central repository is used
-as a reference. According to its needs, then everyone can have a local repository,
-that you will have to synchronize with the central repository from time to time.
-
-
-Major commands
-``````````````
-* Create a local repository::
-
-     hg clone ssh://myhost//home/src/repo
-
-* See the contents of the local repository (graphical tool in Tk)::
-
-     hgview
-
-* Add a sub-directory or file in the current directory::
-
-     hg add subdir
-
-* Move to the working directory a specific revision (or last
-  revision) from the local repository::
-
-     hg update [identifier-revision]
-     hg up [identifier-revision]
-
-* Get in its local repository, the tree of revisions contained in a
-  remote repository (this does not change the local directory)::
-
-     hg pull ssh://myhost//home/src/repo
-     hg pull -u ssh://myhost//home/src/repo # equivalent to pull + update
-
-* See what are the heads of branches of the local repository if a `pull`
-  returned a new branch::
-
-     hg heads
-
-* Submit the working directory in the local repository (and create a new
-  revision)::
-
-     hg commit
-     hg ci
-
-* Merge with the mother revision of local directory, another revision from
-  the local respository (the new revision will be then two mothers
-  revisions)::
-
-     hg merge identifier-revision
-
-* Export to a remote repository, the tree of revisions in its content
-  local respository (this does not change the local directory)::
-
-     hg push ssh://myhost//home/src/repo
-
-* See what local revisions are not in another repository::
-
-     hg outgoing ssh://myhost//home/src/repo
-
-* See what are the revisions of a repository not found locally::
-
-     hg incoming ssh://myhost//home/src/repo
-
-* See what is the revision of the local repository which has been taken out 
-  from the working directory and amended::
-
-     hg parent
-
-* See the differences between the working directory and the mother revision
-  of the local repository, possibly to submit them in the local repository::
-
-     hg diff
-     hg commit-tool
-     hg ct
-
-
-Best Practices
-``````````````
-* Remember to `hg pull -u` regularly, and particularly before
-   a `hg commit`.
-
-* Remember to `hg push` when your repository contains a version
-  relatively stable of your changes.
-
-* If a `hg pull -u` created a new branch head:
-
-   1. find its identifier with `hg head`
-   2. merge with `hg merge`
-   3. `hg ci`
-   4. `hg push`
-
-Installation of the forest extension
-````````````````````````````````````
-
-Set up the forest extension by getting a copy of the sources 
-from http://hg.akoha.org/hgforest/ and adding the following 
-lines to your ``~/.hgrc``: ::
-
-   [extensions]
-   hgext.forest=
-   # or, if forest.py is not in the hgext dir:
-   # forest=/path/to/forest.py
-
-
-More information
-````````````````
-
-For more information about Mercurial, please refer to the Mercurial project online documentation_.
-
-.. _documentation: http://www.selenic.com/mercurial/wiki/
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D060-modules-stdlib.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,158 @@
+.. -*- coding: utf-8 -*-
+
+================
+Standard library
+================
+
+:mod:`cubes.addressbook` 
+========================
+
+.. automodule:: cubes.addressbook
+   :members:
+
+:mod:`cubes.basket` 
+========================
+
+.. automodule:: cubes.basket
+   :members:
+
+:mod:`cubes.blog` 
+========================
+
+.. automodule:: cubes.blog
+   :members:
+
+:mod:`cubes.book` 
+========================
+
+.. automodule:: cubes.book
+   :members:
+
+:mod:`cubes.comment` 
+========================
+
+.. automodule:: cubes.comment
+   :members:
+
+:mod:`cubes.company` 
+========================
+
+.. automodule:: cubes.company
+   :members:
+
+
+:mod:`cubes.conference` 
+========================
+
+.. automodule:: cubes.conference
+   :members:
+
+:mod:`cubes.email` 
+========================
+
+.. automodule:: cubes.email
+   :members:
+
+:mod:`cubes.event` 
+========================
+
+.. automodule:: cubes.event
+   :members:
+
+:mod:`cubes.expense` 
+========================
+
+.. automodule:: cubes.expense
+   :members:
+
+
+:mod:`cubes.file` 
+========================
+
+.. automodule:: cubes.file
+   :members:
+
+:mod:`cubes.folder` 
+========================
+
+.. automodule:: cubes.folder
+   :members:
+
+:mod:`cubes.i18ncontent` 
+========================
+
+.. automodule:: cubes.i18ncontent
+   :members:
+
+:mod:`cubes.invoice` 
+========================
+
+.. automodule:: cubes.invoice
+   :members:
+
+:mod:`cubes.keyword` 
+========================
+
+.. automodule:: cubes.keyword
+   :members:
+
+:mod:`cubes.link` 
+========================
+
+.. automodule:: cubes.link
+   :members:
+
+:mod:`cubes.mailinglist` 
+========================
+
+.. automodule:: cubes.mailinglist
+   :members:
+
+:mod:`cubes.person` 
+========================
+
+.. automodule:: cubes.person
+   :members:
+
+:mod:`cubes.shopcart` 
+========================
+
+.. automodule:: cubes.shopcart
+   :members:
+
+:mod:`cubes.skillmat` 
+========================
+
+.. automodule:: cubes.skillmat
+   :members:
+
+:mod:`cubes.tag` 
+========================
+
+.. automodule:: cubes.tag
+   :members:
+
+:mod:`cubes.task` 
+========================
+
+.. automodule:: cubes.task
+   :members:
+
+:mod:`cubes.workcase` 
+========================
+
+.. automodule:: cubes.workcase
+   :members:
+
+:mod:`cubes.workorder` 
+========================
+
+.. automodule:: cubes.workorder
+   :members:
+
+:mod:`cubes.zone` 
+========================
+
+.. automodule:: cubes.zone
+   :members:
+
--- a/doc/book/en/D070-cookbook.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-Cook book
-=========
-
-We gathered together some of our tricks and scripts that could make
-life easier.
-
-
-* How to import LDAP users in `CubicWeb`?
-
-  Here is a very usefull script which enables you to import LDAP users
-  into your `CubicWeb` application by running the following: ::
-
-
-    import os
-    import pwd
-    import sys
-
-    from logilab.common.db import get_connection
-
-    def getlogin():
-        """avoid usinng os.getlogin() because of strange tty / stdin problems
-        (man 3 getlogin)
-        Another solution would be to use $LOGNAME, $USER or $USERNAME
-        """
-        return pwd.getpwuid(os.getuid())[0]
-
-
-    try:
-        database = sys.argv[1]
-    except IndexError:
-        print 'USAGE: python ldap2system.py <database>'
-        sys.exit(1)
-
-    if raw_input('update %s db ? [y/n]: ' % database).strip().lower().startswith('y'):
-        cnx = get_connection(user=getlogin(), database=database)
-        cursor = cnx.cursor()
-
-        insert = ('INSERT INTO euser (creation_date, eid, modification_date, login, firstname, surname, last_login_time, upassword) '
-                  "VALUES (%(mtime)s, %(eid)s, %(mtime)s, %(login)s, %(firstname)s, %(surname)s, %(mtime)s, './fqEz5LeZnT6');")
-        update = "UPDATE entities SET source='system' WHERE eid=%(eid)s;"
-        cursor.execute("SELECT eid,type,source,extid,mtime FROM entities WHERE source!='system'")
-        for eid, type, source, extid, mtime in cursor.fetchall():
-            if type != 'EUser':
-                print "don't know what to do with entity type", type
-                continue
-            if source != 'ldapuser':
-                print "don't know what to do with source type", source
-                continue
-            ldapinfos = dict(x.strip().split('=') for x in extid.split(','))
-            login = ldapinfos['uid']
-            firstname = ldapinfos['uid'][0].upper()
-            surname = ldapinfos['uid'][1:].capitalize()
-            if login != 'jcuissinat':
-                args = dict(eid=eid, type=type, source=source, login=login,
-                            firstname=firstname, surname=surname, mtime=mtime)
-                print args
-                cursor.execute(insert, args)
-                cursor.execute(update, args)
-
-        cnx.commit()
-        cnx.close()
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D070-modules-cbw-api.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,1961 @@
+.. -*- coding: utf-8 -*-
+
+============
+CubicWeb API
+============
+
+:mod:`cubicweb.hercule`
+=======================
+
+.. automodule:: cubicweb.hercule
+   :members:
+
+:mod:`cubicweb.cwctl`
+=====================
+
+.. automodule:: cubicweb.cwctl
+   :members:
+
+:mod:`cubicweb.schema`
+======================
+
+.. automodule:: cubicweb.schema
+   :members:
+
+:mod:`cubicweb.cwconfig`
+========================
+
+.. automodule:: cubicweb.cwconfig
+   :members:
+
+:mod:`cubicweb.schemaviewer`
+============================
+
+.. automodule:: cubicweb.schemaviewer
+   :members:
+
+:mod:`cubicweb._exceptions`
+===========================
+
+.. automodule:: cubicweb._exceptions
+   :members:
+
+:mod:`cubicweb.dbapi`
+=====================
+
+.. automodule:: cubicweb.dbapi
+   :members:
+
+:mod:`cubicweb.toolsutils`
+==========================
+
+.. automodule:: cubicweb.toolsutils
+   :members:
+
+:mod:`cubicweb.cwvreg`
+======================
+
+.. automodule:: cubicweb.cwvreg
+   :members:
+
+:mod:`cubicweb.md5crypt`
+========================
+
+.. automodule:: cubicweb.md5crypt
+   :members:
+
+:mod:`cubicweb.rset`
+====================
+
+.. automodule:: cubicweb.rset
+   :members:
+
+:mod:`cubicweb`
+===============
+
+.. automodule:: cubicweb
+   :members:
+
+:mod:`cubicweb.setup`
+=====================
+
+.. automodule:: cubicweb.setup
+   :members:
+
+:mod:`cubicweb.gettext`
+=======================
+
+.. automodule:: cubicweb.gettext
+   :members:
+
+:mod:`cubicweb.interfaces`
+==========================
+
+.. automodule:: cubicweb.interfaces
+   :members:
+
+:mod:`cubicweb.vregistry`
+=========================
+
+.. automodule:: cubicweb.vregistry
+   :members:
+
+:mod:`cubicweb.web.httpcache`
+=============================
+
+.. automodule:: cubicweb.web.httpcache
+   :members:
+
+:mod:`cubicweb.web.webconfig`
+=============================
+
+.. automodule:: cubicweb.web.webconfig
+   :members:
+
+:mod:`cubicweb.web.request`
+===========================
+
+.. automodule:: cubicweb.web.request
+   :members:
+
+:mod:`cubicweb.web._exceptions`
+===============================
+
+.. automodule:: cubicweb.web._exceptions
+   :members:
+
+:mod:`cubicweb.web.webctl`
+==========================
+
+.. automodule:: cubicweb.web.webctl
+   :members:
+
+:mod:`cubicweb.web.application`
+===============================
+
+.. automodule:: cubicweb.web.application
+   :members:
+
+:mod:`cubicweb.web.controller`
+==============================
+
+.. automodule:: cubicweb.web.controller
+   :members:
+
+:mod:`cubicweb.web.widgets`
+===========================
+
+.. automodule:: cubicweb.web.widgets
+   :members:
+
+:mod:`cubicweb.web.htmlwidgets`
+===============================
+
+.. automodule:: cubicweb.web.htmlwidgets
+   :members:
+
+:mod:`cubicweb.web`
+===================
+
+.. automodule:: cubicweb.web
+   :members:
+
+:mod:`cubicweb.web.form`
+========================
+
+.. automodule:: cubicweb.web.form
+   :members:
+
+:mod:`cubicweb.web.box`
+=======================
+
+.. automodule:: cubicweb.web.box
+   :members:
+
+:mod:`cubicweb.web.component`
+=============================
+
+.. automodule:: cubicweb.web.component
+   :members:
+
+:mod:`cubicweb.web.action`
+==========================
+
+.. automodule:: cubicweb.web.action
+   :members:
+
+:mod:`cubicweb.web.facet`
+=========================
+
+.. automodule:: cubicweb.web.facet
+   :members:
+
+:mod:`cubicweb.web.views.plots`
+===============================
+
+.. automodule:: cubicweb.web.views.plots
+   :members:
+
+:mod:`cubicweb.web.views.error`
+===============================
+
+.. automodule:: cubicweb.web.views.error
+   :members:
+
+:mod:`cubicweb.web.views.magicsearch`
+=====================================
+
+.. automodule:: cubicweb.web.views.magicsearch
+   :members:
+
+:mod:`cubicweb.web.views.basetemplates`
+=======================================
+
+.. automodule:: cubicweb.web.views.basetemplates
+   :members:
+
+:mod:`cubicweb.web.views.idownloadable`
+=======================================
+
+.. automodule:: cubicweb.web.views.idownloadable
+   :members:
+
+:mod:`cubicweb.web.views.ajaxedit`
+==================================
+
+.. automodule:: cubicweb.web.views.ajaxedit
+   :members:
+
+:mod:`cubicweb.web.views.wfentities`
+====================================
+
+.. automodule:: cubicweb.web.views.wfentities
+   :members:
+
+:mod:`cubicweb.web.views.navigation`
+====================================
+
+.. automodule:: cubicweb.web.views.navigation
+   :members:
+
+:mod:`cubicweb.web.views.schemaentities`
+========================================
+
+.. automodule:: cubicweb.web.views.schemaentities
+   :members:
+
+:mod:`cubicweb.web.views.treeview`
+==================================
+
+.. automodule:: cubicweb.web.views.treeview
+   :members:
+
+:mod:`cubicweb.web.views.startup`
+=================================
+
+.. automodule:: cubicweb.web.views.startup
+   :members:
+
+:mod:`cubicweb.web.views.iprogress`
+===================================
+
+.. automodule:: cubicweb.web.views.iprogress
+   :members:
+
+:mod:`cubicweb.web.views.euser`
+===============================
+
+.. automodule:: cubicweb.web.views.euser
+   :members:
+
+:mod:`cubicweb.web.views.facets`
+================================
+
+.. automodule:: cubicweb.web.views.facets
+   :members:
+
+:mod:`cubicweb.web.views.emailaddress`
+======================================
+
+.. automodule:: cubicweb.web.views.emailaddress
+   :members:
+
+:mod:`cubicweb.web.views.sessions`
+==================================
+
+.. automodule:: cubicweb.web.views.sessions
+   :members:
+
+:mod:`cubicweb.web.views.timetable`
+===================================
+
+.. automodule:: cubicweb.web.views.timetable
+   :members:
+
+:mod:`cubicweb.web.views.timeline`
+==================================
+
+.. automodule:: cubicweb.web.views.timeline
+   :members:
+
+:mod:`cubicweb.web.views.baseviews`
+===================================
+
+.. automodule:: cubicweb.web.views.baseviews
+   :members:
+
+:mod:`cubicweb.web.views.boxes`
+===============================
+
+.. automodule:: cubicweb.web.views.boxes
+   :members:
+
+:mod:`cubicweb.web.views.old_calendar`
+======================================
+
+.. automodule:: cubicweb.web.views.old_calendar
+   :members:
+
+:mod:`cubicweb.web.views.card`
+==============================
+
+.. automodule:: cubicweb.web.views.card
+   :members:
+
+:mod:`cubicweb.web.views.ibreadcrumbs`
+======================================
+
+.. automodule:: cubicweb.web.views.ibreadcrumbs
+   :members:
+
+:mod:`cubicweb.web.views.basecontrollers`
+=========================================
+
+.. automodule:: cubicweb.web.views.basecontrollers
+   :members:
+
+:mod:`cubicweb.web.views.embedding`
+===================================
+
+.. automodule:: cubicweb.web.views.embedding
+   :members:
+
+:mod:`cubicweb.web.views.actions`
+=================================
+
+.. automodule:: cubicweb.web.views.actions
+   :members:
+
+:mod:`cubicweb.web.views.editcontroller`
+========================================
+
+.. automodule:: cubicweb.web.views.editcontroller
+   :members:
+
+:mod:`cubicweb.web.views.debug`
+===============================
+
+.. automodule:: cubicweb.web.views.debug
+   :members:
+
+:mod:`cubicweb.web.views.urlpublishing`
+=======================================
+
+.. automodule:: cubicweb.web.views.urlpublishing
+   :members:
+
+:mod:`cubicweb.web.views.baseforms`
+===================================
+
+.. automodule:: cubicweb.web.views.baseforms
+   :members:
+
+:mod:`cubicweb.web.views.urlrewrite`
+====================================
+
+.. automodule:: cubicweb.web.views.urlrewrite
+   :members:
+
+:mod:`cubicweb.web.views.massmailing`
+=====================================
+
+.. automodule:: cubicweb.web.views.massmailing
+   :members:
+
+:mod:`cubicweb.web.views`
+=========================
+
+.. automodule:: cubicweb.web.views
+   :members:
+
+:mod:`cubicweb.web.views.eproperties`
+=====================================
+
+.. automodule:: cubicweb.web.views.eproperties
+   :members:
+
+:mod:`cubicweb.web.views.tabs`
+==============================
+
+.. automodule:: cubicweb.web.views.tabs
+   :members:
+
+:mod:`cubicweb.web.views.vcard`
+===============================
+
+.. automodule:: cubicweb.web.views.vcard
+   :members:
+
+:mod:`cubicweb.web.views.wdoc`
+==============================
+
+.. automodule:: cubicweb.web.views.wdoc
+   :members:
+
+:mod:`cubicweb.web.views.authentication`
+========================================
+
+.. automodule:: cubicweb.web.views.authentication
+   :members:
+
+:mod:`cubicweb.web.views.tableview`
+===================================
+
+.. automodule:: cubicweb.web.views.tableview
+   :members:
+
+:mod:`cubicweb.web.views.management`
+====================================
+
+.. automodule:: cubicweb.web.views.management
+   :members:
+
+:mod:`cubicweb.web.views.igeocodable`
+=====================================
+
+.. automodule:: cubicweb.web.views.igeocodable
+   :members:
+
+:mod:`cubicweb.web.views.xbel`
+==============================
+
+.. automodule:: cubicweb.web.views.xbel
+   :members:
+
+:mod:`cubicweb.web.views.bookmark`
+==================================
+
+.. automodule:: cubicweb.web.views.bookmark
+   :members:
+
+:mod:`cubicweb.web.views.apacherewrite`
+=======================================
+
+.. automodule:: cubicweb.web.views.apacherewrite
+   :members:
+
+:mod:`cubicweb.web.views.dynimages`
+===================================
+
+.. automodule:: cubicweb.web.views.dynimages
+   :members:
+
+:mod:`cubicweb.web.views.searchrestriction`
+===========================================
+
+.. automodule:: cubicweb.web.views.searchrestriction
+   :members:
+
+:mod:`cubicweb.web.views.basecomponents`
+========================================
+
+.. automodule:: cubicweb.web.views.basecomponents
+   :members:
+
+:mod:`cubicweb.web.views.calendar`
+==================================
+
+.. automodule:: cubicweb.web.views.calendar
+   :members:
+
+:mod:`cubicweb.sobjects.supervising`
+====================================
+
+.. automodule:: cubicweb.sobjects.supervising
+   :members:
+
+:mod:`cubicweb.sobjects.hooks`
+==============================
+
+.. automodule:: cubicweb.sobjects.hooks
+   :members:
+
+:mod:`cubicweb.sobjects.email`
+==============================
+
+.. automodule:: cubicweb.sobjects.email
+   :members:
+
+:mod:`cubicweb.sobjects`
+========================
+
+.. automodule:: cubicweb.sobjects
+   :members:
+
+:mod:`cubicweb.sobjects.notification`
+=====================================
+
+.. automodule:: cubicweb.sobjects.notification
+   :members:
+
+:mod:`cubicweb.wsgi.request`
+============================
+
+.. automodule:: cubicweb.wsgi.request
+   :members:
+
+:mod:`cubicweb.wsgi`
+====================
+
+.. automodule:: cubicweb.wsgi
+   :members:
+
+:mod:`cubicweb.wsgi.handler`
+============================
+
+.. automodule:: cubicweb.wsgi.handler
+   :members:
+
+:mod:`cubicweb.etwist.server`
+=============================
+
+.. automodule:: cubicweb.etwist.server
+   :members:
+
+:mod:`cubicweb.etwist.request`
+==============================
+
+.. automodule:: cubicweb.etwist.request
+   :members:
+
+:mod:`cubicweb.etwist.twconfig`
+===============================
+
+.. automodule:: cubicweb.etwist.twconfig
+   :members:
+
+:mod:`cubicweb.etwist`
+======================
+
+.. automodule:: cubicweb.etwist
+   :members:
+
+:mod:`cubicweb.etwist.twctl`
+============================
+
+.. automodule:: cubicweb.etwist.twctl
+   :members:
+
+:mod:`cubicweb.goa.goaconfig`
+=============================
+
+.. automodule:: cubicweb.goa.goaconfig
+   :members:
+
+:mod:`cubicweb.goa.rqlinterpreter`
+==================================
+
+.. automodule:: cubicweb.goa.rqlinterpreter
+   :members:
+
+:mod:`cubicweb.goa.dbmyams`
+===========================
+
+.. automodule:: cubicweb.goa.dbmyams
+   :members:
+
+:mod:`cubicweb.goa.db`
+======================
+
+.. automodule:: cubicweb.goa.db
+   :members:
+
+:mod:`cubicweb.goa.goactl`
+==========================
+
+.. automodule:: cubicweb.goa.goactl
+   :members:
+
+:mod:`cubicweb.goa.goavreg`
+===========================
+
+.. automodule:: cubicweb.goa.goavreg
+   :members:
+
+:mod:`cubicweb.goa`
+===================
+
+.. automodule:: cubicweb.goa
+   :members:
+
+:mod:`cubicweb.goa.gaesource`
+=============================
+
+.. automodule:: cubicweb.goa.gaesource
+   :members:
+
+:mod:`cubicweb.goa.dbinit`
+==========================
+
+.. automodule:: cubicweb.goa.dbinit
+   :members:
+
+:mod:`cubicweb.goa.testlib`
+===========================
+
+.. automodule:: cubicweb.goa.testlib
+   :members:
+
+:mod:`cubicweb.goa.appobjects.dbmgmt`
+=====================================
+
+.. automodule:: cubicweb.goa.appobjects.dbmgmt
+   :members:
+
+:mod:`cubicweb.goa.appobjects.gauthservice`
+===========================================
+
+.. automodule:: cubicweb.goa.appobjects.gauthservice
+   :members:
+
+:mod:`cubicweb.goa.appobjects.sessions`
+=======================================
+
+.. automodule:: cubicweb.goa.appobjects.sessions
+   :members:
+
+:mod:`cubicweb.goa.appobjects`
+==============================
+
+.. automodule:: cubicweb.goa.appobjects
+   :members:
+
+:mod:`cubicweb.goa.appobjects.components`
+=========================================
+
+.. automodule:: cubicweb.goa.appobjects.components
+   :members:
+
+:mod:`cubicweb.goa.tools.laxctl`
+================================
+
+.. automodule:: cubicweb.goa.tools.laxctl
+   :members:
+
+:mod:`cubicweb.goa.tools.generate_schema_img`
+=============================================
+
+.. automodule:: cubicweb.goa.tools.generate_schema_img
+   :members:
+
+:mod:`cubicweb.goa.tools`
+=========================
+
+.. automodule:: cubicweb.goa.tools
+   :members:
+
+:mod:`cubicweb.goa.tools.i18n`
+==============================
+
+.. automodule:: cubicweb.goa.tools.i18n
+   :members:
+
+:mod:`cubicweb.goa.overrides.mttransforms`
+==========================================
+
+.. automodule:: cubicweb.goa.overrides.mttransforms
+   :members:
+
+:mod:`cubicweb.goa.overrides.rqlannotation`
+===========================================
+
+.. automodule:: cubicweb.goa.overrides.rqlannotation
+   :members:
+
+:mod:`cubicweb.goa.overrides.toolsutils`
+========================================
+
+.. automodule:: cubicweb.goa.overrides.toolsutils
+   :members:
+
+:mod:`cubicweb.goa.overrides`
+=============================
+
+.. automodule:: cubicweb.goa.overrides
+   :members:
+
+:mod:`cubicweb.goa.overrides.server__init__`
+============================================
+
+.. automodule:: cubicweb.goa.overrides.server__init__
+   :members:
+
+:mod:`cubicweb.goa.overrides.server_utils`
+==========================================
+
+.. automodule:: cubicweb.goa.overrides.server_utils
+   :members:
+
+:mod:`cubicweb.common.mttransforms`
+===================================
+
+.. automodule:: cubicweb.common.mttransforms
+   :members:
+
+:mod:`cubicweb.common.utils`
+============================
+
+.. automodule:: cubicweb.common.utils
+   :members:
+
+:mod:`cubicweb.common.schema`
+=============================
+
+.. automodule:: cubicweb.common.schema
+   :members:
+
+:mod:`cubicweb.common.tal`
+==========================
+
+.. automodule:: cubicweb.common.tal
+   :members:
+
+:mod:`cubicweb.common.appobject`
+================================
+
+.. automodule:: cubicweb.common.appobject
+   :members:
+
+:mod:`cubicweb.common.migration`
+================================
+
+.. automodule:: cubicweb.common.migration
+   :members:
+
+:mod:`cubicweb.common.rest`
+===========================
+
+.. automodule:: cubicweb.common.rest
+   :members:
+
+:mod:`cubicweb.common.html4zope`
+================================
+
+.. automodule:: cubicweb.common.html4zope
+   :members:
+
+:mod:`cubicweb.common.view`
+===========================
+
+.. automodule:: cubicweb.common.view
+   :members:
+
+:mod:`cubicweb.common.selectors`
+================================
+
+.. automodule:: cubicweb.common.selectors
+   :members:
+
+:mod:`cubicweb.common.entity`
+=============================
+
+.. automodule:: cubicweb.common.entity
+   :members:
+
+:mod:`cubicweb.common.mail`
+===========================
+
+.. automodule:: cubicweb.common.mail
+   :members:
+
+:mod:`cubicweb.common.mixins`
+=============================
+
+.. automodule:: cubicweb.common.mixins
+   :members:
+
+:mod:`cubicweb.common`
+======================
+
+.. automodule:: cubicweb.common
+   :members:
+
+:mod:`cubicweb.common.uilib`
+============================
+
+.. automodule:: cubicweb.common.uilib
+   :members:
+
+:mod:`cubicweb.common.registerers`
+==================================
+
+.. automodule:: cubicweb.common.registerers
+   :members:
+
+:mod:`cubicweb.common.i18n`
+===========================
+
+.. automodule:: cubicweb.common.i18n
+   :members:
+
+:mod:`cubicweb.entities.schemaobjs`
+===================================
+
+.. automodule:: cubicweb.entities.schemaobjs
+   :members:
+
+:mod:`cubicweb.entities.wfobjs`
+===============================
+
+.. automodule:: cubicweb.entities.wfobjs
+   :members:
+
+:mod:`cubicweb.entities`
+========================
+
+.. automodule:: cubicweb.entities
+   :members:
+
+:mod:`cubicweb.entities.authobjs`
+=================================
+
+.. automodule:: cubicweb.entities.authobjs
+   :members:
+
+:mod:`cubicweb.entities.lib`
+============================
+
+.. automodule:: cubicweb.entities.lib
+   :members:
+
+:mod:`cubicweb.server.server`
+=============================
+
+.. automodule:: cubicweb.server.server
+   :members:
+
+:mod:`cubicweb.server.utils`
+============================
+
+.. automodule:: cubicweb.server.utils
+   :members:
+
+:mod:`cubicweb.server.checkintegrity`
+=====================================
+
+.. automodule:: cubicweb.server.checkintegrity
+   :members:
+
+:mod:`cubicweb.server.rqlrewrite`
+=================================
+
+.. automodule:: cubicweb.server.rqlrewrite
+   :members:
+
+:mod:`cubicweb.server.rqlannotation`
+====================================
+
+.. automodule:: cubicweb.server.rqlannotation
+   :members:
+
+:mod:`cubicweb.server.hooks`
+============================
+
+.. automodule:: cubicweb.server.hooks
+   :members:
+
+:mod:`cubicweb.server.hooksmanager`
+===================================
+
+.. automodule:: cubicweb.server.hooksmanager
+   :members:
+
+:mod:`cubicweb.server.securityhooks`
+====================================
+
+.. automodule:: cubicweb.server.securityhooks
+   :members:
+
+:mod:`cubicweb.server.schemahooks`
+==================================
+
+.. automodule:: cubicweb.server.schemahooks
+   :members:
+
+:mod:`cubicweb.server.session`
+==============================
+
+.. automodule:: cubicweb.server.session
+   :members:
+
+:mod:`cubicweb.server.serverctl`
+================================
+
+.. automodule:: cubicweb.server.serverctl
+   :members:
+
+:mod:`cubicweb.server.serverconfig`
+===================================
+
+.. automodule:: cubicweb.server.serverconfig
+   :members:
+
+:mod:`cubicweb.server.pool`
+===========================
+
+.. automodule:: cubicweb.server.pool
+   :members:
+
+:mod:`cubicweb.server.mssteps`
+==============================
+
+.. automodule:: cubicweb.server.mssteps
+   :members:
+
+:mod:`cubicweb.server.hookhelper`
+=================================
+
+.. automodule:: cubicweb.server.hookhelper
+   :members:
+
+:mod:`cubicweb.server`
+======================
+
+.. automodule:: cubicweb.server
+   :members:
+
+:mod:`cubicweb.server.sqlutils`
+===============================
+
+.. automodule:: cubicweb.server.sqlutils
+   :members:
+
+:mod:`cubicweb.server.schemaserial`
+===================================
+
+.. automodule:: cubicweb.server.schemaserial
+   :members:
+
+:mod:`cubicweb.server.repository`
+=================================
+
+.. automodule:: cubicweb.server.repository
+   :members:
+
+:mod:`cubicweb.server.ssplanner`
+================================
+
+.. automodule:: cubicweb.server.ssplanner
+   :members:
+
+:mod:`cubicweb.server.msplanner`
+================================
+
+.. automodule:: cubicweb.server.msplanner
+   :members:
+
+:mod:`cubicweb.server.querier`
+==============================
+
+.. automodule:: cubicweb.server.querier
+   :members:
+
+:mod:`cubicweb.server.migractions`
+==================================
+
+.. automodule:: cubicweb.server.migractions
+   :members:
+
+:mod:`cubicweb.server.sources.rql2sql`
+======================================
+
+.. automodule:: cubicweb.server.sources.rql2sql
+   :members:
+
+:mod:`cubicweb.server.sources.ldapuser`
+=======================================
+
+.. automodule:: cubicweb.server.sources.ldapuser
+   :members:
+
+:mod:`cubicweb.server.sources`
+==============================
+
+.. automodule:: cubicweb.server.sources
+   :members:
+
+:mod:`cubicweb.server.sources.pyrorql`
+======================================
+
+.. automodule:: cubicweb.server.sources.pyrorql
+   :members:
+
+:mod:`cubicweb.server.sources.native`
+=====================================
+
+.. automodule:: cubicweb.server.sources.native
+   :members:
+
+:mod:`cubicweb.server.sources.extlite`
+======================================
+
+.. automodule:: cubicweb.server.sources.extlite
+   :members:
+
+:mod:`cubicweb.devtools.devctl`
+===============================
+
+.. automodule:: cubicweb.devtools.devctl
+   :members:
+
+:mod:`cubicweb.devtools.pkginfo`
+================================
+
+.. automodule:: cubicweb.devtools.pkginfo
+   :members:
+
+:mod:`cubicweb.devtools.migrtest`
+=================================
+
+.. automodule:: cubicweb.devtools.migrtest
+   :members:
+
+:mod:`cubicweb.devtools.htmlparser`
+===================================
+
+.. automodule:: cubicweb.devtools.htmlparser
+   :members:
+
+:mod:`cubicweb.devtools`
+========================
+
+.. automodule:: cubicweb.devtools
+   :members:
+
+:mod:`cubicweb.devtools.fill`
+=============================
+
+.. automodule:: cubicweb.devtools.fill
+   :members:
+
+:mod:`cubicweb.devtools._apptest`
+=================================
+
+.. automodule:: cubicweb.devtools._apptest
+   :members:
+
+:mod:`cubicweb.devtools.stresstester`
+=====================================
+
+.. automodule:: cubicweb.devtools.stresstester
+   :members:
+
+:mod:`cubicweb.devtools.fake`
+=============================
+
+.. automodule:: cubicweb.devtools.fake
+   :members:
+
+:mod:`cubicweb.devtools.apptest`
+================================
+
+.. automodule:: cubicweb.devtools.apptest
+   :members:
+
+:mod:`cubicweb.devtools.livetest`
+=================================
+
+.. automodule:: cubicweb.devtools.livetest
+   :members:
+
+:mod:`cubicweb.devtools.testlib`
+================================
+
+.. automodule:: cubicweb.devtools.testlib
+   :members:
+
+:mod:`cubicweb.devtools.repotest`
+=================================
+
+.. automodule:: cubicweb.devtools.repotest
+   :members:
+
+:mod:`cubicweb.devtools.cwtwill`
+================================
+
+.. automodule:: cubicweb.devtools.cwtwill
+   :members:
+
+:mod:`cubicweb.misc.cwdesklets.rqlsensor`
+=========================================
+
+.. automodule:: cubicweb.misc.cwdesklets.rqlsensor
+   :members:
+
+:mod:`cubicweb.embedded.mx`
+===========================
+
+.. automodule:: cubicweb.embedded.mx
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.mxDateTime_python`
+======================================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.mxDateTime_python
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.ARPA`
+=========================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.ARPA
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.ISO`
+========================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.ISO
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.Parser`
+===========================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.Parser
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime`
+====================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.Timezone`
+=============================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.Timezone
+   :members:
+
+:mod:`cubicweb.embedded.mx.DateTime.DateTime`
+=============================================
+
+.. automodule:: cubicweb.embedded.mx.DateTime.DateTime
+   :members:
+
+:mod:`indexer`
+==============
+
+.. automodule:: indexer
+   :members:
+
+:mod:`indexer.indexable_objects`
+================================
+
+.. automodule:: indexer.indexable_objects
+   :members:
+
+:mod:`indexer.search`
+=====================
+
+.. automodule:: indexer.search
+   :members:
+
+:mod:`indexer.query_objects`
+============================
+
+.. automodule:: indexer.query_objects
+   :members:
+
+:mod:`indexer._exceptions`
+==========================
+
+.. automodule:: indexer._exceptions
+   :members:
+
+:mod:`indexer.setup`
+====================
+
+.. automodule:: indexer.setup
+   :members:
+
+:mod:`indexer.query`
+====================
+
+.. automodule:: indexer.query
+   :members:
+
+:mod:`logilab`
+==============
+
+.. automodule:: logilab
+   :members:
+
+:mod:`logilab.constraint.propagation`
+=====================================
+
+.. automodule:: logilab.constraint.propagation
+   :members:
+
+:mod:`logilab.constraint.psyco_wrapper`
+=======================================
+
+.. automodule:: logilab.constraint.psyco_wrapper
+   :members:
+
+:mod:`logilab.constraint.fd`
+============================
+
+.. automodule:: logilab.constraint.fd
+   :members:
+
+:mod:`logilab.constraint.fi`
+============================
+
+.. automodule:: logilab.constraint.fi
+   :members:
+
+:mod:`logilab.constraint`
+=========================
+
+.. automodule:: logilab.constraint
+   :members:
+
+:mod:`logilab.constraint.setup`
+===============================
+
+.. automodule:: logilab.constraint.setup
+   :members:
+
+:mod:`logilab.constraint.interfaces`
+====================================
+
+.. automodule:: logilab.constraint.interfaces
+   :members:
+
+:mod:`logilab.constraint.distributors`
+======================================
+
+.. automodule:: logilab.constraint.distributors
+   :members:
+
+:mod:`logilab.common.clcommands`
+================================
+
+.. automodule:: logilab.common.clcommands
+   :members:
+
+:mod:`logilab.common.table`
+===========================
+
+.. automodule:: logilab.common.table
+   :members:
+
+:mod:`logilab.common.interface`
+===============================
+
+.. automodule:: logilab.common.interface
+   :members:
+
+:mod:`logilab.common.logger`
+============================
+
+.. automodule:: logilab.common.logger
+   :members:
+
+:mod:`logilab.common.cli`
+=========================
+
+.. automodule:: logilab.common.cli
+   :members:
+
+:mod:`logilab.common.xmlrpcutils`
+=================================
+
+.. automodule:: logilab.common.xmlrpcutils
+   :members:
+
+:mod:`logilab.common.corbautils`
+================================
+
+.. automodule:: logilab.common.corbautils
+   :members:
+
+:mod:`logilab.common.cache`
+===========================
+
+.. automodule:: logilab.common.cache
+   :members:
+
+:mod:`logilab.common.astutils`
+==============================
+
+.. automodule:: logilab.common.astutils
+   :members:
+
+:mod:`logilab.common.daemon`
+============================
+
+.. automodule:: logilab.common.daemon
+   :members:
+
+:mod:`logilab.common.tree`
+==========================
+
+.. automodule:: logilab.common.tree
+   :members:
+
+:mod:`logilab.common.textutils`
+===============================
+
+.. automodule:: logilab.common.textutils
+   :members:
+
+:mod:`logilab.common.modutils`
+==============================
+
+.. automodule:: logilab.common.modutils
+   :members:
+
+:mod:`logilab.common.fileutils`
+===============================
+
+.. automodule:: logilab.common.fileutils
+   :members:
+
+:mod:`logilab.common.patricia`
+==============================
+
+.. automodule:: logilab.common.patricia
+   :members:
+
+:mod:`logilab.common.date`
+==========================
+
+.. automodule:: logilab.common.date
+   :members:
+
+:mod:`logilab.common.optparser`
+===============================
+
+.. automodule:: logilab.common.optparser
+   :members:
+
+:mod:`logilab.common.twisted_distutils`
+=======================================
+
+.. automodule:: logilab.common.twisted_distutils
+   :members:
+
+:mod:`logilab.common.decorators`
+================================
+
+.. automodule:: logilab.common.decorators
+   :members:
+
+:mod:`logilab.common.db`
+========================
+
+.. automodule:: logilab.common.db
+   :members:
+
+:mod:`logilab.common.deprecation`
+=================================
+
+.. automodule:: logilab.common.deprecation
+   :members:
+
+:mod:`logilab.common.tasksqueue`
+================================
+
+.. automodule:: logilab.common.tasksqueue
+   :members:
+
+:mod:`logilab.common.changelog`
+===============================
+
+.. automodule:: logilab.common.changelog
+   :members:
+
+:mod:`logilab.common.shellutils`
+================================
+
+.. automodule:: logilab.common.shellutils
+   :members:
+
+:mod:`logilab.common.sqlgen`
+============================
+
+.. automodule:: logilab.common.sqlgen
+   :members:
+
+:mod:`logilab.common.optik_ext`
+===============================
+
+.. automodule:: logilab.common.optik_ext
+   :members:
+
+:mod:`logilab.common.configuration`
+===================================
+
+.. automodule:: logilab.common.configuration
+   :members:
+
+:mod:`logilab.common.visitor`
+=============================
+
+.. automodule:: logilab.common.visitor
+   :members:
+
+:mod:`logilab.common.pytest`
+============================
+
+.. automodule:: logilab.common.pytest
+   :members:
+
+:mod:`logilab.common`
+=====================
+
+.. automodule:: logilab.common
+   :members:
+
+:mod:`logilab.common.setup`
+===========================
+
+.. automodule:: logilab.common.setup
+   :members:
+
+:mod:`logilab.common.logservice`
+================================
+
+.. automodule:: logilab.common.logservice
+   :members:
+
+:mod:`logilab.common.debugger`
+==============================
+
+.. automodule:: logilab.common.debugger
+   :members:
+
+:mod:`logilab.common.html`
+==========================
+
+.. automodule:: logilab.common.html
+   :members:
+
+:mod:`logilab.common.vcgutils`
+==============================
+
+.. automodule:: logilab.common.vcgutils
+   :members:
+
+:mod:`logilab.common.compat`
+============================
+
+.. automodule:: logilab.common.compat
+   :members:
+
+:mod:`logilab.common.logging_ext`
+=================================
+
+.. automodule:: logilab.common.logging_ext
+   :members:
+
+:mod:`logilab.common.umessage`
+==============================
+
+.. automodule:: logilab.common.umessage
+   :members:
+
+:mod:`logilab.common.proc`
+==========================
+
+.. automodule:: logilab.common.proc
+   :members:
+
+:mod:`logilab.common.monclient`
+===============================
+
+.. automodule:: logilab.common.monclient
+   :members:
+
+:mod:`logilab.common.bind`
+==========================
+
+.. automodule:: logilab.common.bind
+   :members:
+
+:mod:`logilab.common.graph`
+===========================
+
+.. automodule:: logilab.common.graph
+   :members:
+
+:mod:`logilab.common.testlib`
+=============================
+
+.. automodule:: logilab.common.testlib
+   :members:
+
+:mod:`logilab.common.contexts`
+==============================
+
+.. automodule:: logilab.common.contexts
+   :members:
+
+:mod:`logilab.common.adbh`
+==========================
+
+.. automodule:: logilab.common.adbh
+   :members:
+
+:mod:`logilab.common.pdf_ext`
+=============================
+
+.. automodule:: logilab.common.pdf_ext
+   :members:
+
+:mod:`logilab.common.monserver`
+===============================
+
+.. automodule:: logilab.common.monserver
+   :members:
+
+:mod:`logilab.common.ureports.nodes`
+====================================
+
+.. automodule:: logilab.common.ureports.nodes
+   :members:
+
+:mod:`logilab.common.ureports`
+==============================
+
+.. automodule:: logilab.common.ureports
+   :members:
+
+:mod:`logilab.common.ureports.html_writer`
+==========================================
+
+.. automodule:: logilab.common.ureports.html_writer
+   :members:
+
+:mod:`logilab.common.ureports.text_writer`
+==========================================
+
+.. automodule:: logilab.common.ureports.text_writer
+   :members:
+
+:mod:`logilab.common.ureports.docbook_writer`
+=============================================
+
+.. automodule:: logilab.common.ureports.docbook_writer
+   :members:
+
+:mod:`logilab.mtconverter.engine`
+=================================
+
+.. automodule:: logilab.mtconverter.engine
+   :members:
+
+:mod:`logilab.mtconverter.transform`
+====================================
+
+.. automodule:: logilab.mtconverter.transform
+   :members:
+
+:mod:`logilab.mtconverter`
+==========================
+
+.. automodule:: logilab.mtconverter
+   :members:
+
+:mod:`logilab.mtconverter.setup`
+================================
+
+.. automodule:: logilab.mtconverter.setup
+   :members:
+
+:mod:`logilab.mtconverter.transforms.html2text`
+===============================================
+
+.. automodule:: logilab.mtconverter.transforms.html2text
+   :members:
+
+:mod:`logilab.mtconverter.transforms.cmdtransforms`
+===================================================
+
+.. automodule:: logilab.mtconverter.transforms.cmdtransforms
+   :members:
+
+:mod:`logilab.mtconverter.transforms.python`
+============================================
+
+.. automodule:: logilab.mtconverter.transforms.python
+   :members:
+
+:mod:`logilab.mtconverter.transforms.pygmentstransforms`
+========================================================
+
+.. automodule:: logilab.mtconverter.transforms.pygmentstransforms
+   :members:
+
+:mod:`logilab.mtconverter.transforms`
+=====================================
+
+.. automodule:: logilab.mtconverter.transforms
+   :members:
+
+:mod:`logilab.mtconverter.transforms.piltransforms`
+===================================================
+
+.. automodule:: logilab.mtconverter.transforms.piltransforms
+   :members:
+
+:mod:`logilab.devtools.cvstatus`
+================================
+
+.. automodule:: logilab.devtools.cvstatus
+   :members:
+
+:mod:`logilab.devtools.changelog`
+=================================
+
+.. automodule:: logilab.devtools.changelog
+   :members:
+
+:mod:`logilab.devtools`
+=======================
+
+.. automodule:: logilab.devtools
+   :members:
+
+:mod:`logilab.devtools.setup`
+=============================
+
+.. automodule:: logilab.devtools.setup
+   :members:
+
+:mod:`logilab.devtools.cvslog`
+==============================
+
+.. automodule:: logilab.devtools.cvslog
+   :members:
+
+:mod:`logilab.devtools.lgp.utils`
+=================================
+
+.. automodule:: logilab.devtools.lgp.utils
+   :members:
+
+:mod:`logilab.devtools.lgp.tag`
+===============================
+
+.. automodule:: logilab.devtools.lgp.tag
+   :members:
+
+:mod:`logilab.devtools.lgp.setupinfo`
+=====================================
+
+.. automodule:: logilab.devtools.lgp.setupinfo
+   :members:
+
+:mod:`logilab.devtools.lgp.changelog`
+=====================================
+
+.. automodule:: logilab.devtools.lgp.changelog
+   :members:
+
+:mod:`logilab.devtools.lgp.preparedist`
+=======================================
+
+.. automodule:: logilab.devtools.lgp.preparedist
+   :members:
+
+:mod:`logilab.devtools.lgp.build`
+=================================
+
+.. automodule:: logilab.devtools.lgp.build
+   :members:
+
+:mod:`logilab.devtools.lgp.clean`
+=================================
+
+.. automodule:: logilab.devtools.lgp.clean
+   :members:
+
+:mod:`logilab.devtools.lgp`
+===========================
+
+.. automodule:: logilab.devtools.lgp
+   :members:
+
+:mod:`logilab.devtools.lgp.setup`
+=================================
+
+.. automodule:: logilab.devtools.lgp.setup
+   :members:
+
+:mod:`logilab.devtools.lgp.check`
+=================================
+
+.. automodule:: logilab.devtools.lgp.check
+   :members:
+
+:mod:`logilab.devtools.lgp.exceptions`
+======================================
+
+.. automodule:: logilab.devtools.lgp.exceptions
+   :members:
+
+:mod:`logilab.devtools.templates`
+=================================
+
+.. automodule:: logilab.devtools.templates
+   :members:
+
+:mod:`logilab.devtools.templates.setup`
+=======================================
+
+.. automodule:: logilab.devtools.templates.setup
+   :members:
+
+:mod:`logilab.devtools.lib.coverage`
+====================================
+
+.. automodule:: logilab.devtools.lib.coverage
+   :members:
+
+:mod:`logilab.devtools.lib.manifest`
+====================================
+
+.. automodule:: logilab.devtools.lib.manifest
+   :members:
+
+:mod:`logilab.devtools.lib.pkginfo`
+===================================
+
+.. automodule:: logilab.devtools.lib.pkginfo
+   :members:
+
+:mod:`logilab.devtools.lib`
+===========================
+
+.. automodule:: logilab.devtools.lib
+   :members:
+
+:mod:`logilab.devtools.vcslib.cvsparse`
+=======================================
+
+.. automodule:: logilab.devtools.vcslib.cvsparse
+   :members:
+
+:mod:`logilab.devtools.vcslib.svn`
+==================================
+
+.. automodule:: logilab.devtools.vcslib.svn
+   :members:
+
+:mod:`logilab.devtools.vcslib.node`
+===================================
+
+.. automodule:: logilab.devtools.vcslib.node
+   :members:
+
+:mod:`logilab.devtools.vcslib`
+==============================
+
+.. automodule:: logilab.devtools.vcslib
+   :members:
+
+:mod:`logilab.devtools.vcslib.interfaces`
+=========================================
+
+.. automodule:: logilab.devtools.vcslib.interfaces
+   :members:
+
+:mod:`logilab.devtools.vcslib.cvs`
+==================================
+
+.. automodule:: logilab.devtools.vcslib.cvs
+   :members:
+
+:mod:`logilab.devtools.vcslib.hg`
+=================================
+
+.. automodule:: logilab.devtools.vcslib.hg
+   :members:
+
+:mod:`rql.nodes`
+================
+
+.. automodule:: rql.nodes
+   :members:
+
+:mod:`rql.undo`
+===============
+
+.. automodule:: rql.undo
+   :members:
+
+:mod:`rql.utils`
+================
+
+.. automodule:: rql.utils
+   :members:
+
+:mod:`rql.base`
+===============
+
+.. automodule:: rql.base
+   :members:
+
+:mod:`rql.analyze`
+==================
+
+.. automodule:: rql.analyze
+   :members:
+
+:mod:`rql._exceptions`
+======================
+
+.. automodule:: rql._exceptions
+   :members:
+
+:mod:`rql.compare`
+==================
+
+.. automodule:: rql.compare
+   :members:
+
+:mod:`rql.stmts`
+================
+
+.. automodule:: rql.stmts
+   :members:
+
+:mod:`rql.parser_main`
+======================
+
+.. automodule:: rql.parser_main
+   :members:
+
+:mod:`rql.stcheck`
+==================
+
+.. automodule:: rql.stcheck
+   :members:
+
+:mod:`rql.parser`
+=================
+
+.. automodule:: rql.parser
+   :members:
+
+:mod:`rql`
+==========
+
+.. automodule:: rql
+   :members:
+
+:mod:`rql.setup`
+================
+
+.. automodule:: rql.setup
+   :members:
+
+:mod:`rql.interfaces`
+=====================
+
+.. automodule:: rql.interfaces
+   :members:
+
+:mod:`rql.editextensions`
+=========================
+
+.. automodule:: rql.editextensions
+   :members:
+
+:mod:`rql.fol`
+==============
+
+.. automodule:: rql.fol
+   :members:
+
+:mod:`rqlgen`
+=============
+
+.. automodule:: rqlgen
+   :members:
+
+:mod:`yams.schema`
+==================
+
+.. automodule:: yams.schema
+   :members:
+
+:mod:`yams.reader`
+==================
+
+.. automodule:: yams.reader
+   :members:
+
+:mod:`yams.schema2sql`
+======================
+
+.. automodule:: yams.schema2sql
+   :members:
+
+:mod:`yams._exceptions`
+=======================
+
+.. automodule:: yams._exceptions
+   :members:
+
+:mod:`yams.sqlreader`
+=====================
+
+.. automodule:: yams.sqlreader
+   :members:
+
+:mod:`yams.schema2dot`
+======================
+
+.. automodule:: yams.schema2dot
+   :members:
+
+:mod:`yams`
+===========
+
+.. automodule:: yams
+   :members:
+
+:mod:`yams.setup`
+=================
+
+.. automodule:: yams.setup
+   :members:
+
+:mod:`yams.interfaces`
+======================
+
+.. automodule:: yams.interfaces
+   :members:
+
+:mod:`yams.buildobjs`
+=====================
+
+.. automodule:: yams.buildobjs
+   :members:
+
+:mod:`yams.constraints`
+=======================
+
+.. automodule:: yams.constraints
+   :members:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D080-mercurial.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -0,0 +1,133 @@
+.. -*- coding: utf-8 -*-
+
+.. _MercurialPresentation:
+
+Introducing Mercurial
+=====================
+
+Introduction
+````````````
+Mercurial_ manages a distributed repository containing revisions
+trees (each revision indicates the changes required to obtain the
+next, and so on). Locally, we have a repository containing revisions
+tree, and a working directory. It is possible
+to put in its working directory, one of the versions of its local repository,
+modify and then push it in its repository. 
+It is also possible to get revisions from another repository or to export
+its own revisions from the local repository to another repository.
+
+.. _Mercurial: http://www.selenic.com/mercurial/
+
+In contrast to CVS/Subversion, we usually create a repository by
+project to manage.
+
+In a collaborative development, we usually create a central repository
+accessible to all developers of the project. These central repository is used
+as a reference. According to its needs, then everyone can have a local repository,
+that you will have to synchronize with the central repository from time to time.
+
+
+Major commands
+``````````````
+* Create a local repository::
+
+     hg clone ssh://myhost//home/src/repo
+
+* See the contents of the local repository (graphical tool in Tk)::
+
+     hgview
+
+* Add a sub-directory or file in the current directory::
+
+     hg add subdir
+
+* Move to the working directory a specific revision (or last
+  revision) from the local repository::
+
+     hg update [identifier-revision]
+     hg up [identifier-revision]
+
+* Get in its local repository, the tree of revisions contained in a
+  remote repository (this does not change the local directory)::
+
+     hg pull ssh://myhost//home/src/repo
+     hg pull -u ssh://myhost//home/src/repo # equivalent to pull + update
+
+* See what are the heads of branches of the local repository if a `pull`
+  returned a new branch::
+
+     hg heads
+
+* Submit the working directory in the local repository (and create a new
+  revision)::
+
+     hg commit
+     hg ci
+
+* Merge with the mother revision of local directory, another revision from
+  the local respository (the new revision will be then two mothers
+  revisions)::
+
+     hg merge identifier-revision
+
+* Export to a remote repository, the tree of revisions in its content
+  local respository (this does not change the local directory)::
+
+     hg push ssh://myhost//home/src/repo
+
+* See what local revisions are not in another repository::
+
+     hg outgoing ssh://myhost//home/src/repo
+
+* See what are the revisions of a repository not found locally::
+
+     hg incoming ssh://myhost//home/src/repo
+
+* See what is the revision of the local repository which has been taken out 
+  from the working directory and amended::
+
+     hg parent
+
+* See the differences between the working directory and the mother revision
+  of the local repository, possibly to submit them in the local repository::
+
+     hg diff
+     hg commit-tool
+     hg ct
+
+
+Best Practices
+``````````````
+* Remember to `hg pull -u` regularly, and particularly before
+   a `hg commit`.
+
+* Remember to `hg push` when your repository contains a version
+  relatively stable of your changes.
+
+* If a `hg pull -u` created a new branch head:
+
+   1. find its identifier with `hg head`
+   2. merge with `hg merge`
+   3. `hg ci`
+   4. `hg push`
+
+Installation of the forest extension
+````````````````````````````````````
+
+Set up the forest extension by getting a copy of the sources 
+from http://hg.akoha.org/hgforest/ and adding the following 
+lines to your ``~/.hgrc``: ::
+
+   [extensions]
+   hgext.forest=
+   # or, if forest.py is not in the hgext dir:
+   # forest=/path/to/forest.py
+
+
+More information
+````````````````
+
+For more information about Mercurial, please refer to the Mercurial project online documentation_.
+
+.. _documentation: http://www.selenic.com/mercurial/wiki/
+
--- a/doc/book/en/Z010-beginners.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/Z010-beginners.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -2,11 +2,10 @@
 
 .. _QuickInstall:
 
-===========================================
 Quick Installation of a `CubicWeb` instance
 ===========================================
 
-.. include:: C011-installation.en.txt
+.. include:: C010-setup.en.txt
 .. include:: Z012-create-instance.en.txt
 
 
--- a/doc/book/en/Z012-create-instance.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/Z012-create-instance.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -1,5 +1,6 @@
 .. -*- coding: utf-8 -*-
 
+===============================
 Creation of your first instance
 ===============================
 
--- a/doc/book/en/Z013-blog-less-ten-minutes.en.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/Z013-blog-less-ten-minutes.en.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -1,86 +1,26 @@
 .. -*- coding: utf-8 -*-
 
-.. BlogTenMinutes:
-
-Have a blog ready in less than ten minutes!
--------------------------------------------
-
-Installation
-~~~~~~~~~~~~
-
-You need to install the following packages::
+.. _BlogTenMinutes:
 
-    cubicweb, cubicweb-blog
-
-The package `cubicweb` is installing the command `cubicweb-ctl` that
-will allow you to create new application.
+Get a Blog running in less than ten minutes!
+--------------------------------------------
 
-The package `cubicweb-blog` is installing the blogging support for the
-`CubicWeb` framework.
+You need to install the following packages (:ref:`DebianInstallation`)::
 
-Application creation
-~~~~~~~~~~~~~~~~~~~~
+    cubicweb, cubicweb-dev, cubicweb-blog
 
 Creation and initialization of your application by running::
     
     cubicweb-ctl create blog myblog
 
-*myblog* is the name of the application you are creating.
-
-*blog* is the name of the component on which your application
-is based. 
-
-Application launch
-~~~~~~~~~~~~~~~~~~
-
 Your application is now ready to go::
 
     cubicweb-ctl start -D myblog
 
 This is it. Your blog is ready to you. Go to http://localhost:8080 and enjoy!
 
-
-A little code snapshot from behind the scene
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The component `blog`, referred as a `cube` in the book 
-(see :ref:`TermsVocabulary` for a complete definition), defines
-a data model in ``/usr/share/cubicweb/cubes/blog/schema.py``. 
-Here is the corresponding Python code::
-
-    from cubicweb.schema import format_constraint
-
-    class Blog(EntityType):
-        title = String(maxsize=50, required=True)
-        description_format = String(meta=True, internationalizable=True, maxsize=50,
-                                    default='text/rest', constraints=[format_constraint])
-        description = String()
-        rss_url = String(maxsize=128, description=_('blog\'s rss url (useful for when using external site such as feedburner)'))
+As a developper, you'll want to know more about how to develop new
+cubes and cutomize the look of your application and this is what we
+talk about now. 
 
 
-    class BlogEntry(EntityType):
-        title = String(required=True, fulltextindexed=True, maxsize=256)
-        content_format = String(meta=True, internationalizable=True, maxsize=50,
-                                default='text/rest', constraints=[format_constraint])
-        content = String(required=True, fulltextindexed=True)
-        entry_of = SubjectRelation('Blog', cardinality='?*')
-
-Two types of entities are defined here: Blog and BlogEntry.
-
-A Blog is defined by a title, a description and its format and a
-RSS URL to provide RSS feed.
-
-A BlogEntry is defined by a title, a content and its format and
-a relation to a Blog, meaning a BlogEntry belongs to a Blog.
-
-
-Next step
-~~~~~~~~~
-
-This was a brief demonstration of the re-usability of cubes and a way
-to show how you can use `CubicWeb` straigth out of the box.
-
-As a developper, you'll want to know more about how to develop new
-cubes and cutomize the views and this is what we talk about now. 
-
-
--- a/doc/book/en/index.txt	Wed Apr 22 09:46:13 2009 -0500
+++ b/doc/book/en/index.txt	Thu Apr 30 12:27:32 2009 +0200
@@ -25,7 +25,7 @@
 for semantic web application development that promotes quality, reusability and
 efficiency.
 
-The unbeliever will read the :ref:`Overview`.
+The unbeliever will read the :ref:`Tutorial`.
 
 The hacker will join development at the forge_.
 
--- a/i18n/es.po	Wed Apr 22 09:46:13 2009 -0500
+++ b/i18n/es.po	Thu Apr 30 12:27:32 2009 +0200
@@ -5,8 +5,8 @@
 msgstr ""
 "Project-Id-Version: cubicweb 2.46.0\n"
 "PO-Revision-Date: 2008-11-27 07:59+0100\n"
-"Last-Translator: Celso <contact@logilab.fr>\n"
-"Language-Team: fr <contact@logilab.fr>\n"
+"Last-Translator: Celso Flores<jcelsoflores@gmail.com>\n"
+"Language-Team: es <contact@logilab.fr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -23,7 +23,7 @@
 "url: %(url)s\n"
 msgstr ""
 "\n"
-"%(user)s a cambiado su estado de <%(previous_state)s> hacia <%(current_state)"
+"%(user)s ha cambiado su estado de <%(previous_state)s> hacia <%(current_state)"
 "s> por la entidad\n"
 "'%(title)s'\n"
 "\n"
@@ -33,7 +33,7 @@
 
 #, python-format
 msgid "  from state %(fromstate)s to state %(tostate)s\n"
-msgstr "  de el estado %(fromstate)s hacia el estado %(tostate)s\n"
+msgstr "  del estado %(fromstate)s hacia el estado %(tostate)s\n"
 
 #, python-format
 msgid "%(cstr)s constraint failed for value %(value)r"
@@ -121,7 +121,7 @@
 
 #, python-format
 msgid "%s software version of the database"
-msgstr "version sistema de la base para %s"
+msgstr "versión sistema de la base para %s"
 
 msgid "**"
 msgstr "0..n 0..n"
@@ -181,10 +181,10 @@
 msgstr "Aplicación"
 
 msgid "Bookmark"
-msgstr "Atajo"
+msgstr "Favorito"
 
 msgid "Bookmark_plural"
-msgstr "Atajos"
+msgstr "Favoritos"
 
 msgid "Boolean"
 msgstr "Booleano"
@@ -193,13 +193,13 @@
 msgstr "Booleanos"
 
 msgid "Browse by category"
-msgstr "Selecciona por categoría"
+msgstr "Busca por categoría"
 
 msgid "Bytes"
-msgstr "Datos binarios"
+msgstr "Bytes"
 
 msgid "Bytes_plural"
-msgstr "Datos binarios"
+msgstr "Bytes"
 
 msgid "Card"
 msgstr "Ficha"
@@ -224,34 +224,34 @@
 msgstr "Nivel de debug puesto a %s"
 
 msgid "Decimal"
-msgstr "Número decimal"
+msgstr "Decimal"
 
 msgid "Decimal_plural"
-msgstr "Números decimales"
+msgstr "Decimales"
 
 msgid "Do you want to delete the following element(s) ?"
 msgstr "Desea suprimir el(los) elemento(s) siguiente(s)"
 
 msgid "ECache"
-msgstr "Memoria Cache"
+msgstr "Cache"
 
 msgid "ECache_plural"
-msgstr "Memorias Caches"
+msgstr "Caches"
 
 msgid "EConstraint"
-msgstr "Condición"
+msgstr "Restricción"
 
 msgid "EConstraintType"
-msgstr "Tipo de condición"
+msgstr "Tipo de Restricción"
 
 msgid "EConstraintType_plural"
-msgstr "Tipos de condición"
+msgstr "Tipos de Restricción"
 
 msgid "EConstraint_plural"
-msgstr "Condiciones"
+msgstr "Restricciones"
 
 msgid "EEType"
-msgstr "Tipo de entidades"
+msgstr "Tipo de entidad"
 
 msgid "EEType_plural"
 msgstr "Tipos de entidades"
@@ -305,10 +305,10 @@
 msgstr "Correo Electrónico"
 
 msgid "EmailAddress_plural"
-msgstr "Direcciónes de Correo Electrónico"
+msgstr "Direcciones de Correo Electrónico"
 
 msgid "Entities"
-msgstr "entidades"
+msgstr "Entidades"
 
 msgid "Environment"
 msgstr "Ambiente"
@@ -335,22 +335,22 @@
 msgstr "Duraciones"
 
 msgid "New Bookmark"
-msgstr "Nuevo Atajo"
+msgstr "Agregar a Favoritos"
 
 msgid "New Card"
-msgstr "Nueva ficha"
+msgstr "Agregar Ficha"
 
 msgid "New ECache"
-msgstr "Nueva memoria cache"
+msgstr "Agregar Cache"
 
 msgid "New EConstraint"
-msgstr "Nueva condición"
+msgstr "Agregar Restricción"
 
 msgid "New EConstraintType"
-msgstr "Nuevo tipo de condición"
+msgstr "Agregar tipo de Restricción"
 
 msgid "New EEType"
-msgstr "Nuevo tipo de entidad"
+msgstr "Agregar tipo de entidad"
 
 msgid "New EFRDef"
 msgstr "Nueva definición de relación final"
@@ -362,31 +362,31 @@
 msgstr "Nueva definición de relación final"
 
 msgid "New EPermission"
-msgstr "Nueva autorización"
+msgstr "Agregar autorización"
 
 msgid "New EProperty"
-msgstr "Nueva Propiedad"
+msgstr "Agregar Propiedad"
 
 msgid "New ERType"
-msgstr "Nuevo tipo de relación"
+msgstr "Agregar tipo de relación"
 
 msgid "New EUser"
-msgstr "Nuevo usuario"
+msgstr "Agregar usuario"
 
 msgid "New EmailAddress"
-msgstr "Nuevo Email"
+msgstr "Agregar Email"
 
 msgid "New RQLExpression"
-msgstr "Nueva expresión rql"
+msgstr "Agregar expresión rql"
 
 msgid "New State"
-msgstr "Nuevo Estado"
+msgstr "Agregar Estado"
 
 msgid "New TrInfo"
-msgstr "Nueva Información de Transición"
+msgstr "Agregar Información de Transición"
 
 msgid "New Transition"
-msgstr "Nueva transición"
+msgstr "Agregar transición"
 
 msgid "No query has been executed"
 msgstr "Ninguna búsqueda ha sido ejecutada"
@@ -422,7 +422,7 @@
 msgstr "Relaciones"
 
 msgid "Request"
-msgstr "Búsqueda"
+msgstr "Petición"
 
 #, python-format
 msgid "Schema %s"
@@ -435,7 +435,7 @@
 msgstr "Servidor"
 
 msgid "Startup views"
-msgstr "Vistas de inicio"
+msgstr "Vistas de Inicio"
 
 msgid "State"
 msgstr "Estado"
@@ -444,10 +444,10 @@
 msgstr "Estados"
 
 msgid "String"
-msgstr "Cadena de caractéres"
+msgstr "Cadena de caracteres"
 
 msgid "String_plural"
-msgstr "Cadenas de caractéres"
+msgstr "Cadenas de caracteres"
 
 msgid "Subject: "
 msgstr "Objeto : "
@@ -474,19 +474,19 @@
 msgstr "Este %s"
 
 msgid "This Bookmark"
-msgstr "Este atajo"
+msgstr "Este favorito"
 
 msgid "This Card"
 msgstr "Esta Ficha"
 
 msgid "This ECache"
-msgstr "Esta Memoria Cache"
+msgstr "Este Cache"
 
 msgid "This EConstraint"
-msgstr "Esta condición"
+msgstr "Esta Restricción"
 
 msgid "This EConstraintType"
-msgstr "Este tipo de condición"
+msgstr "Este tipo de Restricción"
 
 msgid "This EEType"
 msgstr "Este tipo de Entidad"
@@ -553,10 +553,10 @@
 msgstr "Utilizado por :"
 
 msgid "What's new?"
-msgstr "Ultimas Noticias"
+msgstr "Lo último en el sitio"
 
 msgid "Workflow history"
-msgstr "Registro de cambios de estado"
+msgstr "Histórico del Workflow"
 
 msgid "You are not connected to an application !"
 msgstr "Usted no esta conectado a una aplicación"
@@ -571,7 +571,7 @@
 "box, or edit file content online with the widget below."
 msgstr ""
 "Usted puede proponer un nuevo archivo utilizando el botón\n"
-"\"buscar\" aqui arriba, o eliminar el archivo ya elegido al\n"
+"\"buscar\" aquí arriba, o eliminar el archivo ya elegido al\n"
 "seleccionar el cuadro \"soltar archivo adjunto\", o editar el contenido\n"
 "del archivo en línea con el componente inferior."
 
@@ -585,7 +585,7 @@
 
 msgid "You can use any of the following substitutions in your text"
 msgstr ""
-"Puede realizar cualquiera de las siguietes sustituciones en el contenido de "
+"Puede realizar cualquiera de las siguientes sustituciones en el contenido de "
 "su email."
 
 msgid "You have no access to this view or it's not applyable to current data"
@@ -595,8 +595,8 @@
 "You're not authorized to access this page. If you think you should, please "
 "contact the site administrator."
 msgstr ""
-"Usted no esta autorizado a acceder a esta página. Si Usted cree aue \n"
-"es un error, favor de contactar al administrador del sitio."
+"Usted no esta autorizado a acceder a esta página. Si Usted cree que \n"
+"hay un error, favor de contactar al administrador del sitio."
 
 #, python-format
 msgid "[%s supervision] changes summary"
@@ -610,16 +610,16 @@
 "be available. This query may use X and U variables that will respectivly "
 "represents the current entity and the current user"
 msgstr ""
-"una expresión RQL deviendo regresado resultado para que la transición pueda "
+"una expresión RQL que debe haber enviado resultados, para que la transición pueda "
 "ser realizada. Esta expresión puede utilizar las variables X y U que "
-"representan respectivamente la entidad en transición y el usuarioactual. "
+"representan respectivamente la entidad en transición y el usuario actual. "
 
 msgid ""
 "a card is a textual content used as documentation, reference, procedure "
 "reminder"
 msgstr ""
 "una ficha es un texto utilizado como documentación, referencia, memoria de "
-"procedimiento..."
+"algún procedimiento..."
 
 msgid ""
 "a simple cache entity characterized by a name and a validity date. The "
@@ -627,12 +627,16 @@
 "invalidate the cache (typically in hooks). Also, checkout the AppRsetObject."
 "get_cache() method."
 msgstr ""
+"una entidad cache simple caracterizada por un nombre y una fecha correcta. "
+"El sistema objetivo es responsable de actualizar timestamp cuand se necesario "
+"para invalidar el cache (usualmente en hooks).Recomendamos revisar el METODO "
+" AppRsetObject.get_cache()."
 
 msgid "about this site"
-msgstr "Sobre este espacio"
+msgstr "Sobre este Espacio"
 
 msgid "access type"
-msgstr "tipo de acceso"
+msgstr "Tipo de Acceso"
 
 msgid "account state"
 msgstr "Estado de la Cuenta"
@@ -650,55 +654,55 @@
 msgstr ""
 
 msgid "actions_cancel"
-msgstr "Anular la selección"
+msgstr "Anular"
 
 msgid "actions_cancel_description"
 msgstr ""
 
 msgid "actions_copy"
-msgstr "copiar"
+msgstr "Copiar"
 
 msgid "actions_copy_description"
 msgstr ""
 
 msgid "actions_delete"
-msgstr "eliminar"
+msgstr "Eliminar"
 
 msgid "actions_delete_description"
 msgstr ""
 
 msgid "actions_download_as_owl"
-msgstr ""
+msgstr "Download como OWL"
 
 msgid "actions_download_as_owl_description"
 msgstr ""
 
 msgid "actions_edit"
-msgstr "modificar"
+msgstr "Modificar"
 
 msgid "actions_edit_description"
 msgstr ""
 
 msgid "actions_embed"
-msgstr "embarcar"
+msgstr "Embarcar"
 
 msgid "actions_embed_description"
 msgstr ""
 
 msgid "actions_follow"
-msgstr "seguir"
+msgstr "Seguir"
 
 msgid "actions_follow_description"
 msgstr ""
 
 msgid "actions_logout"
-msgstr "desconectarse"
+msgstr "Desconectarse"
 
 msgid "actions_logout_description"
 msgstr ""
 
 msgid "actions_manage"
-msgstr "administración del sitio"
+msgstr "Administración del sitio"
 
 msgid "actions_manage_description"
 msgstr ""
@@ -710,76 +714,76 @@
 msgstr ""
 
 msgid "actions_myinfos"
-msgstr "información personal"
+msgstr "Información personal"
 
 msgid "actions_myinfos_description"
 msgstr ""
 
 msgid "actions_myprefs"
-msgstr "preferencias del usuario"
+msgstr "Preferencias del usuario"
 
 msgid "actions_myprefs_description"
 msgstr ""
 
 msgid "actions_prefs"
-msgstr "preferencias"
+msgstr "Preferencias"
 
 msgid "actions_prefs_description"
 msgstr ""
 
 msgid "actions_schema"
-msgstr "ver el esquema"
+msgstr "Ver el esquema"
 
 msgid "actions_schema_description"
 msgstr ""
 
 msgid "actions_select"
-msgstr "seleccionar"
+msgstr "Seleccionar"
 
 msgid "actions_select_description"
 msgstr ""
 
 msgid "actions_sendemail"
-msgstr "enviar un email"
+msgstr "Enviar un email"
 
 msgid "actions_sendemail_description"
 msgstr ""
 
 msgid "actions_siteconfig"
-msgstr "configuración del sitio"
+msgstr "Configuración del sitio"
 
 msgid "actions_siteconfig_description"
 msgstr ""
 
 msgid "actions_view"
-msgstr "ver"
+msgstr "Ver"
 
 msgid "actions_view_description"
 msgstr ""
 
 msgid "actions_workflow"
-msgstr "ver el workflow"
+msgstr "Ver el workflow"
 
 msgid "actions_workflow_description"
 msgstr ""
 
 msgid "activate"
-msgstr "activar"
+msgstr "Activar"
 
 msgid "activated"
-msgstr "activado"
+msgstr "Activado"
 
 msgid "add"
-msgstr "agregar"
+msgstr "Agregar"
 
 msgid "add Bookmark bookmarked_by EUser object"
-msgstr ""
+msgstr "Agregar a los favoritos "
 
 msgid "add EEType add_permission RQLExpression subject"
-msgstr "Definir una expresión RQL de agregación"
+msgstr "Agregar una autorización"
 
 msgid "add EEType delete_permission RQLExpression subject"
-msgstr "Definir una expresión RQL de eliminación"
+msgstr "Eliminar una autorización"
 
 msgid "add EEType read_permission RQLExpression subject"
 msgstr "Definir una expresión RQL de lectura"
@@ -788,137 +792,137 @@
 msgstr "Definir una expresión RQL de actualización"
 
 msgid "add EFRDef constrained_by EConstraint subject"
-msgstr "condición"
+msgstr "Restricción"
 
 msgid "add EFRDef relation_type ERType object"
-msgstr "definición de atributo"
+msgstr "Definición de atributo"
 
 msgid "add ENFRDef constrained_by EConstraint subject"
-msgstr "condición"
+msgstr "Restricción"
 
 msgid "add ENFRDef relation_type ERType object"
-msgstr "definición de relación"
+msgstr "Definición de relación"
 
 msgid "add EProperty for_user EUser object"
-msgstr "propiedad"
+msgstr "Agregar Propiedad"
 
 msgid "add ERType add_permission RQLExpression subject"
-msgstr "expresión RQL de agregación"
+msgstr "Agregar expresión RQL de agregación"
 
 msgid "add ERType delete_permission RQLExpression subject"
-msgstr "expresión RQL de eliminación"
+msgstr "Agregar expresión RQL de eliminación"
 
 msgid "add ERType read_permission RQLExpression subject"
-msgstr "expresión RQL de lectura"
+msgstr "Agregar expresión RQL de lectura"
 
 msgid "add EUser in_group EGroup object"
-msgstr "usuario"
+msgstr "Agregar usuario"
 
 msgid "add EUser use_email EmailAddress subject"
-msgstr "agregar email"
+msgstr "Agregar email"
 
 msgid "add State allowed_transition Transition object"
-msgstr "agregar un estado en entrada"
+msgstr "Agregar un estado en entrada"
 
 msgid "add State allowed_transition Transition subject"
-msgstr "agregar una transición en salida"
+msgstr "Agregar una transición en salida"
 
 msgid "add State state_of EEType object"
-msgstr "agregar un estado"
+msgstr "Agregar un estado"
 
 msgid "add Transition condition RQLExpression subject"
-msgstr "agregar una condición"
+msgstr "Agregar una Restricción"
 
 msgid "add Transition destination_state State object"
-msgstr "agregar una transición de entrada"
+msgstr "Agregar una transición de entrada"
 
 msgid "add Transition destination_state State subject"
-msgstr "agregar el estado de salida"
+msgstr "Agregar el estado de salida"
 
 msgid "add Transition transition_of EEType object"
-msgstr "agregar una transición"
+msgstr "Agregar una transición"
 
 msgid "add a Bookmark"
-msgstr "agregar un atajo"
+msgstr "Agregar un Favorito"
 
 msgid "add a Card"
-msgstr "agregar una ficha"
+msgstr "Agregar una ficha"
 
 msgid "add a ECache"
-msgstr "agregar una memoria cache"
+msgstr "Agregar un cache"
 
 msgid "add a EConstraint"
-msgstr "agregar una condición"
+msgstr "Agregar una Restricción"
 
 msgid "add a EConstraintType"
-msgstr "aun tipo de condición"
+msgstr "Agregar un tipo de Restricción"
 
 msgid "add a EEType"
-msgstr "agregar un tipo de entidad"
+msgstr "Agregar un tipo de entidad"
 
 msgid "add a EFRDef"
-msgstr "agregar un tipo de relación"
+msgstr "Agregar un tipo de relación"
 
 msgid "add a EGroup"
-msgstr "agregar un grupo de usuarios"
+msgstr "Agregar un grupo de usuarios"
 
 msgid "add a ENFRDef"
-msgstr "agregar una relación"
+msgstr "Agregar una relación"
 
 msgid "add a EPermission"
-msgstr "agregar una autorización"
+msgstr "Agregar una autorización"
 
 msgid "add a EProperty"
-msgstr "agregar una propiedad"
+msgstr "Agregar una propiedad"
 
 msgid "add a ERType"
-msgstr "agregar un tipo de relación"
+msgstr "Agregar un tipo de relación"
 
 msgid "add a EUser"
-msgstr "agregar un usuario"
+msgstr "Agregar un usuario"
 
 msgid "add a EmailAddress"
-msgstr "agregar un email"
+msgstr "Agregar un email"
 
 msgid "add a RQLExpression"
-msgstr "agregar una expresión rql"
+msgstr "Agregar una expresión rql"
 
 msgid "add a State"
-msgstr "agregar un estado"
+msgstr "Agregar un estado"
 
 msgid "add a TrInfo"
-msgstr "agregar una información de transición"
+msgstr "Agregar una información de transición"
 
 msgid "add a Transition"
-msgstr "agregar una transición"
+msgstr "Agregar una transición"
 
 msgid "add a new permission"
-msgstr "agregar una autorización"
+msgstr "Agregar una autorización"
 
 msgid "add relation"
-msgstr "agregar una relación"
+msgstr "Agregar una relación"
 
 msgid "add_perm"
-msgstr "agregado"
+msgstr "Agregado"
 
 # subject and object forms for each relation type
 # (no object form for final relation types)
 msgid "add_permission"
-msgstr "autorización para agregar"
+msgstr "Autorización para agregar"
 
 msgid "add_permission_object"
 msgstr "tiene la autorización para agregar"
 
 #, python-format
 msgid "added %(etype)s #%(eid)s (%(title)s)"
-msgstr "agregado de la entidad %(etype)s #%(eid)s (%(title)s)"
+msgstr "Agregado %(etype)s #%(eid)s (%(title)s)"
 
 #, python-format
 msgid ""
 "added relation %(rtype)s from %(frometype)s #%(fromeid)s to %(toetype)s #%"
 "(toeid)s"
 msgstr ""
-"agregado de la relación %(rtype)s de %(frometype)s #%(fromeid)s hacia %"
+"Relación agregada %(rtype)s de %(frometype)s #%(fromeid)s hacia %"
 "(toetype)s #%(toeid)s"
 
 msgid "address"
@@ -958,7 +962,7 @@
 msgstr "una dirección electrónica asociada a este alias"
 
 msgid "an error occured"
-msgstr "a ocurrido un error"
+msgstr "ha ocurrido un error"
 
 msgid "an error occured while processing your request"
 msgstr "un error ocurrió al procesar su demanda"
@@ -973,16 +977,16 @@
 msgstr "y/o entre los diferentes valores"
 
 msgid "anonymous"
-msgstr "anónimo"
+msgstr "Anónimo"
 
 msgid "application entities"
-msgstr "entidades de la aplicación"
+msgstr "Entidades de la aplicación"
 
 msgid "application schema"
-msgstr "esquema de la aplicación"
+msgstr "Esquema de la aplicación"
 
 msgid "april"
-msgstr "abril"
+msgstr "Abril"
 
 #, python-format
 msgid "at least one relation %(rtype)s is required on %(etype)s (%(eid)s)"
@@ -991,117 +995,117 @@
 "otra via la relación %(rtype)s"
 
 msgid "attribute"
-msgstr "atributo"
+msgstr "Atributo"
 
 msgid "august"
-msgstr "agosto"
+msgstr "Agosto"
 
 msgid "authentication failure"
 msgstr "Usuario o contraseña incorrecta"
 
 msgid "automatic"
-msgstr "automático"
+msgstr "Automático"
 
 msgid "bad value"
-msgstr "valor erróneo"
+msgstr "Valor erróneo"
 
 msgid "base url"
-msgstr "url de base"
+msgstr "Url de base"
 
 msgid "bookmark has been removed"
-msgstr "el atajo ha sido eliminado"
+msgstr "ha sido eliminado de sus favoritos"
 
 msgid "bookmark this page"
-msgstr "Agregue un atajo a esta página"
+msgstr "Agregar esta página a sus favoritos"
 
 msgid "bookmark this search"
-msgstr "Guarde esta búsqueda"
+msgstr "Guardar esta búsqueda"
 
 msgid "bookmarked_by"
-msgstr "utilizada por"
+msgstr "está en los favoritos de"
 
 msgid "bookmarked_by_object"
-msgstr "tiene como atajo"
+msgstr "selecciona en sus favoritos a"
 
 msgid "bookmarks"
-msgstr "atajos"
+msgstr "Favoritos"
 
 msgid "boxes"
-msgstr "cajas"
+msgstr "Cajas"
 
 msgid "boxes_bookmarks_box"
-msgstr "caja de atajos"
+msgstr "Caja de Favoritos"
 
 msgid "boxes_bookmarks_box_description"
-msgstr "Caja que contiene los atajos del usuario"
+msgstr "Caja que contiene los espacios favoritos del usuario"
 
 msgid "boxes_download_box"
-msgstr ""
+msgstr "Caja de download"
 
 msgid "boxes_download_box_description"
-msgstr ""
+msgstr "Caja que contiene los elementos bajados"
 
 msgid "boxes_edit_box"
-msgstr "caja de acciones"
+msgstr "Caja de acciones"
 
 msgid "boxes_edit_box_description"
 msgstr ""
-"caja aue muestra las diferentes acciones posibles sobre los datos presentes"
+"Caja que muestra las diferentes acciones posibles sobre los datos presentes"
 
 msgid "boxes_filter_box"
-msgstr "filtrar"
+msgstr "Filtros"
 
 msgid "boxes_filter_box_description"
 msgstr ""
-"caja permitiendo de realizar filtros sobre los resultados de una búsqueda"
+"Caja que permite realizar filtros sobre los resultados de una búsqueda"
 
 msgid "boxes_possible_views_box"
-msgstr "caja de vistas posibles"
+msgstr "Caja de Vistas Posibles"
 
 msgid "boxes_possible_views_box_description"
-msgstr "caja mostrando las vistas posibles para los datos actuales"
+msgstr "Caja mostrando las vistas posibles para los datos actuales"
 
 msgid "boxes_rss"
 msgstr "ícono RSS"
 
 msgid "boxes_rss_description"
-msgstr "el ícono RSS permite recuperar las vistas RSS de los datos presentes"
+msgstr "El ícono RSS permite recuperar las vistas RSS de los datos presentes"
 
 msgid "boxes_search_box"
-msgstr "caja de búsqueda"
+msgstr "Caja de búsqueda"
 
 msgid "boxes_search_box_description"
-msgstr "caja con un espacio de búsqueda simple"
+msgstr "Caja con un espacio de búsqueda simple"
 
 msgid "boxes_startup_views_box"
-msgstr "caja de las vistas de inicio"
+msgstr "Caja Vistas de inicio"
 
 msgid "boxes_startup_views_box_description"
-msgstr "caja mostrando las vistas de inicio de la aplicación"
+msgstr "Caja mostrando las vistas de inicio de la aplicación"
 
 msgid "bug report sent"
-msgstr "reporte de error enviado"
+msgstr "Reporte de error enviado"
 
 msgid "button_apply"
-msgstr "aplicar"
+msgstr "Aplicar"
 
 msgid "button_cancel"
-msgstr "anular"
+msgstr "Cancelar"
 
 msgid "button_delete"
-msgstr "eliminar"
+msgstr "Eliminar"
 
 msgid "button_ok"
-msgstr "validar"
+msgstr "Validar"
 
 msgid "button_reset"
-msgstr "anular los cambios"
+msgstr "Cancelar los cambios"
 
 msgid "by"
 msgstr "por"
 
 msgid "by relation"
-msgstr "por la relación"
+msgstr "por relación"
 
 msgid "calendar"
 msgstr "mostrar un calendario"
@@ -1139,10 +1143,10 @@
 "cardinalidad %(card)s"
 
 msgid "cancel select"
-msgstr "anular la selección"
+msgstr "Cancelar la selección"
 
 msgid "cancel this insert"
-msgstr "anular esta inserción"
+msgstr "Cancelar esta inserción"
 
 msgid "canonical"
 msgstr "canónico"
@@ -1152,91 +1156,91 @@
 
 #, python-format
 msgid "changed state of %(etype)s #%(eid)s (%(title)s)"
-msgstr "cambiar del estado de %(etype)s #%(eid)s (%(title)s)"
+msgstr "Cambiar del estado de %(etype)s #%(eid)s (%(title)s)"
 
 msgid "changes applied"
-msgstr "cambios realizados"
+msgstr "Cambios realizados"
 
 msgid "click on the box to cancel the deletion"
-msgstr "seleccione la zona de edición para anular la eliminación"
+msgstr "Seleccione la zona de edición para cancelar la eliminación"
 
 msgid "comment"
-msgstr "comentario"
+msgstr "Comentario"
 
 msgid "comment:"
-msgstr "comentario :"
+msgstr "Comentario:"
 
 msgid "comment_format"
-msgstr "formato"
+msgstr "Formato"
 
 msgid "components"
-msgstr "componentes"
+msgstr "Componentes"
 
 msgid "components_appliname"
-msgstr "título de la aplicación"
+msgstr "Título de la aplicación"
 
 msgid "components_appliname_description"
-msgstr "muestra el título de la aplicación en el encabezado de la página"
+msgstr "Muestra el título de la aplicación en el encabezado de la página"
 
 msgid "components_applmessages"
-msgstr "mensajes de la aplicación"
+msgstr "Mensajes de la aplicación"
 
 msgid "components_applmessages_description"
-msgstr "muestra los mensajes de la aplicación"
+msgstr "Muestra los mensajes de la aplicación"
 
 msgid "components_breadcrumbs"
-msgstr "hilo de Ariadna"
+msgstr "Ruta de Navegación"
 
 msgid "components_breadcrumbs_description"
 msgstr ""
-"muestra un camino que permite identificar el lugar donde se encuentra la "
+"Muestra un camino que permite identificar el lugar donde se encuentra la "
 "página en el sitio"
 
 msgid "components_etypenavigation"
-msgstr "filtro por tipo"
+msgstr "Filtro por tipo"
 
 msgid "components_etypenavigation_description"
-msgstr "permite filtrar por tipo de entidad los resultados de búsqueda"
+msgstr "Permite filtrar por tipo de entidad los resultados de búsqueda"
 
 msgid "components_help"
-msgstr "botón de ayuda"
+msgstr "Botón de ayuda"
 
 msgid "components_help_description"
-msgstr "el botón de ayuda, en el encabezado de página"
+msgstr "El botón de ayuda, en el encabezado de página"
 
 msgid "components_loggeduserlink"
-msgstr "liga usuario"
+msgstr "Liga usuario"
 
 msgid "components_loggeduserlink_description"
 msgstr ""
-"muestra un enlace hacia el formulario de conexión para los usuarios "
+"Muestra un enlace hacia el formulario de conexión para los usuarios "
 "anónimos, o una caja que contiene las ligas propias a el usuarioconectado. "
 
 msgid "components_logo"
-msgstr "logo"
+msgstr "Logo"
 
 msgid "components_logo_description"
-msgstr "el logo de la aplicación, en el encabezado de página"
+msgstr "El logo de la aplicación, en el encabezado de página"
 
 msgid "components_navigation"
-msgstr "navigación por página"
+msgstr "Navigación por página"
 
 msgid "components_navigation_description"
 msgstr ""
-"componente aue permite distribuir sobre varias páginas las búsquedas que "
-"arrojan mayores resultados a un número previamente elegido"
+"Componente que permite distribuir sobre varias páginas las búsquedas que "
+"arrojan mayores resultados que un número previamente elegido"
 
 msgid "components_rqlinput"
-msgstr "barra rql"
+msgstr "Barra rql"
 
 msgid "components_rqlinput_description"
-msgstr "la barre de demanda rql, en el encabezado de página"
+msgstr "La barra de demanda rql, en el encabezado de página"
 
 msgid "components_rss_feed_url"
-msgstr ""
+msgstr "RSS FEED URL"
 
 msgid "components_rss_feed_url_description"
-msgstr ""
+msgstr "El espacio para administrar RSS"
 
 msgid "composite"
 msgstr "composite"
@@ -1245,82 +1249,82 @@
 msgstr "condición"
 
 msgid "condition:"
-msgstr "condición :"
+msgstr "condición:"
 
 msgid "condition_object"
 msgstr "condición de"
 
 msgid "confirm password"
-msgstr "confirmar contraseña"
+msgstr "Confirmar contraseña"
 
 msgid "constrained_by"
-msgstr "condicionado por"
+msgstr "Restricción hecha por"
 
 msgid "constrained_by_object"
-msgstr "condición de"
+msgstr "ha restringido"
 
 msgid "constraint factory"
-msgstr "fabrica de condiciones"
+msgstr "FAbrica de restricciones"
 
 msgid "constraints"
-msgstr "condiciones"
+msgstr "Restricciones"
 
 msgid "constraints applying on this relation"
-msgstr "condiciones que se aplican a esta relación"
+msgstr "Restricciones que se aplican a esta relación"
 
 msgid "content"
-msgstr "contenido"
+msgstr "Contenido"
 
 msgid "content_format"
-msgstr "formato"
+msgstr "Formato"
 
 msgid "contentnavigation"
-msgstr "composantes contextuales"
+msgstr "Componentes contextuales"
 
 msgid "contentnavigation_breadcrumbs"
-msgstr "hilo de Ariadna"
+msgstr "Ruta de Navegación"
 
 msgid "contentnavigation_breadcrumbs_description"
-msgstr "muestra un camino que permite localizar la página actual en el sitio"
+msgstr "Muestra un camino que permite localizar la página actual en el sitio"
 
 msgid "contentnavigation_prevnext"
 msgstr "Elemento anterior / siguiente"
 
 msgid "contentnavigation_prevnext_description"
 msgstr ""
-"muestra las ligas que permiten pasar de una entidad a otra en lasentidades "
+"Muestra las ligas que permiten pasar de una entidad a otra en lasentidades "
 "que implementan la interface \"anterior/siguiente\"."
 
 msgid "contentnavigation_seealso"
-msgstr "vea también"
+msgstr "Vea también"
 
 msgid "contentnavigation_seealso_description"
 msgstr ""
-"sección aue muestra las entidades ligadas por la relación \"vea también\" , "
+"sección que muestra las entidades ligadas por la relación \"vea también\" , "
 "si la entidad soporta esta relación."
 
 msgid "contentnavigation_wfhistory"
-msgstr "histórico del workflow."
+msgstr "Histórico del workflow."
 
 msgid "contentnavigation_wfhistory_description"
 msgstr ""
-"sección que ofrece el reporte histórico del workflow para las entidades que "
+"Sección que ofrece el reporte histórico del workflow para las entidades que "
 "posean un workflow."
 
 msgid "context"
-msgstr "contexto"
+msgstr "Contexto"
 
 msgid "context where this box should be displayed"
-msgstr "contexto en el cual la caja debe aparecer en el sistema"
+msgstr "Contexto en el cual la caja debe aparecer en el sistema"
 
 msgid "context where this component should be displayed"
-msgstr "contexto en el cual el componente debe aparecer en el sistema"
+msgstr "Contexto en el cual el componente debe aparecer en el sistema"
 
 msgid "control subject entity's relations order"
-msgstr "controla el orden de relaciones de la entidad sujeto"
+msgstr "Controla el orden de relaciones de la entidad sujeto"
 
 msgid "copy"
-msgstr "copiar"
+msgstr "Copiar"
 
 msgid "copy edition"
 msgstr "Edición de una copia"
@@ -1329,66 +1333,66 @@
 "core relation giving to a group the permission to add an entity or relation "
 "type"
 msgstr ""
-"relación sistema que otorga a un grupo la autorización de agregar unaentidad "
+"Relación sistema que otorga a un grupo la autorización de agregar una entidad "
 "o una relación"
 
 msgid ""
 "core relation giving to a group the permission to delete an entity or "
 "relation type"
 msgstr ""
-"relación sistema que otorga a un grupo la autorización de eliminar una "
+"Relación sistema que otorga a un grupo la autorización de eliminar una "
 "entidad o relación"
 
 msgid ""
 "core relation giving to a group the permission to read an entity or relation "
 "type"
 msgstr ""
-"relación sistema que otorga a un grupo la autorización de leer una entidad o "
+"Relación sistema que otorga a un grupo la autorización de leer una entidad o "
 "una relación "
 
 msgid "core relation giving to a group the permission to update an entity type"
 msgstr ""
-"relación sistema que otorga a un grupo la autorización de actualizar una "
+"Relación sistema que otorga a un grupo la autorización de actualizar una "
 "entidad"
 
 msgid "core relation indicating a user's groups"
 msgstr ""
-"relación sistema que indica los grupos a los cuales pertenece un usuario"
+"Relación sistema que indica los grupos a los cuales pertenece un usuario"
 
 msgid ""
 "core relation indicating owners of an entity. This relation implicitly put "
 "the owner into the owners group for the entity"
 msgstr ""
-"relación sistema que indica el(los) propietario(s) de una entidad. Esta "
+"Relación sistema que indica el(los) propietario(s) de una entidad. Esta "
 "relación pone de manera implícita al propietario en el grupo de propietarios "
-"por una entidad"
+"de una entidad"
 
 msgid "core relation indicating the original creator of an entity"
-msgstr "relación sistema que indica el creador de una entidad."
+msgstr "Relación sistema que indica el creador de una entidad."
 
 msgid "core relation indicating the type of an entity"
-msgstr "relación sistema que indica el tipo de entidad"
+msgstr "Relación sistema que indica el tipo de entidad"
 
 msgid ""
 "core relation indicating the types (including specialized types) of an entity"
 msgstr ""
-"relación sistema indicando los tipos (incluídos los tipos padres) de una "
+"Relación sistema indicando los tipos (incluídos los tipos padres) de una "
 "entidad"
 
 msgid "cost"
-msgstr "costo"
+msgstr "Costo"
 
 msgid "could not connect to the SMTP server"
-msgstr "imposible de conectarse al servidor SMTP"
+msgstr "Imposible de conectarse al servidor SMTP"
 
 msgid "create an index for quick search on this attribute"
-msgstr "crear un índice para accelerar las búsquedas sobre este atributo"
+msgstr "Crear un índice para accelerar las búsquedas sobre este atributo"
 
 msgid "create an index page"
-msgstr "crear una página de inicio"
+msgstr "Crear una página de inicio"
 
 msgid "created on"
-msgstr "creado el"
+msgstr "Creado el"
 
 msgid "created_by"
 msgstr "creado por"
@@ -1397,50 +1401,51 @@
 msgstr "ha creado"
 
 msgid "creating Bookmark (Bookmark bookmarked_by EUser %(linkto)s)"
-msgstr ""
+msgstr "Creando Favorito"
 
 msgid "creating EConstraint (EFRDef %(linkto)s constrained_by EConstraint)"
-msgstr "creación condicionada por el atributo %(linkto)s"
+msgstr "Creación condicionada por el atributo %(linkto)s"
 
 msgid "creating EConstraint (ENFRDef %(linkto)s constrained_by EConstraint)"
-msgstr "creación condicionada por la relación %(linkto)s"
+msgstr "Creación condicionada por la relación %(linkto)s"
 
 msgid "creating EFRDef (EFRDef relation_type ERType %(linkto)s)"
-msgstr "creación atributo %(linkto)s"
+msgstr "Creación del atributo %(linkto)s"
 
 msgid "creating ENFRDef (ENFRDef relation_type ERType %(linkto)s)"
-msgstr "creación relación %(linkto)s"
+msgstr "Creación de la relación %(linkto)s"
 
 msgid "creating EProperty (EProperty for_user EUser %(linkto)s)"
-msgstr "creación de una propiedad por el usuario %(linkto)s"
+msgstr "Creación de una propiedad por el usuario %(linkto)s"
 
 msgid "creating EUser (EUser in_group EGroup %(linkto)s)"
-msgstr "creación de un usuario para agregar al grupo %(linkto)s"
+msgstr "Creación de un usuario para agregar al grupo %(linkto)s"
 
 msgid "creating EmailAddress (EUser %(linkto)s use_email EmailAddress)"
-msgstr "creación de una dirección electrónica para el usuario %(linkto)s"
+msgstr "Creación de una dirección electrónica para el usuario %(linkto)s"
 
 msgid "creating RQLExpression (EEType %(linkto)s add_permission RQLExpression)"
 msgstr ""
-"creación de una expresión RQL para la autorización de agregar %(linkto)s"
+"Creación de una expresión RQL para la autorización de agregar %(linkto)s"
 
 msgid ""
 "creating RQLExpression (EEType %(linkto)s delete_permission RQLExpression)"
 msgstr ""
-"creación de una expresión RQL para la autorización de eliminar %(linkto)s"
+"Creación de una expresión RQL para la autorización de eliminar %(linkto)s"
 
 msgid ""
 "creating RQLExpression (EEType %(linkto)s read_permission RQLExpression)"
-msgstr "creación de una expresión RQL para la autorización de leer %(linkto)s"
+msgstr "" 
+"Creación de una expresión RQL para la autorización de leer %(linkto)s"
 
 msgid ""
 "creating RQLExpression (EEType %(linkto)s update_permission RQLExpression)"
 msgstr ""
-"creación de una expresión RQL para la autorización de actualizar %(linkto)s"
+"Creación de una expresión RQL para autorizar actualizar %(linkto)s"
 
 msgid "creating RQLExpression (ERType %(linkto)s add_permission RQLExpression)"
 msgstr ""
-"creación de una expresión RQL para la autorización de agregar relaciones %"
+"Creación de una expresión RQL para la autorización de agregar relaciones %"
 "(linkto)s"
 
 msgid ""
@@ -1452,90 +1457,90 @@
 msgid ""
 "creating RQLExpression (ERType %(linkto)s read_permission RQLExpression)"
 msgstr ""
-"creación de una expresión RQL para autorizar la lectura de relaciones %"
+"Creación de una expresión RQL para autorizar la lectura de relaciones %"
 "(linkto)s"
 
 msgid "creating RQLExpression (Transition %(linkto)s condition RQLExpression)"
-msgstr "creación de una expresión RQL para la transición %(linkto)s"
+msgstr "Creación de una expresión RQL para la transición %(linkto)s"
 
 msgid "creating State (State allowed_transition Transition %(linkto)s)"
-msgstr "creación de un estado que pueda ir hacia la transición %(linkto)s"
+msgstr "Creación de un estado que pueda ir hacia la transición %(linkto)s"
 
 msgid "creating State (State state_of EEType %(linkto)s)"
-msgstr "creación de un estado por el tipo %(linkto)s"
+msgstr "Creación de un estado por el tipo %(linkto)s"
 
 msgid "creating State (Transition %(linkto)s destination_state State)"
-msgstr "creación de un estado destinación de la transición %(linkto)s"
+msgstr "Creación de un estado destinación de la transición %(linkto)s"
 
 msgid "creating Transition (State %(linkto)s allowed_transition Transition)"
-msgstr "creación de una transición autorizada desde el estado %(linkto)s"
+msgstr "Creación de una transición autorizada desde el estado %(linkto)s"
 
 msgid "creating Transition (Transition destination_state State %(linkto)s)"
-msgstr "creación de un transición hacia el estado %(linkto)s"
+msgstr "Creación de un transición hacia el estado %(linkto)s"
 
 msgid "creating Transition (Transition transition_of EEType %(linkto)s)"
-msgstr "creación de una transición para el tipo %(linkto)s"
+msgstr "Creación de una transición para el tipo %(linkto)s"
 
 msgid "creation"
-msgstr "creación"
+msgstr "Creación"
 
 msgid "creation time of an entity"
-msgstr "fecha de creación de una entidad"
+msgstr "Fecha de creación de una entidad"
 
 msgid "creation_date"
 msgstr "fecha de creación"
 
 msgid "cstrtype"
-msgstr "tipo de condición"
+msgstr "Tipo de condición"
 
 msgid "cstrtype_object"
 msgstr "utilizado por"
 
 msgid "csv entities export"
-msgstr "exportar entidades en csv"
+msgstr "Exportar entidades en csv"
 
 msgid "csv export"
-msgstr "exportar CSV"
+msgstr "Exportar CSV"
 
 #, python-format
 msgid "currently attached file: %s"
 msgstr ""
 
 msgid "data directory url"
-msgstr "url del repertorio de datos"
+msgstr "Url del repertorio de datos"
 
 msgid "date"
-msgstr "fecha"
+msgstr "Fecha"
 
 msgid "deactivate"
-msgstr "desactivar"
+msgstr "Desactivar"
 
 msgid "deactivated"
-msgstr "desactivado"
+msgstr "Desactivado"
 
 msgid "december"
-msgstr "diciembre"
+msgstr "Diciembre"
 
 msgid "default"
-msgstr "valor por default"
+msgstr "Valor por defecto"
 
 msgid "default text format for rich text fields."
-msgstr "formato de texto como opción por defecto para los campos texto"
+msgstr "Formato de texto como opción por defecto para los campos texto"
 
 msgid "defaultval"
-msgstr "valor por defecto"
+msgstr "Valor por defecto"
 
 msgid "define a CubicWeb user"
-msgstr "define un usuario CubicWeb"
+msgstr "Define un usuario CubicWeb"
 
 msgid "define a CubicWeb users group"
-msgstr "define un grupo de usuarios CubicWeb"
+msgstr "Define un grupo de usuarios CubicWeb"
 
 msgid ""
 "define a final relation: link a final relation type from a non final entity "
 "to a final entity type. used to build the application schema"
 msgstr ""
-"define una relación no final: liga un tipo de relación no final desde una "
+"Define una relación no final: liga un tipo de relación no final desde una "
 "entidad hacia un tipo de entidad no final. Utilizada para construir el "
 "esquema de la aplicación"
 
@@ -1543,76 +1548,76 @@
 "define a non final relation: link a non final relation type from a non final "
 "entity to a non final entity type. used to build the application schema"
 msgstr ""
-"define una relación 'atributo', utilizada para construir el esquema dela "
+"Define una relación 'atributo', utilizada para construir el esquema dela "
 "aplicación"
 
 msgid "define a relation type, used to build the application schema"
 msgstr ""
-"define un tipo de relación, utilizada para construir el esquema de la "
+"Define un tipo de relación, utilizada para construir el esquema de la "
 "aplicación"
 
 msgid "define a rql expression used to define permissions"
 msgstr "Expresión RQL utilizada para definir los derechos de acceso"
 
 msgid "define a schema constraint"
-msgstr "define una condición de esquema"
+msgstr "Define una condición de esquema"
 
 msgid "define a schema constraint type"
-msgstr "define un tipo de condición de esquema"
+msgstr "Define un tipo de condición de esquema"
 
 msgid "define an entity type, used to build the application schema"
 msgstr ""
-"define un tipo de entidad, utilizada para construir el esquema de la "
+"Define un tipo de entidad, utilizada para construir el esquema de la "
 "aplicación"
 
 msgid ""
 "defines what's the property is applied for. You must select this first to be "
 "able to set value"
 msgstr ""
-"define a que se aplica la propiedad . Usted debe seleccionar esto antes de "
+"Define a que se aplica la propiedad . Usted debe seleccionar esto antes de "
 "poder fijar un valor"
 
 msgid "delete"
-msgstr "eliminar"
+msgstr "Eliminar"
 
 msgid "delete this bookmark"
-msgstr "eliminar este atajo"
+msgstr "Eliminar este favorito"
 
 msgid "delete this permission"
-msgstr "eliminar esta autorización"
+msgstr "Eliminar esta autorización"
 
 msgid "delete this relation"
-msgstr "eliminar estar relación"
+msgstr "Eliminar esta relación"
 
 msgid "delete_perm"
-msgstr "eliminar"
+msgstr "Eliminar"
 
 msgid "delete_permission"
-msgstr "autorización de eliminar"
+msgstr "Autorización de eliminar"
 
 msgid "delete_permission_object"
 msgstr "posee la autorización de eliminar"
 
 #, python-format
 msgid "deleted %(etype)s #%(eid)s (%(title)s)"
-msgstr "eliminación de la entidad %(etype)s #%(eid)s (%(title)s)"
+msgstr "Eliminación de la entidad %(etype)s #%(eid)s (%(title)s)"
 
 #, python-format
 msgid ""
 "deleted relation %(rtype)s from %(frometype)s #%(fromeid)s to %(toetype)s #%"
 "(toeid)s"
 msgstr ""
-"eliminación de la relación %(rtype)s de %(frometype)s #%(fromeid)s hacia %"
+"Eliminación de la relación %(rtype)s de %(frometype)s #%(fromeid)s hacia %"
 "(toetype)s #%(toeid)s"
 
 msgid "depends on the constraint type"
-msgstr "depende del tipo de condición"
+msgstr "Depende del tipo de condición"
 
 msgid "description"
-msgstr "descripción"
+msgstr "Descripción"
 
 msgid "description_format"
-msgstr "formato"
+msgstr "Formato"
 
 msgid "destination state for this transition"
 msgstr "Estado destino para esta transición"
@@ -1624,334 +1629,334 @@
 msgstr "Estado destino"
 
 msgid "destination_state_object"
-msgstr "destino de"
+msgstr "Destino de"
 
 #, python-format
 msgid "detach attached file %s"
-msgstr ""
+msgstr "Quitar archivo adjunto %s"
 
 msgid "detailed schema view"
-msgstr "vista detallada del esquema"
+msgstr "Vista detallada del esquema"
 
 msgid "display order of the action"
-msgstr "orden de aparición de la acción"
+msgstr "Orden de aparición de la acción"
 
 msgid "display order of the box"
-msgstr "orden de aparición de la caja"
+msgstr "Orden de aparición de la caja"
 
 msgid "display order of the component"
-msgstr "orden de aparición del componente"
+msgstr "Orden de aparición del componente"
 
 msgid "display the action or not"
-msgstr "mostrar la acción o no"
+msgstr "Mostrar la acción o no"
 
 msgid "display the box or not"
-msgstr "mostrar la caja o no"
+msgstr "Mostrar la caja o no"
 
 msgid "display the component or not"
-msgstr "mostrar el componente o no"
+msgstr "Mostrar el componente o no"
 
 msgid ""
 "distinct label to distinguate between other permission entity of the same "
 "name"
 msgstr ""
-"etiqueta que permite distinguir esta autorización de otras que posean el "
+"Etiqueta que permite distinguir esta autorización de otras que posean el "
 "mismo nombre"
 
 msgid "download"
-msgstr "descargar"
+msgstr "Descargar"
 
 msgid "download icon"
 msgstr "ícono de descarga"
 
 msgid "download schema as owl"
-msgstr ""
+msgstr "Descargar esquema en OWL"
 
 msgid "edit bookmarks"
-msgstr "editar los atajos"
+msgstr "Editar favoritos"
 
 msgid "edit the index page"
-msgstr "editar la página de inicio"
+msgstr "Modificar la página de inicio"
 
 msgid "editable-table"
-msgstr "tabla modificable"
+msgstr "Tabla modificable"
 
 msgid "edition"
-msgstr "edición"
+msgstr "Edición"
 
 msgid "eid"
 msgstr "eid"
 
 msgid "element copied"
-msgstr "elemeto copiado"
+msgstr "Elemento copiado"
 
 msgid "element created"
-msgstr "elemento creado"
+msgstr "Elemento creado"
 
 msgid "element edited"
-msgstr "elemento editado"
+msgstr "Elemento editado"
 
 msgid "email address to use for notification"
-msgstr "dirección electrónica a utilizarse para notificar"
+msgstr "Dirección electrónica a utilizarse para notificar"
 
 msgid "emails successfully sent"
-msgstr "mensajes enviados con éxito"
+msgstr "Mensajes enviados con éxito"
 
 msgid "embed"
-msgstr "incrustrado"
+msgstr "Incrustrado"
 
 msgid "embedding this url is forbidden"
-msgstr "la inclusión de este url esta prohibida"
+msgstr "La inclusión de este url esta prohibida"
 
 msgid "entities deleted"
-msgstr "entidades eliminadas"
+msgstr "Entidades eliminadas"
 
 msgid "entity deleted"
-msgstr "entidad eliminada"
+msgstr "Entidad eliminada"
 
 msgid "entity type"
-msgstr "tipo de entidad"
+msgstr "Tipo de entidad"
 
 msgid ""
 "entity type that may be used to construct some advanced security "
 "configuration"
 msgstr ""
-"tipo de entidqd utilizada para definir una configuración de seguridad "
+"Tipo de entidad utilizada para definir una configuración de seguridad "
 "avanzada"
 
 msgid "entity types which may use this state"
-msgstr "tipo de entidades que pueden utilizar este estado"
+msgstr "Tipo de entidades que pueden utilizar este estado"
 
 msgid "entity types which may use this transition"
-msgstr "entidades que pueden utilizar esta transición"
+msgstr "Entidades que pueden utilizar esta transición"
 
 msgid "error while embedding page"
-msgstr "error durante la inclusión de la página"
+msgstr "Error durante la inclusión de la página"
 
 #, python-format
 msgid "error while handling __method: %s"
-msgstr "error ocurrido durante el tratamiento del formulario (%s)"
+msgstr "Error ocurrido durante el tratamiento del formulario (%s)"
 
 msgid "error while publishing ReST text"
 msgstr ""
-"se ha producido un error durante la interpretación del texto en formatoReST"
+"Se ha producido un error durante la interpretación del texto en formatoReST"
 
 #, python-format
 msgid "error while querying source %s, some data may be missing"
 msgstr ""
-"un error ha ocurrido al interrogar  %s, es posible que los \n"
+"Un error ha ocurrido al interrogar  %s, es posible que los \n"
 "datos visibles se encuentren incompletos"
 
 msgid "eta_date"
 msgstr "fecha de fin"
 
 msgid "expected:"
-msgstr "previsto :"
+msgstr "Previsto :"
 
 msgid "expression"
-msgstr "expresión"
+msgstr "Expresión"
 
 msgid "exprtype"
-msgstr "tipo de la expresión"
+msgstr "Tipo de la expresión"
 
 msgid "external page"
-msgstr "página externa"
+msgstr "Página externa"
 
 msgid "facetbox"
-msgstr "caja de facetas"
+msgstr "Caja de facetas"
 
 msgid "facets_created_by-facet"
 msgstr "faceta \"creada por\""
 
 msgid "facets_created_by-facet_description"
-msgstr ""
+msgstr "faceta creado por"
 
 msgid "facets_etype-facet"
 msgstr "faceta \"es de tipo\""
 
 msgid "facets_etype-facet_description"
-msgstr ""
+msgstr "faceta es de tipo"
 
 msgid "facets_has_text-facet"
 msgstr "faceta \"contiene el texto\""
 
 msgid "facets_has_text-facet_description"
-msgstr ""
+msgstr "faceta contiene el texto"
 
 msgid "facets_in_group-facet"
 msgstr "faceta \"forma parte del grupo\""
 
 msgid "facets_in_group-facet_description"
-msgstr ""
+msgstr "faceta en grupo"
 
 msgid "facets_in_state-facet"
 msgstr "faceta \"en el estado\""
 
 msgid "facets_in_state-facet_description"
-msgstr ""
+msgstr "faceta en el estado"
 
 msgid "february"
-msgstr "febrero"
+msgstr "Febrero"
 
 msgid "file tree view"
-msgstr ""
+msgstr "File Vista Arborescencia"
 
 msgid "final"
-msgstr "final"
+msgstr "Final"
 
 msgid "firstname"
-msgstr "nombre"
+msgstr "Nombre"
 
 msgid "foaf"
-msgstr ""
+msgstr "Amigo de un Amigo, FOAF"
 
 msgid "follow"
-msgstr "seguir la liga"
+msgstr "Seguir la liga"
 
 msgid "for_user"
-msgstr "para el usuario"
+msgstr "Para el usuario"
 
 msgid "for_user_object"
-msgstr "utiliza las propiedades"
+msgstr "Utiliza las propiedades"
 
 msgid "friday"
-msgstr "viernes"
+msgstr "Viernes"
 
 msgid "from"
-msgstr "de"
+msgstr "De"
 
 msgid "from_entity"
-msgstr "de la entidad"
+msgstr "De la entidad"
 
 msgid "from_entity_object"
-msgstr "relación sujeto"
+msgstr "Relación sujeto"
 
 msgid "from_state"
-msgstr "de el estado"
+msgstr "De el estado"
 
 msgid "from_state_object"
-msgstr "transiciones desde este estado"
+msgstr "Transiciones desde este estado"
 
 msgid "full text or RQL query"
-msgstr "texto de búsqueda o demanda RQL"
+msgstr "Texto de búsqueda o demanda RQL"
 
 msgid "fulltext_container"
-msgstr "contenedor de texto indexado"
+msgstr "Contenedor de texto indexado"
 
 msgid "fulltextindexed"
-msgstr "indexación de texto"
+msgstr "Indexación de texto"
 
 msgid "generic plot"
-msgstr "trazado de curbas estándares"
+msgstr "Trazado de curbas estándares"
 
 msgid "go back to the index page"
-msgstr "regresar a la página de inicio"
+msgstr "Regresar a la página de inicio"
 
 msgid "granted to groups"
-msgstr "otorgado a los grupos"
+msgstr "Otorgado a los grupos"
 
 msgid "graphical representation of the application'schema"
-msgstr "representación gráfica del esquema de la aplicación"
+msgstr "Representación gráfica del esquema de la aplicación"
 
 #, python-format
 msgid "graphical schema for %s"
-msgstr "gráfica del esquema por %s"
+msgstr "Gráfica del esquema por %s"
 
 #, python-format
 msgid "graphical workflow for %s"
-msgstr "gráfica del workflow por %s"
+msgstr "Gráfica del workflow por %s"
 
 msgid "group in which a user should be to be allowed to pass this transition"
-msgstr "grupo en el cual el usuario debe estar para poder pasar la transición"
+msgstr "Grupo en el cual el usuario debe estar para poder pasar la transición"
 
 msgid "groups"
-msgstr "grupos"
+msgstr "Grupos"
 
 msgid "groups allowed to add entities/relations of this type"
-msgstr "grupos autorizados a agregar entidades/relaciones de este tipo"
+msgstr "Grupos autorizados a agregar entidades/relaciones de este tipo"
 
 msgid "groups allowed to delete entities/relations of this type"
-msgstr "grupos autorizados a eliminar entidades/relaciones de este tipo"
+msgstr "Grupos autorizados a eliminar entidades/relaciones de este tipo"
 
 msgid "groups allowed to read entities/relations of this type"
-msgstr "grupos autorizados a leer entidades/relaciones de este tipo"
+msgstr "Grupos autorizados a leer entidades/relaciones de este tipo"
 
 msgid "groups allowed to update entities of this type"
-msgstr "grupos autorizados a actualizar entidades de este tipo"
+msgstr "Grupos autorizados a actualizar entidades de este tipo"
 
 msgid "groups grant permissions to the user"
-msgstr "los grupos otorgan las autorizaciones al usuario"
+msgstr "Los grupos otorgan las autorizaciones al usuario"
 
 msgid "groups to which the permission is granted"
-msgstr "grupos quienes tienen otorgada esta autorización"
+msgstr "Grupos quienes tienen otorgada esta autorización"
 
 msgid "groups:"
-msgstr "grupos :"
+msgstr "Grupos :"
 
 msgid "guests"
-msgstr "invitados"
+msgstr "Invitados"
 
 msgid "hCalendar"
 msgstr "hCalendar"
 
 msgid "has_text"
-msgstr "contiene el texto"
+msgstr "Contiene el texto"
 
 msgid "help"
-msgstr "ayuda"
+msgstr "Ayuda"
 
 msgid "hide filter form"
-msgstr "esconder el filtro"
+msgstr "Esconder el filtro"
 
 msgid "hide meta-data"
-msgstr "esconder los meta-datos"
+msgstr "Esconder los meta-datos"
 
 msgid "home"
-msgstr "inicio"
+msgstr "Inicio"
 
 msgid ""
 "how to format date and time in the ui (\"man strftime\" for format "
 "description)"
 msgstr ""
-"como formatear la fecha en la interface (\"man strftime\" por la descripción "
+"Como formatear la fecha en la interface (\"man strftime\" por la descripción "
 "del formato)"
 
 msgid "how to format date in the ui (\"man strftime\" for format description)"
 msgstr ""
-"como formatear la fecha en la interface (\"man strftime\" por la descripción "
+"Como formatear la fecha en la interface (\"man strftime\" por la descripción "
 "del formato)"
 
 msgid "how to format float numbers in the ui"
-msgstr "como formatear los números flotantes en la interface"
+msgstr "Como formatear los números flotantes en la interface"
 
 msgid "how to format time in the ui (\"man strftime\" for format description)"
 msgstr ""
-"como formatear la hora en la interface (\"man strftime\" por la descripción "
+"Como formatear la hora en la interface (\"man strftime\" por la descripción "
 "del formato)"
 
 msgid "html class of the component"
-msgstr "clase HTML de este componente"
+msgstr "Clase HTML de este componente"
 
 msgid "htmlclass"
-msgstr "clase html"
+msgstr "Clase html"
 
 msgid "i18n_login_popup"
-msgstr "identificarse"
+msgstr "Identificarse"
 
 msgid "i18nprevnext_next"
-msgstr "siguiente"
+msgstr "Siguiente"
 
 msgid "i18nprevnext_previous"
-msgstr "anterior"
+msgstr "Anterior"
 
 msgid "i18nprevnext_up"
-msgstr "padre"
+msgstr "Padre"
 
 msgid "iCalendar"
 msgstr "iCalendar"
 
 msgid "id of main template used to render pages"
-msgstr "id del template principal"
+msgstr "ID del template principal"
 
 msgid "identical_to"
 msgstr "idéntico a"
@@ -1966,23 +1971,23 @@
 "if full text content of subject/object entity should be added to other side "
 "entity (the container)."
 msgstr ""
-"si el texto indexado de la entidad sujeto/objeto debe ser agregado a la "
+"Si el texto indexado de la entidad sujeto/objeto debe ser agregado a la "
 "entidad a el otro extremo de la relación (el contenedor)."
 
 msgid "image"
-msgstr "imagen"
+msgstr "Imagen"
 
 msgid "in memory entity schema"
-msgstr "esquema de la entidad en memoria"
+msgstr "Esquema de la entidad en memoria"
 
 msgid "in memory relation schema"
-msgstr "esquema de la relación en memoria"
+msgstr "Esquema de la relación en memoria"
 
 msgid "in_group"
-msgstr "en el grupo"
+msgstr "En el grupo"
 
 msgid "in_group_object"
-msgstr "miembros"
+msgstr "Miembros"
 
 msgid "in_state"
 msgstr "estado"
@@ -1991,67 +1996,67 @@
 msgstr "estado de"
 
 msgid "incontext"
-msgstr "en el contexto"
+msgstr "En el contexto"
 
 #, python-format
 msgid "incorrect value (%(value)s) for type \"%(type)s\""
 msgstr "valor %(value)s incorrecto para el tipo \"%(type)s\""
 
 msgid "index"
-msgstr "índice"
+msgstr "Indice"
 
 msgid "index this attribute's value in the plain text index"
-msgstr "indexar el valor de este atributo en el índice de texto simple"
+msgstr "Indexar el valor de este atributo en el índice de texto simple"
 
 msgid "indexed"
-msgstr "indexado"
+msgstr "Indexado"
 
 msgid "indicate the current state of an entity"
-msgstr "indica el estado actual de una entidad"
+msgstr "Indica el estado actual de una entidad"
 
 msgid ""
 "indicate which state should be used by default when an entity using states "
 "is created"
 msgstr ""
-"indica cual estado deberá ser utilizado por defecto al crear una entidad"
+"Indica cual estado deberá ser utilizado por defecto al crear una entidad"
 
 #, python-format
 msgid "initial estimation %s"
-msgstr "estimación inicial %s"
+msgstr "Estimación inicial %s"
 
 msgid "initial state for entities of this type"
-msgstr "estado inicial para las entidades de este tipo"
+msgstr "Estado inicial para las entidades de este tipo"
 
 msgid "initial_state"
 msgstr "estado inicial"
 
 msgid "initial_state_object"
-msgstr "estado inicial de"
+msgstr "es el estado inicial de"
 
 msgid "inlined"
-msgstr "puesto en línea"
+msgstr "Puesto en línea"
 
 msgid "inlined view"
-msgstr "vista incluída (en línea)"
+msgstr "Vista incluída (en línea)"
 
 msgid "internationalizable"
-msgstr "internacionalizable"
+msgstr "Internacionalizable"
 
 #, python-format
 msgid "invalid action %r"
-msgstr "acción %r invalida"
+msgstr "Acción %r invalida"
 
 msgid "invalid date"
-msgstr "esta fecha no es válida"
+msgstr "Esta fecha no es válida"
 
 msgid "is"
-msgstr "de tipo"
+msgstr "es"
 
 msgid "is it an application entity type or not ?"
-msgstr "es una entidad aplicativa o no ?"
+msgstr "Es un Tipo de entidad en la aplicación o no ?"
 
 msgid "is it an application relation type or not ?"
-msgstr "es una relación aplicativa o no ?"
+msgstr "Es una relación aplicativa o no ?"
 
 msgid ""
 "is the subject/object entity of the relation composed of the other ? This "
@@ -2061,53 +2066,53 @@
 "ser así, el destruir el composite destruirá de igual manera sus componentes "
 
 msgid "is this attribute's value translatable"
-msgstr "es el valor de este atributo traducible ?"
+msgstr "Es el valor de este atributo traducible ?"
 
 msgid "is this relation equivalent in both direction ?"
-msgstr "es esta relación equivalente en los ambos sentidos ?"
+msgstr "Es esta relación equivalente en los ambos sentidos ?"
 
 msgid ""
 "is this relation physically inlined? you should know what you're doing if "
 "you are changing this!"
 msgstr ""
-"es esta relación puesta en línea en la base de datos  ? Usted debe saber lo "
+"Es esta relación puesta en línea en la base de datos  ? Usted debe saber lo "
 "que hace si cambia esto !"
 
 msgid "is_instance_of"
 msgstr "es una instancia de"
 
 msgid "is_instance_of_object"
-msgstr "tipo de"
+msgstr "tiene como instancias"
 
 msgid "is_object"
 msgstr "tiene por instancia"
 
 msgid "january"
-msgstr "enero"
+msgstr "Enero"
 
 msgid "july"
-msgstr "julio"
+msgstr "Julio"
 
 msgid "june"
-msgstr "junio"
+msgstr "Junio"
 
 msgid "label"
-msgstr "etiqueta"
+msgstr "Etiqueta"
 
 msgid "language of the user interface"
-msgstr "idioma para la interface del usuario"
+msgstr "Idioma para la interface del usuario"
 
 msgid "last connection date"
-msgstr "última fecha de conexión"
+msgstr "Ultima fecha de conexión"
 
 msgid "last_login_time"
-msgstr "última fecha de conexión"
+msgstr "Ultima fecha de conexión"
 
 msgid "latest modification time of an entity"
-msgstr "fecha de la última modificación de una entidad "
+msgstr "Fecha de la última modificación de una entidad "
 
 msgid "latest update on"
-msgstr "última actualización"
+msgstr "actualizado el"
 
 msgid "left"
 msgstr "izquierda"
@@ -2116,7 +2121,7 @@
 "link a property to the user which want this property customization. Unless "
 "you're a site manager, this relation will be handled automatically."
 msgstr ""
-"liga una propiedad a el usuario que desea esta personalización. A menos que "
+"Liga una propiedad a el usuario que desea esta personalización. Salvo que "
 "usted sea un administrador del sistema, esta relación es gestionada "
 "automáticamente."
 
@@ -2127,214 +2132,215 @@
 msgstr "liga una definición de relación a su tipo de relación"
 
 msgid "link a relation definition to its subject entity type"
-msgstr "lie une dÈfinition de relation ‡ son type d'entitÈ sujet"
+msgstr "liga una definición de relación a su tipo de entidad"
 
 msgid "link a state to one or more entity type"
-msgstr "lier un Ètat ‡ une ou plusieurs entitÈs"
+msgstr "liga un estado a una o mas entidades"
 
 msgid "link a transition information to its object"
-msgstr "liÈ une enregistrement de transition vers l'objet associÈ"
+msgstr "liga una transcion de informacion a los objetos asociados"
 
 msgid "link a transition to one or more entity type"
-msgstr "lie une transition ‡ un ou plusieurs types d'entitÈs"
+msgstr "liga una transición a una o mas tipos de entidad"
 
 msgid ""
 "link a transition to one or more rql expression allowing to go through this "
 "transition"
 msgstr ""
+"liga una transición a una o mas expresiones RQL permitiendo que funcione"
 
 msgid "link to each item in"
-msgstr "lier vers chaque ÈlÈment dans"
+msgstr "ligar hacia cada elemento en"
 
 msgid "list"
-msgstr "liste"
+msgstr "Lista"
 
 msgid "loading"
-msgstr ""
+msgstr "Cargando"
 
 msgid "log in"
-msgstr "s'identifier"
+msgstr "Identificarse"
 
 msgid "login"
-msgstr "identifiant"
+msgstr "Clave de acesso"
 
 msgid "login_action"
-msgstr "identifiez vous"
+msgstr "Ingresa tus datos"
 
 msgid "logout"
-msgstr "se dÈconnecter"
+msgstr "Desconectarse"
 
 #, python-format
 msgid "loop in %(rel)s relation (%(eid)s)"
-msgstr "boucle dÈtectÈe en parcourant la relation %(rel)s de l'entitÈ #%(eid)s"
+msgstr "loop detectado en %(rel)s de la entidad #%(eid)s"
 
 msgid "main informations"
-msgstr "Informations gÈnÈrales"
+msgstr "Informaciones Generales"
 
 msgid "mainvars"
-msgstr "variables principales"
+msgstr "Principales variables"
 
 msgid "manage"
-msgstr "gestion du site"
+msgstr "Administracion del Sitio"
 
 msgid "manage bookmarks"
-msgstr "gÈrer les signets"
+msgstr "Administra tus favoritos"
 
 msgid "manage permissions"
-msgstr ""
+msgstr "Administración de Autorizaciones"
 
 msgid "manage security"
-msgstr "gestion de la sÈcuritÈ"
+msgstr "Administración de la Seguridad"
 
 msgid "managers"
-msgstr "administrateurs"
+msgstr "editores"
 
 msgid "march"
-msgstr "mars"
+msgstr "Marzo"
 
 msgid "maximum number of characters in short description"
-msgstr "nombre maximum de caractËres dans les descriptions courtes"
+msgstr "Numero maximo de caracteres en las descripciones cortas"
 
 msgid "maximum number of entities to display in related combo box"
-msgstr "nombre maximum d'entitÈs ‡ afficher dans les listes dÈroulantes"
+msgstr "Numero maximo de entidades a mostrar en las listas dinamicas"
 
 msgid "maximum number of objects displayed by page of results"
-msgstr "nombre maximum d'entitÈs affichÈes par pages"
+msgstr "Numero maximo de objetos mostrados por pagina de resultados"
 
 msgid "maximum number of related entities to display in the primary view"
-msgstr "nombre maximum d'entitÈs liÈes ‡ afficher dans la vue primaire"
+msgstr "Numero maximo de entidades ligadas a mostrar en la vista primaria"
 
 msgid "may"
-msgstr "mai"
+msgstr "Mayo"
 
 msgid "meta"
-msgstr "mÈta"
+msgstr "Meta"
 
 msgid "milestone"
-msgstr "jalon"
+msgstr "Milestone"
 
 #, python-format
 msgid "missing parameters for entity %s"
-msgstr "paramËtres manquants pour l'entitÈ %s"
+msgstr "Parametros faltantes a la entidad %s"
 
 msgid "modification_date"
-msgstr "date de modification"
+msgstr "Fecha de modificacion"
 
 msgid "modify"
-msgstr "modifier"
+msgstr "Modificar"
 
 msgid "monday"
-msgstr "lundi"
+msgstr "Lundi"
 
 msgid "more actions"
-msgstr "plus d'actions"
+msgstr "mas acciones"
 
 msgid "multiple edit"
-msgstr "Èdition multiple"
+msgstr "Edicion multiple"
 
 msgid "my custom search"
-msgstr "ma recherche personnalisÈe"
+msgstr "Mi busqueda personalizada"
 
 msgid "name"
-msgstr "nom"
+msgstr "Nombre"
 
 msgid "name of the cache"
-msgstr "nom du cache applicatif"
+msgstr "Nombre del Cache"
 
 msgid ""
 "name of the main variables which should be used in the selection if "
 "necessary (comma separated)"
 msgstr ""
-"nom des variables principaes qui devrait Ítre utilisÈes dans la sÈlection si "
-"nÈcessaire (les sÈparer par des virgules)"
+"Nombre de las variables principales que deberian se utilizadas en la selección"
+"de ser necesario (separarlas con comas)"
 
 msgid "name or identifier of the permission"
-msgstr "nom (identifiant) de la permission"
+msgstr "Nombre o indentificador de la autorización"
 
 msgid "navbottom"
-msgstr "bas de page"
+msgstr "Pie de pagina"
 
 msgid "navcontentbottom"
-msgstr "bas de page du contenu principal"
+msgstr "Pie de pagina del contenido principal"
 
 msgid "navcontenttop"
-msgstr "haut de page"
+msgstr "Encabezado"
 
 msgid "navigation"
-msgstr "navigation"
+msgstr "Navegación"
 
 msgid "navtop"
-msgstr "haut de page du contenu principal"
+msgstr "Encabezado del contenido principal"
 
 msgid "new"
-msgstr "nouveau"
+msgstr "Nuevo"
 
 msgid "next_results"
-msgstr "rÈsultats suivants"
+msgstr "Siguientes resultados"
 
 msgid "no"
-msgstr "non"
+msgstr "no"
 
 msgid "no associated epermissions"
-msgstr "aucune permission spÈcifique n'est dÈfinie"
+msgstr "permisos no asociados"
 
 msgid "no possible transition"
-msgstr "aucune transition possible"
+msgstr "transición no posible"
 
 msgid "no related project"
-msgstr "pas de projet rattachÈ"
+msgstr "no hay proyecto relacionado"
 
 msgid "no selected entities"
-msgstr "pas d'entitÈ sÈlectionnÈe"
+msgstr "no hay entidades seleccionadas"
 
 #, python-format
 msgid "no such entity type %s"
-msgstr "le type d'entitÈ '%s' n'existe pas"
+msgstr "el tipo de entidad '%s' no existe"
 
 msgid "no version information"
-msgstr "pas d'information de version"
+msgstr "no información de version"
 
 msgid "not authorized"
-msgstr "non autorisÈ"
+msgstr "no autorizado"
 
 msgid "not selected"
-msgstr ""
+msgstr "no seleccionado"
 
 msgid "not specified"
-msgstr "non spÈcifiÈ"
+msgstr "no especificado"
 
 msgid "not the initial state for this entity"
-msgstr "n'est pas l'Ètat initial pour cette entitÈ"
+msgstr "no el estado inicial para esta entidad"
 
 msgid "nothing to edit"
-msgstr "rien ‡ Èditer"
+msgstr "nada que editar"
 
 msgid "november"
-msgstr "novembre"
+msgstr "noviembre"
 
 msgid "object"
-msgstr "objet"
+msgstr "objeto"
 
 msgid "october"
-msgstr "octobre"
+msgstr "octubre"
 
 msgid "one month"
-msgstr "un mois"
+msgstr "un mes"
 
 msgid "one week"
-msgstr "une semaine"
+msgstr "una semana"
 
 msgid "oneline"
-msgstr "une ligne"
+msgstr "una linea"
 
 msgid "only select queries are authorized"
-msgstr "seules les requÍtes de sÈlections sont autorisÈes"
+msgstr "solo estan permitidas consultas de lectura"
 
 msgid "order"
-msgstr "ordre"
+msgstr "orden"
 
 msgid "ordernum"
-msgstr "ordre"
+msgstr "orden"
 
 msgid "owl"
 msgstr ""
@@ -2343,178 +2349,177 @@
 msgstr ""
 
 msgid "owned_by"
-msgstr "appartient ‡"
+msgstr "pertenece a"
 
 msgid "owned_by_object"
-msgstr "possËde"
+msgstr "pertenece al objeto"
 
 msgid "owners"
-msgstr "propriÈtaires"
+msgstr "proprietarios"
 
 msgid "ownership"
-msgstr "propriÈtÈ"
+msgstr "pertenencia"
 
 msgid "ownerships have been changed"
-msgstr "les droits de propriÈtÈ ont ÈtÈ modifiÈs"
+msgstr "la pertenencia ha sido modificada"
 
 msgid "pageid-not-found"
 msgstr ""
-"des donnÈes nÈcessaires semblent expirÈes, veuillez recharger la page et "
-"recommencer."
+"pagina no encontrada."
 
 msgid "password"
-msgstr "mot de passe"
+msgstr "Clave de acceso"
 
 msgid "password and confirmation don't match"
-msgstr "le mot de passe et la confirmation sont diffÈrents"
+msgstr "La clave de acceso y la confirmación no concuerdan"
 
 msgid "path"
-msgstr "chemin"
+msgstr "Ruta"
 
 msgid "permission"
-msgstr "permission"
+msgstr "Permiso"
 
 msgid "permissions for this entity"
-msgstr "permissions pour cette entitÈ"
+msgstr "Permisos para esta entidad"
 
 msgid "personnal informations"
-msgstr "informations personnelles"
+msgstr "Información personal"
 
 msgid "pick existing bookmarks"
-msgstr "rÈcupÈrer des signets existants"
+msgstr "Seleccione los favoritos existentes"
 
 msgid "pkey"
-msgstr "clÈ"
+msgstr ""
 
 msgid "planned_delivery"
-msgstr ""
+msgstr "entrega planeada"
 
 msgid "please correct errors below"
-msgstr "veuillez corriger les erreurs ci-dessous"
+msgstr "Favor de corregir errores"
 
 msgid "please correct the following errors:"
-msgstr "veuillez corriger les erreurs suivantes :"
+msgstr "Favor de corregir los siguientes errores :"
 
 msgid "possible views"
-msgstr "vues possibles"
+msgstr "Vistas posibles"
 
 msgid "preferences"
-msgstr "prÈfÈrences"
+msgstr "Preferencias"
 
 msgid "previous_results"
-msgstr "rÈsultats prÈcÈdents"
+msgstr "Resultados anteriores"
 
 msgid "primary"
-msgstr "primaire"
+msgstr "Primaria"
 
 msgid "primary_email"
-msgstr "adresse email principale"
+msgstr "Dirección de email principal"
 
 msgid "primary_email_object"
-msgstr "adresse email principale (object)"
+msgstr "Dirección de email principal (objeto)"
 
 msgid "progress"
-msgstr "avancement"
+msgstr "Avance"
 
 msgid "progress bar"
-msgstr "barre d'avancement"
+msgstr "Barra de progreso de avance"
 
 msgid "project"
-msgstr "projet"
+msgstr "Proyecto"
 
 msgid "read"
-msgstr "lecture"
+msgstr "Lectura"
 
 msgid "read_perm"
-msgstr "lecture"
+msgstr "Lectura"
 
 msgid "read_permission"
-msgstr "permission de lire"
+msgstr "Permiso de lectura"
 
 msgid "read_permission_object"
-msgstr "a la permission de lire"
+msgstr "Objeto_permiso_lectura"
 
 #, python-format
 msgid "relation %(relname)s of %(ent)s"
-msgstr "relation %(relname)s de %(ent)s"
+msgstr "relación %(relname)s de %(ent)s"
 
 msgid "relation_type"
-msgstr "type de relation"
+msgstr "tipo de relación"
 
 msgid "relation_type_object"
-msgstr "dÈfinition"
+msgstr "Definición"
 
 msgid "relations deleted"
-msgstr "relations supprimÈes"
+msgstr "Relaciones eliminadas"
 
 msgid "relative url of the bookmarked page"
-msgstr "url relative de la page"
+msgstr "Url relativa de la pagina"
 
 msgid "remove this Bookmark"
-msgstr "supprimer ce signet"
+msgstr "Eliminar este Favorito"
 
 msgid "remove this Card"
-msgstr "supprimer cette fiche"
+msgstr "Eliminar esta Ficha"
 
 msgid "remove this ECache"
-msgstr "supprimer ce cache applicatif"
+msgstr "Eliminar esta cache de aplicación"
 
 msgid "remove this EConstraint"
-msgstr "supprimer cette contrainte"
+msgstr "Eliminar esta restricción"
 
 msgid "remove this EConstraintType"
-msgstr "supprimer ce type de contrainte"
+msgstr "Eliminar este tipo de restricción"
 
 msgid "remove this EEType"
-msgstr "supprimer ce type d'entitÈ"
+msgstr "Eliminar este tipo de entidad"
 
 msgid "remove this EFRDef"
-msgstr "supprimer cet attribut"
+msgstr "Eliminar este atributo"
 
 msgid "remove this EGroup"
-msgstr "supprimer ce groupe"
+msgstr "Eliminar este grupo"
 
 msgid "remove this ENFRDef"
-msgstr "supprimer cette relation"
+msgstr "Eliminar esta relación"
 
 msgid "remove this EPermission"
-msgstr "supprimer cette permission"
+msgstr "Eliminar este permiso"
 
 msgid "remove this EProperty"
-msgstr "supprimer cette propriÈtÈ"
+msgstr "Eliminar esta propiedad"
 
 msgid "remove this ERType"
-msgstr "supprimer cette dÈfinition de relation"
+msgstr "Eliminar esta definición de relación"
 
 msgid "remove this EUser"
-msgstr "supprimer cet utilisateur"
+msgstr "Eliminar este usuario"
 
 msgid "remove this EmailAddress"
-msgstr "supprimer cette adresse email"
+msgstr "Eliminar este correo electronico"
 
 msgid "remove this RQLExpression"
-msgstr "supprimer cette expression rql"
+msgstr "Eliminar esta expresión RQL"
 
 msgid "remove this State"
-msgstr "supprimer cet Ètat"
+msgstr "Eliminar este estado"
 
 msgid "remove this TrInfo"
-msgstr "retirer cette information de transition"
+msgstr "Eliminar información de esta transición"
 
 msgid "remove this Transition"
-msgstr "supprimer cette transition"
+msgstr "Eliminar esta transición"
 
 msgid "require_group"
-msgstr "nÈcessite le groupe"
+msgstr "Requiere_grupo"
 
 msgid "require_group_object"
-msgstr "‡ les droits"
+msgstr "Objeto_grupo_requerido"
 
 msgid "required attribute"
-msgstr "attribut requis"
+msgstr "Atributo requerido"
 
 msgid "required field"
-msgstr "champ requis"
+msgstr "Campo requerido"
 
 msgid ""
 "restriction part of a rql query. For entity rql expression, X and U are "
@@ -2522,460 +2527,458 @@
 "relation rql expression, S, O and U are predefined respectivly to the "
 "current relation'subject, object and to the request user. "
 msgstr ""
-"partie restriction de la requÍte rql. Pour une expression s'appliquant ‡ une "
-"entitÈ, X et U sont respectivement prÈfÈfinis ‡ l'entitÈ et ‡ l'utilisateur "
-"courant. Pour une expression s'appliquant ‡ une relation, S, O et U sont "
-"respectivement prÈfÈfinis au sujet/objet de la relation et ‡ l'utilisateur "
-"courant."
+"restriction part of a rql query. For entity rql expression, X and U are "
+"predefined respectivly to the current object and to the request user. For "
+"relation rql expression, S, O and U are predefined respectivly to the "
+"current relation'subject, object and to the request user. "
 
 msgid "revert changes"
-msgstr "annuler les changements"
+msgstr "Revertir cambios"
 
 msgid "right"
-msgstr "droite"
+msgstr "Derecha"
 
 msgid "rql expression allowing to add entities/relations of this type"
 msgstr ""
-"expression RQL donnant le droit d'ajouter des entitÈs/relations de ce type"
+"expresion RQL permitiendo agregar entidades/relaciones de este tipo"
 
 msgid "rql expression allowing to delete entities/relations of this type"
 msgstr ""
-"expression RQL donnant le droit de supprimer des entitÈs/relations de ce type"
+"expresion RQL permitiendo eliminar entidades/relaciones de este tipo"
 
 msgid "rql expression allowing to read entities/relations of this type"
 msgstr ""
-"expression RQL donnant le droit de lire des entitÈs/relations de ce type"
+"expresion RQL permitiendo leer entidades/relaciones de este tipo"
 
 msgid "rql expression allowing to update entities of this type"
 msgstr ""
-"expression RQL donnant le droit de modifier des entitÈs/relations de ce type"
+"expresion RQL permitiendo actualizar entidades de este tipo"
 
 msgid "rql expressions"
-msgstr "conditions rql"
+msgstr "expresiones rql"
 
 msgid "rss"
 msgstr "RSS"
 
 msgid "sample format"
-msgstr "exemple"
+msgstr "ejemplo"
 
 msgid "saturday"
-msgstr "samedi"
+msgstr "sabado"
 
 msgid "schema entities"
-msgstr "entitÈs dÈfinissant le schÈma"
+msgstr "entidades del esquema"
 
 msgid "schema's permissions definitions"
-msgstr "permissions dÈfinies dans le schÈma"
+msgstr "definiciones de permisos del esquema"
 
 msgid "search"
-msgstr "rechercher"
+msgstr "buscar"
 
 msgid "search for association"
-msgstr "rechercher pour associer"
+msgstr "buscar por asociación"
 
 msgid "searching for"
-msgstr "Recherche de"
+msgstr "buscando "
 
 msgid "secondary"
-msgstr "secondaire"
+msgstr "secundario"
 
 msgid "security"
-msgstr "sÈcuritÈ"
+msgstr "seguridad"
 
 msgid "see them all"
-msgstr "les voir toutes"
+msgstr "Ver todos"
 
 msgid "select"
-msgstr "sÈlectionner"
+msgstr "Seleccionar"
 
 msgid "select a"
-msgstr "sÈlectionner un"
+msgstr "seleccione un"
 
 msgid "select a relation"
-msgstr "sÈlectionner une relation"
+msgstr "seleccione una relación"
 
 msgid "select this entity"
-msgstr "sÈlectionner cette entitÈ"
+msgstr "seleccionar esta entidad"
 
 msgid "selected"
-msgstr ""
+msgstr "seleccionado"
 
 msgid "semantic description of this attribute"
-msgstr "description sÈmantique de cet attribut"
+msgstr "descripción semantica de este atributo"
 
 msgid "semantic description of this entity type"
-msgstr "description sÈmantique de ce type d'entitÈ"
+msgstr "descripción semantica de este tipo de entidad"
 
 msgid "semantic description of this relation"
-msgstr "description sÈmantique de cette relation"
+msgstr "descripción semantica de esta relación"
 
 msgid "semantic description of this relation type"
-msgstr "description sÈmantique de ce type de relation"
+msgstr "descripción semantica de este tipo de relación"
 
 msgid "semantic description of this state"
-msgstr "description sÈmantique de cet Ètat"
+msgstr "descripción semantica de este estado"
 
 msgid "semantic description of this transition"
-msgstr "description sÈmantique de cette transition"
+msgstr "descripcion semantica de esta transición"
 
 msgid "send email"
-msgstr "envoyer un courriel"
+msgstr "enviar email"
 
 msgid "september"
-msgstr "septembre"
+msgstr "septiembre"
 
 msgid "server debug information"
-msgstr "informations de dÈboguage serveur"
+msgstr "server debug information"
 
 msgid "server information"
-msgstr "informations serveur"
+msgstr "server information"
 
 msgid ""
 "should html fields being edited using fckeditor (a HTML WYSIWYG editor).  "
 "You should also select text/html as default text format to actually get "
 "fckeditor."
 msgstr ""
-"indique si les champs HTML doivent Ítre Èditer avec fckeditor (un\n"
-"Èditer HTML WYSIWYG). Il est Ègalement conseill'de choisir text/html\n"
-"comme format de texte par dÈfaut pour pouvoir utiliser fckeditor."
+"indique si los campos deberan ser editados usando fckeditor (un\n"
+"editor HTML WYSIWYG). Debera tambien elegir text/html\n"
+"como formato de texto por default para poder utilizar fckeditor."
 
 #, python-format
 msgid "show %s results"
-msgstr "montrer %s rÈsultats"
+msgstr "mostrar %s resultados"
 
 msgid "show advanced fields"
-msgstr "montrer les champs avancÈs"
+msgstr "mostrar campos avanzados"
 
 msgid "show filter form"
 msgstr "afficher le filtre"
 
 msgid "show meta-data"
-msgstr "afficher les mÈta-donnÈes"
+msgstr "mostrar meta-data"
 
 msgid "site configuration"
-msgstr "configuration du site"
+msgstr "configuracion del sitio"
 
 msgid "site documentation"
-msgstr "documentation du site"
+msgstr "documentacion del sitio"
 
 msgid "site schema"
-msgstr "schÈma du site"
+msgstr "esquema del sitio"
 
 msgid "site title"
-msgstr "titre du site"
+msgstr "titulo del sitio"
 
 msgid "site-wide property can't be set for user"
-msgstr "une propriÈtÈ spÈcifique au site ne peut Ítre propre ‡ un utilisateur"
+msgstr "una propiedad especifica para el sitio no puede establecerse para el usuario"
 
 msgid "sorry, the server is unable to handle this query"
-msgstr "dÈsolÈ, le serveur ne peut traiter cette requÍte"
+msgstr "lo sentimos, el servidor no puede manejar esta consulta"
 
 msgid "specializes"
-msgstr "dÈrive de"
+msgstr "derivado de"
 
 msgid "specializes_object"
-msgstr "parent de"
+msgstr "objeto_derivado"
 
 msgid "startup views"
-msgstr "vues de dÈpart"
+msgstr "vistas de inicio"
 
 msgid "state"
-msgstr "Ètat"
+msgstr "estado"
 
 msgid "state_of"
-msgstr "Ètat de"
+msgstr "estado_de"
 
 msgid "state_of_object"
-msgstr "a pour Ètat"
+msgstr "objeto_estado_de"
 
 msgid "status change"
-msgstr "changer l'Ètat"
+msgstr "cambio de estatus"
 
 msgid "status changed"
-msgstr "changement d'Ètat"
+msgstr "estatus cambiado"
 
 #, python-format
 msgid "status will change from %(st1)s to %(st2)s"
-msgstr "l'entitÈ passera de l'Ètat %(st1)s ‡ l'Ètat %(st2)s"
+msgstr "estatus cambiara de %(st1)s a %(st2)s"
 
 msgid "subject"
-msgstr "sujet"
+msgstr "sujeto"
 
 msgid "subject/object cardinality"
-msgstr "cardinalitÈ sujet/objet"
+msgstr "cardinalidad sujeto/objeto"
 
 msgid "sunday"
-msgstr "dimanche"
+msgstr "domingo"
 
 msgid "surname"
-msgstr "nom"
+msgstr "apellido"
 
 msgid "symetric"
-msgstr "symÈtrique"
+msgstr "simetrico"
 
 msgid "synopsis"
-msgstr "synopsis"
+msgstr "sinopsis"
 
 msgid "system entities"
-msgstr "entitÈs systËmes"
+msgstr "entidades de sistema"
 
 msgid "table"
-msgstr "table"
+msgstr "tabla"
 
 msgid "tablefilter"
-msgstr "filtre de tableau"
+msgstr "filtro de tabla"
 
 msgid "task progression"
-msgstr "avancement de la t‚che"
+msgstr "progreso de la tarea"
 
 msgid "text"
 msgstr "text"
 
 msgid "text/cubicweb-page-template"
-msgstr "contenu dynamique"
+msgstr "text/cubicweb-page-template"
 
 msgid "text/html"
 msgstr "html"
 
 msgid "text/plain"
-msgstr "texte pur"
+msgstr "text/plain"
 
 msgid "text/rest"
-msgstr "ReST"
+msgstr "text/rest"
 
 msgid "the prefered email"
-msgstr "l'adresse Èlectronique principale"
+msgstr "dirección principal de email"
 
 #, python-format
 msgid "the value \"%s\" is already used, use another one"
-msgstr "la valeur \"%s\" est dÈj‡ utilisÈe, veuillez utiliser une autre valeur"
+msgstr "el valor \"%s\" ya esta en uso, favor de utilizar otro"
 
 msgid "this action is not reversible!"
 msgstr ""
-"Attention ! Cette opÈration va dÈtruire les donnÈes de faÁon irrÈversible."
+"esta acción es irreversible!."
 
 msgid "this entity is currently owned by"
-msgstr "cette entitÈ appartient ‡"
+msgstr "esta entidad es propiedad de"
 
 msgid "this resource does not exist"
-msgstr "cette ressource est introuvable"
+msgstr "este recurso no existe"
 
 msgid "thursday"
-msgstr "jeudi"
+msgstr "jueves"
 
 msgid "timestamp"
-msgstr "date"
+msgstr "fecha"
 
 msgid "timestamp of the latest source synchronization."
-msgstr "date de la derniËre synchronisation avec la source."
+msgstr "fecha de la ultima sincronización de la fuente."
 
 msgid "timetable"
-msgstr "emploi du temps"
+msgstr "tabla de tiempos"
 
 msgid "title"
-msgstr "titre"
+msgstr "titulo"
 
 msgid "to"
-msgstr "‡"
+msgstr "a"
 
 msgid "to associate with"
-msgstr "pour associer ‡"
+msgstr "a asociar con"
 
 msgid "to_entity"
-msgstr "vers l'entitÈ"
+msgstr "hacia entidad"
 
 msgid "to_entity_object"
-msgstr "relation objet"
+msgstr "hacia entidad objeto"
 
 msgid "to_state"
-msgstr "vers l'Ètat"
+msgstr "hacia el estado"
 
 msgid "to_state_object"
-msgstr "transitions vers cette Ètat"
+msgstr "hacia objeto estado"
 
 msgid "todo_by"
-msgstr "‡ faire par"
+msgstr "a hacer por"
 
 msgid "transition is not allowed"
-msgstr "transition non permise"
+msgstr "transition no permitida"
 
 msgid "transition_of"
-msgstr "transition de"
+msgstr "transicion de"
 
 msgid "transition_of_object"
-msgstr "a pour transition"
+msgstr "objeto de transición"
 
 msgid "tree view"
 msgstr ""
 
 msgid "tuesday"
-msgstr "mardi"
+msgstr "martes"
 
 msgid "type"
 msgstr "type"
 
 msgid "ui"
-msgstr "propriÈtÈs gÈnÈriques de l'interface"
+msgstr "interfaz de usuario"
 
 msgid "unaccessible"
-msgstr "inaccessible"
+msgstr "inaccesible"
 
 msgid "unauthorized value"
-msgstr "valeur non autorisÈe"
+msgstr "valor no permitido"
 
 msgid "unique identifier used to connect to the application"
-msgstr "identifiant unique utilisÈ pour se connecter ‡ l'application"
+msgstr "identificador unico utilizado para conectar a la aplicación"
 
 msgid "unknown external entity"
-msgstr "entitÈ (externe) introuvable"
+msgstr "entidad externa desconocida"
 
 msgid "unknown property key"
-msgstr "clÈ de propriÈtÈ inconnue"
+msgstr "propiedad desconocida"
 
 msgid "upassword"
-msgstr "mot de passe"
+msgstr "clave de acceso"
 
 msgid "update"
-msgstr "modification"
+msgstr "modificación"
 
 msgid "update_perm"
-msgstr "modification"
+msgstr "modificación"
 
 msgid "update_permission"
-msgstr "permission de modification"
+msgstr "Permiso de modificación"
 
 msgid "update_permission_object"
-msgstr "‡ la permission de modifier"
+msgstr "objeto de autorización de modificaciones"
 
 #, python-format
 msgid "updated %(etype)s #%(eid)s (%(title)s)"
-msgstr "modification de l'entitÈ %(etype)s #%(eid)s (%(title)s)"
+msgstr "actualización de la entidad %(etype)s #%(eid)s (%(title)s)"
 
 msgid "use template languages"
-msgstr "utiliser les langages de template"
+msgstr "utilizar plantillas de lenguaje"
 
 msgid ""
 "use to define a transition from one or multiple states to a destination "
 "states in workflow's definitions."
 msgstr ""
-"utiliser dans une dÈfinition de processus pour ajouter une transition depuis "
-"un ou plusieurs Ètats vers un Ètat de destination."
+"utilizado para definir una transición desde uno o multiples estados hacia uno o varios estados destino "
+"en las definiciones del workflow"
 
 msgid "use_email"
-msgstr "adresse Èlectronique"
+msgstr "correo electrónico"
 
 msgid "use_email_object"
-msgstr "adresse utilisÈe par"
+msgstr "objeto email utilizado"
 
 msgid "use_template_format"
-msgstr "utilisation du format 'cubicweb template'"
+msgstr "utilización del formato 'cubicweb template'"
 
 msgid ""
 "used for cubicweb configuration. Once a property has been created you can't "
 "change the key."
 msgstr ""
-"utilisÈ pour la configuration de l'application. Une fois qu'une propriÈtÈ a "
-"ÈtÈ crÈÈe, vous ne pouvez plus changez la clÈ associÈe"
+"utilizado para la configuración de cubicweb. Una vez que la propiedad ha sido creada no "
+"puede cambiar la llave"
 
 msgid ""
 "used to associate simple states to an entity type and/or to define workflows"
-msgstr "associe les Ètats ‡ un type d'entitÈ pour dÈfinir un workflow"
+msgstr "utilizado para asociar estados simples a un tipo de entidad y/o para definir workflows"
 
 msgid "used to grant a permission to a group"
-msgstr "utiliser pour donner une permission ‡ un groupe"
+msgstr "utilizado para otorgar permisos a un grupo"
 
 #, python-format
 msgid ""
 "user %s has made the following change(s):\n"
 "\n"
 msgstr ""
-"l'utilisateur %s a effectuÈ le(s) changement(s) suivant(s):\n"
+"el usuario %s ha efectuado los siguentes cambios:\n"
 "\n"
 
 msgid ""
 "user for which this property is applying. If this relation is not set, the "
 "property is considered as a global property"
 msgstr ""
-"utilisateur a qui s'applique cette propriÈtÈ. Si cette relation n'est pas "
-"spÈcifiÈe la propriÈtÈ est considÈrÈe comme globale."
+"usuario para el cual aplica esta propiedad. Si no se establece esta relación, la propiedad es considerada como una propiedad global."
 
 msgid "user interface encoding"
-msgstr "encodage utilisÈ dans l'interface utilisateur"
+msgstr "codificación de la interfaz de usuario"
 
 msgid "user preferences"
-msgstr "prÈfÈrences utilisateur"
+msgstr "preferencias del usuario"
 
 msgid "users"
-msgstr "utilisateurs"
+msgstr "usuarios"
 
 msgid "users using this bookmark"
-msgstr "utilisateurs utilisant ce signet"
+msgstr "usuarios en este favorito"
 
 msgid "validate modifications on selected items"
-msgstr "valider les modifications apportÈes aux ÈlÈments sÈlectionnÈs"
+msgstr "valida modificaciones sobre elementos seleccionados"
 
 msgid "validating..."
-msgstr "chargement en cours ..."
+msgstr "validando ..."
 
 msgid "value"
-msgstr "valeur"
+msgstr "valor"
 
 msgid "value associated to this key is not editable manually"
-msgstr "la valeur associÈe ‡ cette clÈ n'est pas Èditable manuellement"
+msgstr "el valor asociado a este elemento no es editable manualmente"
 
 msgid "vcard"
 msgstr "vcard"
 
 msgid "view"
-msgstr "voir"
+msgstr "ver"
 
 msgid "view all"
-msgstr "voir tous"
+msgstr "ver todos"
 
 msgid "view detail for this entity"
-msgstr "voir les dÈtails de cette entitÈ"
+msgstr "ver detalle de esta entidad"
 
 msgid "view workflow"
-msgstr "voir les Ètats possibles"
+msgstr "ver workflow"
 
 msgid "views"
-msgstr "vues"
+msgstr "vistas"
 
 msgid "visible"
 msgstr "visible"
 
 msgid "wednesday"
-msgstr "mercredi"
+msgstr "miercoles"
 
 msgid "week"
 msgstr "sem."
 
 #, python-format
 msgid "welcome %s !"
-msgstr "bienvenue %s !"
+msgstr "bienvenido %s !"
 
 msgid "wf_info_for"
-msgstr "historique de"
+msgstr "historial de"
 
 msgid "wf_info_for_object"
-msgstr "historique des transitions"
+msgstr "historial de transiciones"
 
 msgid ""
 "when multiple addresses are equivalent (such as python-projects@logilab.org "
 "and python-projects@lists.logilab.org), set this to true on one of them "
 "which is the preferred form."
 msgstr ""
-"quand plusieurs adresses sont Èquivalentes (comme python-projects@logilab."
-"org et python-projects@lists.logilab.org), mettez cette propriÈtÈ ‡ vrai sur "
-"l'une d'entre-elle qui sera la forme canonique"
+"cuando multiples direcciones de correo son equivalentes (como python-projects@logilab.org "
+"y python-projects@lists.logilab.org), establecer esto como verdadero en una de ellas "
+"es la forma preferida "
 
 msgid "wikiid"
-msgstr "identifiant wiki"
+msgstr "identificador wiki"
 
 #, python-format
 msgid "workflow for %s"
-msgstr "workflow pour %s"
+msgstr "workflow para %s"
 
 msgid "xbel"
 msgstr "xbel"
@@ -2987,10 +2990,10 @@
 msgstr ""
 
 msgid "yes"
-msgstr "oui"
+msgstr "si"
 
 msgid "you have been logged out"
-msgstr "vous avez ÈtÈ dÈconnectÈ"
+msgstr "ha terminado la sesion"
 
 #~ msgid "%s constraint failed"
 #~ msgstr "La contrainte %s n'est pas satisfaite"
--- a/schemas/base.py	Wed Apr 22 09:46:13 2009 -0500
+++ b/schemas/base.py	Thu Apr 30 12:27:32 2009 +0200
@@ -328,6 +328,6 @@
         'delete': ('managers',),
         }
 
-    name = String(required=True, unique=True, indexed=True, 
+    name = String(required=True, unique=True, indexed=True,  maxsize=128,
                   description=_('name of the cache'))
     timestamp = Datetime(default='NOW')
--- a/skeleton/__pkginfo__.py.tmpl	Wed Apr 22 09:46:13 2009 -0500
+++ b/skeleton/__pkginfo__.py.tmpl	Thu Apr 30 12:27:32 2009 +0200
@@ -31,7 +31,8 @@
 def listdir(dirpath):
     return [join(dirpath, fname) for fname in _listdir(dirpath)
             if fname[0] != '.' and not fname.endswith('.pyc')
-            and not fname.endswith('~')]
+            and not fname.endswith('~')
+            and not isdir(join(dirpath, fname))]¶
 
 from glob import glob
 try:
--- a/web/views/baseviews.py	Wed Apr 22 09:46:13 2009 -0500
+++ b/web/views/baseviews.py	Thu Apr 30 12:27:32 2009 +0200
@@ -158,7 +158,7 @@
         self.render_entity_metadata(entity)
         # entity's attributes and relations, excluding meta data
         # if the entity isn't meta itself
-        boxes = self._preinit_side_related(entity) or siderelations
+        boxes = self._preinit_side_related(entity, siderelations)
         if boxes:
             self.w(u'<table width="100%"><tr><td width="75%">')
         self.w(u'<div>')
@@ -244,34 +244,37 @@
                 continue
             self._render_related_entities(entity, rschema, value)
 
-    def render_entity_relations(self, entity, siderelations):
-        if hasattr(self, 'get_side_boxes_defs'):
-            return
-        eschema = entity.e_schema
-        maxrelated = self.req.property_value('navigation.related-limit')
-        for rschema, targetschemas, x in self.iter_relations(entity):
-            try:
-                related = entity.related(rschema.type, x, limit=maxrelated+1)
-            except Unauthorized:
-                continue
-            if not related:
-                continue
-            if self.is_side_related(rschema, eschema):
-                siderelations.append((rschema, related, x))
-                continue
-            self._render_related_entities(entity, rschema, related, x)
-
-    def _preinit_side_related(self, entity):
+    def _preinit_side_related(self, entity, siderelations):
         self._sideboxes = None
+        self._related_entities = []
         if hasattr(self, 'get_side_boxes_defs'):
             self._sideboxes = [(label, rset) for label, rset in self.get_side_boxes_defs(entity)
                                if rset]
+        else:
+            eschema = entity.e_schema
+            maxrelated = self.req.property_value('navigation.related-limit')
+            for rschema, targetschemas, x in self.iter_relations(entity):
+                try:
+                    related = entity.related(rschema.type, x, limit=maxrelated+1)
+                except Unauthorized:
+                    continue
+                if not related:
+                    continue
+                if self.is_side_related(rschema, eschema):
+                    siderelations.append((rschema, related, x))
+                    continue
+                self._related_entities.append((rschema, related, x)) 
         self._boxes_in_context = list(self.vreg.possible_vobjects('boxes', self.req, self.rset,
                                                  row=self.row, view=self,
                                                  context='incontext'))
-        return self._sideboxes or self._boxes_in_context
+        return self._sideboxes or self._boxes_in_context or self._related_entities or siderelations
         
-            
+    def render_entity_relations(self, entity, siderelations):
+        if self._related_entities:
+            for rschema, related, x in self._related_entities:
+                self._render_related_entities(entity, rschema, related, x)
+
+              
     def render_side_related(self, entity, siderelations):
         """display side related relations:
         non-meta in a first step, meta in a second step
@@ -330,8 +333,7 @@
                 value +=  '</div>'
         label = display_name(self.req, rschema.type, role)
         self.field(label, value, show_label=show_label, w=self.w, tr=False)
-
-
+        
 class SideBoxView(EntityView):
     """side box usually displaying some related entities in a primary view"""
     id = 'sidebox'
@@ -427,7 +429,7 @@
             self.w(u'#%s - ' % entity.eid)
         if entity.modification_date != entity.creation_date:
             self.w(u'<span>%s</span> ' % _('latest update on'))
-            self.w(u'<span class="value">%s</span>,&nbsp;'
+            self.w(u'<span class="value">%s</span>, ;'
                    % self.format_date(entity.modification_date))
         # entities from external source may not have a creation date (eg ldap)
         if entity.creation_date: 
@@ -435,7 +437,7 @@
             self.w(u'<span class="value">%s</span>'
                    % self.format_date(entity.creation_date))
         if entity.creator:
-            self.w(u'&nbsp;<span>%s</span> ' % _('by'))
+            self.w(u' <span>%s</span> ' % _('by'))
             self.w(u'<span class="value">%s</span>' % entity.creator.name())
         self.w(u'</div>')
 
@@ -690,10 +692,9 @@
         req = self.req
         self.w(u'<?xml version="1.0" encoding="%s"?>\n' % req.encoding)
         self.w(u'''<rss version="2.0"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
->''')
-        self.w(u'  <channel rdf:about="%s">\n' % html_escape(req.url()))
+>\n''')
+        self.w(u'  <channel>\n')
         self.w(u'    <title>%s RSS Feed</title>\n' % html_escape(self.page_title()))
         self.w(u'    <description>%s</description>\n' % html_escape(req.form.get('vtitle', '')))
         params = req.form.copy()
@@ -721,7 +722,8 @@
 
     def cell_call(self, row, col):
         entity = self.complete_entity(row, col)
-        self.w(u'<item rdf:about="%s">\n' % html_escape(entity.absolute_url()))
+        self.w(u'<item>\n')
+        self.w(u'<guid isPermaLink="true">%s</guid>\n' % html_escape(entity.absolute_url()))
         self.render_title_link(entity)
         self._marker('description', html_escape(entity.dc_description()))
         self._marker('dc:date', entity.dc_date(self.date_format))
@@ -734,13 +736,9 @@
            
     def render_entity_creator(self, entity):
         if entity.creator:
-            self._marker('dc:creator', entity.creator.name())
-            email = entity.creator.get_email()
-            if email:
-                self.w(u'<author>')
-                self.w(email)
-                self.w(u'</author>')       
-        
+            self._marker('dc:creator', entity.dc_creator())
+       
+                
     def _marker(self, marker, value):
         if value:
             self.w(u'  <%s>%s</%s>\n' % (marker, html_escape(value), marker))