[doc] improvements stable
authorNicolas Chauvat <nicolas.chauvat@logilab.fr>
Fri, 26 Jun 2009 13:51:08 +0200
branchstable
changeset 2175 16d3c37c5d28
parent 2174 7f576dc9502e
child 2176 1ae46634bf8e
[doc] improvements
doc/book/en/B000-development.en.txt
doc/book/en/B0015-define-permissions.en.txt
doc/book/en/MERGE_ME-tut-create-gae-app.en.txt
doc/book/en/Z010-beginners.en.txt
doc/book/en/Z012-create-instance.en.txt
doc/book/en/admin/create-instance.rst
doc/book/en/admin/gae.rst
doc/book/en/admin/index.rst
doc/book/en/admin/setup.rst
doc/book/en/annexes/cookbook.rst
doc/book/en/annexes/cubicweb-ctl.rst
doc/book/en/annexes/faq.rst
doc/book/en/annexes/rql/intro.rst
doc/book/en/annexes/rql/language.rst
doc/book/en/development/datamodel/baseschema.rst
doc/book/en/development/datamodel/define-workflows.rst
doc/book/en/development/datamodel/definition.rst
doc/book/en/development/datamodel/index.rst
doc/book/en/development/devcore/dbapi.rst
doc/book/en/development/devcore/selectors.rst
doc/book/en/development/devcore/vreg.rst
doc/book/en/development/devweb/views.rst
doc/book/en/development/entityclasses/more.rst
doc/book/en/development/index.rst
doc/book/en/development/migration/index.rst
doc/book/en/development/testing/index.rst
doc/book/en/development/webstdlib/baseviews.rst
doc/book/en/development/webstdlib/primary.rst
doc/book/en/index.rst
doc/book/en/intro/concepts/index.rst
doc/book/en/intro/foundations/index.rst
doc/book/en/intro/history.rst
doc/book/en/intro/index.rst
doc/book/en/intro/tutorial/blog-in-five-minutes.rst
doc/book/en/intro/tutorial/blog-less-ten-minutes.rst
doc/book/en/intro/tutorial/components.rst
doc/book/en/intro/tutorial/conclusion.rst
doc/book/en/intro/tutorial/create-cube.rst
doc/book/en/intro/tutorial/index.rst
doc/book/en/makefile
doc/book/en/toc.rst
--- a/doc/book/en/B000-development.en.txt	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/B000-development.en.txt	Fri Jun 26 13:51:08 2009 +0200
@@ -6,7 +6,7 @@
 Part II - Development
 =====================
 
-This part is about developing web applications with the `CubicWeb` framework.
+This part is about developing web applications with the *CubicWeb* framework.
 
 .. toctree::
    :maxdepth: 1
--- a/doc/book/en/B0015-define-permissions.en.txt	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/B0015-define-permissions.en.txt	Fri Jun 26 13:51:08 2009 +0200
@@ -11,7 +11,7 @@
 * permissions (read, update, create, delete)
 * permissions are assigned to groups (and not to users)
 
-For `CubicWeb` in particular:
+For *CubicWeb* in particular:
 
 * we associate rights at the enttities/relations schema level
 * for each entity, we distinguish four kind of permissions: read,
--- a/doc/book/en/MERGE_ME-tut-create-gae-app.en.txt	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/MERGE_ME-tut-create-gae-app.en.txt	Fri Jun 26 13:51:08 2009 +0200
@@ -7,7 +7,7 @@
 
 Ce tutoriel va vous guider pas à pas a construire une apllication web 
 de gestion de Blog afin de vous faire découvrir les fonctionnalités de
-`CubicWeb`.
+*CubicWeb*.
 
 Nous supposons que vous avec déjà suivi le guide :ref:`installationGAE`.
 
@@ -23,7 +23,7 @@
   
   cubicweb-ctl newgapp blogdemo
 
-`newgapp` est la commande permettant de créer une instance `CubicWeb` pour
+`newgapp` est la commande permettant de créer une instance *CubicWeb* pour
 le datastore.
 
 Assurez-vous que votre variable d'environnement ``PYTHONPATH`` est correctement
@@ -32,7 +32,7 @@
 Définissez un schéma
 --------------------
 
-Le modèle de données ou schéma est au coeur d'une application `CubicWeb`.
+Le modèle de données ou schéma est au coeur d'une application *CubicWeb*.
 C'est là où vous allez devoir définir le type de contenu que votre application
 devra gérer.
 
@@ -180,7 +180,7 @@
    :alt: displaying the detailed view of a blogentry
 
 Rappelez-vous que pour le moment, tout a été géré par la plate-forme
-`CubicWeb` et que la seule chose qui a été fournie est le schéma de
+*CubicWeb* et que la seule chose qui a été fournie est le schéma de
 données. D'ailleurs pour obtenir une vue graphique du schéma, exécutez
 la commande ``laxctl genschema blogdemo`` et vous pourrez visualiser
 votre schéma a l'URL suivante : http://localhost:8080/schema
--- a/doc/book/en/Z010-beginners.en.txt	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/Z010-beginners.en.txt	Fri Jun 26 13:51:08 2009 +0200
@@ -2,7 +2,7 @@
 
 .. _QuickInstall:
 
-Quick Installation of a `CubicWeb` instance
+Quick Installation of a *CubicWeb* instance
 ===========================================
 
 .. include:: C010-setup.en.txt
--- a/doc/book/en/Z012-create-instance.en.txt	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/Z012-create-instance.en.txt	Fri Jun 26 13:51:08 2009 +0200
@@ -7,7 +7,7 @@
 What is an instance?
 --------------------
 
-A `CubicWeb` instance is a container that
+A *CubicWeb* instance is a container that
 refers to cubes and configuration parameters for your web application.
 Each instance is stored as a directory in ``~/etc/cubicweb.d`` which enables 
 us to run your application.
@@ -26,12 +26,12 @@
 a debian package installation. For example, the 'blog' cube defines the entities 
 blogs and blogentries.
 
-When an `CubicWeb` instance is created, you list the cubes that you want to use. 
+When an *CubicWeb* instance is created, you list the cubes that you want to 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.
 
 
-Creating a basic `CubicWeb` Instance 
+Creating a basic *CubicWeb* Instance 
 ------------------------------------
 
 We can create an instance to view our
@@ -55,10 +55,10 @@
 (: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
+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
+a manager login/psswd of *CubicWeb*, it refers to an application user
 to administrate your web application. 
 The configuration files are stored in *~/etc/cubicweb.d/myblog/*. 
 
--- a/doc/book/en/admin/create-instance.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/admin/create-instance.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -27,7 +27,7 @@
 user used to login to the cubicweb application. When an instance starts, it uses
 the login/psswd for the database to get the schema and handle low level
 transaction. But, when :command:`cubicweb-ctl create` asks for a manager
-login/psswd of `CubicWeb`, it refers to the user you will use during the
+login/psswd of *CubicWeb*, it refers to the user you will use during the
 development to administrate your web application. It will be possible, later on,
 to use this user to create others users for your final web application.
 
--- a/doc/book/en/admin/gae.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/admin/gae.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -11,7 +11,7 @@
 support a specific Python web framework and that all
 community-supported frameworks would be more than welcome [1]_.
 
-Therefore `Logilab`_ ported `CubicWeb` to run on top of `Google AppEngine`'s
+Therefore `Logilab`_ ported *CubicWeb* to run on top of `Google AppEngine`'s
 datastore.
 
 .. _`Google AppEngine`: http://code.google.com/appengine/docs/whatisgoogleappengine.html
@@ -25,7 +25,7 @@
   http://code.google.com/appengine/downloads.html
 
 
-Please follow instructions on how to install `CubicWeb` framework
+Please follow instructions on how to install *CubicWeb* framework
 (:ref:`CubicWebInstallation`).
 
 Installation
@@ -76,7 +76,7 @@
 
 This skeleton directory is a working `AppEngine` application. You will
 recognize the files ``app.yaml`` and ``main.py``. All the rest is the
-`CubicWeb` framework and its third-party libraries. You will notice that
+*CubicWeb* framework and its third-party libraries. You will notice that
 the directory ``cubes`` is a library of reusable cubes.
 
 The main directories that you should know about are:
@@ -102,10 +102,10 @@
 Once you executed ``cubicweb-ctl newgapp <myapp>``, you can use that ``myapp/``
 as an application directory and do as follows.
 
-This installation directory provides a configuration for an instance of `CubicWeb`
+This installation directory provides a configuration for an instance of *CubicWeb*
 ported for Google App Engine. It is installed with its own command ``laxctl``
 which is a port of the command tool ``cubicweb-ctl`` originally developped for
-`CubicWeb`.
+*CubicWeb*.
 
 You can have the details of available commands by running ::
 
@@ -115,7 +115,7 @@
 Generating translation files
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-`CubicWeb` is fully internationalized. Translation catalogs are found in
+*CubicWeb* is fully internationalized. Translation catalogs are found in
 ``myapp/i18n``. To compile the translation files, use the `gettext` tools
 or the ``laxctl`` command ::
 
--- a/doc/book/en/admin/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/admin/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -6,7 +6,7 @@
 Part III - Administration
 -------------------------
 
-This part is for installation and administration of the `CubicWeb` framework and
+This part is for installation and administration of the *CubicWeb* framework and
 applications based on that framework.
 
 .. toctree::
@@ -25,7 +25,7 @@
 RQL logs
 --------
 
-You can configure the `CubicWeb` application to keep a log
+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
--- a/doc/book/en/admin/setup.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/admin/setup.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,13 +3,13 @@
 .. _SetUpEnv:
 
 ===================================================
-Installation and set-up of a `CubicWeb` environment
+Installation and set-up of a *CubicWeb* environment
 ===================================================
 
 Installation of `Cubicweb` and its dependencies
 -----------------------------------------------
 
-`CubicWeb` is packaged for Debian and Ubuntu, but can be installed from source
+*CubicWeb* is packaged for Debian and Ubuntu, but can be installed from source
 using a tarball or the Mercurial version control system.
 
 .. _DebianInstallation:
@@ -88,7 +88,7 @@
 Environment configuration
 -------------------------
 
-If you installed `CubicWeb` by cloning the Mercurial forest, then you
+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``:
 
--- a/doc/book/en/annexes/cookbook.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/annexes/cookbook.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -7,10 +7,10 @@
 life easier.
 
 
-* How to import LDAP users in `CubicWeb`?
+* 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: ::
+  into your *CubicWeb* application by running the following: ::
 
 
     import os
--- a/doc/book/en/annexes/cubicweb-ctl.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/annexes/cubicweb-ctl.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -5,7 +5,7 @@
 ``cubicweb-ctl`` tool
 =====================
 
-`cubicweb-ctl` is the swiss knife to manage `CubicWeb` instances.
+`cubicweb-ctl` is the swiss knife to manage *CubicWeb* instances.
 The general syntax is ::
 
   cubicweb-ctl <command> [options command] <arguments commands>
@@ -15,7 +15,7 @@
   cubicweb-ctl
   cubicweb-ctl --help
 
-Please note that the commands available depends on the `CubicWeb` packages
+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 ::
@@ -62,7 +62,7 @@
 Commands to maintain instances
 ------------------------------
 * ``upgrade``, launches the existing instances migration when a new version
-  of `CubicWeb` or the cubes installed is available
+  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
@@ -73,7 +73,7 @@
 
 Commands to maintain i18n catalogs
 ----------------------------------
-* ``i18ncubicweb``, regenerates messages catalogs of the `CubicWeb` library
+* ``i18ncubicweb``, regenerates messages catalogs of the *CubicWeb* library
 * ``i18ncube``, regenerates the messages catalogs of a cube
 * ``i18ninstance``, recompiles the messages catalogs of an instance.
   This is automatically done while upgrading.
--- a/doc/book/en/annexes/faq.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/annexes/faq.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -18,12 +18,12 @@
   preferred template language if you want. [explain how to use a
   template language]
 
-  `CubicWeb` does not define its own templating language as this was
+  *CubicWeb* does not define its own templating language as this was
   not our goal. Based on our experience, we realized that
   we could gain productivity by letting designers use design tools
   and developpers develop without the use of the templating language
   as an intermediary that could not be anyway efficient for both parties.
-  Python is the templating language that we use in `CubicWeb`, but again,
+  Python is the templating language that we use in *CubicWeb*, but again,
   it does not prevent you from using a templating language.
 
   The reason template languages are not used in this book is that
@@ -53,7 +53,7 @@
 
   Publishing a web site has nothing to do with redistributing
   source code. A fair amount of companies use modified LGPL code
-  for internal use. And someone could publish a `CubicWeb` component
+  for internal use. And someone could publish a *CubicWeb* component
   under a BSD licence for others to plug into a LGPL framework without
   any problem. The only thing we are trying to prevent here is someone
   taking the framework and packaging it as closed source to his own
--- a/doc/book/en/annexes/rql/intro.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/annexes/rql/intro.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -12,7 +12,7 @@
 relation).
 
 RQL is inspired by SQL but is the highest level. A knowledge of the
-`CubicWeb` schema defining the application is necessary.
+*CubicWeb* schema defining the application is necessary.
 
 Comparison with existing languages
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -22,7 +22,7 @@
 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`
+The user does not need to know the model underlying SQL, but the *CubicWeb*
 schema defining the application.
 
 Versa
--- a/doc/book/en/annexes/rql/language.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/annexes/rql/language.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -67,7 +67,7 @@
   of logical operators (see :ref:`PriorityOperators`).
 
 Mathematical Operators
-````````````````````
+```````````````````````
 ::
 
      +, -, *, /
--- a/doc/book/en/development/datamodel/baseschema.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/datamodel/baseschema.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,7 +3,7 @@
 ----------------------------------
 
 The library defines a set of entity schemas that are required by the system
-or commonly used in `CubicWeb` applications.
+or commonly used in *CubicWeb* applications.
 
 
 Entity types used to store the schema
--- a/doc/book/en/development/datamodel/define-workflows.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/datamodel/define-workflows.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -14,7 +14,7 @@
 
 We will define a simple workflow for a blog, with only the following
 two states: `submitted` and `published`. So first, we create a simple
-`CubicWeb` in ten minutes (see :ref:`BlogTenMinutes`).
+*CubicWeb* in ten minutes (see :ref:`BlogFiveMinutes`).
 
 Set-up a workflow
 -----------------
@@ -60,7 +60,7 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 The ``postcreate.py`` script is executed in a special environment, adding
-several `CubicWeb` primitives that can be used.
+several *CubicWeb* primitives that can be used.
 They are all defined in the ``class ServerMigrationHelper``.
 We will only discuss the methods we use to create a workflow in this example.
 
@@ -131,7 +131,7 @@
 ~~~~~~~~~~~~~~
 
 A workflow is a collection of entities of type ``State`` and of type ``Transition``
-which are standard `CubicWeb` entity types.
+which are standard *CubicWeb* entity types.
 For instance, the following lines::
 
   submitted = add_state(_('submitted'), 'BlogEntry', initial=True)
--- a/doc/book/en/development/datamodel/definition.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/datamodel/definition.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,10 +3,10 @@
 Yams *schema*
 -------------
 
-The **schema** is the core piece of a `CubicWeb` application as it defines
+The **schema** is the core piece of a *CubicWeb* application as it defines
 the handled data model. It is based on entity types that are either already
-defined in the `CubicWeb` standard library; or more specific types, that
-`CubicWeb` expects to find in one or more Python files under the directory
+defined in the *CubicWeb* standard library; or more specific types, that
+*CubicWeb* expects to find in one or more Python files under the directory
 `schema`.
 
 At this point, it is important to make clear the difference between
@@ -18,7 +18,7 @@
 relation definition of the schema.
 
 
-All `CubicWeb` built-in types are available : `String`, `Int`, `Float`,
+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 "_"
@@ -168,7 +168,7 @@
 * permissions (read, update, create, delete)
 * permissions are assigned to groups (and not to users)
 
-For `CubicWeb` in particular:
+For *CubicWeb* in particular:
 
 * we associate rights at the enttities/relations schema level
 * for each entity, we distinguish four kind of permissions: read,
@@ -315,7 +315,7 @@
 `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.
+or the relation in *CubicWeb* application.
 
 An attribute is defined in the schema as follows::
 
--- a/doc/book/en/development/datamodel/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/datamodel/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -11,3 +11,4 @@
    baseschema
 
 ..    define-workflows
+..    inheritance
--- a/doc/book/en/development/devcore/dbapi.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/devcore/dbapi.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -20,7 +20,7 @@
 
 The `Connection` object owns the methods `commit` and `rollback`. You *should
 never need to use them* during the development of the web interface based on
-the `CubicWeb` framework as it determines the end of the transaction depending
+the *CubicWeb* framework as it determines the end of the transaction depending
 on the query execution success.
 
 .. note::
--- a/doc/book/en/development/devcore/selectors.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/devcore/selectors.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -7,7 +7,7 @@
 essential part of the construction of well behaved cubes.
 
 
-`CubicWeb` provides its own set of selectors that you can use and here is a
+*CubicWeb* provides its own set of selectors that you can use and here is a
 description of some of the most common used:
 
 Of course you will write your own set of selectors as you get familiar with the
--- a/doc/book/en/development/devcore/vreg.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/devcore/vreg.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -1,3 +1,5 @@
+.. -*- coding: utf-8 -*-
+
 The VRegistry
 --------------
 
@@ -7,21 +9,23 @@
 Details of the recording process
 ````````````````````````````````
 
-* par défaut on enregistre automatiquement tout les objets
+XXX this part needs to be updated and checked
+
+* by default all objects are registered automatically
 
-* si certains objets doivent remplacer d'autres objets ou être inclus
-  conditionnellement,
-  - enregistrement explicite en définissant la fonction `registration_callback(vreg)`
-  - appel des méthodes d'enregistrement des objets sur le vreg
+* if some objects have to replace other objects or be included only if a
+  condition is true,
+  - explicitly register the object by defining `registration_callback(vreg)`
+  - call registration methods on objects listed in the vreg registry
+
 .. note::
     Once the function `registration_callback(vreg)` is implemented, all the objects
-    need to be explicitly registered as it disables the automatic object registering.
+    have to be explicitly registered as it disables the automatic object registering.
 
-* suppression de l'ancien système quand il ne restera plus de réference au
-  module registerers dans le code des cubes existants.
+* the old registration mechanism will be removed when there will be no reference
+  left to the registerers module in cubicweb and the library of cubes.
 
-
-Examples
+Examples:
 
 .. code-block:: python
 
@@ -40,6 +44,7 @@
 
 API d'enregistrement des objets
 ```````````````````````````````
+
 .. code-block:: python
 
    register(obj, registryname=None, oid=None, clear=False)
@@ -58,7 +63,8 @@
 
 Defining selectors
 ``````````````````
-The object's selector is defined by itsd `__select__` class attribute.
+
+The object's selector is defined by its `__select__` class attribute.
 
 When two selectors are combined using the `&` operator (former `chainall`), it
 means that both should return a positive score. On success, the sum of scores is returned.
@@ -86,18 +92,20 @@
 Example
 ````````
 
-Le but final : quand on est sur un Blog, on veut que le lien rss de celui-ci pointe
-vers les entrées de ce blog, non vers l'entité blog elle-même.
+XXX this part needs to be translated
 
-L'idée générale pour résoudre ça : on définit une méthode sur les classes d'entité
+Le but final : quand on est sur un Blog, on veut que le lien rss de celui-ci pointe
+vers les entrées de ce blog, non vers l'entité blog elle-même.
+
+L'idée générale pour résoudre ça : on définit une méthode sur les classes d'entité
 qui renvoie l'url du flux rss pour l'entité en question. Avec une implémentation
-par défaut sur AnyEntity et une implémentation particulière sur Blog qui fera ce
+par défaut sur AnyEntity et une implémentation particulière sur Blog qui fera ce
 qu'on veut.
 
-La limitation : on est embêté dans le cas ou par ex. on a un result set qui contient
+La limitation : on est embêté dans le cas ou par ex. on a un result set qui contient
 plusieurs entités Blog (ou autre chose), car on ne sait pas sur quelle entité appeler
 la méthode sus-citée. Dans ce cas, on va conserver le comportement actuel (eg appel
-à limited_rql)
+à limited_rql)
 
 Donc : on veut deux cas ici, l'un pour un rset qui contient une et une seule entité,
 l'autre pour un rset qui contient plusieurs entité.
@@ -116,7 +124,7 @@
   pour voir le détail)
 * non_final_entity, qui filtre sur des rset contenant une liste d'entité non finale
 
-ça correspond donc à notre 2eme cas. Reste à fournir un composant plus spécifique
+ça correspond donc à notre 2eme cas. Reste à fournir un composant plus spécifique
 pour le 1er cas ::
 
   class EntityRSSIconBox(RSSIconBox):
@@ -130,11 +138,11 @@
 non sélectionnable). Donc ici, sur un rset avec plusieurs entités, onelinerset_selector
 rendra la classe EntityRSSIconBox non sélectionnable, et on obtiendra bien la
 classe RSSIconBox. Pour un rset avec une entité, la classe EntityRSSIconBox aura un
-score supérieur à RSSIconBox et c'est donc bien elle qui sera sélectionnée.
+score supérieur à RSSIconBox et c'est donc bien elle qui sera sélectionnée.
 
-Voili voilou, il reste donc pour finir tout ça :
+Voili voilou, il reste donc pour finir tout ça :
 
-* à définir le contenu de la méthode call de EntityRSSIconBox
+* à définir le contenu de la méthode call de EntityRSSIconBox
 * fournir l'implémentation par défaut de la méthode renvoyant l'url du flux rss sur
   AnyEntity
 * surcharger cette methode dans blog.Blog
@@ -144,8 +152,8 @@
 ```````````````````````
 
 Il faut utiliser les sélecteurs pour faire des choses différentes en
-fonction de ce qu'on a en entrée. Dès qu'on a un "if" qui teste la
-nature de `self.rset` dans un objet, il faut très sérieusement se
+fonction de ce qu'on a en entrée. Dès qu'on a un "if" qui teste la
+nature de `self.rset` dans un objet, il faut très sérieusement se
 poser la question s'il ne vaut pas mieux avoir deux objets différent
 avec des sélecteurs approprié.
 
--- a/doc/book/en/development/devweb/views.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/devweb/views.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,11 +3,11 @@
 
 This chapter aims to describe the concept of a `view` used all along
 the development of a web application and how it has been implemented
-in `CubicWeb`.
+in *CubicWeb*.
 
 We'll start with a description of the interface providing you with a basic
 understanding of the classes and methods available, then detail the view
-selection principle which makes `CubicWeb` web interface very flexible.
+selection principle which makes *CubicWeb* web interface very flexible.
 
 A `View` is an object applied to another object such as an entity.
 
@@ -186,7 +186,7 @@
    :alt: a blog and all its entries
 
 **Before we move forward, remember that the selection/view principle is
-at the core of `CubicWeb`. Everywhere in the engine, data is requested
+at the core of *CubicWeb*. Everywhere in the engine, data is requested
 using the RQL language, then HTML/XML/text/PNG is output by applying a
 view to the result set returned by the query. That is where most of the
 flexibility comes from.**
--- a/doc/book/en/development/entityclasses/more.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/entityclasses/more.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -1,12 +1,14 @@
 Navigation on deletion
 ----------------------
+
 XXX after_deletion_path, pre_web_edit
 
 Controlling output url
----------------------
-XXX
+-----------------------
+
+XXX write me
 
 Controling notification references
 ----------------------------------
-XXX
 
+XXX write me
--- a/doc/book/en/development/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -4,7 +4,7 @@
 Part II - Development
 ---------------------
 
-This part is about developing web applications with the `CubicWeb` framework.
+This part is about developing web applications with the *CubicWeb* framework.
 
 .. toctree::
    :maxdepth: 2
--- a/doc/book/en/development/migration/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/migration/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -5,7 +5,7 @@
 Migration
 =========
 
-One of the main concept in `CubicWeb` is to create incremental applications.
+One of the main concept in *CubicWeb* is to create incremental applications.
 For this purpose, multiple actions are provided to facilitate the improvement
 of an application, and in particular to handle the changes to be applied
 to the data model, without loosing existing data.
@@ -45,7 +45,7 @@
 
 Again in the directory `migration`, the file `depends.map` allows to indicate
 that for the migration to a particular model version, you always have to first
-migrate to a particular `CubicWeb` version. This file can contain comments (lines
+migrate to a particular *CubicWeb* version. This file can contain comments (lines
 starting by `#`) and a dependancy is listed as follows: ::
 
   <model version n° X.Y.Z> : <cubicweb version n° X.Y.Z>
--- a/doc/book/en/development/testing/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/testing/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -10,7 +10,7 @@
 Unit tests
 ----------
 
-`CubicWeb` framework provides essentially two Python test classes in the
+*CubicWeb* framework provides essentially two Python test classes in the
 module `cubicweb.devtools.apptest`:
 
 * `EnvBasedTC`, to simulate a complete environment (web + repository)
--- a/doc/book/en/development/webstdlib/baseviews.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/webstdlib/baseviews.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,7 +3,7 @@
 Base views (:mod:`cubicweb.web.views.baseviews`)
 ------------------------------------------------
 
-`CubicWeb` provides a lot of standard views. You can find them in
+*CubicWeb* provides a lot of standard views. You can find them in
 ``cubicweb/web/views/``.
 
 A certain number of views are used to build the web interface, which apply
--- a/doc/book/en/development/webstdlib/primary.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/development/webstdlib/primary.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -9,7 +9,7 @@
 Rendering methods and attributes for ``PrimaryView``
 ----------------------------------------------------
 
-By default, `CubicWeb` provides a primary view for each new entity type
+By default, *CubicWeb* provides a primary view for each new entity type
 you create. The first view you might be interested in modifying.
 
 Let's have a quick look at the EntityView ``PrimaryView`` as well as
--- a/doc/book/en/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,10 +3,10 @@
 .. _contents:
 
 =====================================================
-`CubicWeb` - The Semantic Web is a construction game!
+*CubicWeb* - The Semantic Web is a construction game!
 =====================================================
 
-`CubicWeb` is a semantic web application framework, licensed under the LGPL,
+*CubicWeb* is a semantic web application framework, licensed under the LGPL,
 that empowers developers to efficiently build web applications by reusing
 components (called `cubes`) and following the well known object-oriented design
 principles.
@@ -14,14 +14,14 @@
 Its main features are:
 
 * an engine driven by the explicit :ref:`data model <DefineDataModel>` of the application,
-* a query language name :ref:`RQL <RQL>` similar to W3C's SPARQL,
+* a query language named :ref:`RQL <RQL>` similar to W3C's SPARQL,
 * a :ref:`selection+view <DefineViews>` mechanism for semi-automatic XHTML/XML/JSON/text generation,
 * a library of reusable :ref:`components <cubes>` (data model and views) that fulfill common needs,
 * the power and flexibility of the Python_ programming language,
 * the reliability of SQL databases, LDAP directories, Subversion and Mercurial for storage backends.
 
 Built since 2000 from an R&D effort still continued, supporting 100,000s of
-daily visits at some production sites, `CubicWeb` is a proven end to end solution
+daily visits at some production sites, *CubicWeb* is a proven end to end solution
 for semantic web application development that promotes quality, reusability and
 efficiency.
 
@@ -31,12 +31,17 @@
 
 The impatient developer will move right away to :ref:`SetUpEnv`.
 
+The chatter lover will join the `jabber forum`_, the `mailing-list`_ and the blog_.
+
 .. _Logilab: http://www.logilab.fr/
 .. _forge: http://www.cubicweb.org/project/
 .. _Python: http://www.python.org/
+.. _`jabber forum`: http://www.logilab.org/blogentry/6718
+.. _`mailing-list`: http://lists.cubicweb.org/mailman/listinfo/cubicweb
+.. _blog: http://www.cubicweb.org/blog/1238
 
-The book
-========
+Table of Contents
+=================
 
 .. toctree::
    :maxdepth: 2
@@ -46,17 +51,10 @@
    admin/index
    annexes/index
 
-
-
-Table of Contents
------------------
-
-Complete :ref:`TOC`.
+See also:
 
-Indices and tables
-==================
+* the complete :ref:`TOC`,
+* the :ref:`genindex`,
+* the :ref:`modindex`,
+* and the :ref:`search`.
 
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
--- a/doc/book/en/intro/concepts/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/concepts/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,75 +3,64 @@
 The Core Concepts of CubicWeb
 =============================
 
-.. toctree::
-   :maxdepth: 1
-
-------------------------------
-
-This section aims to provide you the keys of success with *CubicWeb*
-by clarifying the terms specific to our framework. If you want to do anything
-serious with CubicWeb, you should understand concepts in those lines.
-
-*CubicWeb* defines its own terminology. To make sure there is no confusion
-while reading this book, we strongly recommand you take time to go through
-the following definitions that are the basics to understand while
-developing with *CubicWeb*.
-
+This section defines some terms and core concepts of the *CubicWeb*
+framework. To avoid confusion while reading this book, take time to go through
+the following definitions and use this section as a reference during your
+reading.
 
 .. _Cube:
 
 Cubes
 -----
-** Construct your application by assembling cubes **
+
+A cube is a software component composed of three parts: its data model (schema),
+its logic (entities) and its user interface (views).
 
-A cube provides a specific functionality, or a complete *CubicWeb*
-application usually by assembling other cubes.
-
-It's usually composed of a data model, some logic to manipulate it and some parts
-of web interface.
+A cube can use other cubes as building blocks and assemble them to provide
+a whole with richer functionnalities than its parts. The cubes `cubicweb-blog`_
+and `cubicweb-comment`_ could be used to make a cube named *myblog* with
+commentable blog entries.
 
-You can decide to write your own set of cubes if you wish to re-use the
-entity types you develop or/and if you have specific needs not covered by
-cubes are available from the `CubicWeb Forge`_ under a free software license.
+The `CubicWeb Forge`_ offers a large number of cubes developed by the community
+and available under a free software license.
 
-Available cubes on your system are defined in the directory
-:file:`/usr/share/cubicweb/cubes` when using a system wide installation.  For people
-using the mercurial repository of cubicweb, the :file:`/path/to/forest/cubicweb/cubes`
-directory is used. You can specify additional location using the :envvar:`CW_CUBES_PATH`
-environment variable, using ':' as separator.
+Available cubes on your system are usually stored in the directory
+:file:`/usr/share/cubicweb/cubes` when using a unix system wide
+installation. During development, the cubes are found in the
+:file:`/path/to/cubicweb_forest/cubes` directory. You can specify additional
+locations using the :envvar:`CW_CUBES_PATH` environment variable, using ':' as a
+separator.
 
 .. _`CubicWeb Forge`: http://www.cubicweb.org/project/
-
+.. _`cubicweb-blog`: http://www.cubicweb.org/project/cubicweb-blog
+.. _`cubicweb-comment`: http://www.cubicweb.org/project/cubicweb-comment
 
 
 Instances
 ----------
-** *CubicWeb* framework is a server/client application framework**
 
-An instance is a specific installation of one or multiple cubes. All the required
-configuration files necessary for the well being of your web application are
-grouped in an instance. This will refer to the cube(s) your application is based
-on.  For example logilab.org and our intranet are two instances of a single cube
-`jpl`
+An instance is a runnable application installed on a computer and based on a
+cube.
 
-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).
+The instance directory includes the configuration files. Several instances can
+be created based on the same cube. For exemple, several software forges can be
+set up on one computer system based on the `cubicweb-forge`_ cube.
 
-An instance usually usually consists into a web interface which is talking to a
-rql repository, itself connected to a SQL database, all into a single
-process. You can have some more complicated configurations using several web
-front-ends talking to a rql repository using `Pyro`_, databases replication...
+.. _`cubicweb-forge`: http://www.cubicweb.org/project/cubicweb-forge
+
+Instances can be of different types: all-in-one, web engine or data repository. For
+applications that support high traffic, several web (front-end) and data
+(back-end) instances can be set-up to share the load.
 
 .. image:: ../../images/archi_globale.en.png
 
-The term application is sometimes used to talk about an instance and sometimes to
-talk of a cube depending on the context.  So we would like to avoid using this
-term and try to use *cube* and *instance* instead.
+The term application can refer to an instance or to a cube, depending on the
+context. This book will try to avoid using this term and use *cube* and
+*instance* as appropriate.
 
-Data Repository
-~~~~~~~~~~~~~~~
+(Data) Repository
+~~~~~~~~~~~~~~~~~~
+
 The repository (Be carefull not to get confused with a Mercurial repository or a
 debian repository!) manages all interactions with various data sources by
 providing access to them using uniformly using the Relation Query Language (RQL).  The
--- a/doc/book/en/intro/foundations/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-`CubicWeb` Foundations
-======================
-
-A little history...
--------------------
-
-`CubicWeb` is a web application framework developped by Logilab_ since 2001.
-
-Entirely written in Python, `CubicWeb` publishes data from all sorts
-of sources such as SQL database, LDAP directory and versioning system such
-as subversion.
-
-`CubicWeb` user interface was designed to let the final user a huge flexibility
-on how to select and how to display content. It allows to browse the knowledge
-database and to display the results with the best rendering according to
-the context.
-This interface flexibility gives back the user the control of the
-rendering parameters that are usually reserved for developers.
-
-
-We can list a couple of web applications developped with `CubicWeb`, an online
-public phone directory (see http://www.118000.fr/), a system for managing
-digital studies and simulations for a research lab, a tool for shared children
-babysitting (see http://garde-partagee.atoukontact.fr/), a tool to manage
-software developpment (see http://www.logilab.org), an application for
-managing museums collections (see
-http://collections.musees-haute-normandie.fr/collections/), etc.
-
-In 2008, `CubicWeb` was ported for a new type of source : the datastore
-from `GoogleAppEngine`_.
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/intro/history.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -0,0 +1,30 @@
+.. -*- coding: utf-8 -*-
+
+A little history...
+======================
+
+*CubicWeb* is a semantic web application framework that Logilab_ started
+developing in 2001 as an offspring of its Narval_ research project. *CubicWeb*
+is written in Python and includes a data server and a web engine.
+
+Its data server publishes data federated from different sources like SQL
+databases, LDAP directories and versioning systems (such as subversion or
+mercurial).
+
+Its web engine was designed to let the final user control what content to select
+and how to display it. It allows one to browse the federated data sources and
+display the results with the rendering that best fits the context. This
+flexibility of the user interface gives back to the user some capabilities
+usually only accessible to application developers.
+
+*CubicWeb* has been developed by Logilab_ and used in-house for many years
+before it was first installed for its clients in 2006 as version 2.
+
+In 2008, *CubicWeb* version 3 became downloadable for free under the terms of
+the LGPL license. Its community is now steadily growing as changes can occur
+rapidly thanks to the time and energy originally put in the design of the
+framework.
+
+
+.. _Narval: http://www.logilab.org/project/narval
+.. _Logilab: http://www.logilab.fr/
--- a/doc/book/en/intro/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,18 +3,18 @@
 .. _Part1:
 
 -----------------------------------
-Part I - Introduction to `CubicWeb`
+Part I - Introduction to *CubicWeb*
 -----------------------------------
 
-This first part of the book will present different reading path to
-discover the `CubicWeb` framework, provide a tutorial to get a quick
-overview of its features and list its key concepts.
+This first part of the book offers different reading path to
+discover the *CubicWeb* framework, provides a tutorial to get a quick
+overview of its features and lists its key concepts.
 
 
 .. toctree::
    :maxdepth: 2
 
    book-map
-   foundations/index
+   history
    concepts/index
    tutorial/index
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/intro/tutorial/blog-in-five-minutes.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -0,0 +1,25 @@
+.. -*- coding: utf-8 -*-
+
+.. _BlogFiveMinutes:
+
+Get a blog running in five minutes!
+-----------------------------------
+
+First install the following packages (:ref:`DebianInstallation`)::
+
+    cubicweb, cubicweb-dev, cubicweb-blog
+
+Then create and initialize your instance::
+
+    cubicweb-ctl create blog myblog
+
+And start it::
+
+    cubicweb-ctl start -D myblog
+
+This is it. Your blog is running. Visit http://localhost:8080 and enjoy it!
+
+As a developer, you'll want to know more about developing new cubes and
+customizing the look of your instance. This is what the next section is about.
+
+
--- a/doc/book/en/intro/tutorial/blog-less-ten-minutes.rst	Thu Jun 25 20:29:27 2009 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-.. -*- coding: utf-8 -*-
-
-.. _BlogTenMinutes:
-
-Get a Blog running in less than ten minutes!
---------------------------------------------
-
-You need to install the following packages (:ref:`DebianInstallation`)::
-
-    cubicweb, cubicweb-dev, cubicweb-blog
-
-Creation and initialization of your application by running::
-
-    cubicweb-ctl create blog myblog
-
-Your application is now ready to go::
-
-    cubicweb-ctl start -D myblog
-
-This is it. Your blog is running. Go to http://localhost:8080 and enjoy!
-
-As a developer, you'll want to know more about how to develop new
-cubes and cutomize the look of your application and this is what the next
-section is about.
-
-
--- a/doc/book/en/intro/tutorial/components.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/tutorial/components.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -67,7 +67,7 @@
 ~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 Once you modified your data model, you need to synchronize the
-database with your model. For this purpose, `CubicWeb` provides
+database with your model. For this purpose, *CubicWeb* provides
 a very useful command ``cubicweb-ctl shell blogdemo`` which
 launches an interactive migration Python shell. (see
 :ref:`cubicweb-ctl` for more details))
--- a/doc/book/en/intro/tutorial/conclusion.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/tutorial/conclusion.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -3,7 +3,7 @@
 What's next?
 ------------
 
-We demonstrated how from a straight out of the box `CubicWeb`
+We demonstrated how from a straight out of the box *CubicWeb*
 installation, you can build your web-application based on a
 schema. It's all already there: views, templates, permissions,
 etc. The step forward is now for you to customize according
--- a/doc/book/en/intro/tutorial/create-cube.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/tutorial/create-cube.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -4,10 +4,10 @@
 ----------------
 
 The packages ``cubicweb`` and ``cubicweb-dev`` installs a command line tool
-for `CubicWeb` called ``cubicweb-ctl``. This tool provides a wide range of
+for *CubicWeb* called ``cubicweb-ctl``. This tool provides a wide range of
 commands described in details in :ref:`cubicweb-ctl`.
 
-Once your `CubicWeb` development environment is set up, you can create a new
+Once your *CubicWeb* development environment is set up, you can create a new
 cube::
 
   cubicweb-ctl newcube blog
@@ -21,7 +21,7 @@
 Define your data model
 ----------------------
 
-The data model or schema is the core of your `CubicWeb` application.
+The data model or schema is the core of your *CubicWeb* application.
 It defines the type of content your application will handle.
 
 The data model of your cube ``blog`` is defined in the file ``schema.py``:
@@ -91,7 +91,7 @@
 
 .. image:: ../../images/blog-demo-first-page.png
 
-Please notice that so far, the `CubicWeb` franework managed all aspects of
+Please notice that so far, the *CubicWeb* franework managed all aspects of
 the web application based on the schema provided at first.
 
 
@@ -183,7 +183,7 @@
 
 A view is defined by a Python class which includes:
 
-  - an identifier (all objects in `CubicWeb` are entered in a registry
+  - an identifier (all objects in *CubicWeb* are entered in a registry
     and this identifier will be used as a key)
 
   - a filter to select the result sets it can be applied to
@@ -191,11 +191,11 @@
 A view has a set of methods complying
 with the `View` class interface (`cubicweb.common.view`).
 
-`CubicWeb` provides a lot of standard views for the type `EntityView`;
+*CubicWeb* provides a lot of standard views for the type `EntityView`;
 for a complete list, read the code in directory ``cubicweb/web/views/``.
 
 A view is applied on a `result set` which contains a set of
-entities we are trying to display. `CubicWeb` uses a selector
+entities we are trying to display. *CubicWeb* uses a selector
 mechanism which computes for each available view a score:
 the view with the highest score is then used to display the given `result set`.
 The standard library of selectors is in
--- a/doc/book/en/intro/tutorial/index.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/intro/tutorial/index.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -5,17 +5,14 @@
 Tutorial
 ========
 
-`CubicWeb` is a semantic web application framework that favors reuse and
+*CubicWeb* is a semantic web application framework that favors reuse and
 object-oriented design.
 
 A `cube` is a component that includes a model defining the data types and a set of
-views to display the data.
+views to display the data. A cube can be built by assembling other cubes.
 
-An application is a `cube`, but usually an application is built by assembling
-a few smaller cubes.
-
-An `instance` is a specific installation of an application and includes
-configuration files.
+An `instance` is a specific installation of a cube and includes configuration
+files.
 
 
 This tutorial will show how to create a `cube` and how to use it as an
@@ -24,7 +21,7 @@
 .. toctree::
    :maxdepth: 2
 
-   blog-less-ten-minutes
+   blog-in-five-minutes
    create-cube
    components
    maintemplate
--- a/doc/book/en/makefile	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/makefile	Fri Jun 26 13:51:08 2009 +0200
@@ -1,5 +1,5 @@
 MKHTML=mkdoc
-MKHTMLOPTS=--doctype article --target html --stylesheet standard 
+MKHTMLOPTS=--doctype article --target html --stylesheet standard
 SRC=.
 
 TXTFILES:= $(wildcard *.txt)
@@ -9,11 +9,13 @@
 SPHINXOPTS    =
 SPHINXBUILD   = sphinx-build
 PAPER         =
+#BUILDDIR      = build
+BUILDDIR      = /tmp/cwdoc
 
 # Internal variables for sphinx
 PAPEROPT_a4     = -D latex_paper_size=a4
 PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS   = -d build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+ALLSPHINXOPTS   = -d ${BUILDDIR}/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
 
 
 .PHONY: help clean html web pickle htmlhelp latex changes linkcheck
@@ -23,7 +25,7 @@
 	@echo "  all       to make standalone HTML files, developer manual and API doc"
 	@echo "  apidoc    to make API doc"
 	@echo "  html      to make standalone HTML files"
-	@echo "---  "	
+	@echo "---  "
 	@echo "  pickle    to make pickle files (usable by e.g. sphinx-web)"
 	@echo "  htmlhelp  to make HTML files and a HTML help project"
 	@echo "  latex     to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@@ -33,59 +35,59 @@
 clean:
 	rm -rf apidoc/
 	rm -f *.html
-	-rm -rf build/*
+	-rm -rf ${BUILDDIR}/*
 
 all: ${TARGET} apidoc html
 
 %.html: %.txt
 	${MKHTML} ${MKHTMLOPTS} $<
 
-#apydoc: 
+#apydoc:
 #	epydoc --html -o epydoc/ -n ../server/*.py ../core/*.py ../common/*.py ../server/*/*.py ../modpython/*/*.py ../common/*/*.py
 apidoc:
 	epydoc --html -o apidoc -n "cubicweb" --exclude=setup --exclude=__pkginfo__ ../../../
 
 # run sphinx ###
 html:
-	mkdir -p build/html build/doctrees
-	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) build/html
+	mkdir -p ${BUILDDIR}/html ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) ${BUILDDIR}/html
 	@echo
-	@echo "Build finished. The HTML pages are in build/html."
+	@echo "Build finished. The HTML pages are in ${BUILDDIR}/html."
 
 pickle:
-	mkdir -p build/pickle build/doctrees
-	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) build/pickle
+	mkdir -p ${BUILDDIR}/pickle ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) ${BUILDDIR}/pickle
 	@echo
 	@echo "Build finished; now you can process the pickle files or run"
-	@echo "  sphinx-web build/pickle"
+	@echo "  sphinx-web ${BUILDDIR}/pickle"
 	@echo "to start the sphinx-web server."
 
 web: pickle
 
 htmlhelp:
-	mkdir -p build/htmlhelp build/doctrees
-	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) build/htmlhelp
+	mkdir -p ${BUILDDIR}/htmlhelp ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) ${BUILDDIR}/htmlhelp
 	@echo
 	@echo "Build finished; now you can run HTML Help Workshop with the" \
-	      ".hhp project file in build/htmlhelp."
+	      ".hhp project file in ${BUILDDIR}/htmlhelp."
 
 latex:
-	mkdir -p build/latex build/doctrees
-	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) build/latex
+	mkdir -p ${BUILDDIR}/latex ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) ${BUILDDIR}/latex
 	@echo
-	@echo "Build finished; the LaTeX files are in build/latex."
+	@echo "Build finished; the LaTeX files are in ${BUILDDIR}/latex."
 	@echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \
 	      "run these through (pdf)latex."
 
 changes:
-	mkdir -p build/changes build/doctrees
-	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) build/changes
+	mkdir -p ${BUILDDIR}/changes ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) ${BUILDDIR}/changes
 	@echo
-	@echo "The overview file is in build/changes."
+	@echo "The overview file is in ${BUILDDIR}/changes."
 
 linkcheck:
-	mkdir -p build/linkcheck build/doctrees
-	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) build/linkcheck
+	mkdir -p ${BUILDDIR}/linkcheck ${BUILDDIR}/doctrees
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) ${BUILDDIR}/linkcheck
 	@echo
 	@echo "Link check complete; look for any errors in the above output " \
-	      "or in build/linkcheck/output.txt."
+	      "or in ${BUILDDIR}/linkcheck/output.txt."
--- a/doc/book/en/toc.rst	Thu Jun 25 20:29:27 2009 +0200
+++ b/doc/book/en/toc.rst	Fri Jun 26 13:51:08 2009 +0200
@@ -9,17 +9,17 @@
 .. toctree::
    :numbered:
 
-   concepts/index
-   cubes/index
-   datamodel/index
-   entityclasses/index
-   devcore/index
-   devweb/index
-   devrepo/index
-   testing/index
-   migration/index
-   webstdlib/index
+   intro/concepts/index
+   development/cubes/index
+   development/datamodel/index
+   development/entityclasses/index
+   development/devcore/index
+   development/devweb/index
+   development/devrepo/index
+   development/testing/index
+   development/migration/index
+   development/webstdlib/index
    admin/index
-   rql/index
+   annexes/rql/index
    annexes/index