diff --git a/.aditoprj/ignoredScanServiceTasks.json b/.aditoprj/ignoredScanServiceTasks.json
index 876fa8e77553251308a11423050ca464a547eba2..bad77c8c7df0345b93811fa627e1ca06bf884517 100644
--- a/.aditoprj/ignoredScanServiceTasks.json
+++ b/.aditoprj/ignoredScanServiceTasks.json
@@ -1,11 +1,5 @@
 {
   "entries": [
-    {
-      "target": "aliasDefinition/Data_alias/Data_alias.aod",
-      "line": -1,
-      "description": "The table \"AB_LOGHISTORY\" has no primary key [65]",
-      "groupName": "nb-tasklist-warning"
-    },
     {
       "target": "aliasDefinition/Data_alias/Data_alias.aod",
       "line": -1,
@@ -41,6 +35,36 @@
       "line": -1,
       "description": "There is no index for the column \"DEPLOYMENT_ID\" in the table \"DATABASECHANGELOG\" [59]",
       "groupName": "nb-tasklist-warning"
+    },
+    {
+      "target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
+      "line": -1,
+      "description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhaseFunnelChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
+      "groupName": "nb-tasklist-warning"
+    },
+    {
+      "target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
+      "line": -1,
+      "description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhasePieChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
+      "groupName": "nb-tasklist-warning"
+    },
+    {
+      "target": "neonView/SalesprojectAnalysesPhases_view/SalesprojectAnalysesPhases_view.aod",
+      "line": -1,
+      "description": "Dead Reference \"#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT\" located in: PhasePyramidChart/defaultGroupFields/#EXTENSION.Phase_filterExtention.Phase_filterExtention#TEXT [67]",
+      "groupName": "nb-tasklist-warning"
+    },
+    {
+      "target": "neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod",
+      "line": -1,
+      "description": "Dead Reference \"#EXTENSION.Month.Month#NUMBER\" located in: TreeTable/defaultGroupFields/#EXTENSION.Month.Month#NUMBER [67]",
+      "groupName": "nb-tasklist-warning"
+    },
+    {
+      "target": "neonView/SalesprojectConversionRate_view/SalesprojectConversionRate_view.aod",
+      "line": -1,
+      "description": "Dead Reference \"#EXTENSION.Month.Month#NUMBER\" located in: dynamicChart/defaultGroupFields/#EXTENSION.Month.Month#NUMBER [67]",
+      "groupName": "nb-tasklist-warning"
     }
   ]
 }
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/create_KnowledgeRoles.xml b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/create_KnowledgeRoles.xml
index 7a44ef7aefaa703bd41e87f02a1917f13be44247..1987399adb221168427363164d365eb6e183c5c2 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/create_KnowledgeRoles.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/create_KnowledgeRoles.xml
@@ -6,8 +6,11 @@
             <column name="KNOWLEDGEROLESID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_KNOWLEDGEROLES_KNOWLEDGEROLESID"/>
             </column>
-            <column name="KNOWLEDGEMANAGEMENT_ID" type="CHAR(36)"></column>
+            <column name="KNOWLEDGEMANAGEMENT_ID" type="CHAR(36)"/>
             <column name="ROLENAME" type="VARCHAR(100)"/>
         </createTable>
+        <createIndex tableName="KNOWLEDGEROLES" indexName="IDX_KNOWLEDGEROLES_KM_ID">
+            <column name="KNOWLEDGEMANAGEMENT_ID"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeDiscussion_table.xml b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeDiscussion_table.xml
index c4b9698f688657379091897d1d13c0096637a622..0f3de5603a81da59cc30743b70c1b38bd1ccfbb0 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeDiscussion_table.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeDiscussion_table.xml
@@ -16,5 +16,8 @@
             <column name="DISCUSSIONTEXT" type="LONGTEXT"/>
             <column name="PARENTENTRY" type="CHAR(36)"/>
         </createTable>
+        <createIndex tableName="KNOWLEDGEDISCUSSION" indexName="IDX_KNOWLEDGEDISCUSSION_KM_ID">
+            <column name="KNOWLEDGEMANAGEMENT_ID"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeLink_table.xml b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeLink_table.xml
index cdf69919e236ff8b784ebf2d439cdbaff2567ac8..f600fb7e878088e0b6fa325a68c5e8dab3a292f9 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeLink_table.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeLink_table.xml
@@ -1,7 +1,7 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="e.pollinger" id="1261195c-ffc1-4abb-a31f-0732823ee0cb">
+    <changeSet author="e.pollinger" id="bee4e42e-9103-4464-849e-59d8b11c542e">
         <createTable tableName="KNOWLEDGELINK">
             <column name="KNOWLEDGELINKID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_KNOWLEDGELINK_KNOWLEDGELINKID"/>
@@ -14,5 +14,8 @@
             <column name="ROW_ID" type="CHAR(36)"/>
             <column name="OBJECT_TYPE" type="NVARCHAR(100)"/>
         </createTable>
+        <createIndex tableName="KNOWLEDGELINK" indexName="IDX_KNOWLEDGELINK_KM_ID">
+            <column name="KNOWLEDGEMANAGEMENT_ID"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeTagLink_table.xml b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeTagLink_table.xml
index a6b9b631d5d6155a40dd9448d88b6e454812cfed..ba1e74c9fcbbf6a4abe6098fcf2757b76fb5c67b 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeTagLink_table.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/Knowledgemanagement/struct/knowledgeTagLink_table.xml
@@ -13,5 +13,11 @@
             <column name="USER_NEW" type="nvarchar(50)"/>
             <column name="USER_EDIT" type="nvarchar(50)"/>
         </createTable>
+        <createIndex tableName="KNOWLEDGETAGLINK" indexName="IDX_KNOWLEDGETAGLINK_TAG_ID">
+            <column name="KNOWLEDGETAG_ID"/>
+        </createIndex>
+        <createIndex tableName="KNOWLEDGETAGLINK" indexName="IDX_KNOWLEDGETAGLINK_KM_ID">
+            <column name="KNOWLEDGEMANAGEMENT_ID"/>
+        </createIndex>
     </changeSet>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2020.2.2/alter_CampaignParticipantResponsibleIndex.xml b/.liquibase/Data_alias/basic/2020.2.2/alter_CampaignParticipantResponsibleIndex.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6360542b2dff79630a5591fcbd5f4b8b2287ad87
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.2/alter_CampaignParticipantResponsibleIndex.xml
@@ -0,0 +1,10 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="a.voegl" id="6d545d51-b838-4325-9573-5fe51eade79b">
+        <createIndex indexName="IDX_CAMPAIGNPART_RES_CONTACT" tableName="CAMPAIGNPARTICIPANT">
+            <column name="RESPONSIBLE_CONTACT_ID"/>
+        </createIndex>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.2/alter_TableLeadStatus.xml b/.liquibase/Data_alias/basic/2020.2.2/alter_TableLeadStatus.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a6625db2f2f6290579c5c747435541ed7d55e78a
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2020.2.2/alter_TableLeadStatus.xml
@@ -0,0 +1,19 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet dbms="derby" author="s.pongratz" id="539e6d12-5ba4-424b-a29d-f63a48d07288">
+        <sql>
+            ALTER TABLE LEAD ADD COLUMN STATUS_NEW VARCHAR(36);
+            UPDATE LEAD SET STATUS_NEW = CAST ( CAST (STATUS as CHAR(36)) as VARCHAR(36) );
+            ALTER TABLE LEAD DROP COLUMN STATUS;
+            RENAME COLUMN LEAD.STATUS_NEW TO STATUS;
+        </sql>
+    </changeSet>
+    <changeSet author="s.pongratz" id="be79e660-b112-4f58-b53d-d9e36ecd145b">
+        <preConditions onFail="CONTINUE">
+            <not>
+                <dbms type="derby" />
+            </not>
+        </preConditions>
+        <modifyDataType tableName="LEAD" columnName="STATUS" newDataType="VARCHAR(36)"/>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2020.2.2/changelog.xml b/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
index f1519ab694e0dddb03b384534a5518567dee75d4..2a4bea7a4e0949d9504cea14b44a0f11cf14b25d 100644
--- a/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
+++ b/.liquibase/Data_alias/basic/2020.2.2/changelog.xml
@@ -5,6 +5,8 @@
     <include relativeToChangelogFile="true" file="Knowledgemanagement/changelog_knowledgeManagement.xml"/>
     <include relativeToChangelogFile="true" file="insert_employeeCountAttribute.xml"/>
     <include relativeToChangelogFile="true" file="alter_CampaignParticipantResponsible.xml"/>
+    <include relativeToChangelogFile="true" file="alter_TableLeadStatus.xml"/>
+    <include relativeToChangelogFile="true" file="alter_CampaignParticipantResponsibleIndex.xml"/>
     <include relativeToChangelogFile="true" file="MSTeams/changelog.xml"/>
     <include relativeToChangelogFile="true" file="insert_newsletterAttribute.xml"/>
     <include relativeToChangelogFile="true" file="readd_ExporttemplateIndizes.xml"/>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index ba9127b544533d79800af6eb8a912daba6d1a7b2..1b90bea7f650ec646579634c155ced038fcf0d35 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -8347,7 +8347,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -13166,8 +13166,8 @@
                 <name>STATUS</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="12" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -15876,7 +15876,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -15994,7 +15994,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -16328,7 +16328,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -16688,7 +16688,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -16730,7 +16730,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index f527d3b4ebb438b7079feacf48dd25f0a4896d90..35b812776eb853d81a336e2610b2af0c88c64da3 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -15,7 +15,6 @@
   </siblings>
   <grantUpdate v="false" />
   <grantDelete v="false" />
-  <titlePlural>Links</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/360Degree_entity/documentation.adoc b/entity/360Degree_entity/documentation.adoc
index b2ad150c07864327f864c6c179b28caf1a37d285..b07c00500ceb7ed1fc24f01140cf046eb2f41251 100644
--- a/entity/360Degree_entity/documentation.adoc
+++ b/entity/360Degree_entity/documentation.adoc
@@ -16,21 +16,21 @@ Heres is a list of what you need to do whenever you want to do this:
 
 - At first you have to fill/add certain Fields/Processes in your new Context.
     - Add (These have to be written exactly like that, if not already existing):
-        - CONTACT_ID, this Field has to contain a CONTACTID. That will be used to find the Connection to your Person or your Organisation.
         - DATE_NEW, this Field has to contain a Date as a Long Value. That will be used as the Date Value you can see in the Timeline View-Template.
         - ACTIVE, in this Field you can specify which Datasets are active or not. You have to declare that in the Value Expression as a Case-When due to the Filter
     - Fill (these can be filled in the specific Entity as a Process)
         - #CONTENTTITLE, this will be the main display Text and the blue Link
         - #CONTENTDESCRIPTION, this will be the smaller, mostly longer, Text beneath the #CONTENTTITLE 
         
-- Add an elemnt (with the name of the context you want to add) in the process of the `ObjectType_param` in the *corresponding provider* which is located in the `360Degree_entity`. _We would extend the JSON-Object which is returned in the `PersonObjects`-provider by the name of our t-shirt-context: "TShirt" in our example
-- 
-- In that JSON-Object can also add some Configuration Elements to change the results.
+- Add an element (with the name of the context you want to add) in the process of the `ObjectType_param` in the *corresponding provider* which is located in the `360Degree_entity`. _We would extend the JSON-Object which is returned in the `PersonObjects`-provider by the name of our t-shirt-context: "TShirt" in our example
+
+- In that JSON-Object you can/have to add some Configuration Elements to change the results.
+    - connectionField, here you have to declare a Field that writes exactly like the one in your Entity (Standard is CONTACT_ID!!!). The Value of this Field will be used to compare it with the Object_Rowid. 
     - setGroupBy: here you can declare a DB-Column that will be used as the new group by of that context. A good example is Order. We want to group by the Ordertype so we have to declare ORDERTYPE as our groupBy. 
         - If your DB-Value is related to a Keyword you also have to use groupByKeyword and add the Container as Value
 
-- If you have a Connection of 1:N in your Database Schema (like Activity and ActivityLink) you have to add specific Properties in your Context Object. Lets take ActivityLink as a Example.
-    - subContext: the Name of the "Link"-Context -> ActivityLink
-    - childField: The Field where the LinkID to your Parent is stored -> ACTIVITY_ID
-    - parentField: The field in your Parent Context where your Connection to your Child is stored -> ACTIVITYID
+- If you have a Connection of 1:N in your Database Schema (like Task and TaskLink) you have to add specific Properties in your Context Object. Lets take TaskLink as a Example.
+    - subContext: the Name of the "Link"-Context -> TaskLink
+    - childField: The Field where the LinkID to your Parent is stored -> TASK_ID
+    - parentField: The field in your Parent Context where your Connection to your Child is stored -> TASKID
     - contactIdField: The Field in the Link Context where your Contactid is stored -> OBJECT_ROWID
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value_lookup/stateProcess.js b/entity/AttributeRelation_entity/entityfields/value_lookup/stateProcess.js
index e0ce90c175370c539ed09e94eab727271db1cc2d..051e58a290e40ba32c7f91d3782eb37a59768e96 100644
--- a/entity/AttributeRelation_entity/entityfields/value_lookup/stateProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value_lookup/stateProcess.js
@@ -4,8 +4,11 @@ import("system.result");
 import("Attribute_lib");
 
 var fieldState;
-if (AttributeTypeUtil.useLookup(vars.get("$field.ATTRIBUTE_TYPE")))
+if ((vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    && AttributeTypeUtil.useLookup(vars.get("$field.ATTRIBUTE_TYPE")))
+{
     fieldState = neon.COMPONENTSTATE_EDITABLE;
+}
 else 
     fieldState = neon.COMPONENTSTATE_INVISIBLE;
 
diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod
index a6e8b3db47b37d15f43098189957c08b86595414..cc5791ce3abcf79661d371db01061a4de1229fc6 100644
--- a/entity/BulkMail_entity/BulkMail_entity.aod
+++ b/entity/BulkMail_entity/BulkMail_entity.aod
@@ -56,25 +56,20 @@
     <entityConsumer>
       <name>Recipients</name>
       <stateProcess>%aditoprj%/entity/BulkMail_entity/entityfields/recipients/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>BulkMailRecipient_entity</entityName>
-        <fieldName>BulkMailRecipients</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>BulkMailId_param</name>
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/recipients/children/bulkmailid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Templates</name>
       <dependency>
         <name>dependency</name>
-        <entityName>DocumentTemplate_entity</entityName>
-        <fieldName>DocumentTemplateProvider</fieldName>
+        <entityName>BulkMailRecipient_entity</entityName>
+        <fieldName>BulkMailRecipients</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Templates</name>
       <children>
         <entityParameter>
           <name>DocumentTemplateType_param</name>
@@ -85,6 +80,11 @@
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/templates/children/documenttemplatetypeclassification_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>DocumentTemplate_entity</entityName>
+        <fieldName>DocumentTemplateProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>STATUS</name>
@@ -108,17 +108,17 @@
     </entityField>
     <entityConsumer>
       <name>StatusKeyword</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/statuskeyword/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>bindata</name>
@@ -155,17 +155,17 @@
     </entityField>
     <entityConsumer>
       <name>LogHistories</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>CREATEACTIVITIES</name>
@@ -176,17 +176,17 @@
     </entityField>
     <entityConsumer>
       <name>RecipientStatusChart</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>BulkMailStatusChart_entity</entityName>
-        <fieldName>RecipientStatusChart</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>BulkMailId_param</name>
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/recipientstatuschart/children/bulkmailid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>BulkMailStatusChart_entity</entityName>
+        <fieldName>RecipientStatusChart</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>TESTING_CONTACT_ID</name>
@@ -213,11 +213,6 @@
     </entityConsumer>
     <entityConsumer>
       <name>Activities</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectId_param</name>
@@ -228,6 +223,11 @@
           <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>sendMail</name>
@@ -290,6 +290,14 @@
     </entityParameter>
     <entityProvider>
       <name>BulkMailsNotSent</name>
+      <documentation>%aditoprj%/entity/BulkMail_entity/entityfields/bulkmailsnotsent/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>BulkMailStatus_param</name>
+          <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/bulkmailsnotsent/children/bulkmailstatus_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>16cdf326-0b43-4d72-bf19-21434e047e85</name>
@@ -298,13 +306,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>BulkMailStatus_param</name>
-          <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/bulkmailsnotsent/children/bulkmailstatus_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>BulkMailStatus_param</name>
diff --git a/entity/BulkMail_entity/entityfields/bulkmailsnotsent/documentation.adoc b/entity/BulkMail_entity/entityfields/bulkmailsnotsent/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..256cf217d7182dead7e7dfe8cbfb770cdcd77f86
--- /dev/null
+++ b/entity/BulkMail_entity/entityfields/bulkmailsnotsent/documentation.adoc
@@ -0,0 +1,3 @@
+= BulkMailsNotSent
+
+Provides only BulkMails with the status 'not sent'.
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
index ff279849cebaa73eaaad7f251b821d9379d06ad5..d1c7824536e06bed2ffb8d47a1b93cc8f1260253 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaignparticipantcontactids/valueProcess.js
@@ -29,7 +29,7 @@ if(vars.get("$field.CAMPAIGN_ID"))
         if (vars.get("$param.campaignParticipantsCondition_param"))
         {
             var contactFilterCondition = JSON.parse(vars.get("$param.campaignParticipantsCondition_param")).condition;
-            contactIds = CampaignUtils.GetContactIdsNotInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), contactFilterCondition, comingfrom);
+            contactIds = CampaignUtils.GetContactIdsInCampaignByCondition(vars.get("$field.CAMPAIGN_ID"), contactFilterCondition);
         } 
         else
         {
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index c83cda0bd567d2bf66cf349b78e2ea0ba307de42..92f21ead9046ed628e9a8e2c4148c710a235f88f 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -169,9 +169,9 @@
           <title>Update campaign step</title>
           <onActionProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/onActionProcess.js</onActionProcess>
           <isObjectAction v="false" />
-          <isSelectionAction v="true" />
           <iconId>NEON:GROUP_APPOINTMENT</iconId>
           <state>AUTO</state>
+          <stateProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/stateProcess.js</stateProcess>
           <tooltip>Update campaign step</tooltip>
           <tooltipProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/tooltipProcess.js</tooltipProcess>
         </entityActionField>
@@ -280,6 +280,12 @@
     </entityField>
     <entityConsumer>
       <name>ResponsibleEmployees</name>
+      <children>
+        <entityParameter>
+          <name>EmployeeContactIdWhitelist_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignParticipant_entity/entityfields/responsibleemployees/children/employeecontactidwhitelist_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
       <dependency>
         <name>dependency</name>
         <entityName>Employee_entity</entityName>
diff --git a/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/stateProcess.js b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..78eb0e84628e8dd7122682d803a8e555c24594a5
--- /dev/null
+++ b/entity/CampaignParticipant_entity/entityfields/filterviewactiongroup/children/setsteptoparticipantselection/stateProcess.js
@@ -0,0 +1,15 @@
+import("Campaign_lib");
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+var participantCount = vars.get("$sys.datarowcountfull");
+
+if(participantCount > 0)
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_DISABLED);
+}
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/entityfields/responsibleemployees/children/employeecontactidwhitelist_param/valueProcess.js b/entity/CampaignParticipant_entity/entityfields/responsibleemployees/children/employeecontactidwhitelist_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2aacdbde97117f3c607a2234c5b96e5616f10246
--- /dev/null
+++ b/entity/CampaignParticipant_entity/entityfields/responsibleemployees/children/employeecontactidwhitelist_param/valueProcess.js
@@ -0,0 +1,12 @@
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+import("system.neon");
+
+if(vars.get("$sys.presentationmode") == neon.CONTEXT_PRESENTATIONMODE_FILTER)
+{
+    result.string(JSON.stringify(newSelect("DISTINCT CAMPAIGNPARTICIPANT.RESPONSIBLE_CONTACT_ID")
+        .from("CAMPAIGNPARTICIPANT")
+        .where("CAMPAIGNPARTICIPANT.CAMPAIGN_ID", vars.get("$param.CampaignId_param"))
+        .arrayColumn()));
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index c2114b2939defe7d09aeb6093a03861d133408fd..0fba3da6c0fe603c6ec1051bd827ebd09ee38bde 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -108,11 +108,6 @@
     <entityConsumer>
       <name>CampaignSteps</name>
       <state>EDITABLE</state>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignStep_entity</entityName>
-        <fieldName>CampaignSteps</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>campaignId_param</name>
@@ -121,6 +116,11 @@
           <mandatory v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>STATUS</name>
@@ -132,17 +132,17 @@
     </entityField>
     <entityConsumer>
       <name>KeywordStates</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>Campaigns</name>
@@ -179,11 +179,6 @@
       <name>CampaignParticipants</name>
       <refreshParent v="false" />
       <selectionMode>MULTI</selectionMode>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignParticipant_entity</entityName>
-        <fieldName>CampaignParticipantsProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignStepId_param</name>
@@ -195,6 +190,11 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignParticipant_entity</entityName>
+        <fieldName>CampaignParticipantsProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Employee</name>
@@ -203,26 +203,20 @@
         <entityName>Employee_entity</entityName>
         <fieldName>Employees</fieldName>
       </dependency>
-      <children>
-        <entityParameter>
-          <name>OnlyActives_param</name>
-          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/employee/children/onlyactives_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
     </entityConsumer>
     <entityConsumer>
       <name>CampaignCosts</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignCost_entity</entityName>
-        <fieldName>CampaignCosts</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignId_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaigncosts/children/campaignid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignCost_entity</entityName>
+        <fieldName>CampaignCosts</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>COST</name>
@@ -233,17 +227,17 @@
     </entityField>
     <entityConsumer>
       <name>CampaignStepCosts</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignCost_entity</entityName>
-        <fieldName>StepCosts</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignId_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignstepcosts/children/campaignid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignCost_entity</entityName>
+        <fieldName>StepCosts</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>stepCount</name>
@@ -258,11 +252,6 @@
     <entityConsumer>
       <name>Activities</name>
       <title>Activities</title>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Activity_entity</entityName>
-        <fieldName>LinkedObjects</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectId_param</name>
@@ -273,6 +262,11 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/activities/children/rowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Activity_entity</entityName>
+        <fieldName>LinkedObjects</fieldName>
+      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>newActivity</name>
@@ -291,32 +285,32 @@
     <entityConsumer>
       <name>CampaignCostsChart</name>
       <title>Charts</title>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignCostChart_entity</entityName>
-        <fieldName>CostChart</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignId_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaigncostschart/children/campaignid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignCostChart_entity</entityName>
+        <fieldName>CostChart</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>CampaignParticipantsChart</name>
       <title>Chart 2</title>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignParticipantChart_entity</entityName>
-        <fieldName>ParticipantChart</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignId_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignparticipantschart/children/campaignid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignParticipantChart_entity</entityName>
+        <fieldName>ParticipantChart</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>remainingRuntime</name>
@@ -326,27 +320,22 @@
     <entityConsumer>
       <name>CampaignStepsReadonly</name>
       <state>READONLY</state>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignStep_entity</entityName>
-        <fieldName>CampaignSteps</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>campaignId_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignstepsreadonly/children/campaignid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
       <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributes/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/Campaign_entity/entityfields/attributes/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>AttributeRelations</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -357,6 +346,11 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>newCampaignStep</name>
@@ -366,11 +360,6 @@
     </entityActionField>
     <entityConsumer>
       <name>CampaignAnalysisConsumer</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignAnalysis_entity</entityName>
-        <fieldName>CampaignAnalysisProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>CampaignId_param</name>
@@ -386,14 +375,14 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/campaignanalysisconsumer/children/datestart_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>MemberConsumer</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Member_entity</entityName>
-        <fieldName>Links</fieldName>
+        <entityName>CampaignAnalysis_entity</entityName>
+        <fieldName>CampaignAnalysisProvider</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>MemberConsumer</name>
       <children>
         <entityParameter>
           <name>ObjectType_param</name>
@@ -404,6 +393,11 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/memberconsumer/children/objectrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Member_entity</entityName>
+        <fieldName>Links</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ShowOnlyCurrentUsersCampaigns_param</name>
@@ -425,11 +419,6 @@
     </entityActionField>
     <entityConsumer>
       <name>Documents</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentTable_param</name>
@@ -440,15 +429,15 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>AttributeTree</name>
       <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributetree/stateProcess.js</stateProcess>
-      <dependency>
-        <name>dependency</name>
-        <entityName>AttributeRelation_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectRowId_param</name>
@@ -459,6 +448,11 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>TreeProvider</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>CURRENCY</name>
@@ -470,21 +464,17 @@
     </entityField>
     <entityConsumer>
       <name>KeywordCurrency</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/keywordcurrency/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
-        <entityParameter>
-          <name>OnlyActives_param</name>
-          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/keywordcurrency/children/onlyactives_param/valueProcess.js</valueProcess>
-        </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>CAMPAIGN_OBEJCTTYPE</name>
@@ -529,11 +519,6 @@
     </entityParameter>
     <entityConsumer>
       <name>Tasks</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ObjectId_param</name>
@@ -544,6 +529,11 @@
           <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/tasks/children/rowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
     </entityConsumer>
   </entityFields>
   <recordContainers>
diff --git a/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod b/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
index fdf4e999952bbfc3804623512cf5fe978d900612..39144723e62796ee2c7e4b433e0400cd47bdb623 100644
--- a/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
+++ b/entity/ClassificationGrading_entity/ClassificationGrading_entity.aod
@@ -40,6 +40,12 @@
     <entityProvider>
       <name>ClassificationGradings</name>
       <documentation>%aditoprj%/entity/ClassificationGrading_entity/entityfields/classificationgradings/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>ClassificationTypeId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>e0c6b86e-dcc1-43e1-9581-2b10c5c3d0cd</name>
@@ -48,13 +54,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>ClassificationTypeId_param</name>
-          <valueProcess>%aditoprj%/entity/ClassificationGrading_entity/entityfields/classificationgradings/children/classificationtypeid_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityProvider>
       <name>#PROVIDER_AGGREGATES</name>
diff --git a/entity/ClassificationGrading_entity/entityfields/classificationgradings/children/classificationtypeid_param/valueProcess.js b/entity/ClassificationGrading_entity/entityfields/classificationgradings/children/classificationtypeid_param/valueProcess.js
deleted file mode 100644
index b11d099579d9bf35111e31b13a41336731c28540..0000000000000000000000000000000000000000
--- a/entity/ClassificationGrading_entity/entityfields/classificationgradings/children/classificationtypeid_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.CLASSIFICATIONTYPEID"));
\ No newline at end of file
diff --git a/entity/Communication_entity/recordcontainers/db/fromClauseProcess.js b/entity/Communication_entity/recordcontainers/db/fromClauseProcess.js
index 611aa890f7584912618700b429c0a1415e50cb6d..bafe6c4d6176c505dd8e202d89ae7544d0bd4bb9 100644
--- a/entity/Communication_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Communication_entity/recordcontainers/db/fromClauseProcess.js
@@ -1,8 +1,10 @@
-import("system.logging");
 import("Sql_lib");
 import("system.result");
 import("KeywordRegistry_basic");
 
-result.string("COMMUNICATION " + new SqlBuilder().leftJoin("AB_KEYWORD_ENTRY", newWhere("COMMUNICATION.MEDIUM_ID = AB_KEYWORD_ENTRY.KEYID")
-                                                                .and("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.communicationMedium()))
-                                                                .toString());
\ No newline at end of file
+result.string(new SqlBuilder()
+    .from("COMMUNICATION")
+    .leftJoin("AB_KEYWORD_ENTRY", newWhere("COMMUNICATION.MEDIUM_ID = AB_KEYWORD_ENTRY.KEYID")
+        .and("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.communicationMedium()))
+    .toString()
+);
\ No newline at end of file
diff --git a/entity/Contract_entity/contentDescriptionProcess.js b/entity/Contract_entity/contentDescriptionProcess.js
index 03f72c03ff0708d82c613a2253e47b469662ff8c..c1836a1fcb2ff3413849aca20c8bc8912de21a53 100644
--- a/entity/Contract_entity/contentDescriptionProcess.js
+++ b/entity/Contract_entity/contentDescriptionProcess.js
@@ -6,10 +6,10 @@ import("system.result");
 var res = [translate.text("Payment method") + ": " + vars.get("$field.PAYMENT.displayValue")];
 
 if(vars.get("$field.CONTRACTDUE"))
-    res.push(translate.text("Next due date") + ": " + vars.get("$field.CONTRACTDUE"));
+    res.push(translate.text("Next due date") + ": " + datetime.toDate(vars.get("$field.CONTRACTDUE"), translate.text("dd.MM.yyyy")));
 
 if(vars.get("$field.CONTRACTEND"))
-    res.push(translate.text("Contract expiry date") + ": " + vars.get("$field.CONTRACTEND"))
+    res.push(translate.text("Contract expiry date") + ": " + datetime.toDate(vars.get("$field.CONTRACTEND"), translate.text("dd.MM.yyyy")))
                       
 res.push(translate.text("Creation date") + ": " + datetime.toDate(vars.get("$field.DATE_NEW"), translate.text("dd.MM.yyyy")));
 
diff --git a/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod b/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
index 3e77638a51c83f4a8c4826e1659f807b55198c97..ecc597470943e0219985ae481d76dea66c63687d 100644
--- a/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
+++ b/entity/DocumentTemplatePlaceOfUse_entity/DocumentTemplatePlaceOfUse_entity.aod
@@ -29,11 +29,6 @@
     </entityField>
     <entityConsumer>
       <name>ContextDocumentTemplatePlaceOfUse</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Context_entity</entityName>
-        <fieldName>ContextTemplatePlaceOfUse</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>InvertBlacklist_param</name>
@@ -44,10 +39,21 @@
           <valueProcess>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/contextdocumenttemplateplaceofuse/children/blacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Context_entity</entityName>
+        <fieldName>ContextTemplatePlaceOfUse</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>DocumentTemplatePlaceOfUse</name>
       <documentation>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>DocumentTemplatePlaceOfUse_param</name>
+          <documentation>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/documentation.adoc</documentation>
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>bc05b556-ecca-478c-9a92-b77e4d98d6f3</name>
@@ -56,17 +62,9 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>DocumentTemplatePlaceOfUse_param</name>
-          <valueProcess>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/valueProcess.js</valueProcess>
-          <documentation>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/documentation.adoc</documentation>
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>DocumentTemplatePlaceOfUse_param</name>
-      <valueProcess>%aditoprj%/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
     <entityProvider>
diff --git a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/valueProcess.js b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/valueProcess.js
deleted file mode 100644
index f786c8c7b183a2cf2240b9a314f499b55fcdf72c..0000000000000000000000000000000000000000
--- a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse/children/documenttemplateplaceofuse_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("system.vars");
-
-result.string(vars.get("$field.DOCUMENTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse_param/valueProcess.js b/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse_param/valueProcess.js
deleted file mode 100644
index f786c8c7b183a2cf2240b9a314f499b55fcdf72c..0000000000000000000000000000000000000000
--- a/entity/DocumentTemplatePlaceOfUse_entity/entityfields/documenttemplateplaceofuse_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("system.vars");
-
-result.string(vars.get("$field.DOCUMENTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index b4b41354a69faad73f1d90e87872643a381cf0f9..f1dda1cc413a7dc2f7f2678ef59c6188096c0d5f 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -143,6 +143,7 @@
     </entityActionField>
     <entityProvider>
       <name>Documents</name>
+      <documentation>%aditoprj%/entity/Document_entity/entityfields/documents/documentation.adoc</documentation>
       <recordContainer>jdito</recordContainer>
       <children>
         <entityParameter>
@@ -337,37 +338,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>Keyword_param</name>
-          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/keyword_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-          <mandatory v="true" />
-          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentName_param</name>
-          <valueProcess>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-          <documentation>%aditoprj%/entity/Document_entity/entityfields/maindocuments/children/assignmentname_param/documentation.adoc</documentation>
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentRowId_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>AssignmentTable_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>DisallowCreate_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>MSTTeamId_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>DisallowCreate_param</name>
diff --git a/entity/Document_entity/entityfields/documents/documentation.adoc b/entity/Document_entity/entityfields/documents/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..e2c292d974ff694c3b44fef1fbb7d5da60cb7db0
--- /dev/null
+++ b/entity/Document_entity/entityfields/documents/documentation.adoc
@@ -0,0 +1,3 @@
+= Documents
+
+Provider for getting all documents linked to an object.
\ No newline at end of file
diff --git a/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js b/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js
index c8e53ac00d768ffab9c7f50553de8b2f3d327bed..c752ef5850f94d87e6353b5cace686dafb172353 100644
--- a/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js
+++ b/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js
@@ -1,3 +1,4 @@
+import("Sql_lib");
 import("system.vars");
 
 var rowdata = vars.get("$local.rowdata");
@@ -6,5 +7,6 @@ let scanPattern = JSON.parse(rowdata["DUPLICATESCANNER.SCAN_PATTERN"]);
 if (scanPattern.provider == undefined) 
 { 
     scanPattern.provider = "indexP";
-    vars.set("$field.SCAN_PATTERN", JSON.stringify(scanPattern));
+    newWhere("DUPLICATESCANNER.ID", vars.get("$local.uid"))
+    .updateData(true, "DUPLICATESCANNER", ["DUPLICATESCANNER.SCAN_PATTERN"], null,[JSON.stringify(scanPattern)]);
 }
\ No newline at end of file
diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod
index c6c1df49e89ca1dde5d9de14f50e8f38a120fe4c..bc177161e353ecb38734875ad1d1cd060f5cbf73 100644
--- a/entity/Employee_entity/Employee_entity.aod
+++ b/entity/Employee_entity/Employee_entity.aod
@@ -410,6 +410,10 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityParameter>
+      <name>EmployeeContactIdWhitelist_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Employee_entity/recordcontainers/jdito/contentProcess.js b/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
index 42ea78f8cac66461da9ad093bf976729358f76db..8970fd6bd60fb0f744c14a2089ae5a213ef71702 100644
--- a/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("Sql_lib");
 import("system.db");
 import("Attribute_lib");
@@ -12,6 +13,10 @@ import("Employee_lib");
 var users;
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
     users = tools.getUsersByAttribute(tools.NAME, vars.get("$local.idvalues"), tools.PROFILE_FULL);
+else if(vars.exists("$param.EmployeeContactIdWhitelist_param") && vars.get("$param.EmployeeContactIdWhitelist_param"))
+{
+    users = tools.getUsersByAttribute(tools.CONTACTID, JSON.parse(vars.get("$param.EmployeeContactIdWhitelist_param")), tools.PROFILE_DEFAULT);
+}
 else
 {
     var values = ["true", "false"];
diff --git a/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod b/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod
index e010ab9f6c122d2c7ece42f3c17cad5eb4ddae91..ae07c537a21b1bfa942f26a14123b266163f17b2 100644
--- a/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod
+++ b/entity/ExportTemplateField_entity/ExportTemplateField_entity.aod
@@ -41,16 +41,9 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>ExportTemplateField_param</name>
-          <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>ExportTemplateField_param</name>
-      <valueProcess>%aditoprj%/entity/ExportTemplateField_entity/entityfields/exporttemplatefield_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
     <entityField>
diff --git a/entity/ExportTemplateField_entity/entityfields/exporttemplatefield_param/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/exporttemplatefield_param/valueProcess.js
deleted file mode 100644
index 3cbc49005642cf289c724b7b2de89a5db926e630..0000000000000000000000000000000000000000
--- a/entity/ExportTemplateField_entity/entityfields/exporttemplatefield_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.EXPORTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/ExportTemplateField_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/valueProcess.js b/entity/ExportTemplateField_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/valueProcess.js
deleted file mode 100644
index 3cbc49005642cf289c724b7b2de89a5db926e630..0000000000000000000000000000000000000000
--- a/entity/ExportTemplateField_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.EXPORTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod b/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod
index 0dc5e1fc3a6ba07fa7a4b83bf0525011d9a81f57..91964c2b417efeb73c0e5c094a61fa6b57efe915 100644
--- a/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod
+++ b/entity/ExportTemplatePlaceOfUse_entity/ExportTemplatePlaceOfUse_entity.aod
@@ -32,11 +32,6 @@
     </entityField>
     <entityConsumer>
       <name>ContextExportTemplatePlaceOfUse</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Context_entity</entityName>
-        <fieldName>ContextTemplatePlaceOfUse</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>InvertBlacklist_param</name>
@@ -47,15 +42,25 @@
           <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/contextexporttemplateplaceofuse/children/blacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Context_entity</entityName>
+        <fieldName>ContextTemplatePlaceOfUse</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ExportTemplatePlaceOfUse_param</name>
-      <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
     <entityProvider>
       <name>ExportTemplatePlaceOfUser</name>
       <documentation>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/documentation.adoc</documentation>
+      <children>
+        <entityParameter>
+          <name>ExportTemplatePlaceOfUse_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>c60a238a-51f0-4538-8c53-6921481ddd4c</name>
@@ -64,13 +69,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>ExportTemplatePlaceOfUse_param</name>
-          <valueProcess>%aditoprj%/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/children/exporttemplateplaceofuse_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityProvider>
       <name>#PROVIDER_AGGREGATES</name>
diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_param/valueProcess.js
deleted file mode 100644
index 3cbc49005642cf289c724b7b2de89a5db926e630..0000000000000000000000000000000000000000
--- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuse_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.EXPORTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/children/exporttemplateplaceofuse_param/valueProcess.js b/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/children/exporttemplateplaceofuse_param/valueProcess.js
deleted file mode 100644
index 3cbc49005642cf289c724b7b2de89a5db926e630..0000000000000000000000000000000000000000
--- a/entity/ExportTemplatePlaceOfUse_entity/entityfields/exporttemplateplaceofuser/children/exporttemplateplaceofuse_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.EXPORTTEMPLATEID"));
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/ExportTemplate_entity.aod b/entity/ExportTemplate_entity/ExportTemplate_entity.aod
index a38388bbd5de723db021a3cb15d5d40cb1322e35..65ba57734b719cca9d227313c6557010d0812147 100644
--- a/entity/ExportTemplate_entity/ExportTemplate_entity.aod
+++ b/entity/ExportTemplate_entity/ExportTemplate_entity.aod
@@ -61,6 +61,7 @@
     <entityField>
       <name>DESCRIPTION</name>
       <title>Description</title>
+      <contentType>LONG_TEXT</contentType>
     </entityField>
     <entityConsumer>
       <name>Languages</name>
@@ -73,11 +74,6 @@
     <entityConsumer>
       <name>ExportTemplateFields</name>
       <state>EDITABLE</state>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ExportTemplateField_entity</entityName>
-        <fieldName>ExportTemplateFields</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ExportTemplateField_param</name>
@@ -86,6 +82,11 @@
           <documentation>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplatefields/children/exporttemplatefield_param/documentation.adoc</documentation>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ExportTemplateField_entity</entityName>
+        <fieldName>ExportTemplateFields</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ExportTemplateIDs_param</name>
@@ -94,11 +95,6 @@
     </entityParameter>
     <entityConsumer>
       <name>ExportTemplateplaceOfUseCon</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ExportTemplatePlaceOfUse_entity</entityName>
-        <fieldName>ExportTemplatePlaceOfUser</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ExportTemplatePlaceOfUse_param</name>
@@ -106,11 +102,23 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ExportTemplatePlaceOfUse_entity</entityName>
+        <fieldName>ExportTemplatePlaceOfUser</fieldName>
+      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>ExportTemplateIDs</name>
       <documentation>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateids/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
+      <children>
+        <entityParameter>
+          <name>ExportTemplateIDs_param</name>
+          <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateids/children/exporttemplateids_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>1b692618-b800-47ae-a48c-3d4164d68401</name>
@@ -119,13 +127,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>ExportTemplateIDs_param</name>
-          <valueProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/exporttemplateids/children/exporttemplateids_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>comingFrom_param</name>
@@ -153,6 +154,13 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityActionField>
+      <name>openAdminView</name>
+      <title>Open admin view</title>
+      <onActionProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/openadminview/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:CURLY_BRACKETS</iconId>
+      <stateProcess>%aditoprj%/entity/ExportTemplate_entity/entityfields/openadminview/stateProcess.js</stateProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -160,6 +168,7 @@
       <alias>Data_alias</alias>
       <isReadOnly v="false" />
       <conditionProcess>%aditoprj%/entity/ExportTemplate_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <onDBDelete>%aditoprj%/entity/ExportTemplate_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>ce410f40-846b-43e6-9c30-150393cee43d</name>
diff --git a/entity/ExportTemplate_entity/entityfields/openadminview/onActionProcess.js b/entity/ExportTemplate_entity/entityfields/openadminview/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..34ed41f947d2483b4ed77b2b949dcc8d435338be
--- /dev/null
+++ b/entity/ExportTemplate_entity/entityfields/openadminview/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Context_lib");
+
+AdminViewUtils.open("EXPORTTEMPLATEID", ["DATE_NEW", "DATE_EDIT", "USER_NEW", "USER_EDIT"]);
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/entityfields/openadminview/stateProcess.js b/entity/ExportTemplate_entity/entityfields/openadminview/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..38f2298db7304b4d44a15fbad7f720558c02da99
--- /dev/null
+++ b/entity/ExportTemplate_entity/entityfields/openadminview/stateProcess.js
@@ -0,0 +1,4 @@
+import("Context_lib");
+import("system.result");
+
+result.string(AdminViewUtils.getActionState());
\ No newline at end of file
diff --git a/entity/ExportTemplate_entity/recordcontainers/db/onDBDelete.js b/entity/ExportTemplate_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 0000000000000000000000000000000000000000..571ed49a75e9c390650c56139d99139532a32649
--- /dev/null
+++ b/entity/ExportTemplate_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("Sql_lib");
+
+var exportTemplateId = vars.get("$local.uid");
+
+newWhere("EXPORTTEMPLATEPLACEOFUSE.EXPORTTEMPLATE_ID", exportTemplateId).deleteData();
+newWhere("EXPORTTEMPLATESELECTION.EXPORTTEMPLATE_ID", exportTemplateId).deleteData();
+newWhere("EXPORTTEMPLATEFIELD.EXPORTTEMPLATE_ID", exportTemplateId).deleteData();
\ No newline at end of file
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index 198706a9c3b7b8e46ad4077fb5705ef12c5ce44e..3472852e89848b764ea1dc9a2525a2e6bc300530 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -95,7 +95,19 @@
     <entityProvider>
       <name>SpecificContainerKeywords</name>
       <lookupIdfield>KEYID</lookupIdfield>
+      <documentation>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/documentation.adoc</documentation>
       <recordContainer>db</recordContainer>
+      <children>
+        <entityParameter>
+          <name>OnlyActives_param</name>
+          <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>bb48a3ee-f340-4fd4-8c80-ef73b765ab58</name>
@@ -596,17 +608,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>OnlyActives_param</name>
-          <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>ContainerName_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityField>
       <name>TITLE_TRANSLATED</name>
@@ -621,11 +622,6 @@
     <entityConsumer>
       <name>KeywordAttributeRelations</name>
       <onValidation>%aditoprj%/entity/KeywordEntry_entity/entityfields/keywordattributerelations/onValidation.js</onValidation>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordAttributeRelation_entity</entityName>
-        <fieldName>AttributesForKeywordEntry</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>KeywordEntryId_param</name>
@@ -633,6 +629,11 @@
           <expose v="true" />
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordAttributeRelation_entity</entityName>
+        <fieldName>AttributesForKeywordEntry</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>ExcludedKeyIdsSubquery_param</name>
diff --git a/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/documentation.adoc b/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..0525588e240333d63a3e3b76b2c9bfb08d14dc54
--- /dev/null
+++ b/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/documentation.adoc
@@ -0,0 +1,3 @@
+= SpecificContainerKeywords
+
+Delivers only keywords of a specific container for a keyword selection.
\ No newline at end of file
diff --git a/entity/KnowledgeDiscussion_entity/KnowledgeDiscussion_entity.aod b/entity/KnowledgeDiscussion_entity/KnowledgeDiscussion_entity.aod
index 0b70f5dfc1e35d98e753252c683061c4e542b143..79d764acc09b4d2c7f678768bbbc646a4e2a1a14 100644
--- a/entity/KnowledgeDiscussion_entity/KnowledgeDiscussion_entity.aod
+++ b/entity/KnowledgeDiscussion_entity/KnowledgeDiscussion_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeDiscussion_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeDiscussion_entity/documentation.adoc</documentation>
   <title>Discussion</title>
   <grantCreateProcess>%aditoprj%/entity/KnowledgeDiscussion_entity/grantCreateProcess.js</grantCreateProcess>
   <grantUpdateProcess>%aditoprj%/entity/KnowledgeDiscussion_entity/grantUpdateProcess.js</grantUpdateProcess>
@@ -61,6 +62,11 @@
     </entityField>
     <entityConsumer>
       <name>StatusKeyword</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
@@ -71,14 +77,10 @@
           <valueProcess>%aditoprj%/entity/KnowledgeDiscussion_entity/entityfields/statuskeyword/children/onlyactives_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>ByKnowledgeId</name>
+      <documentation>%aditoprj%/entity/KnowledgeDiscussion_entity/entityfields/byknowledgeid/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>fbacb136-2690-495a-82c5-b6ab1576d3f9</name>
diff --git a/entity/KnowledgeDiscussion_entity/documentation.adoc b/entity/KnowledgeDiscussion_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..d2fa0a728ff196aa8dba9163da1aefd62fd12eb1
--- /dev/null
+++ b/entity/KnowledgeDiscussion_entity/documentation.adoc
@@ -0,0 +1,3 @@
+This entity manages the discussion "forum" which is linked to a knowledge entry
+It uses a JDito recordcontainer to build the tree.
+The tree is always sorted by latest action. So the dicussion where an answer was added last, is put on top
\ No newline at end of file
diff --git a/entity/KnowledgeDiscussion_entity/entityfields/byknowledgeid/documentation.adoc b/entity/KnowledgeDiscussion_entity/entityfields/byknowledgeid/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..f57edf8c453eebabc900ee3944e040bccc7154f0
--- /dev/null
+++ b/entity/KnowledgeDiscussion_entity/entityfields/byknowledgeid/documentation.adoc
@@ -0,0 +1,3 @@
+This provider needs the id of a knowledge entry to deliver all discussions of it
+
+Always fill KnowledgeId_param
\ No newline at end of file
diff --git a/entity/KnowledgeLink_entity/KnowledgeLink_entity.aod b/entity/KnowledgeLink_entity/KnowledgeLink_entity.aod
index 81ffc1da3d81fde9f4aea3c88dd1ef664d8af182..93ad79b6566ef190263ed841571ff5d38d9e2341 100644
--- a/entity/KnowledgeLink_entity/KnowledgeLink_entity.aod
+++ b/entity/KnowledgeLink_entity/KnowledgeLink_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeLink_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeLink_entity/documentation.adoc</documentation>
   <title>Link</title>
   <iconIdProcess>%aditoprj%/entity/KnowledgeLink_entity/iconIdProcess.js</iconIdProcess>
   <titlePlural>Links</titlePlural>
@@ -57,17 +58,17 @@
     </entityConsumer>
     <entityConsumer>
       <name>Objects</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>ObjectProxy_entity</entityName>
+        <fieldName>FilteredObjects</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>Entity_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeLink_entity/entityfields/objects/children/entity_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>ObjectProxy_entity</entityName>
-        <fieldName>FilteredObjects</fieldName>
-      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>KnowledgeManagementId_param</name>
@@ -77,16 +78,7 @@
       <name>ByKnowledgeId</name>
       <targetContextField>OBJECT_TYPE</targetContextField>
       <targetIdField>ROW_ID</targetIdField>
-      <children>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <expose v="false" />
-        </entityParameter>
-        <entityParameter>
-          <name>RowId_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
+      <documentation>%aditoprj%/entity/KnowledgeLink_entity/entityfields/byknowledgeid/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>c3ed10c1-db55-4e55-9c18-2b8d400df033</name>
@@ -95,14 +87,13 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-    </entityProvider>
-    <entityProvider>
-      <name>ByLink</name>
-      <targetContextField>OBJECT_TYPE</targetContextField>
-      <targetIdField>ROW_ID</targetIdField>
       <children>
         <entityParameter>
-          <name>KnowledgeManagementId_param</name>
+          <name>ObjectType_param</name>
+          <expose v="false" />
+        </entityParameter>
+        <entityParameter>
+          <name>RowId_param</name>
           <expose v="false" />
         </entityParameter>
       </children>
diff --git a/entity/KnowledgeLink_entity/documentation.adoc b/entity/KnowledgeLink_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..32310ca526d16e0c87a4db78a1ef86dfeb15b45d
--- /dev/null
+++ b/entity/KnowledgeLink_entity/documentation.adoc
@@ -0,0 +1 @@
+This entity is used to manage links to other objects, that are read from ObjectProxy_entity via a consumer
\ No newline at end of file
diff --git a/entity/KnowledgeLink_entity/entityfields/byknowledgeid/documentation.adoc b/entity/KnowledgeLink_entity/entityfields/byknowledgeid/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..94bf48727d7cf920859494f4f7a35b058a4c90b1
--- /dev/null
+++ b/entity/KnowledgeLink_entity/entityfields/byknowledgeid/documentation.adoc
@@ -0,0 +1 @@
+Delivers all links to other objects that are linked to a knowledge entry
\ No newline at end of file
diff --git a/entity/KnowledgeManagementTagList_entity/KnowledgeManagementTagList_entity.aod b/entity/KnowledgeManagementTagList_entity/KnowledgeManagementTagList_entity.aod
index c7b24df7f146ca735ea1aa07927aafbd8a298a67..3a8e46df4e9a2abe34e632740db8f66c0a082da0 100644
--- a/entity/KnowledgeManagementTagList_entity/KnowledgeManagementTagList_entity.aod
+++ b/entity/KnowledgeManagementTagList_entity/KnowledgeManagementTagList_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeManagementTagList_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeManagementTagList_entity/documentation.adoc</documentation>
   <contentTitleProcess>%aditoprj%/entity/KnowledgeManagementTagList_entity/contentTitleProcess.js</contentTitleProcess>
   <recordContainer>JDito_TagList</recordContainer>
   <entityFields>
@@ -16,6 +17,7 @@
     </entityField>
     <entityProvider>
       <name>CompleteList</name>
+      <documentation>%aditoprj%/entity/KnowledgeManagementTagList_entity/entityfields/completelist/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>85925baa-5edc-4908-804e-f7ec4c5a2a0c</name>
diff --git a/entity/KnowledgeManagementTagList_entity/documentation.adoc b/entity/KnowledgeManagementTagList_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..d2eef458abade304a5c07db9ebbdff5e83879704
--- /dev/null
+++ b/entity/KnowledgeManagementTagList_entity/documentation.adoc
@@ -0,0 +1 @@
+The entity provides a complete list of all existing tags and is consumed where tags can be chosen
\ No newline at end of file
diff --git a/entity/KnowledgeManagementTagList_entity/entityfields/completelist/documentation.adoc b/entity/KnowledgeManagementTagList_entity/entityfields/completelist/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..d26c90a04d79b44a90c99cc2fdbafb008ea7fcbe
--- /dev/null
+++ b/entity/KnowledgeManagementTagList_entity/entityfields/completelist/documentation.adoc
@@ -0,0 +1 @@
+provides a complete list of all possible tags, so they can be chosen when you add tags
\ No newline at end of file
diff --git a/entity/KnowledgeManagementTags_entity/KnowledgeManagementTags_entity.aod b/entity/KnowledgeManagementTags_entity/KnowledgeManagementTags_entity.aod
index 10b75658ad1ebbc11fb08b9e00198ea8b0e1fe83..14f18612c20c2205a6932245f0baa06728d0b0e1 100644
--- a/entity/KnowledgeManagementTags_entity/KnowledgeManagementTags_entity.aod
+++ b/entity/KnowledgeManagementTags_entity/KnowledgeManagementTags_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeManagementTags_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeManagementTags_entity/documentation.adoc</documentation>
   <recordContainer>JDito_KnowledgeManagementKeywords</recordContainer>
   <entityFields>
     <entityProvider>
@@ -13,12 +14,7 @@
     </entityParameter>
     <entityProvider>
       <name>ByKnowledgeManagementId</name>
-      <children>
-        <entityParameter>
-          <name>KnowledgeManagementId_param</name>
-          <mandatory v="true" />
-        </entityParameter>
-      </children>
+      <documentation>%aditoprj%/entity/KnowledgeManagementTags_entity/entityfields/byknowledgemanagementid/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>8d86a61b-0fe3-44c4-a512-e044c990fded</name>
@@ -27,6 +23,12 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>KnowledgeManagementId_param</name>
+          <mandatory v="true" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityField>
       <name>TAG</name>
diff --git a/entity/KnowledgeManagementTags_entity/documentation.adoc b/entity/KnowledgeManagementTags_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..ca20973196d16e0261b5acb7b6f4af869f56b496
--- /dev/null
+++ b/entity/KnowledgeManagementTags_entity/documentation.adoc
@@ -0,0 +1,5 @@
+This entity represents the tags of a knowledge entry and handles adding, editing and deleting of linked tags
+
+If a tag, which doesn't exist yet is entered, the tag is created and then added to the knowledge entry
+
+Always fill KnowledgeManagementId_param
\ No newline at end of file
diff --git a/entity/KnowledgeManagementTags_entity/entityfields/byknowledgemanagementid/documentation.adoc b/entity/KnowledgeManagementTags_entity/entityfields/byknowledgemanagementid/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..76bdf00546188f3a4331b2508e472c51b94cb94b
--- /dev/null
+++ b/entity/KnowledgeManagementTags_entity/entityfields/byknowledgemanagementid/documentation.adoc
@@ -0,0 +1,3 @@
+This provider delivers the list of tags of a knowledge entry
+
+KnowledgeManagementId_param has to be filled, otherwise it won't work
\ No newline at end of file
diff --git a/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod b/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod
index f52fc433f41faf4abc036c2483ff961baad4ff31..0d58306fea52a8b0dce7324e1232499c395522ff 100644
--- a/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod
+++ b/entity/KnowledgeManagement_entity/KnowledgeManagement_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeManagement_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeManagement_entity/documentation.adoc</documentation>
   <icon>VAADIN:ACADEMY_CAP</icon>
   <title>Knowledge</title>
   <grantUpdateProcess>%aditoprj%/entity/KnowledgeManagement_entity/grantUpdateProcess.js</grantUpdateProcess>
@@ -10,19 +11,11 @@
   <afterOperatingState>%aditoprj%/entity/KnowledgeManagement_entity/afterOperatingState.js</afterOperatingState>
   <useFavorites v="true" />
   <iconIdProcess>%aditoprj%/entity/KnowledgeManagement_entity/iconIdProcess.js</iconIdProcess>
-  <usePermissions v="true" />
   <titlePlural>Knowledge entries</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
       <name>#PROVIDER</name>
-      <dependencies>
-        <entityDependency>
-          <name>40cf66ca-421f-47f6-8ecc-8360657e0640</name>
-          <entityName>KnowledgeNewsFeed_entity</entityName>
-          <isConsumer v="false" />
-        </entityDependency>
-      </dependencies>
     </entityProvider>
     <entityField>
       <name>KNOWLEDGEMANAGEMENTID</name>
@@ -108,35 +101,36 @@
       <refreshParent v="true" />
       <state>EDITABLE</state>
       <onValidation>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/tagsbyknowledgeid/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KnowledgeManagementTags_entity</entityName>
+        <fieldName>ByKnowledgeManagementId</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>KnowledgeManagementId_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/tagsbyknowledgeid/children/knowledgemanagementid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KnowledgeManagementTags_entity</entityName>
-        <fieldName>ByKnowledgeManagementId</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>DiscussionsByKnowledgeId</name>
       <refreshParent v="true" />
+      <dependency>
+        <name>dependency</name>
+        <entityName>KnowledgeDiscussion_entity</entityName>
+        <fieldName>ByKnowledgeId</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>KnowledgeId_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/discussionsbyknowledgeid/children/knowledgeid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KnowledgeDiscussion_entity</entityName>
-        <fieldName>ByKnowledgeId</fieldName>
-      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>Provider</name>
+      <documentation>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/provider/documentation.adoc</documentation>
     </entityProvider>
     <entityConsumer>
       <name>PersonContacts</name>
@@ -148,37 +142,42 @@
     </entityConsumer>
     <entityConsumer>
       <name>KeywordKnowledgeType</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/keywordknowledgetype/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordPublish</name>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
         <fieldName>SpecificContainerKeywords</fieldName>
       </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>KeywordPublish</name>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/keywordpublish/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>indexTag</name>
     </entityField>
     <entityConsumer>
       <name>LinkedDocuments</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>AssignmentTable_param</name>
@@ -189,11 +188,6 @@
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/linkeddocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Document_entity</entityName>
-        <fieldName>Documents</fieldName>
-      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>openEntryAsMail</name>
@@ -206,17 +200,17 @@
     <entityConsumer>
       <name>LinksByKnowledgeId</name>
       <refreshParent v="true" />
+      <dependency>
+        <name>dependency</name>
+        <entityName>KnowledgeLink_entity</entityName>
+        <fieldName>ByKnowledgeId</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>KnowledgeManagementId_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/linksbyknowledgeid/children/knowledgemanagementid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KnowledgeLink_entity</entityName>
-        <fieldName>ByKnowledgeId</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>LastChange</name>
@@ -225,17 +219,17 @@
     </entityField>
     <entityConsumer>
       <name>LogHistories</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>tablenames_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>LogHistory_entity</entityName>
-        <fieldName>LogHistoryProvider</fieldName>
-      </dependency>
     </entityConsumer>
     <entityActionField>
       <name>exportHTML_action</name>
@@ -277,6 +271,11 @@
       <name>KnowledgeRoles</name>
       <stateProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgeroles/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/knowledgeroles/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KnowledgeRole_entity</entityName>
+        <fieldName>KnowledgeRole</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>KnowledgeManagement_param</name>
@@ -288,14 +287,14 @@
           <expose v="true" />
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KnowledgeRole_entity</entityName>
-        <fieldName>KnowledgeRole</fieldName>
-      </dependency>
     </entityConsumer>
     <entityConsumer>
       <name>Tasks</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Task_entity</entityName>
+        <fieldName>Tasks</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ObjectId_param</name>
@@ -310,11 +309,6 @@
           <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/tasks/children/presetlinks_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Task_entity</entityName>
-        <fieldName>Tasks</fieldName>
-      </dependency>
     </entityConsumer>
     <entityField>
       <name>RESPONSIBLE_CONTACT_ID</name>
@@ -328,6 +322,7 @@
       <name>PUBLISH</name>
       <title>Publishing level</title>
       <consumer>KeywordPublish</consumer>
+      <state>INVISIBLE</state>
       <valueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/publish/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/KnowledgeManagement_entity/entityfields/publish/displayValueProcess.js</displayValueProcess>
     </entityField>
diff --git a/entity/KnowledgeManagement_entity/documentation.adoc b/entity/KnowledgeManagement_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..db9002b6103f2b1f3c04f5b55d9b2e457ee0ef17
--- /dev/null
+++ b/entity/KnowledgeManagement_entity/documentation.adoc
@@ -0,0 +1,3 @@
+The main entity of the knowledgemanagement
+
+manages the content and consumes discussions, links, log history, documents 
\ No newline at end of file
diff --git a/entity/KnowledgeManagement_entity/entityfields/provider/documentation.adoc b/entity/KnowledgeManagement_entity/entityfields/provider/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..d72ef5f67309fa7a7091cbe6e102116e123f64ea
--- /dev/null
+++ b/entity/KnowledgeManagement_entity/entityfields/provider/documentation.adoc
@@ -0,0 +1 @@
+This provider is used by dashlets which set isDashlet_param
\ No newline at end of file
diff --git a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/query.js b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/query.js
index b13c3cdc15dd6b79ec1ecc332a3113a40f8399ae..29d30e242c27ba5f0c73e988eb1e365e3e130b67 100644
--- a/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/query.js
+++ b/entity/KnowledgeManagement_entity/recordcontainers/indexsearchknowledgebase/query.js
@@ -12,13 +12,13 @@ var sql = newSelect([
                     .join("KNOWLEDGETAGLINK", "KNOWLEDGEMANAGEMENTID = KNOWLEDGEMANAGEMENT_ID")
                     .join("KNOWLEDGETAG", "KNOWLEDGETAGID = KNOWLEDGETAG_ID")
                     .where("KNOWLEDGETAG.TAG", "News")
-                    .and("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID = km1.KNOWLEDGEMANAGEMENTID"))
+                    .and("KNOWLEDGEMANAGEMENT.KNOWLEDGEMANAGEMENTID = km1.KNOWLEDGEMANAGEMENTID"), SqlBuilder.EXISTS())
                 .thenString("News")
-            .when(newWhere("GITPATH is null").and("TYPE = 1"))
+            .when(newWhere("TYPE = '1'"))
                 .thenString("Knowledgebase")
-            .when(newWhere("GITPATH is not null").and("TYPE = 2"))
+            .when(newWhere("TYPE = '2'"))
                 .thenString("Editorial")
-            .when("TYPE = 3")
+            .when(newWhere("TYPE = '3'"))
                 .thenString("Business process"),
         "''"
     ]).from("KNOWLEDGEMANAGEMENT", "km1")
diff --git a/entity/KnowledgeRole_entity/KnowledgeRole_entity.aod b/entity/KnowledgeRole_entity/KnowledgeRole_entity.aod
index eb1b5a2d876b1162a4115a44c8ee8b6230a43ffe..427a175e7b5d20abc6cabca10d456d38d1512933 100644
--- a/entity/KnowledgeRole_entity/KnowledgeRole_entity.aod
+++ b/entity/KnowledgeRole_entity/KnowledgeRole_entity.aod
@@ -2,6 +2,7 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.17" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.17">
   <name>KnowledgeRole_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/KnowledgeRole_entity/documentation.adoc</documentation>
   <title>Knowledge Role</title>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -16,21 +17,22 @@
     </entityField>
     <entityConsumer>
       <name>NewsRole</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Role_entity</entityName>
+        <fieldName>FilterRolesWithoutPermission</fieldName>
+      </dependency>
       <children>
         <entityParameter>
           <name>ExcludeRoles_param</name>
           <valueProcess>%aditoprj%/entity/KnowledgeRole_entity/entityfields/newsrole/children/excluderoles_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Role_entity</entityName>
-        <fieldName>FilterRolesWithoutPermission</fieldName>
-      </dependency>
     </entityConsumer>
     <entityProvider>
       <name>KnowledgeRole</name>
       <lookupIdfield>ROLES</lookupIdfield>
+      <documentation>%aditoprj%/entity/KnowledgeRole_entity/entityfields/knowledgerole/documentation.adoc</documentation>
       <titlePlural>KnowledgeRoles</titlePlural>
       <recordContainer>db</recordContainer>
       <dependencies>
diff --git a/entity/KnowledgeRole_entity/documentation.adoc b/entity/KnowledgeRole_entity/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..6b291538809455a2847b23e14f93cbec08598048
--- /dev/null
+++ b/entity/KnowledgeRole_entity/documentation.adoc
@@ -0,0 +1,5 @@
+This entity handles the roles, that are linked to a knowledge entry
+The roles are used to create notifications and newsfeed entries for specific roles when the switches are set
+
+KnowledgeManagement_param needs the id of a knowledge entry
+PublishLevelRoles_param takes an array of role names which get excluded from the role list
\ No newline at end of file
diff --git a/entity/KnowledgeRole_entity/entityfields/knowledgerole/documentation.adoc b/entity/KnowledgeRole_entity/entityfields/knowledgerole/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..781e59c75976c40ab98ceb4e76b174e38d31a69e
--- /dev/null
+++ b/entity/KnowledgeRole_entity/entityfields/knowledgerole/documentation.adoc
@@ -0,0 +1,2 @@
+KnowledgeManagement_param needs the id of a knowledge entry
+PublishLevelRoles_param takes an array of role names which get excluded from the role list
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index b548703631233c53beb2d62af55e3a81912e5882..b8443f6c3fe69dbec64969e38d8eaec4e2d46c97 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -14,7 +14,6 @@
   <useFavorites v="true" />
   <iconId>VAADIN:HAMMER</iconId>
   <imageProcess>%aditoprj%/entity/Product_entity/imageProcess.js</imageProcess>
-  <usePermissions v="true" />
   <titlePlural>Products</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
diff --git a/entity/Product_entity/recordcontainers/db/onDBUpdate.js b/entity/Product_entity/recordcontainers/db/onDBUpdate.js
index 01a6d02f7e5b6172f857181ce2b51be666d4cf8c..2e53f3cad9a9edf21cc5bbc6fdecc00c5001dfee 100644
--- a/entity/Product_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Product_entity/recordcontainers/db/onDBUpdate.js
@@ -1,14 +1,3 @@
 import("Workflow_lib");
-import("system.vars");
-import("Product_lib");
-import("Entity_lib");
-
-// TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer #1030023
-FieldChanges.assimilateChangeAndDispose("$field.IMAGE", function(state, value){
-    if (state == FieldChanges.STATE_CHANGED())
-        ProductUtils.setImage(vars.get("$local.uid"), value);
-    else
-        ProductUtils.removeImage(vars.get("$local.uid"));
-});
 
 WorkflowSignalSender.updated();
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/contentTitleProcess.js b/entity/SalesprojectMilestone_entity/contentTitleProcess.js
index 474d304708cb9ee5be375f81044a2529c335641a..27695c3f691e8b1c5ac7e41181b80737355fc514 100644
--- a/entity/SalesprojectMilestone_entity/contentTitleProcess.js
+++ b/entity/SalesprojectMilestone_entity/contentTitleProcess.js
@@ -2,9 +2,9 @@ import("system.vars");
 import("system.translate");
 import("system.result");
 
-if (vars.exists("$field.TYPE") && vars.get("$field.TYPE"))
+if (vars.get("$field.KIND"))
 {
-    result.string(translate.text("Milestones") + " " + translate.text(vars.get("$field.TYPE")));
+    result.string(translate.text("Milestones") + " " + translate.text(vars.get("$field.KIND")));
 }
 else
     result.string(translate.text("Milestones"));
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/entityfields/keywords/children/containername_param/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/keywords/children/containername_param/valueProcess.js
index 1b532aec63043fba84acf422369129fb9706bc12..ff40ad745a0a2d0676d08287e93bad6602a0b35b 100644
--- a/entity/SalesprojectMilestone_entity/entityfields/keywords/children/containername_param/valueProcess.js
+++ b/entity/SalesprojectMilestone_entity/entityfields/keywords/children/containername_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.TYPE"));
\ No newline at end of file
+result.string(vars.get("$field.KIND"));
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js b/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js
index f02879713e48f2970f9de7b2e423bb1b329e40cd..38663022e20ea6ef8cbaedf0f49a27f94d93faaf 100644
--- a/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js
+++ b/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js
@@ -2,9 +2,9 @@ import("system.vars");
 import("system.translate");
 import("system.result");
 
-if (vars.exists("$field.TYPE") && vars.get("$field.TYPE"))
+if (vars.get("$field.KIND"))
 {
-    result.string(translate.text(vars.get("$field.TYPE")));
+    result.string(translate.text(vars.get("$field.KIND")));
 }
 else
     result.string(translate.text("Milestones"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
index 341994efdf214b16a3c8dc9ba3e222c61f1323f8..308e821efaad27ef7cc947f8fcd0710229304998 100644
--- a/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/phase_filterextention/groupQueryProcess.js
@@ -25,7 +25,7 @@ else
 {
     stmt.select([groupedList , KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(),"AB_KEYWORD_ENTRY.KEYID"), "count(*)", "count(*)"])
     if (order != null)
-        stmt.orderBy("AB_KEYWORD_ENTRY.SORTING, " +order);
+        stmt.orderBy("AB_KEYWORD_ENTRY.SORTING, " + order);
 }
 
 result.string(stmt.toString());
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 46ad514d97d35ba922f8d323e0a7166724251242..375e6f269678c8240a93bfc520ffd0c42045ac97 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -7584,6 +7584,9 @@
     <entry>
       <key>Verantwortlicher</key>
     </entry>
+    <entry>
+      <key>The team must have at least one owner</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 2ebdace2b722840bc04f56ab43c54bcbfd083ab2..9efeb9f1343cec8f101ffd7f4549154d2659e3f7 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -74,6 +74,10 @@
       <key>Favoritegroup</key>
       <value>Favoritengruppe</value>
     </entry>
+    <entry>
+      <key>The team must have at least one owner</key>
+      <value>Das Team muss mindestens einen Besitzer haben</value>
+    </entry>
     <entry>
       <key>Data imported. Contact not found.</key>
       <value>Daten importiert. Keine weiteren Personendaten gefunden.</value>
@@ -8377,7 +8381,6 @@ Bitte Datumseingabe prüfen</value>
     </entry>
     <entry>
       <key>Subcategory</key>
-      <value>Unterkategorie</value>
     </entry>
     <entry>
       <key>The radius has to be at least %0.</key>
@@ -9996,9 +9999,6 @@ Bitte Datumseingabe prüfen</value>
     <entry>
       <key>My campaigns</key>
     </entry>
-    <entry>
-      <key>Subcategory</key>
-    </entry>
     <entry>
       <key>Campaign costs</key>
     </entry>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index b1927645977c16fee2d17e2f4586f1b6fe656f5e..e27607261acb9a472b6febcf29b79d1b6aebb970 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -7665,6 +7665,9 @@
     <entry>
       <key>Verantwortlicher</key>
     </entry>
+    <entry>
+      <key>The team must have at least one owner</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
index 3ecddbf8b499e01439f931aece466f54b8294985..2c17aad789a69aeac878f62ffc517503d9071881 100644
--- a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
+++ b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
@@ -18,6 +18,10 @@
           <name>ec5ceac7-a2d4-4912-b04b-adc83d3e9589</name>
           <entityField>VALUE</entityField>
         </neonTitledListTableColumn>
+        <neonTitledListTableColumn>
+          <name>2ec9274b-a800-4a38-8139-418543161be2</name>
+          <entityField>VALUE_LOOKUP</entityField>
+        </neonTitledListTableColumn>
       </columns>
     </titledListViewTemplate>
   </children>
diff --git a/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod b/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod
index c76b3911ada32f3151a5bbe762c0f71609619c60..c7dfb01e23ac7c680a0a0d343293f1f55fffcc6a 100644
--- a/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod
+++ b/neonView/ExportTemplateFieldList_view/ExportTemplateFieldList_view.aod
@@ -5,9 +5,9 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="false" />
   <layout>
-    <boxLayout>
+    <noneLayout>
       <name>layout</name>
-    </boxLayout>
+    </noneLayout>
   </layout>
   <children>
     <titledListViewTemplate>
diff --git a/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod b/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod
index 45306dbb7234ea9b481ded9d1608679fed3d7cac..bcbd58b13a6a05ba3b2ff54f16bafdacdf6f38cc 100644
--- a/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod
+++ b/neonView/ExportTemplatePlaceOfUseList_view/ExportTemplatePlaceOfUseList_view.aod
@@ -3,14 +3,15 @@
   <name>ExportTemplatePlaceOfUseList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
-    <boxLayout>
+    <noneLayout>
       <name>layout</name>
-    </boxLayout>
+    </noneLayout>
   </layout>
   <children>
     <titledListViewTemplate>
       <name>titledList</name>
       <titleField>PLACEOFUSE</titleField>
+      <titleFieldFullWidth v="true" />
       <entityField>#ENTITY</entityField>
     </titledListViewTemplate>
   </children>
diff --git a/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod b/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod
index 06bcfe9edfd98a79a7c86135b7977b02f32da4d3..79713725747aa1250dd4f7667f6e4a77c73280b7 100644
--- a/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod
+++ b/neonView/ExportTemplatePreview_view/ExportTemplatePreview_view.aod
@@ -24,6 +24,8 @@
     </favoriteViewTemplate>
     <genericViewTemplate>
       <name>generic</name>
+      <showDrawer v="true" />
+      <drawerCaption>Details</drawerCaption>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index b7bf2e8a17ab57f3b798bdb5ffaf388b678ca982..40e6e00d4c2d686986fa22bb843da5b35d29c01f 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -355,10 +355,15 @@ ContextUtils.getTitleByContext = function(pContextId, pRowId)
  * @param {Object} [pFilterObj] prepeared Filter Object
  * @param {String[]} [pContactId] Array of all the Contactids you want to search through
  * 
- * @return {String[][]} An Array of Fields (["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", "CONTACT_ID", "DATE_NEW"]) for a certain Context
+ * @return {String[][]} An Array of Fields (["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", CONNECTIONFIELD, "DATE_NEW"]) for a certain Context
  */
 ContextUtils.getContextDataViaReadEntity = function(pContextId, pContextConfig, pFilterObj, pContactId)
 {     
+
+    var connectionField = "CONTACT_ID";
+    if(pContextConfig.connectionField)
+        connectionField = pContextConfig.connectionField;
+
     if(pContextConfig.childField && pContextConfig.parentField && pContextConfig.contactIdField && pContextConfig.subContext)
     {
         var prefilter = Utils.buildFilterObj({}, pContextConfig.contactIdField, "IN", "TEXT", JSON.stringify(pContactId), JSON.stringify(pContactId), "OR");
@@ -377,10 +382,10 @@ ContextUtils.getContextDataViaReadEntity = function(pContextId, pContextConfig,
     }
     else
     {
-        pFilterObj = Utils.buildFilterObj(pFilterObj, "CONTACT_ID", "IN", "TEXT", JSON.stringify(pContactId), JSON.stringify(pContactId), "AND"); 
+        pFilterObj = Utils.buildFilterObj(pFilterObj, connectionField, "IN", "TEXT", JSON.stringify(pContactId), JSON.stringify(pContactId), "AND"); 
     }
     
-    var fields = ["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", "CONTACT_ID", "DATE_NEW", "ACTIVE"];
+    var fields = ["#UID", "#TITLE", "#MAPPING", "#CONTENTDESCRIPTION", "#CONTENTTITLE", connectionField, "DATE_NEW", "ACTIVE"];
     if(pContextConfig.setGroupBy)
         fields.push(pContextConfig.setGroupBy);
     
@@ -410,8 +415,8 @@ ContextUtils.getContextDataViaReadEntity = function(pContextId, pContextConfig,
                 throw new Error(translate.text("Some prereserved EntityFields which are necessary fot 360° are not available. Context: "+pContextId
                     +" Data: "+JSON.stringify(res)));
         }
-        else if(res[0]["CONTACT_ID"] == undefined)
-            throw new Error(translate.text("CONTACT_ID is not defined! Context: "+pContextId));
+        else if(res[0][connectionField] == undefined)
+            throw new Error(translate.text(connectionField+" is not defined! Context: "+pContextId));
     }
     return res;
 }
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index d4d8afdaa40296cadc2c172ef2e077dc8575e066..eecd2a9c83628dd909a5c182d53c53d38963a53b 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1054,7 +1054,7 @@ SqlBuilder.prototype.tableName = function (pTable)
  */
 SqlBuilder.prototype.from = function(pTable, pTableAlias)
 {
-    this._from = SqlBuilder._getStatement(pTable, "from", pTableAlias, false, (pTableAlias ? false : true));
+    this._from = SqlBuilder._getStatement(pTable, "", pTableAlias, false, (pTableAlias ? false : true));
     if (typeof(pTable) === "string")
         this._tableName = pTable;
     return this;
@@ -2193,10 +2193,7 @@ SqlBuilder.prototype.whereWasCalled = function() {
  */
 SqlBuilder.prototype.isFullSelect = function() 
 {
-    if (!this._select || !this._from)
-        return false;
-    
-    return true;
+    return !(!this._select || !this._from);
 }
 
 /**
@@ -2375,9 +2372,14 @@ SqlBuilder.prototype.buildCondition = function()
 SqlBuilder.prototype.build = function(pDefaultConditionIfNone)
 {
     var wherePrefix = "";
+    var fromObj = this._from;
     
     if (this.isFullSelect())
     {
+        fromObj = {
+            sqlStorage: "from " + this._from.sqlStorage,
+            preparedValues: this._from.preparedValues
+        };
         if (this._where.sqlStorage)
             wherePrefix = "where ";
     }
@@ -2390,11 +2392,11 @@ SqlBuilder.prototype.build = function(pDefaultConditionIfNone)
     var whereObj = {
         sqlStorage : wherePrefix + whereSql,
         preparedValues : this._where.preparedValues
-    }
+    };
     
     var allParts = [
         this._select,
-        this._from,
+        fromObj
         ].concat(this._joins).concat([
         whereObj,
         this._groupBy,
@@ -4253,10 +4255,11 @@ SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol, pAsPrepar
 }
 
 /**
-* resolves key-value pairs (of strings) into a case when expression
+* resolves key-value pairs (of strings) into a case when expression; 
+* This function tries to get the columntype for better type comparison
 * 
 * @param {String[][]} pKeyValueArray you've to pass a 2D-Array where each element has at pos0 the key and pos1 the value
-* @param {String} pDbFieldName name fo the database field where the KEY-value is stored
+* @param {String} pDbFieldName name fo the database field where the KEY-value is stored; prefers TABLENAME.COLUMNNAME
 * @param {String} [pLocale=current client language] specifies the locale for translating the title; can be false if nothing shalle be translated
 * 
 * @return {String} a SQL-expression (case-when-statement) that resolves the KEYID into the title -> as preparedSatement-elements
@@ -4278,7 +4281,13 @@ SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale)
     };
     //!SqlBuilder
     var resSql = "case ", preparedValues = [];
-    var colTypeKeyId = SQLTYPES.CHAR;
+    
+    var colTypeKeyId = SQLTYPES.CHAR; //the standard type is char
+    var fields = SqlUtils._parseFieldQualifier(pDbFieldName); //validate the DB-field for proper form (CONTACT.CONTACTID)
+    if (!(fields instanceof TypeError))
+        colTypeKeyId = SqlUtils.getSingleColumnType(pDbFieldName, undefined, this.alias); 
+     //some databases dont auto cast on their own so we need the proper type
+    
     var colTypeTitle = SQLTYPES.NVARCHAR;
     for (var i = 0, l = keyData.length; i < l; i++) 
     {
diff --git a/process/Util_lib/process.js b/process/Util_lib/process.js
index ca3962c923633f5d9e531ff4f9d15e0ae5672889..00ddb82a71bc8976508282f740e58b7fc996d5a3 100644
--- a/process/Util_lib/process.js
+++ b/process/Util_lib/process.js
@@ -716,7 +716,7 @@ NumberUtils.validateIsBetweenFloat = function(pTitle, pValue, pMin, pMax, pIgnor
     if(isNaN(discount))
         return false;
     
-    if (!NumberUtils.isInside(discount, 0, 100, pIgnoreNull))
+    if (!NumberUtils.isInside(discount, pMin, pMax, pIgnoreNull))
     {
         return (translate.withArguments("${MIN_MAX_ERROR} field: %0, value: %1, min: %2, max: %3", [translate.text(pTitle), discount, pMin, pMax]));
     }
diff --git a/report/Offer_report/Offer_report.aod b/report/Offer_report/Offer_report.aod
index 737a6889a7a04378f01339685a85661f15da8849..b273251e794bcddc566cbff154b432b35bae704b 100644
--- a/report/Offer_report/Offer_report.aod
+++ b/report/Offer_report/Offer_report.aod
@@ -33,14 +33,6 @@
         <icon>REPORT_24</icon>
         <enabled v="true" />
         <layoutPosition>POSITION_TOP</layoutPosition>
-        <customComponents>
-          <rcCommandButton>
-            <name>Button</name>
-            <onClick>%aditoprj%/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js</onClick>
-            <title>Senden per E-Mail</title>
-            <imageData>%aditoprj%/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png</imageData>
-          </rcCommandButton>
-        </customComponents>
       </ribbonTask>
     </ribbonTasks>
   </ribbon>
diff --git a/report/Offer_report/reportData.jrxml b/report/Offer_report/reportData.jrxml
index f2afe8275137822933e3b91b78f69ef96e2879dd..2f3a25316e09aa7a8a18a74718bb72d930e3e4f5 100644
--- a/report/Offer_report/reportData.jrxml
+++ b/report/Offer_report/reportData.jrxml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
-	<property name="ireport.zoom" value="1.9487171000000014"/>
+	<property name="ireport.zoom" value="1.0"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="190"/>
+	<property name="ireport.y" value="0"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Pos" class="java.lang.String"/>
 	<parameter name="Articledescription" class="java.lang.String"/>
@@ -24,7 +24,7 @@
 	<parameter name="OfferDeliveryTerm" class="java.lang.String"/>
 	<parameter name="responsible" class="java.lang.String"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\Entwicklung\\0.0\\project\\basic2\\report\\Offer_report\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\dev\\project\\basic\\report\\Offer_report\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.datasource.subdata" class="java.lang.Object"/>
 	<parameter name="SUMITEMSUM" class="java.lang.Double"/>
diff --git a/report/Salesorder_report/Salesorder_report.aod b/report/Salesorder_report/Salesorder_report.aod
index 51a1a8215cab817858158f3307f3e3180e1b15ff..764967a65bf10f470b6c7b0c6939082935b34483 100644
--- a/report/Salesorder_report/Salesorder_report.aod
+++ b/report/Salesorder_report/Salesorder_report.aod
@@ -32,14 +32,6 @@
         <icon>REPORT_24</icon>
         <enabled v="true" />
         <layoutPosition>POSITION_TOP</layoutPosition>
-        <customComponents>
-          <rcCommandButton>
-            <name>Button</name>
-            <onClick>%aditoprj%/report/Salesorder_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js</onClick>
-            <title>Senden per E-Mail</title>
-            <imageData>%aditoprj%/report/Salesorder_report/ribbon/ribbontasks/task_report/customcomponents/button/imageData.png</imageData>
-          </rcCommandButton>
-        </customComponents>
       </ribbonTask>
     </ribbonTasks>
   </ribbon>
diff --git a/report/Salesorder_report/reportData.jrxml b/report/Salesorder_report/reportData.jrxml
index 496fcde2e9eb86deb652b4884531c1b77c2a40fb..dddb5cf7b47625ee6351e06257b40734c7dbbf38 100644
--- a/report/Salesorder_report/reportData.jrxml
+++ b/report/Salesorder_report/reportData.jrxml
@@ -27,7 +27,7 @@
 	<parameter name="SUMITEMSUM" class="java.lang.Double"/>
 	<parameter name="TOTAL" class="java.lang.String"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\Entwicklung\\stable2019\\project\\basic\\report\\Salesorder_report\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\dev\\project\\basic\\report\\Salesorder_report\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.datasource.subdata" class="java.lang.Object" isForPrompting="false"/>
 	<parameter name="adito.image.myLogo" class="java.lang.String"/>