From 986e741e4f9279a15d21017b64ff08d8ef851fd5 Mon Sep 17 00:00:00 2001
From: Axel <wiepke@uni-potsdam.de>
Date: Thu, 13 Sep 2018 09:31:26 +0200
Subject: [PATCH] fix: js and css origins are found for core pages

---
 .../core/management/pageAppearance/Menu.java  |  36 +++---
 .../pageAppearance/OmniDependencies.java      |  35 ++++--
 .../webapp/annotation/annotation-document.jsp |   2 +-
 .../create-unstructured-annotation.jsp        |   2 +-
 .../upload-unstructured-annotation.jsp        |   2 +-
 .../main/webapp/assessment/Quiz-docent.jsp    |   2 +-
 .../src/main/webapp/assessment/Quiz.jsp       |   2 +-
 .../main/webapp/assessment/assess-work.jsp    |   2 +-
 .../assessment/calculate-assessment.jsp       |   2 +-
 .../main/webapp/assessment/create-quiz.jsp    |   2 +-
 .../webapp/assessment/project-docent_CG.jsp   |   2 +-
 .../webapp/assessment/rate-contribution.jsp   |   2 +-
 .../src/main/webapp/assessment/take-quiz.jsp  |   2 +-
 .../src/main/webapp/assessment/view-quiz.jsp  |   2 +-
 .../main/webapp/core/gemeinsamForschen.tld    |   5 +
 .../src/main/webapp/core/overview-docent.js   |  12 ++
 .../src/main/webapp/core/overview-student.js  |  11 ++
 .../src/main/webapp/core/project-student.js   | 110 ++++++++++++++++++
 .../main/webapp/feedback/give-feedback.jsp    |   2 +-
 .../main/webapp/feedback/view-feedback.jsp    |   2 +-
 .../webapp/groupfinding/create-groups.jsp     |   2 +-
 .../main/webapp/journal/create-journal.jsp    |   2 +-
 .../src/main/webapp/journal/eportfolio.jsp    |   2 +-
 .../main/webapp/management/change-phase.jsp   |   2 +-
 .../main/webapp/management/edit-project.jsp   |   2 +-
 .../src/main/webapp/overview-docent.jsp       |   4 +-
 .../src/main/webapp/overview-student.jsp      |   4 +-
 .../src/main/webapp/profile/profile.jsp       |   8 +-
 .../src/main/webapp/project-docent.jsp        |   2 +-
 .../src/main/webapp/project-student.jsp       |   4 +-
 .../researchReport/create-bibliography.jsp    |   2 +-
 .../webapp/researchReport/create-concept.jsp  |   2 +-
 .../researchReport/create-evaluation.jsp      |   2 +-
 .../webapp/researchReport/create-method.jsp   |   2 +-
 .../webapp/researchReport/create-overview.jsp |   2 +-
 .../create-process-description.jsp            |   2 +-
 .../webapp/researchReport/create-question.jsp |   2 +-
 .../webapp/researchReport/create-research.jsp |   2 +-
 .../webapp/researchReport/create-title.jsp    |   2 +-
 39 files changed, 218 insertions(+), 69 deletions(-)
 create mode 100644 gemeinsamforschen/src/main/webapp/core/overview-docent.js
 create mode 100644 gemeinsamforschen/src/main/webapp/core/overview-student.js
 create mode 100644 gemeinsamforschen/src/main/webapp/core/project-student.js

diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
index 8c110acc..51805747 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/Menu.java
@@ -33,31 +33,31 @@ public class Menu extends SimpleTagSupport {
             if (isStudent){
                 String menuString = "<div id=\"sidebar-wrapper\">\n" +
                         "        <ul class=\"sidebar-nav\">\n" +
-                        "            <li class=\"sidebar-brand\"><a href=\""+hierarchyToString(hierarchyLevel)+"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
-                        "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"profile/profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n";
+                        "            <li class=\"sidebar-brand\"><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"overview-student.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n" +
+                        "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"profile/profile.jsp?token="+token+"&projectId="+projectId+"\">Profil</a></li>\n";
                 if (projectPhase!=null){
                     if (projectPhase.equals(ProjectPhase.CourseCreation)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
                                 "            <li><p>Beitrag</p></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.GroupFormation)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
                                 "            <li><p>Beitrag</p></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.DossierFeedback)){
                         menuString += "      <li><p>Quizfrage</p></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.Execution)){
-                        menuString += "      <li><a href=\""+hierarchyToString(hierarchyLevel)+"assessment/Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
-                                "            <li><a href=\""+hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
+                        menuString += "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/Quiz.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"journal/eportfolio.jsp?token="+token+"&projectId="+projectId+"\">ePortfolio</a></li>\n" +
+                                "            <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"researchReport/create-title.jsp?token="+token+"&projectId="+projectId+"\">Beitrag</a></li>\n" +
                                 "            <li><p>Bewertung</p></li>\n";
                     }
                     if (projectPhase.equals(ProjectPhase.Assessment)){
@@ -80,13 +80,13 @@ public class Menu extends SimpleTagSupport {
                         "            <li class=\"sidebar-brand\"><a href=\"overview-docent.jsp?token="+token+"&projectId="+projectId+"\">overview</a></li>\n";
                 if (projectPhase!=null) {
                     if (!projectPhase.equals(ProjectPhase.GroupFormation)) {
-                        menuString += "<li><a href=\""+hierarchyToString(hierarchyLevel)+"assessment/Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                        menuString += "<li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/Quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
                                 "      <li><p>Gruppen erstellen</p></li>\n" +
-                                "      <li><a href=\""+hierarchyToString(hierarchyLevel)+"core/management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"core/management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
                     }else {
-                        menuString += "<li><a href=\""+hierarchyToString(hierarchyLevel)+"assessment/quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
-                                "      <li><a href=\""+hierarchyToString(hierarchyLevel)+"groupfinding/create-groups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" +
-                                "      <li><a href=\""+hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
+                        menuString += "<li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"assessment/quiz-docent.jsp?token="+token+"&projectId="+projectId+"\">Quizfrage</a></li>\n" +
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"groupfinding/create-groups.jsp?token="+token+"&projectId="+projectId+"\">Gruppen erstellen</a></li>\n" +
+                                "      <li><a href=\""+OmniDependencies.hierarchyToString(hierarchyLevel)+"management/change-phase.jsp?token="+token+"&projectId="+projectId+"\">Projektphase ändern</a></li>\n";
                     }
                 }
                 menuString +="<li><a id=\"logout\" style=\"cursor:pointer\">Logout</a></li>\n" +
@@ -112,14 +112,6 @@ public class Menu extends SimpleTagSupport {
 
     }
 
-    private String hierarchyToString(Integer hierarchyLevel){
-        String result = "";
-        for(Integer count=0; count<hierarchyLevel; count++){
-            result += "../";
-        }
-        return result;
-    }
-
     public Integer getHierarchy() {
         return hierarchyLevel;
     }
diff --git a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
index ad4a64e0..df703ed5 100644
--- a/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
+++ b/gemeinsamforschen/src/main/java/unipotsdam/gf/core/management/pageAppearance/OmniDependencies.java
@@ -8,22 +8,41 @@ public class OmniDependencies extends SimpleTagSupport {
     private Integer hierarchyLevel=0;
 
     public void doTag() throws IOException {
+        hierarchyLevel = getHierarchy();
         JspWriter out = getJspContext().getOut();
         out.println("<meta charset=\"utf-8\">\n" +
                 "    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n" +
                 "    <title>fltrail</title>\n" +
                 "    <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../libs/css/styles.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../core/footer.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/styles.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"core/footer.css\">\n" +
                 "    <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n" +
                 "    <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n" +
-                "    <link rel=\"stylesheet\" href=\"../libs/fonts/font-awesome.min.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../libs/css/Sidebar-Menu-1.css\">\n" +
-                "    <link rel=\"stylesheet\" href=\"../libs/css/Sidebar-Menu.css\">\n" +
-                "    <script src=\"../libs/js/Sidebar-Menu.js\"></script>\n" +
-                "    <script src=\"../core/utility.js\"></script>\n" +
-                "    <script src=\"../core/Footer.js\"></script>\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/fonts/font-awesome.min.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu-1.css\">\n" +
+                "    <link rel=\"stylesheet\" href=\""+hierarchyToString(hierarchyLevel)+"libs/css/Sidebar-Menu.css\">\n" +
+                "    <script src=\""+hierarchyToString(hierarchyLevel)+"libs/js/Sidebar-Menu.js\"></script>\n" +
+                "    <script src=\""+hierarchyToString(hierarchyLevel)+"core/utility.js\"></script>\n" +
+                "    <script src=\""+hierarchyToString(hierarchyLevel)+"core/footer.js\"></script>\n" +
                 "    <link rel=\"stylesheet\" href=\"https://use.fontawesome.com/releases/v5.1.0/css/all.css\"\n" +
                 "      integrity=\"sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt\" crossorigin=\"anonymous\">");
     }
+
+    static public String hierarchyToString(Integer hierarchyLevel){
+        StringBuilder resultBuilder = new StringBuilder();
+        String result;
+        for(Integer count=0; count<hierarchyLevel; count++){
+            resultBuilder.append("../");
+        }
+        result = resultBuilder.toString();
+        return result;
+    }
+
+    public Integer getHierarchy() {
+        return hierarchyLevel;
+    }
+
+    public void setHierarchy(Integer hierarchyLevel) {
+        this.hierarchyLevel = hierarchyLevel;
+    }
 }
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
index c1fb70a1..d9dc514d 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/annotation-document.jsp
@@ -8,7 +8,7 @@
 
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- css - annotationStyle -->
     <link rel="stylesheet" type="text/css" href="../assets/css/annotationStyle.css">
diff --git a/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
index c3507bf4..311f5cc9 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/create-unstructured-annotation.jsp
@@ -7,7 +7,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- css - unstructured-annotation -->
     <link rel="stylesheet" type="text/css" href="../assets/css/unstructured-annotation.css">
diff --git a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
index 7a8b20cc..8d2aa72c 100644
--- a/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
+++ b/gemeinsamforschen/src/main/webapp/annotation/upload-unstructured-annotation.jsp
@@ -8,7 +8,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
     <!-- js - jQuery validation plugin -->
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js"></script>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp
index f89ae966..4fd48f20 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz-docent.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/Quiz-docent.js"></script>
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
index 217456d0..95e1da16 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/Quiz.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/Quiz.js"></script>
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
index c0808372..0fcf8918 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/assess-work.jsp
@@ -8,7 +8,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/finalAssessment.js"></script>
 
 </head>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
index 8f7735d9..75ebcfd8 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/calculate-assessment.jsp
@@ -9,7 +9,7 @@
 <!DOCTYPE html>
 <html lang="en">
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/assessmentCalculator.js"></script>
 </head>
 <body>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
index bd089a28..d4e9984d 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/create-quiz.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/createQuiz.js"></script>
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
index 7aec0746..7e4fb730 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/project-docent_CG.jsp
@@ -8,7 +8,7 @@
 
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/utility.js"></script>
     <script src="../libs/js/AlertAssessmentOutlier.js"></script>
     <script src="../libs/js/grading.js"></script>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
index 92b842c7..82e62851 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/rate-contribution.jsp
@@ -7,7 +7,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
     <script src="https://cdn.rawgit.com/showdownjs/showdown/1.8.5/dist/showdown.min.js"></script>
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
diff --git a/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
index 15d5f145..c472fd2c 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/take-quiz.jsp
@@ -7,7 +7,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/takeQuiz.js"></script>
 
 </head>
diff --git a/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
index 480d9480..15262b40 100644
--- a/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
+++ b/gemeinsamforschen/src/main/webapp/assessment/view-quiz.jsp
@@ -7,7 +7,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/viewQuiz.js"></script>
 
 </head>
diff --git a/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
index b5381f69..75ee5e5e 100644
--- a/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
+++ b/gemeinsamforschen/src/main/webapp/core/gemeinsamForschen.tld
@@ -30,6 +30,11 @@
         <name>omniDependencies</name>
         <tag-class>unipotsdam.gf.core.management.pageAppearance.OmniDependencies</tag-class>
         <body-content>empty</body-content>
+        <attribute>
+            <name>hierarchy</name>
+            <required>yes</required>
+            <rtexprvalue>no</rtexprvalue>
+        </attribute>
     </tag>
 
     <tag>
diff --git a/gemeinsamforschen/src/main/webapp/core/overview-docent.js b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
new file mode 100644
index 00000000..77cd2693
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/overview-docent.js
@@ -0,0 +1,12 @@
+$(document).ready(function(){
+    $('#project1Link').on('click', function(){
+        location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+    });
+    $('#project2Link').on('click', function(){
+        location.href="project-docent.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+    });
+    $('#createProject').on('click', function(){
+        location.href="createProject.jsp?token="+getUserTokenFromUrl();
+    });
+
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/overview-student.js b/gemeinsamforschen/src/main/webapp/core/overview-student.js
new file mode 100644
index 00000000..898f3f5e
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/overview-student.js
@@ -0,0 +1,11 @@
+$(document).ready(function(){
+    $('#project1Link').on('click', function(){
+        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'gemeinsamForschen';
+    });
+    $('#project2Link').on('click', function(){
+        location.href="project-student.jsp?token="+getUserTokenFromUrl()+'&projectId='+'Kaleo';
+    });
+    $('#enrollProject').on('click', function(){
+        location.href="enrollProject.jsp?token="+getUserTokenFromUrl();
+    });
+});
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/core/project-student.js b/gemeinsamforschen/src/main/webapp/core/project-student.js
new file mode 100644
index 00000000..85b50ac8
--- /dev/null
+++ b/gemeinsamforschen/src/main/webapp/core/project-student.js
@@ -0,0 +1,110 @@
+$(document).ready(function(){
+    // fetch all submission part project representations from database
+    getSubmissionPartsByProjectId(getQueryVariable("projectId"), function (response) {
+
+        // iterate over response and display each element
+        for (let i = 0; i < response.length; i++) {
+            displaySubmission(response[i].user, response[i].category, response[i].fullSubmissionId);
+        }
+
+        // add click listener to feedback buttons
+        $('.annotationview').click(function () {
+            let fullSubmissionId = $(this).closest("li").data("fullSubmissionId");
+            let category = $(this).closest("li").data("category");
+            location.href="annotation-document.jsp?token=" + getUserTokenFromUrl() +
+                "&projectId=" + getQueryVariable("projectId") +
+                "&fullSubmissionId=" + fullSubmissionId +
+                "&category=" + category;
+        });
+
+    }, function () {
+        // display empty view
+        displayEmptyView()
+    });
+
+    /*
+    var memberTable = $('#myGroupMembers');
+    memberTable.hide();
+    $('#nextPhase').on('click',function(){
+        memberTable.show();
+    });
+    */
+    $('.givefeedback').click(function () {
+        location.href="givefeedback.jsp?token="+getUserTokenFromUrl();
+    });
+    $('.viewfeedback').click(function () {
+        location.href="viewfeedback.jsp?token="+getUserTokenFromUrl();
+    });
+
+    $('.annotationview').click(function () {
+        location.href="annotation-document.jsp?token="+getUserTokenFromUrl();
+    });
+
+    $('#btnUnstructuredUpload').click(function () {
+        location.href="unstructured-upload.jsp?token="+getUserTokenFromUrl() + "&projectId=" + getQueryVariable("projectId");
+    })
+
+    $('.viewprojectstudent').click(function () {
+        location.href="project-student.jsp?token="+getUserTokenFromUrl();
+    })
+});
+
+/**
+ * Display category of submission part in list
+ *
+ * @param user The user of the submission part
+ * @param category The category of the submission part
+ * @param fullSubmissionId The id of the full submission the submission part belongs to
+ */
+function displaySubmission(user, category, fullSubmissionId) {
+    // build link
+    $('#submissionUpload').append(
+        $('<li>')
+            .append($('<span>').append(category.toUpperCase() + " eingereicht"))
+            .append($('<a>').attr("class", "annotationview").attr("role", "button")
+                .append($('<label>').css("font-size", "10px")
+                    .append($('<i>').attr("class", "far fa-comments").css("font-size", "15px"))
+                    .append("feedback")
+                )
+            )
+            // add data to link
+            .data("fullSubmissionId", fullSubmissionId)
+            .data("category", category)
+    );
+
+}
+
+/**
+ * Display a not found message if there are no submission parts in the database (or on error)
+ */
+function displayEmptyView() {
+    // build link
+    $('#submissionUpload').append(
+        $('<li>')
+            .append($('<span>').append("keine Daten gefunden"))
+    );
+}
+
+/**
+ * GET: Get all representations of a submission part for a given project id
+ *
+ * @param projectId The id of the project
+ * @param responseHandler The response handler
+ * @param errorHandler The error handler
+ */
+function getSubmissionPartsByProjectId(projectId, responseHandler, errorHandler) {
+    var url = "../rest/submissions/project/" + projectId;
+    $.ajax({
+        url: url,
+        type: "GET",
+        dataType: "json",
+        success: function (response) {
+            // handle the response
+            responseHandler(response);
+        },
+        error: function () {
+            // handle the error
+            errorHandler();
+        }
+    })
+}
\ No newline at end of file
diff --git a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
index cc3f1dce..bbe37b9c 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/give-feedback.jsp
@@ -37,7 +37,7 @@
     <script src="../libs/js/utility.js"></script>
     <script src="../libs/js/project-student.js"></script>
     <script src="../libs/js/peerfeedback.js"></script>
-        <omniDependencies:omniDependencies/>
+        <omniDependencies:omniDependencies hierarchy="1"/>
 </head>
 
 <body>
diff --git a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
index 82d61d9d..f35ec973 100644
--- a/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
+++ b/gemeinsamforschen/src/main/webapp/feedback/view-feedback.jsp
@@ -8,7 +8,7 @@
 
 <head>
     <link rel="stylesheet" href="../assets/css/viewfeedback.css">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/utility.js"></script>
     <script src="../libs/js/project-student.js"></script>
     <script src="../libs/js/givepeerfeedback.js"></script>
diff --git a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
index d6add537..7a1f6b20 100644
--- a/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
+++ b/gemeinsamforschen/src/main/webapp/groupfinding/create-groups.jsp
@@ -5,7 +5,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/changePhase.js"></script>
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
index 3a367861..c4ebb96b 100644
--- a/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/create-journal.jsp
@@ -9,7 +9,7 @@
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
     <link rel="stylesheet" type="text/css" href="../assets/css/create-journal.css">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 </head>
 
 <body>
diff --git a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
index 03c5f197..82eedee2 100644
--- a/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
+++ b/gemeinsamforschen/src/main/webapp/journal/eportfolio.jsp
@@ -7,7 +7,7 @@
 <head>
 
     <link rel="stylesheet" href="../assets/css/e-portfolio.css">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/management/change-phase.jsp b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
index b9593ad8..89ebb29a 100644
--- a/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/change-phase.jsp
@@ -7,7 +7,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <script src="../libs/js/changePhase.js"></script>
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/management/edit-project.jsp b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
index 87e634e0..5eda653a 100644
--- a/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
+++ b/gemeinsamforschen/src/main/webapp/management/edit-project.jsp
@@ -9,7 +9,7 @@
     <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.css">
     <script src="https://cdn.jsdelivr.net/npm/inscrybmde@1.11.3/dist/inscrybmde.min.js"></script>
     <link rel="stylesheet" type="text/css" href="../assets/css/editDescription.css">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
 
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/overview-docent.jsp b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
index 9c6923cc..b90362fc 100644
--- a/gemeinsamforschen/src/main/webapp/overview-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-docent.jsp
@@ -7,8 +7,8 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../libs/js/overview-docent.js"></script>
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/overview-docent.js"></script>
 </head>
 
 <body>
diff --git a/gemeinsamforschen/src/main/webapp/overview-student.jsp b/gemeinsamforschen/src/main/webapp/overview-student.jsp
index 16152f87..03e6ca87 100644
--- a/gemeinsamforschen/src/main/webapp/overview-student.jsp
+++ b/gemeinsamforschen/src/main/webapp/overview-student.jsp
@@ -7,8 +7,8 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../libs/js/overview-student.js"></script>
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/overview-student.js"></script>
 
 </head>
 
diff --git a/gemeinsamforschen/src/main/webapp/profile/profile.jsp b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
index 3cf72006..3304224e 100644
--- a/gemeinsamforschen/src/main/webapp/profile/profile.jsp
+++ b/gemeinsamforschen/src/main/webapp/profile/profile.jsp
@@ -10,9 +10,9 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href='http://fonts.googleapis.com/css?family=Roboto+Condensed|Open+Sans+Condensed:300' rel='stylesheet' type='text/css'>
-    <script src="../libs/js/profile.js"></script>
+    <script src="js/profile.js"></script>
 </head>
 
 
@@ -41,8 +41,8 @@
                             </li>
                             <li class="list-group-item">
                                 <p>Sonstiges:</p>
-                                <form id="uploadimage" method="post" action="../rest/user/student/wiepke">
-                                    <div id="image_preview"><img id="previewing" src="../assets/img/noImg.png" /></div>
+                                <form id="uploadimage" method="post" action="rest/user/student/wiepke">
+                                    <div id="image_preview"><img id="previewing" src="../libs/img/noImg.png" /></div>
                                     <hr id="line">
                                     <div id="selectImage">
                                         <label>Select Your Image</label><br/>
diff --git a/gemeinsamforschen/src/main/webapp/project-docent.jsp b/gemeinsamforschen/src/main/webapp/project-docent.jsp
index c9d73b60..986e89be 100644
--- a/gemeinsamforschen/src/main/webapp/project-docent.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-docent.jsp
@@ -11,7 +11,7 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="0"/>
 </head>
 
 <body>
diff --git a/gemeinsamforschen/src/main/webapp/project-student.jsp b/gemeinsamforschen/src/main/webapp/project-student.jsp
index 879292b0..b37482f5 100644
--- a/gemeinsamforschen/src/main/webapp/project-student.jsp
+++ b/gemeinsamforschen/src/main/webapp/project-student.jsp
@@ -14,8 +14,8 @@
 <html>
 
 <head>
-    <omniDependencies:omniDependencies/>
-    <script src="../libs/js/project-student.js"></script>
+    <omniDependencies:omniDependencies hierarchy="0"/>
+    <script src="core/project-student.js"></script>
     <link rel="stylesheet" href="../libs/css/Community-ChatComments.css">
 
 </head>
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
index 8b16e537..809e5d3e 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-bibliography.jsp
@@ -11,7 +11,7 @@ den Zustand ändert
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
index 01c1cadd..f855660d 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-concept.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
index 97b54520..32dd642f 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-evaluation.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
index 0099f3b7..e0326a2f 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-method.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
index b6c3f389..95be3ab9 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-overview.jsp
@@ -5,7 +5,7 @@
 <html>
 <head>
     <meta name="viewport" content="width=device-width, initial-scale=1", charset="utf-8">
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
index 83f10377..656030a0 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-process-description.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
index 4ffe1241..d64af396 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-question.jsp
@@ -7,7 +7,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
index 06e62b02..0f5d25e7 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-research.jsp
@@ -6,7 +6,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
diff --git a/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
index 5cd5013d..c370b46a 100644
--- a/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
+++ b/gemeinsamforschen/src/main/webapp/researchReport/create-title.jsp
@@ -7,7 +7,7 @@
 
 <html>
 <head>
-    <omniDependencies:omniDependencies/>
+    <omniDependencies:omniDependencies hierarchy="1"/>
     <link href="https://unpkg.com/filepond/dist/filepond.css" rel="stylesheet"> <!--FilePond -->
     <link href="https://unpkg.com/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css" rel="stylesheet"> <!--FilePond -->
     <link rel="stylesheet" type="text/css" href="../assets/css/researchReport.css">
-- 
GitLab