Index: /main/waeup.kofa/trunk/CHANGES.txt
===================================================================
--- /main/waeup.kofa/trunk/CHANGES.txt	(revision 12957)
+++ /main/waeup.kofa/trunk/CHANGES.txt	(revision 12958)
@@ -4,4 +4,7 @@
 1.3.2.dev0 (unreleased)
 =======================
+
+* Rearrange datacenter upload page. Provide modal windows to view all
+  processors and sources and vocabularies.
 
 * Reorganize doctests. Remove deprecated doctests.
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 12957)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py	(revision 12958)
@@ -520,10 +520,8 @@
             return html
 
-class SourcesOverview(KofaPage):
+class SourcesOverview(grok.View):
     grok.context(IUniversity)
-    grok.name('sources')
+    grok.name('sourcesoverview')
     grok.require('waeup.Public')
-    label = _(u'Sources & Vocabularies')
-    pnav = 0
 
     def _set_inst_types(self):
@@ -607,13 +605,23 @@
         return
 
-class ProcessorsOverview(KofaPage):
+class SourcesOverviewPage(KofaPage, SourcesOverview):
+    grok.name('sources')
+    grok.require('waeup.Public')
+    label = _(u'Sources & Vocabularies')
+    pnav = 0
+
+class ProcessorsOverview(grok.View):
     grok.context(IUniversity)
+    grok.name('processorsoverview')
+    grok.require('waeup.Public')
+
+    def getImporters(self):
+        return getImporters(self.context)
+
+class ProcessorsOverviewPage(KofaPage, ProcessorsOverview):
     grok.name('processors')
     grok.require('waeup.Public')
     label = _(u'Available Processors (Importers)')
     pnav = 0
-
-    def getImporters(self):
-        return getImporters(self.context)
 
 class SkeletonDownloadView(UtilityView, grok.View):
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenteruploadpage.pt
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenteruploadpage.pt	(revision 12957)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenteruploadpage.pt	(revision 12958)
@@ -1,11 +1,38 @@
-<p i18n:translate="">
+<span i18n:translate="">
     Before uploading a file, check that your file header corresponds
-    with header format of the selected processor. All available headers
-    are listed below.
-    After file upload click the 'Process data' button and proceed up to
-    import step 3. Verify that the data format
-    meets all the import criteria and requirements of the processor.
-</p>
-
+    with the header format of the selected processor:
+</span>
+<!-- Processors Modal -->
+<button i18n:translate="" class="btn btn-info btn-xs"
+   data-toggle="modal" data-target="#ProcessorsModal"
+   href="../processorsoverview">
+   View available processors (importers)
+</button>
+<div class="modal fade" id="ProcessorsModal" tabindex="-1"
+     role="dialog" aria-labelledby="ProcessorsModalLabel" aria-hidden="true">
+  <div class="modal-dialog">
+    <div class="modal-content">
+    </div>
+  </div>
+</div>
+<br /><br />
+<span i18n:translate="">
+    Many import fields are of type 'Choice' which means only definied keywords
+    are allowed:
+</span>
+<!-- Sources Modal -->
+<button i18n:translate="" class="btn btn-info btn-xs"
+   data-toggle="modal" data-target="#SourcesModal"
+   href="../sourcesoverview">
+   View choices
+</button>
+<div class="modal fade" id="SourcesModal" tabindex="-1"
+     role="dialog" aria-labelledby="SourcesModalLabel" aria-hidden="true">
+  <div class="modal-dialog">
+    <div class="modal-content">
+    </div>
+  </div>
+</div>
+<br />
 <form method="post" enctype="multipart/form-data">
 <br />
@@ -59,8 +86,15 @@
       tal:attributes="value view/cancel_button"/>
 </form>
+
+
+<br /><br />
+
+<div i18n:translate="">
+    After file upload click the 'Process data' button and proceed up to
+    import step 3. Verify that the data format
+    meets all the import criteria and requirements of the processor.
+</div>
 <br />
-<p i18n:translate="">
+<div i18n:translate="">
     Import managers will be automatically informed by email after file upload.
-    There is no need for assigning tickets or sending emails anymore.
-    The data will be imported according to the information given.
-</p>
+</div>
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/processorsoverview.pt
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/processorsoverview.pt	(revision 12957)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/processorsoverview.pt	(revision 12958)
@@ -1,82 +1,89 @@
-<div class="panel-group"
-     id="accordion"
-     role="tablist"
-     aria-multiselectable="true"
-     i18n:domain="waeup.kofa"
-     >
-  <div class="panel panel-default"  tal:repeat="importer view/getImporters">
-    <div class="panel-heading" role="tab"
-         tal:attributes="id python: 'heading' + importer['name']">
-      <h4 class="panel-title">
-        <a class="collapsed" data-toggle="collapse"
-           data-parent="#accordion"
-           tal:attributes="href python: '#collapse' + importer['name'];
-                           aria-controls python: 'collapse' + importer['name']"
-           aria-expanded="false"
-           i18n:translate="">
-          <span tal:replace="importer/title">TITLE</span>
-        </a>
-      </h4>
-    </div>
-    <div tal:attributes="id python: 'collapse' + importer['name'];
-                         aria-labelledby python: 'heading' + importer['name']"
-         class="panel-collapse collapse"
-         role="tabpanel">
-      <div class="panel-body">
-        <table class="table table-condensed">
-          <thead>
-            <tr>
-              <th i18n:translate="">Processor</th>
-              <th i18n:translate="">Required Schema Fields</th>
-              <th i18n:translate="">Optional Schema Fields</th>
-              <th i18n:translate="">Non-Schema Fields</th>
-            </tr>
-          </thead>
-          <tbody>
-            <tr>
-              <td>
-                <span tal:content="importer/title">TITLE</span><br /><br />
-                <a i18n:translate="" class="btn btn-primary btn-xs"
-                   tal:attributes="href python: view.url(layout.site)
-                                        + '/skeleton?name='
-                                        + importer['name']">
-                   Download CSV File Template
-                </a>
-              </td>
-              <td nowrap>
-                <span tal:repeat="field importer/fields">
-                    <tal:schemafield condition="field/f_type">
-                      <tal:required condition="field/f_required">
+<div class="modal-body">
+  <div class="panel-group"
+       id="accordion"
+       role="tablist"
+       aria-multiselectable="true"
+       i18n:domain="waeup.kofa"
+       >
+    <div class="panel panel-default"  tal:repeat="importer view/getImporters">
+      <div class="panel-heading" role="tab"
+           tal:attributes="id python: 'heading' + importer['name']">
+        <h4 class="panel-title">
+          <a class="collapsed" data-toggle="collapse"
+             data-parent="#accordion"
+             tal:attributes="href python: '#collapse' + importer['name'];
+                             aria-controls python: 'collapse' + importer['name']"
+             aria-expanded="false"
+             i18n:translate="">
+            <span tal:replace="importer/title">TITLE</span>
+          </a>
+        </h4>
+      </div>
+      <div tal:attributes="id python: 'collapse' + importer['name'];
+                           aria-labelledby python: 'heading' + importer['name']"
+           class="panel-collapse collapse"
+           role="tabpanel">
+        <div class="panel-body">
+          <table class="table table-condensed">
+            <thead>
+              <tr>
+                <th i18n:translate="">Processor</th>
+                <th i18n:translate="">Required Schema Fields</th>
+                <th i18n:translate="">Optional Schema Fields</th>
+                <th i18n:translate="">Non-Schema Fields</th>
+              </tr>
+            </thead>
+            <tbody>
+              <tr>
+                <td>
+                  <span tal:content="importer/title">TITLE</span><br /><br />
+                  <a i18n:translate="" class="btn btn-primary btn-xs"
+                     tal:attributes="href python: view.url(context)
+                                          + '/skeleton?name='
+                                          + importer['name']">
+                     Download CSV File Template
+                  </a>
+                </td>
+                <td nowrap>
+                  <span tal:repeat="field importer/fields">
+                      <tal:schemafield condition="field/f_type">
+                        <tal:required condition="field/f_required">
+                          <span tal:replace="field/f_name"></span>
+                          (<span tal:replace="field/f_type"></span>)
+                          <br />
+                        </tal:required>
+                      </tal:schemafield>
+                  </span>
+                </td>
+                <td nowrap>
+                  <span tal:repeat="field importer/fields">
+                      <tal:schemafield condition="field/f_type">
+                        <tal:notrequired condition="not:field/f_required">
+                          <span tal:replace="field/f_name"></span>
+                          (<span tal:replace="field/f_type"></span>)
+                          <br />
+                        </tal:notrequired>
+                      </tal:schemafield>
+                  </span>
+                </td>
+                <td>
+                  <span tal:repeat="field importer/fields">
+                      <tal:extrafield condition="not:field/f_type">
                         <span tal:replace="field/f_name"></span>
-                        (<span tal:replace="field/f_type"></span>)
                         <br />
-                      </tal:required>
-                    </tal:schemafield>
-                </span>
-              </td>
-              <td nowrap>
-                <span tal:repeat="field importer/fields">
-                    <tal:schemafield condition="field/f_type">
-                      <tal:notrequired condition="not:field/f_required">
-                        <span tal:replace="field/f_name"></span>
-                        (<span tal:replace="field/f_type"></span>)
-                        <br />
-                      </tal:notrequired>
-                    </tal:schemafield>
-                </span>
-              </td>
-              <td>
-                <span tal:repeat="field importer/fields">
-                    <tal:extrafield condition="not:field/f_type">
-                      <span tal:replace="field/f_name"></span>
-                      <br />
-                    </tal:extrafield>
-                </span>
-              </td>
-            </tr>
-          </tbody>
-        </table>
+                      </tal:extrafield>
+                  </span>
+                </td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
       </div>
     </div>
   </div>
+  <br />
+  <button type="button" class="btn btn-default" style="float: right"
+          i18n:translate="" data-dismiss="modal">
+      Close
+  </button>
 </div>
Index: /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/sourcesoverview.pt
===================================================================
--- /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/sourcesoverview.pt	(revision 12957)
+++ /main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/sourcesoverview.pt	(revision 12958)
@@ -1,18 +1,22 @@
-<table width="100%">
-  <tr>
-    <td valign="top">
-      <div class="panel-group" id="accordion-left" role="tablist"
-           aria-multiselectable="true"
-           i18n:domain="waeup.kofa">
-        <tal:sourcesleft tal:content="structure provider:sources_left" />
-      </div>
-    </td>
-    <td valign="top">
-      <div class="panel-group" id="accordion-right" role="tablist"
-           aria-multiselectable="true"
-           i18n:domain="waeup.kofa">
-        <tal:sourcesright tal:content="structure provider:sources_right" />
-      </div>
-    </td>
-  </tr>
-</table>
+<div class="modal-body" i18n:domain="waeup.kofa">
+  <table width="100%">
+    <tr>
+      <td valign="top">
+        <div class="panel-group" id="accordion-left" role="tablist"
+             aria-multiselectable="true">
+          <tal:sourcesleft tal:content="structure provider:sources_left" />
+        </div>
+      </td>
+      <td valign="top">
+        <div class="panel-group" id="accordion-right" role="tablist"
+             aria-multiselectable="true">
+          <tal:sourcesright tal:content="structure provider:sources_right" />
+        </div>
+      </td>
+    </tr>
+  </table>
+  <button type="button" class="btn btn-default" style="float: right"
+          i18n:translate="" data-dismiss="modal">
+      Close
+  </button>
+</div>
