Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser.py	(revision 12222)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser.py	(revision 12225)
@@ -179,4 +179,6 @@
     tabtwoactions2 = [_('Add local role')]
 
+    deletion_warning = _('Are you sure?')
+
     @property
     def form_fields(self):
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser_templates/documentmanagepage.pt
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser_templates/documentmanagepage.pt	(revision 12222)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/browser_templates/documentmanagepage.pt	(revision 12225)
@@ -7,5 +7,8 @@
     </li>
     <li>
-      <a href="#tab2" data-toggle="tab" i18n:translate="">Local Roles</a>
+      <a href="#tab2" data-toggle="tab" i18n:translate="">Files</a>
+    </li>
+    <li>
+      <a href="#tab3" data-toggle="tab" i18n:translate="">Local Roles</a>
     </li>
   </ul>
@@ -27,4 +30,12 @@
     </div>
     <div id="tab2" class="tab-pane">
+      <br />
+      <table class="form-table">
+        <tbody>
+          <tal:files content="structure provider:files" />
+        </tbody>
+      </table>
+    </div>
+    <div id="tab3" class="tab-pane">
       <br />
       <table class="ikoba-data-table dataTableManage">
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/document.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/document.py	(revision 12222)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/document.py	(revision 12225)
@@ -127,4 +127,10 @@
             return
 
+    def writeLogMessage(self, view, message):
+        ob_class = view.__implemented__.__name__.replace('waeup.ikoba.','')
+        self.__parent__.__parent__.logger.info(
+            '%s - %s - %s' % (ob_class, self.__name__, message))
+        return
+
 
 class PDFDocument(PublicDocumentBase):
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/fileviewlets.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/fileviewlets.py	(revision 12225)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/fileviewlets.py	(revision 12225)
@@ -0,0 +1,65 @@
+## $Id$
+##
+## Copyright (C) 2014 Uli Fouquet & Henrik Bettermann
+## This program is free software; you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation; either version 2 of the License, or
+## (at your option) any later version.
+##
+## This program is distributed in the hope that it will be useful,
+## but WITHOUT ANY WARRANTY; without even the implied warranty of
+## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+## GNU General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with this program; if not, write to the Free Software
+## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##
+
+import grok
+from waeup.ikoba.interfaces import MessageFactory as _
+
+from waeup.ikoba.browser.fileviewlets import (
+    FileDisplay, FileUpload, Image)
+
+from waeup.ikoba.documents.document import PDFDocument
+from waeup.ikoba.documents.browser import (
+    DocumentManageFormPage, DocumentDisplayFormPage)
+
+
+# File viewlets for documents
+
+class PDFScanManageUpload(FileUpload):
+    """Scan upload viewlet for officers.
+    """
+    grok.view(DocumentManageFormPage)
+    grok.context(PDFDocument)
+    grok.require('waeup.manageDocuments')
+    label = _(u'PDF File')
+    title = _(u'PDF File')
+    mus = 1024 * 200
+    download_name = u'sample.pdf'
+    tab_redirect = '#tab2'
+
+
+class PDFScanDisplay(FileDisplay):
+    """Scan display viewlet.
+    """
+    grok.order(1)
+    grok.context(PDFDocument)
+    grok.require('waeup.viewDocuments')
+    grok.view(DocumentDisplayFormPage)
+    label = _(u'PDF Scan')
+    title = _(u'PDF Scan')
+    download_name = u'sample.pdf'
+
+
+class PDFScanImage(Image):
+    """Scan document.
+    """
+    ##: Needs to be protected if not published
+    grok.name('sample.pdf')
+    grok.context(PDFDocument)
+    grok.require('waeup.Public')
+    download_name = u'sample.pdf'
+
Index: main/waeup.ikoba/trunk/src/waeup/ikoba/documents/interfaces.py
===================================================================
--- main/waeup.ikoba/trunk/src/waeup/ikoba/documents/interfaces.py	(revision 12222)
+++ main/waeup.ikoba/trunk/src/waeup/ikoba/documents/interfaces.py	(revision 12225)
@@ -65,4 +65,10 @@
     """
 
+    def writeLogMessage(view, message):
+        """Write a view specific log message into main.log.
+
+        """
+
+
 
 class IPDFDocument(IPublicDocument):
