Index: main/waeup.kofa/trunk/src/waeup/kofa/documents/batching.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/documents/batching.py	(revision 13138)
+++ main/waeup.kofa/trunk/src/waeup/kofa/documents/batching.py	(revision 13144)
@@ -43,5 +43,8 @@
 
 class DocumentProcessorBase(BatchProcessor):
-    """A base for batch processors for IDocument objects.
+    """This is the base class for all kinds of document processors.
+    The `checkConversion` method checks whether `class_name` in a row
+    corresponds with the processor chosen. This is to avoid accidentally
+    wrong imports.
     """
     grok.implements(IBatchProcessor)
Index: main/waeup.kofa/trunk/src/waeup/kofa/documents/browser.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/documents/browser.py	(revision 13138)
+++ main/waeup.kofa/trunk/src/waeup/kofa/documents/browser.py	(revision 13144)
@@ -36,5 +36,5 @@
 from waeup.kofa.interfaces import MessageFactory as _
 from waeup.kofa.interfaces import (
-    IContactForm, IKofaObject, IKofaUtils)
+    IContactForm, IKofaObject, IKofaUtils, DOCLINK)
 from waeup.kofa.browser.layout import (
     KofaPage, KofaEditFormPage, KofaAddFormPage, KofaDisplayFormPage,
@@ -82,4 +82,5 @@
     pnav = 2
     label = _('Documents')
+    doclink = DOCLINK + '/documents.html'
 
 
@@ -164,4 +165,5 @@
     grok.template('documentpage')
     pnav = 2
+    doclink = DOCLINK + '/documents.html'
 
     @property
Index: main/waeup.kofa/trunk/src/waeup/kofa/documents/browser_templates/htmldocumentpage.pt
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/documents/browser_templates/htmldocumentpage.pt	(revision 13138)
+++ main/waeup.kofa/trunk/src/waeup/kofa/documents/browser_templates/htmldocumentpage.pt	(revision 13144)
@@ -35,7 +35,7 @@
       </td>
       <td>
-        &lt;a href=&quot;
-        <span tal:replace="python: view.url(context, 'display')"></span>
-        &quot;&gt;<span tal:replace="context/title">FILENAME</span>&lt;/a&gt;
+        &lt;a href=&quot;<span tal:replace="python: view.url(context, 'display')"></span>&quot;&gt;<span tal:replace="context/title">
+        FILENAME
+        </span>&lt;/a&gt;
       </td>
     </tr>
Index: main/waeup.kofa/trunk/src/waeup/kofa/documents/export.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/documents/export.py	(revision 13138)
+++ main/waeup.kofa/trunk/src/waeup/kofa/documents/export.py	(revision 13144)
@@ -29,5 +29,11 @@
 
 class DocumentExporterBase(grok.GlobalUtility, ExporterBase):
-    """Exporter for documents.
+    """This is the exporter base class for all kinds of document exporters.
+    Derived classes export all documents of type `class_name` inside the
+    documents container.
+
+    All schema fields and the property attributes
+    `history`, `state`, `class_name` and `users_with_local_roles`
+    are being exported.
     """
     grok.implements(ICSVExporter)
@@ -51,5 +57,9 @@
 
     def mangle_value(self, value, name, context=None):
-        """Hook for mangling values in derived classes
+        """The mangler prepares the history messages and computes the
+        `users_with_local_roles` value which is a Python expression like:
+
+        ``[{'user_name': u'bob', 'local_role': u'bobsrole'},
+        {'user_name': u'anna', 'local_role': u'annasrole'}]``
         """
         if name == 'users_with_local_roles':
Index: main/waeup.kofa/trunk/src/waeup/kofa/documents/interfaces.py
===================================================================
--- main/waeup.kofa/trunk/src/waeup/kofa/documents/interfaces.py	(revision 13138)
+++ main/waeup.kofa/trunk/src/waeup/kofa/documents/interfaces.py	(revision 13144)
@@ -38,12 +38,13 @@
     history = Attribute('Object history, a list of messages')
     state = Attribute('Workflow state of a document')
+    class_name = Attribute('Name of the document class')
+
+    local_roles = Attribute('List of local role names')
+    translated_class_name = Attribute('Translatable class name of a document')
     translated_state = Attribute('Translatable workflow state of a document')
-    class_name = Attribute('Name of the document class')
-    translated_class_name = Attribute('Translatable class name of a document')
     formatted_transition_date = Attribute(
         'Last transition formatted date string')
     form_fields_interface = Attribute(
         'Interface which is used in forms for grok.AutoFields')
-    local_roles = Attribute('List of local role names')
 
     document_id = schema.TextLine(
