diff --git a/modules/plugin_dbui/converter.py b/modules/plugin_dbui/converter.py
index 6b12a001888c8c52fab7d5cb253f778545da02a6..8886cda5d4e79a208b94f448868a28950572fdd5 100644
--- a/modules/plugin_dbui/converter.py
+++ b/modules/plugin_dbui/converter.py
@@ -1,4 +1,4 @@
-""" a series of converter to transform L{gluon.dal} objects into Ext JS widgets.
+""" a series of converter to transform *gluon.dal* objects into Ext JS widgets.
 
 """
 import gluon.dal
@@ -48,9 +48,10 @@ X_LINKED_COMBO = ['xcomboboxmaster', 'xcomboboxslave']
 
 
 def _to_field(field, linkedcombo=True, **kwargs):
-    """Build the L{Field} configuration associated to the database ``field``.
-    The conversion takes into account the L{FieldsModifier} instructions
-    but does not handle ``FieldContainer``.
+    """Build the :class:`plugin_dbui.extjs.Field` configuration associated
+    to the database ``field``. The conversion takes into account the 
+    :class:`plugin_dbui.fieldmodifier.FieldsModifier` instructions
+    but does not handle :class:`plugin_dbui.extjs.FieldContainer`.
     
     :type field: gluon.dal.Field
     :param field:
@@ -65,17 +66,20 @@ def _to_field(field, linkedcombo=True, **kwargs):
         ``Ext.form.Field`` class. They are applied in the following order:
         constructor, modifiers and keyword arguments.
     
-    :returns: Field
+    :returns: :class:`plugin_dbui.extjs.Field`
     
     :note: 
-        The return configurator is a L{Field}. However it can be a 
-        L{ComboBox}, a L{FieldDate}, a L{FieldTextArea}, ... 
+        The return configurator is a :class:`plugin_dbui.extjs.Field`. 
+        However it can be a  :class:`plugin_dbui.extjs.ComboBox`, 
+        a :class:`plugin_dbui.extjs.FieldDate`, 
+        a :class:`plugin_dbui.extjs.FieldTextArea`, ... 
         depending on the ``type`` of the database field.
-        The association is defined in the dictionary L{FTYPE_TO_XTYPE}.
+        The association is defined in the dictionary 
+        :const:`FTYPE_TO_XTYPE`.
      
     :attention: 
-        It is recommended to used the more general method L{to_field}
-        which also understands ``FieldContainer``.
+        It is recommended to used the more general method :meth:`to_field`
+        which also understands :class:`plugin_dbui.extjs.FieldContainer`.
     
     """
     T = current.T
@@ -172,19 +176,25 @@ def _to_field(field, linkedcombo=True, **kwargs):
 
 
 def to_field(field, composite=True, linkedcombo=True, **kwargs):
-    """Build the L{Field} configuration for the database field.
-    The conversion handles L{FieldContainer} and takes into account
-    the ``FieldsModifier`` instructions.
+    """Build the :class:`plugin_dbui.extjs.Field` configuration for 
+    the database field. The conversion handles 
+    :class:`plugin_dbui.extjs.FieldContainer` and takes into account
+    the :class:`plugin_dbui.fieldsmodifier.FieldsModifier` instructions.
 
     :note: 
-        The return configurator is a L{Field}. However it can be a 
-        L{ComboBox}, a L{FieldDate}, a L{FieldTextArea}, ... 
+        The return configurator is a :class:`plugin_dbui.extjs.Field`. 
+        However it can be a :class:`plugin_dbui.extjs.ComboBox`, 
+        a :class:`plugin_dbui.extjs.FieldDate`, 
+        :class:`plugin_dbui.extjs.FieldTextArea`, ... 
         depending on the ``type`` of the database field.
-        The association is defined in the dictionary L{FTYPE_TO_XTYPE}.
+        The association is defined in the dictionary 
+        :const:`FTYPE_TO_XTYPE`.
     
     :note: 
-        The database fields can be organized in L{FieldContainer}
-        in the application model using the modifiers L{FieldsModifier}.
+        The database fields can be organized in  
+        :class:`plugin_dbui.extjs.FieldContainer` in the application 
+        model using the modifiers 
+        :class:`plugin_dbui.fieldsmodifier.FieldsModifier`.
 
     :type field: gluon.dal.Field
     :param field:
@@ -205,10 +215,10 @@ def to_field(field, composite=True, linkedcombo=True, **kwargs):
         class. They are applied in the following order:
         constructor, modifiers and keyword arguments.
     
-    :returns: Field or ``None``
+    :returns: 
+        :class:`plugin_dbui.extjs.Field` or ``None``
     
-    :note: 
-        Return None when composite is ``True`` and when
+        Return ``None`` when composite is ``True`` and when
         the field is consumed by a ``FieldContainer``.
     
     """
@@ -250,26 +260,28 @@ def to_field(field, composite=True, linkedcombo=True, **kwargs):
 
     
 def to_fields(table):
-    """Build the list L{Field} configuration for each field 
-    of the database ``table``. 
+    """Build the list :class:`plugin_dbui.extjs.Field` configuration 
+    for each field of the database ``table``. 
 
-    :note: 
-        The return configuration is a L{Field}. However it can be a 
-        L{ComboBox}, a L{FieldDate}, a L{FieldTextArea}, ... 
-        depending on the ``type`` of the database field.
-        The association is defined in the dictionary L{FTYPE_TO_XTYPE}.
-    
-    :note: 
-        The function handles L{FieldSet} and L{FieldContainer}
-        as well as the L{FieldsModifier} instructions.
-        The ``FieldSet`` and ``FieldContainer`` can be defined in the application
-        model using the modifier L{FormModifier} and the L{FieldsModifier} 
-        respectively.
+    The function handles :class:`plugin_dbui.extjs.FieldSet` and 
+    :class:`plugin_dbui.extjs.FieldContainer` as well as the 
+    :class:`plugin_dbui.fieldsmodifier.FieldsModifier` instructions.
+    The ``FieldSet`` and ``FieldContainer`` can be defined in the 
+    application model using the modifier 
+    :class:`plugin_dbui.formmodifier.FormModifier` and the  
+    :class:`plugin_dbui.fieldsmodifier.FieldsModifier` respectively.
 
     :type table: gluon.dal.Table
     :param table:
     
-    :returns: list
+    :returns: 
+        list
+
+        The list elements are :class:`plugin_dbui.extjs.Field`, but 
+        it can be a :class:`plugin_dbui.extjs.ComboBox`, 
+        a :class:`plugin_dbui.extjs.FieldDate`, 
+        a :class:`plugin_dbui.extjs.FieldTextArea`, ..., 
+        depending on the ``type`` of the database field.
      
     """
     li = []
@@ -335,8 +347,9 @@ def to_fields(table):
 
 
 def to_formPanel(table, **kwargs):
-    """Build the L{FormPanel} configuration for the database ``table``. 
-    The conversion takes into account the L{FormModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.FormPanel` configuration 
+    for the database ``table``. The conversion takes into account the 
+    :class:`plugin_dbui.formmodifier.FormModifier` instructions.
 
     :type table: gluon.dal.Table
     :param table:
@@ -348,7 +361,7 @@ def to_formPanel(table, **kwargs):
         applied in the following order: constructor, modifiers 
         and keyword arguments.
         
-    :returns: FormPanel
+    :returns: :class:`plugin_dbui.extjs.FormPanel`
 
     """
     tablename = table._tablename
@@ -372,8 +385,9 @@ def to_formPanel(table, **kwargs):
 
 
 def to_gridColumn(field, **kwargs):
-    """Build the L{GridColumn} configuration for the database ``field``. 
-    The conversion takes into account the L{GridModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.GridColumn` configuration 
+    for the database ``field``. The conversion takes into account the 
+    :class:`plugin_dbui.gridmodifier.GridModifier` instructions.
 
     :type field: gluon.dal.Field
     :param field:
@@ -385,7 +399,7 @@ def to_gridColumn(field, **kwargs):
         They are applied in the following order: constructor, modifiers 
         and keyword arguments.
         
-    :returns: GridColumn
+    :returns: :class:`plugin_dbui.extjs.GridColumn`
             
     """
     T = current.T
@@ -437,13 +451,14 @@ def to_gridColumn(field, **kwargs):
 
 
 def to_gridColumnModel(table):
-    """Build the L{GridColumnModel} configuration for the database ``table``. 
-    The conversion takes into account the L{GridModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.GridColumnModel` configuration 
+    for the database ``table``. The conversion takes into account the 
+    :class:`plugin_dbui.gridmodifier.GridModifier` instructions.
 
     :type table: gluon.dal.Table
     :param table:
     
-    :returns: GridColumnModel
+    :returns: :class:`plugin_dbui.extjs.GridColumnModel`
             
     """
     delete_columns = []
@@ -479,8 +494,9 @@ def to_gridColumnModel(table):
 
 
 def to_gridFilter(table, **kwargs):
-    """Build the L{GridFilter} configuration for the database ``table``.
-    The GridFilter is parametrized using the L{GridModifier}.
+    """Build the :class:`plugin_dbui.extjs.GridFilter` configuration for
+    the database ``table``. The ``GridFilter`` is parametrized using the 
+    :class:`plugin_dbui.gridmodifier.GridModifier`.
     
     :type table: gluon.dal.Table
     :param table:
@@ -490,24 +506,25 @@ def to_gridFilter(table, **kwargs):
         any of the Ext JS configuration parameters of the
         ``App.grid.Filter`` class. They are applied in the following order:
         constructor, modifiers, keyword arguments.
+
+    A filter rule is defined in the model via the 
+    :class:`plugin_dbui.gridmodifier.GridModifier`.
+    The rule is a ``tuple`` containing 3 strings 
+    ``("field1", "operator", "comment")``
+    where ``field1`` is the name of a field belonging to the ``table``.
+    A more elaborate filter rule allows to filter on any foreign field using
+    the syntax is ``("table2.field1", "operator", "comments")``.
+    Valid operators are defined in the method 
+    :meth:`plugin_dbui.dbsvc.DbSvc._encode_query`.
+
+    Rules are store in the modifier section ``grid_filters``.
     
-    :returns: GridFilter
+    :returns: 
+        :class:`plugin_dbui.extjs.GridFilter`
 
-    :note: 
         Return an empty dictionary if the GridFilter is
         not defined in the application model.
     
-    :note: 
-        A filter rule is defined in the model via the L{GridModifier}.
-        The rule is a ``tuple`` containing 3 strings 
-        ``("field1", "operator", "comment")``
-        where ``field1`` is the name of a field belonging to the ``table``.
-        A more elaborate filter rule allows to filter on any foreign field using
-        the syntax is ``("table2.field1", "operator", "comments")``.
-        Valid operators are defined in the method L{dbsvc.DbSvc._encode_query}.
-    
-    :note: 
-        Rules are store in the modifier section ``grid_filters``.
         
     """    
     T = current.T
@@ -599,8 +616,9 @@ def to_gridFilter(table, **kwargs):
     
 
 def to_gridPanel(table, **kwargs):
-    """Build the L{App.grid.Panel} configuration for the database ``table``.
-    The conversion takes into account the L{GridModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.GridPanel` configuration for 
+    the database ``table``. The conversion takes into account the 
+    :class:`plugin_dbui.gridmodifier.GridModifier` instructions.
 
     :type table: gluon.dal.Table
     :param table:
@@ -611,7 +629,7 @@ def to_gridPanel(table, **kwargs):
         ``App.grid.Panel`` class. They are applied in the following order:
         constructor, modifiers, keyword arguments.
     
-    :returns: GridPanel
+    :returns: :class:`plugin_dbui.extjs.GridPanel`
 
     """
     tablename = table._tablename
@@ -645,8 +663,9 @@ def to_gridPanel(table, **kwargs):
 
 
 def to_jsonstore(table, **kwargs):
-    """Build the L{DirectStore} configuration for the database ``table``.
-    The conversion takes into account the L{StoreModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.DirectStore` configuration for 
+    the database ``table``. The conversion takes into account the 
+    :class:`plugin_dbui.storemodifier.StoreModifier` instructions.
 
     :type table: gluon.dal.Table
     :param table:
@@ -657,7 +676,7 @@ def to_jsonstore(table, **kwargs):
         ``App.data.DirectStore`` class. They are applied in the following order:
         constructor, modifiers, keyword arguments.
     
-    :returns: DirectStore
+    :returns: :class:`plugin_dbui.extjs.DirectStore`
 
     """
     db = table._db
@@ -735,7 +754,8 @@ def to_jsonstore(table, **kwargs):
 
 
 def to_model(table):
-    """Build the L{Ext.data.Model} configuration for the database ``table``.
+    """Build the :class:`plugin_dbui.extjs.Model` configuration for 
+    the database ``table``.
 
     :type table: gluon.dal.Table
     :param table:
@@ -782,7 +802,7 @@ def to_model(table):
 
 
 def to_panelWithUrlSelector(table, selectorTitle='Select', **kwargs):
-    """Build the L{PanelWithUrlSelector} configuration
+    """Build the :class:`plugin_dbui.extjs.PanelWithUrlSelector` configuration
     where the selector is a form derived from the database ``table``.
 
     :type table: gluon.dal.Table
@@ -805,7 +825,7 @@ def to_panelWithUrlSelector(table, selectorTitle='Select', **kwargs):
         any of the Ext JS configuration parameters of the
         ``App.panel.WithUrlSelector`` class.
     
-    :returns: PanelWithUrlSelector
+    :returns: :class:`plugin_dbui.extjs.PanelWithUrlSelector`
 
     :raise BaseException: when baseUrl is not defined.
     
@@ -829,9 +849,9 @@ def to_panelWithUrlSelector(table, selectorTitle='Select', **kwargs):
 
 
 def to_treeNodes():
-    """Build the list of L{Node}.
+    """Build the list of :class:`plugin_dbui.navtree.Node`.
     The Node structure is defined in the application model using 
-    L{ViewportModifier}.
+    :class:`plugin_dbui.viewportmodifier.ViewportModifier`.
         
     :returns: list
     
@@ -849,8 +869,9 @@ def to_treeNodes():
 
 
 def to_viewport(**kwargs):
-    """Build the ``Ext.Viewport`` configuration.
-    The conversion takes into account the L{ViewportModifier} instructions.
+    """Build the :class:`plugin_dbui.extjs.Viewport` configuration.
+    The conversion takes into account the 
+    :class:`plugin_dbui.viewportmodifier.ViewportModifier` instructions.
     
     :type kwargs: dict
     :keyword kwargs: 
diff --git a/modules/plugin_dbui/directsvc.py b/modules/plugin_dbui/directsvc.py
index 3809d85782390e670e42942f51d806b5b79383d5..7b8cabc9180fbb8c2c347645460a222525d9baff 100644
--- a/modules/plugin_dbui/directsvc.py
+++ b/modules/plugin_dbui/directsvc.py
@@ -35,12 +35,12 @@ class MyJsonEncoder(json.JSONEncoder):
     
 class DirectSvc(BaseSvc):
     """Generic service to implement the 
-    U{Ext.Direct<http://www.sencha.com/products/extjs/extdirect/>} protocol
+    `Ext.Direct <http://www.sencha.com/products/extjs/extdirect/>`_ protocol
     on the server-side.
     
     This implementation is based on the 
-    U{web2py service<http://www.web2py.com/book/default/chapter/09>}
-    using a simplified version of the class L{gluon.tools.Service}.
+    `web2py service <http://www.web2py.com/book/default/chapter/09>`_
+    using a simplified version of the class ``gluon.tools.Service``.
     
     To register functions and make them available on the client-side
     use decorator::
diff --git a/modules/plugin_dbui/extjs.py b/modules/plugin_dbui/extjs.py
index 6ad95823b62aae5b909a3642f6966b5e83ba9fe8..814148416a62e9650c61dc28320ee21a97554259 100644
--- a/modules/plugin_dbui/extjs.py
+++ b/modules/plugin_dbui/extjs.py
@@ -169,7 +169,7 @@ class GridColumn(dict):
 class GridColumnModel(list):
     """Configurator for ``Ext.grid.ColumnModel``.
     
-    :note: It is  implemented as a ``list`` of L{GridColumn}.
+    :note: It is  implemented as a ``list`` of :class:`GridColumn`.
     
     """
 
diff --git a/modules/plugin_dbui/formmodifier.py b/modules/plugin_dbui/formmodifier.py
index 8cca0582c665455241b195dbb1d1a93f3420c42d..b22218eedf90680f13021e65be6fcac7564650ff 100644
--- a/modules/plugin_dbui/formmodifier.py
+++ b/modules/plugin_dbui/formmodifier.py
@@ -204,8 +204,8 @@ class FormModifier(Modifier):
         
 
     def merge_fields(self, *fields, **kwargs):
-        """Merge fields in a L{FieldSet} corresponding to 
-        an ``Ext.form.FieldSet`` widget. 
+        """Merge fields in a :class:`plugin_dbui.extjs.FieldSet` 
+        corresponding to the ``Ext.form.FieldSet`` widget. 
         
         Each ``field`` is either a string identifying the database field by its name
         or an instance of the Ext JS configurator like the ``Spacer``.
@@ -247,7 +247,7 @@ class FormModifier(Modifier):
         field/fieldset. The function return a dictionary with the structure of
         panels embedded in the form an the fields they contained.
 
-        Example of mapper can be found in the L{mapper} module.
+        Example of mapper can be found in the :mod:`plugin_dbui.mapper` module.
         
         """
         self.data.mapper = func
\ No newline at end of file
diff --git a/modules/plugin_dbui/gridmodifier.py b/modules/plugin_dbui/gridmodifier.py
index a7bc9effef4eaeebfa8dfad1c899019246b895be..f4dc8acf9c9e953393c9c5d4b4e7ec74fd1f0853 100644
--- a/modules/plugin_dbui/gridmodifier.py
+++ b/modules/plugin_dbui/gridmodifier.py
@@ -132,7 +132,8 @@ class GridModifier(Modifier):
               However, the more elaborate syntax, ``'table2.field1'``, 
               allows to use foreign field.
             * The operator, ``'=='``, ``'contains'``, ...
-              Valid operator are defined in the method L{dbsvc.DbSvc._encode_query}
+              Valid operator are defined in the method 
+              :meth:`plugin_dbui.dbsvc.DbSvc._encode_query`
             * The comment for the tool tip.
             
         The keyword argument contains Ext JS configuration options
@@ -166,7 +167,7 @@ class GridModifier(Modifier):
         The latter is created automatically as soon as a filter is defined.
 
         Filter are defined and tuned individually 
-        using the method L{append_filter}.
+        using the method :meth:`append_filter`.
 
         The keyword argument contains Ext JS configuration options
         for the ``Ext.form.FieldSet``
diff --git a/modules/plugin_dbui/helper.py b/modules/plugin_dbui/helper.py
index 1ca1f754e7a995a813c29637d221fc1f17590847..8a75a4efc8b8156f881fe10b0581ca02d330824f 100644
--- a/modules/plugin_dbui/helper.py
+++ b/modules/plugin_dbui/helper.py
@@ -59,7 +59,7 @@ def close_user_session():
 def decode_field(field):
     """Decode a string in CapitalizeWords into a list
     of words where all words are in lower case.
-    The reverse function is L{encode_field}.
+    The reverse function is :meth:`encode_field`.
     
     :note: 
         useful to decode database field name:
@@ -120,7 +120,7 @@ def dummy_row(table, value=''):
     
 def encode_field(*args):
     """Encode the string arguments into a CapitalizeWords.
-    The reverse function is L{decode_field}.
+    The reverse function is :meth:`decode_field`.
 
     :returns: str
     
@@ -642,7 +642,7 @@ def get_versions():
 
 
 def get_where_query(table):
-    """Build the L{gluon.dal.Query} resolving foreign keys
+    """Build the ``gluon.dal.Query`` resolving foreign keys
     for the ``table``.
     
     :type table: gluon.dal.Table
@@ -727,7 +727,7 @@ def is_table_with_foreign_fields(table):
 
 
 def rows_serializer(rows):
-    """Serialize a L{gluon.dal.Rows} as a list of dictionary.
+    """Serialize a ``gluon.dal.Rows`` as a list of dictionary.
     It handle the general case where field belongs to different
     table and where function are applied.
 
diff --git a/modules/plugin_dbui/modifier.py b/modules/plugin_dbui/modifier.py
index 5c01894882deb59227976767bafcbd6e056b6a77..71a00af6b1003c0fccc45ac11c462693bbf113a4 100644
--- a/modules/plugin_dbui/modifier.py
+++ b/modules/plugin_dbui/modifier.py
@@ -15,7 +15,7 @@ class Modifier(object):
     """
 
     def __init__(self, dpname, tablename=None):
-        """Create the L{gluon.storage.Storage} in the plugin dbui to house 
+        """Create the ``gluon.storage.Storage`` in the plugin dbui to house 
         modifier information.
          
             * The path to access to the Storage is defined by the ``dpname``
diff --git a/modules/plugin_dbui/navtree.py b/modules/plugin_dbui/navtree.py
index 65aa3fa5eea3976ae5bde7cbd4f351f9c2c99a64..9b4b5977df1708a1ee84fb3d74071d15fb4b67e5 100644
--- a/modules/plugin_dbui/navtree.py
+++ b/modules/plugin_dbui/navtree.py
@@ -9,7 +9,7 @@ from gluon import current
 class Node(object):
     """The ``node`` is the key element of the navigation tree.
     It contains children (leaves) which are associated to widgets.
-    The widget will be display on the panel of the T(Viewport).
+    The widget will be display on the panel of the *Viewport*.
     
     """
     def __init__(self, text):
diff --git a/modules/plugin_dbui/selector.py b/modules/plugin_dbui/selector.py
index 71840e941afefc87c08e2e83dbf625315edc216f..b1d50db0a7dc0e46327337422473bb13b372953c 100644
--- a/modules/plugin_dbui/selector.py
+++ b/modules/plugin_dbui/selector.py
@@ -40,7 +40,7 @@ class Selector(Storage):
     This class handle table and its reference field.
     The basic query handles the selector constraints
     and the inner join for reference field. Additional
-    constraints can also be added via the method L{append_query}.
+    constraints can also be added via the method :meth:`append_query`.
 
     All fields of the selector are attributes of this class::
     
@@ -156,7 +156,7 @@ class Selector(Storage):
         
             * inner join for reference fields, 
             * selector constraints,
-            * extra queries added via the L{append_query} method.
+            * extra queries added via the :meth:`append_query` method.
             * the ``extfield`` as well as fields in the ``exclude_fields`` 
               tuple are not take into account in the query.
         
diff --git a/modules/plugin_dbui/storemodifier.py b/modules/plugin_dbui/storemodifier.py
index 119ea441fd281b09792ce4d6865f8cf069606737..d1c0db4cb2817f55131750dc8501fbf236b07475 100644
--- a/modules/plugin_dbui/storemodifier.py
+++ b/modules/plugin_dbui/storemodifier.py
@@ -13,7 +13,8 @@ MODIFIER_STORES = 'modifier_stores'
 
 class AddStore(object):
     """ A Ext JS store is associated to each database table. Their configuration
-    are derived from the table models using the L{converter.to_jsonstore}.
+    are derived from the table models using the 
+    :func:`plugin_dbui.converter.to_jsonstore`.
     
     The Ext JS configuration options of all stores are kept in a 
     persistent dictionary of the plugin_dbui. 
diff --git a/modules/plugin_dbui/viewportmodifier.py b/modules/plugin_dbui/viewportmodifier.py
index a5edcd4f601eca4c98980ea45259f5b73f8a14d1..6cb6233e1368187932c87e42ac3ae1bc03efb13a 100644
--- a/modules/plugin_dbui/viewportmodifier.py
+++ b/modules/plugin_dbui/viewportmodifier.py
@@ -37,7 +37,8 @@ class ViewportModifier(Modifier):
             * ``extjs`` (dict) Ext JS configuration options for the 
               viewport widget.
             
-            * ``nodes`` (list) list of L{Node} defining the navigation tree
+            * ``nodes`` (list) list of :class:`plugin_dbui.navtree.Node` 
+            defining the navigation tree
         
         """
         Modifier.__init__(self, MODIFIER_VIEWPORTS)
@@ -50,9 +51,10 @@ class ViewportModifier(Modifier):
 
 
     def add_node(self, *args):
-        """Add a list of L{Node}s to the navigation tree.
+        """Add a list of :class:`plugin_dbui.navtree.Node`s 
+        to the navigation tree.
 
-        :type args: list of L{Node}
+        :type args: list of :class:`plugin_dbui.navtree.Node`
         :param args:
         
         :note: