diff --git a/.aditoprj/project.version b/.aditoprj/project.version
index e9915da458db417918bf50fedc8e2cae43f09f20..29ef21541c254e6310d18f5e2321fe2c0b42f24a 100644
--- a/.aditoprj/project.version
+++ b/.aditoprj/project.version
@@ -1,3 +1,3 @@
 #This file is generated by ADITO designer. Do NOT delete or modify!
-#Wed Jul 17 11:50:23 CEST 2019
-version=5.1.19
+#Fri Jul 26 06:57:10 CEST 2019
+version=6.0.0
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml
index eb2fe92e77c66f859c14fee4050918d3edc4f492..1980fd972959f7569d0ca28c2f011f7d8264c8e2 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml
@@ -6,7 +6,7 @@
 
             <column name="NAME" value="icon"/>
             <column name="CONTAINER" value="ActivityDirection"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
             <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7770bafa-22f0-4a74-a2cf-5001b620a4b2"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_ActivityCategory.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_ActivityCategory.xml
index 74c2587a8fc14d2c228058b6205ca08fb83ed143..f31849e8ea038f0ce0af4c030cf3fa513e9dcad6 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_ActivityCategory.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_ActivityCategory.xml
@@ -6,7 +6,7 @@
 
             <column name="NAME" value="defaultAvatarRepresentation"/>
             <column name="CONTAINER" value="ActivityCategory"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="94529505-1913-4827-9812-026053bfcb51"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AddressType.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AddressType.xml
index 38fae576ae0d2683bf922e746e4983b006a3c799..85edbfdc45c7833a43caf50fb858b411ca3a39d6 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AddressType.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AddressType.xml
@@ -6,14 +6,14 @@
 
             <column name="NAME" value="organisation"/>
             <column name="CONTAINER" value="AddressType"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="c4c5352b-ff72-4323-80b9-631a24dd7245"/>
 
             <column name="NAME" value="contact"/>
             <column name="CONTAINER" value="AddressType"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="49bb6904-dd20-4ede-aaff-ae80131ed274"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AttributeType.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AttributeType.xml
index a168eafe5bfdc7246c898f476ff5a6b77743a480..6e0ff735549785852293a11abfd2f5eb9a9e15df 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AttributeType.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_AttributeType.xml
@@ -48,7 +48,7 @@
                 <column name="AB_KEYWORD_ATTRIBUTEID" value="307ecfc6-15c8-4ab9-8afa-e97b90a00c5f"/>
                 <column name="NAME" value="defaultAvatarRepresentation"/>
                 <column name="CONTAINER" value="AttributeType"/>
-                <column name="TYPE" value="CHAR_VALUE"/>
+                <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
                 <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0c537ea0-6ba2-4d9a-a27c-7c6a6920e303"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMedium.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMedium.xml
index 137e041d59495cba2873ec54f05d020c8d62e9e3..4284472481bd67f83ba939da6e9d8db67f002415 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMedium.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMedium.xml
@@ -6,14 +6,14 @@
 
             <column name="NAME" value="category"/>
             <column name="CONTAINER" value="CommunicationMedium"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="3ea2ea72-e615-4e77-befb-e664fa5ec4e1"/>
 
             <column name="NAME" value="contentType"/>
             <column name="CONTAINER" value="CommunicationMedium"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="cc16d938-b95f-4e07-a3b4-73f8524bb664"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMediumCampaign.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMediumCampaign.xml
index c9f6397ead225fa63119c38593e29da5df5ef2e1..ff16d322be8478f34a2779032d6946e37d436163 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMediumCampaign.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_CommunicationMediumCampaign.xml
@@ -6,14 +6,14 @@
 
             <column name="NAME" value="AdvertisingBan"/>
             <column name="CONTAINER" value="CommunicationMediumCampaign"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="d6c0fd72-ded2-4e4d-adf5-f8832d7b24f2"/>
 
             <column name="NAME" value="AdvertisingBanIcon"/>
             <column name="CONTAINER" value="CommunicationMediumCampaign"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>                       
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="2acd3694-ccef-4d0b-ae7a-b3d31f8d9cc0"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_DocumentTemplateTypeCategory.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_DocumentTemplateTypeCategory.xml
index 8630698804562d0df6c14f796b1afa1bc7f0b910..90f1647e01caacfd358e30dc9fc35eb87121ce5f 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_DocumentTemplateTypeCategory.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_DocumentTemplateTypeCategory.xml
@@ -5,25 +5,25 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="14c2d515-a42f-4618-b534-7a23369d2001"/>
             <column name="NAME" value="LET"/>
             <column name="CONTAINER" value="DocumentTemplateTypeCategory"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="14c2d515-a42f-4618-b534-7a23369d2002"/>
             <column name="NAME" value="MAI"/>
             <column name="CONTAINER" value="DocumentTemplateTypeCategory"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="14c2d515-a42f-4618-b534-7a23369d2003"/>
             <column name="NAME" value="ATT"/>
             <column name="CONTAINER" value="DocumentTemplateTypeCategory"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="14c2d515-a42f-4618-b534-7a23369d2004"/>
             <column name="NAME" value="TEX"/>
             <column name="CONTAINER" value="DocumentTemplateTypeCategory"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="c564719a-18ef-423e-b130-dp88b2b51123"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_OfferProbability.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_OfferProbability.xml
index 9887c9db19130091d058f422e1cb6d276bdbda6e..3abd6233333cbf4762910e29b7c27f15e4f85bfd 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_OfferProbability.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_OfferProbability.xml
@@ -6,7 +6,7 @@
 
             <column name="NAME" value="percentValue"/>
             <column name="CONTAINER" value="OfferProbability"/>
-            <column name="TYPE" value="NUMBER_VALUE"/>
+            <column name="KIND" value="NUMBER_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="e14fab55-4a85-48c2-a109-125eaed9dc3f"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_TaskPriority.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_TaskPriority.xml
index 30192dcbe9d125d1c9e9fb2acb02d34095d65859..9d827ad4ea8bf8d7390e374d3297165d8db3ec0e 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_TaskPriority.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/init_TaskPriority.xml
@@ -6,7 +6,7 @@
 
             <column name="NAME" value="defaultAvatarRepresentation"/>
             <column name="CONTAINER" value="TaskPriority"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="97ec9a7e-a1dd-4167-bf7d-57ee3d79d46f"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/salesprojectsource_add_icon_attr.xml b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/salesprojectsource_add_icon_attr.xml
index a8099715835eb541392625c9c63b1cf7e6bf9210..7a6b7e2acbf97b179e4194a7db47ef61efabc57c 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/salesprojectsource_add_icon_attr.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/AditoBasic/salesprojectsource_add_icon_attr.xml
@@ -6,7 +6,7 @@
 
             <column name="NAME" value="defaultAvatarRepresentation"/>
             <column name="CONTAINER" value="SalesprojectSource"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
 
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/BulkMail/bulkMail_keywords.xml b/.liquibase/Data_alias/basic/2019.1.4/BulkMail/bulkMail_keywords.xml
index 8e54b9eef3b41bb4c7e83cbf725f252f8aa31374..26262bd6e78374cfcca5802b8e3647db7470827f 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/BulkMail/bulkMail_keywords.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/BulkMail/bulkMail_keywords.xml
@@ -55,7 +55,7 @@
                 <column name="AB_KEYWORD_ATTRIBUTEID" value="ec51253e-9b45-468d-aafa-42331e54f32b"/>
                 <column name="NAME" value="bulkMailIcon"/>
                 <column name="CONTAINER" value="BulkMailStatus"/>
-                <column name="TYPE" value="CHAR_VALUE"/>
+                <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
                 <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="801268a9-e93e-4481-b98d-1e37ca308e10"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaign.xml b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaign.xml
index 54404f2efe3b9073b0fe44e34f8176c728ac236e..a44dd8524126086d762d8f98563be9c7fcf679de 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaign.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaign.xml
@@ -20,7 +20,7 @@
             </column>
             <column name="USER_EDIT" type="NVARCHAR(50)" />
             <column name="DATE_EDIT" type="DATE" />
-            <column name="STATE" type="CHAR(36)">
+            <column name="STATUS" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
         </createTable>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignParticipantLog.xml b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignParticipantLog.xml
index feb64016d7fa3df9cf99212167dde3c277fadf7e..eafc67e596a16b39cd2a74010e4b21ec8db08af2 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignParticipantLog.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignParticipantLog.xml
@@ -14,6 +14,7 @@
             <column name="CAMPAIGNSTEP_ID" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
+            <column name="PREVIOUS_CAMPAIGNSTEP_ID" type="CHAR(36)"/>
             <column name="USER_NEW" type="NVARCHAR(50)">
                 <constraints nullable="false"/>
             </column>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignStep.xml b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignStep.xml
index 226e5c831882c6ff6158b917e2564f996ddb2b96..87e96561083065d24fde900fa591ea810a4536c4 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignStep.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/CampaignManagement/create_campaignStep.xml
@@ -21,7 +21,7 @@
             <column name="DATE_END" type="DATE">
                 <constraints nullable="false"/>
             </column>
-            <column name="STATE" type="CHAR(36)">
+            <column name="STATUS" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
             <column name="SORTING" type="INTEGER">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Contact_add_columns.xml b/.liquibase/Data_alias/basic/2019.1.4/Contact_add_columns.xml
index 780b48296710114efc6602379aa4e0c63c549725..413d3b2922db8a87607b678927bb070efc3c4d3f 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Contact_add_columns.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Contact_add_columns.xml
@@ -8,7 +8,7 @@
             <column name="CONTACTROLE" type="NVARCHAR(50)"/>
         </addColumn>
         <addColumn tableName="CONTACT">
-            <column name="POSITION" type="NVARCHAR(50)"/>
+            <column name="CONTACTPOSITION" type="NVARCHAR(50)"/>
         </addColumn>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
index 2f63980104102d820e5ab1b1caa9f23167dde818..f5fe365464f9f5b1b6dba7049506e572d0437619 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/KeywordRelatedStructureChanges/SalesProjectState.xml
@@ -1,34 +1,34 @@
 <?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 author="a.voegl" id="8de6cb0d-0dc3-4440-9ad9-a3c084b0d470">
-        <renameColumn newColumnName="STATE_OLD" oldColumnName="STATE" columnDataType="INTEGER" tableName="SALESPROJECT"/>
+        <renameColumn newColumnName="STATUS_OLD" oldColumnName="STATUS" columnDataType="INTEGER" tableName="SALESPROJECT"/>
 	<addColumn tableName="SALESPROJECT">
-            <column name="STATE" type="CHAR(36)"/>
+            <column name="STATUS" type="CHAR(36)"/>
 	</addColumn> 
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATOPEN"/>
-            <where>STATE_OLD = 1</where>
+            <column name="STATUS" value="SALPROJSTATOPEN"/>
+            <where>STATUS_OLD = 1</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATPOSTPONED"/>
-            <where>STATE_OLD = 2</where>
+            <column name="STATUS" value="SALPROJSTATPOSTPONED"/>
+            <where>STATUS_OLD = 2</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATABORT"/>
-            <where>STATE_OLD = 3</where>
+            <column name="STATUS" value="SALPROJSTATABORT"/>
+            <where>STATUS_OLD = 3</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATPARTIAL"/>
-            <where>STATE_OLD = 4</where>
+            <column name="STATUS" value="SALPROJSTATPARTIAL"/>
+            <where>STATUS_OLD = 4</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATORDER"/>
-            <where>STATE_OLD = 5</where>
+            <column name="STATUS" value="SALPROJSTATORDER"/>
+            <where>STATUS_OLD = 5</where>
         </update>
         <update tableName="SALESPROJECT">
-            <column name="STATE" value="SALPROJSTATLOST"/>
-            <where>STATE_OLD = 6</where>
+            <column name="STATUS" value="SALPROJSTATLOST"/>
+            <where>STATUS_OLD = 6</where>
         </update>
-        <dropColumn tableName="SALESPROJECT" columnName="STATE_OLD"/>
+        <dropColumn tableName="SALESPROJECT" columnName="STATUS_OLD"/>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/ORGANISATION_private.xml b/.liquibase/Data_alias/basic/2019.1.4/ORGANISATION_private.xml
index 77e650768a11c404c698a720b08e0be8a34f80de..f895e8fee7fa0646906ad3020fb20aa7ce61ce16 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/ORGANISATION_private.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/ORGANISATION_private.xml
@@ -5,12 +5,12 @@
             <column name="ORGANISATIONID" value="0"/>
             <column name="NAME" value="privat"/>
             <column name="CUSTOMERCODE" value=""/>
-            <column name="TYPE" value="ORGCUTOMER"/>
+            <column name="KIND" value="ORGCUTOMER"/>
 	</insert>
         <insert tableName="CONTACT">
             <column name="CONTACTID" value="0"/>
             <column name="ORGANISATION_ID" value="0"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="STATUS" value="CONTACTSTATACTIVE"/>
             <column name="ADDRESS_ID" value="0"/>
         </insert>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_LongNames.xml b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_LongNames.xml
index 2f5fae70ad39f6302717c63396c499967f66e0e1..c7864cd24f17b5c8fbba7b3384692c0fe4072466 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_LongNames.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_LongNames.xml
@@ -5,7 +5,7 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="f1413a2f-6631-4255-9dc9-a28e6eb30497"/>
             <column name="NAME" value="longName"/>
             <column name="CONTAINER" value="SalesprojectPhase"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
 
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_icons.xml b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_icons.xml
index 9d3be8b53fd4c5c629b78e409d7796af2c2cceda..271e18769b16b223b28d3c67980ebbdc87c18621 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_icons.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_Phase_icons.xml
@@ -5,7 +5,7 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="93d60e4b-e984-423e-b97f-d2abf61de41d"/>
             <column name="NAME" value="icon"/>
             <column name="CONTAINER" value="SalesprojectPhase"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
 
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_add_column.xml b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_add_column.xml
index a40ddf6bd75ea8cfbbe67b3da653db70d1cd58a3..93352abb698b455ce441fc4f22774b7991ba6b28 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Salesproject_add_column.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Salesproject_add_column.xml
@@ -1,8 +1,8 @@
 <?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 author="m.hofmann" id="e148d42d-ba3c-4cb7-a414-f2da9a9f2ae0">
-		<addColumn tableName="SALESPROJECT">
-			<!-- space for 13 entries as Multistring encoded -->
+            <addColumn tableName="SALESPROJECT">
+                    <!-- space for 13 entries as Multistring encoded -->
             <column name="REASONS" type="VARCHAR(498)"/>
         </addColumn>
     </changeSet>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
index 21258fe56abf1ec10be130fabe1bd233c022d293..b17b28d0ce1656378e18442eab990d66daab6554 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insertTaskStatus.xml
@@ -5,7 +5,7 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
             <column name="NAME" value="icon"/>
             <column name="CONTAINER" value="TaskStatus"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         
         <!-- new -->
diff --git a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
index 5f2ac9ffa2aca9de416161bb4afc769b611610f6..c489501a6da45c30a5ab1df13ba333ca3c6523f3 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/Ticketmanagement/insert_TicketTypes.xml
@@ -5,19 +5,19 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
             <column name="NAME" value="attributes"/>
             <column name="CONTAINER" value="TicketType"/>
-            <column name="TYPE" value="LONG_CHAR_VALUE"/>
+            <column name="KIND" value="LONG_CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
             <column name="NAME" value="availableStatus"/>
             <column name="CONTAINER" value="TicketType"/>
-            <column name="TYPE" value="LONG_CHAR_VALUE"/>
+            <column name="KIND" value="LONG_CHAR_VALUE"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="729a41d1-0463-480d-bf7b-0eb6c2e96f37"/>
             <column name="NAME" value="defaultStatus"/>
             <column name="CONTAINER" value="TicketType"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
+            <column name="KIND" value="CHAR_VALUE"/>
         </insert>
         
         <insert tableName="AB_KEYWORD_ENTRY">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/change_Milestone_datatype_to_new_Keyword_logic.xml b/.liquibase/Data_alias/basic/2019.1.4/change_Milestone_datatype_to_new_Keyword_logic.xml
index 6eee124a8c12c2870b013401622c68324bc8f065..6e80ad7b50179868765a656e787f907efddf9440 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/change_Milestone_datatype_to_new_Keyword_logic.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/change_Milestone_datatype_to_new_Keyword_logic.xml
@@ -2,15 +2,15 @@
 <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="j.hoermann" id="be098ba0-30ed-4e01-893e-928b1ac86923">
         <sql>
-            ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN TYPE_NEW VARCHAR(80);
-            UPDATE SALESPROJECT_MILESTONE SET TYPE_NEW=CHAR(TYPE);
-            ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN TYPE;
-            RENAME COLUMN SALESPROJECT_MILESTONE.TYPE_NEW TO TYPE;
+            ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN KIND_NEW VARCHAR(80);
+            UPDATE SALESPROJECT_MILESTONE SET KIND_NEW=CHAR(KIND);
+            ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN KIND;
+            RENAME COLUMN SALESPROJECT_MILESTONE.KIND_NEW TO KIND;
             
-            ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN VALUE_NEW CHAR(36);
-            UPDATE SALESPROJECT_MILESTONE SET VALUE_NEW=CHAR(VALUE);
-            ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN VALUE;
-            RENAME COLUMN SALESPROJECT_MILESTONE.VALUE_NEW TO VALUE;
+            ALTER TABLE SALESPROJECT_MILESTONE ADD COLUMN MILESTONEVALUE_NEW CHAR(36);
+            UPDATE SALESPROJECT_MILESTONE SET MILESTONEVALUE_NEW=CHAR(MILESTONEVALUE);
+            ALTER TABLE SALESPROJECT_MILESTONE DROP COLUMN MILESTONEVALUE;
+            RENAME COLUMN SALESPROJECT_MILESTONE.MILESTONEVALUE_NEW TO MILESTONEVALUE;
         </sql>
     </changeSet>
     
@@ -21,7 +21,7 @@
             </not>
         </preConditions>
 
-        <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="TYPE" newDataType="NVARCHAR(80)"/>
-        <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="VALUE" newDataType="CHAR(36)"/>
+        <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="KIND" newDataType="NVARCHAR(80)"/>
+        <modifyDataType tableName="SALESPROJECT_MILESTONE" columnName="MILESTONEVALUE" newDataType="CHAR(36)"/>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/create_documenttemplate.xml b/.liquibase/Data_alias/basic/2019.1.4/create_documenttemplate.xml
index 385f93d9d62f07219383c3178aed1b3af13b173c..efb355a6c323a5034ff0c3cd1e8eaace8c68e844 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/create_documenttemplate.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/create_documenttemplate.xml
@@ -6,9 +6,9 @@
                 <constraints primaryKey="true" primaryKeyName="PK_DOCUMENTTEMPLATE_DOCUMENTTEMPLATEID"/>
             </column>   
             <column name="NAME" type="NVARCHAR(50)"/>                       
-            <column name="TYPE" type="CHAR(36)"/>
+            <column name="KIND" type="CHAR(36)"/>
             <column name="CLASSIFICATION" type="CHAR(36)"/>
-            <column name="LANGUAGE" type="CHAR(3)"/>
+            <column name="ISOLANGUAGE" type="CHAR(3)"/>
             <column name="DESCRIPTION" type="NVARCHAR(500)"/>
             <column name="USER_NEW" type="NVARCHAR(50)">
                 <constraints nullable="false"/>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/create_salutation.xml b/.liquibase/Data_alias/basic/2019.1.4/create_salutation.xml
index 67338c9e4c8f7493a7221d9fbdd03c66e69d8492..bd03a1284b944ce6b09d0fac8fc996f19a5e4d7d 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/create_salutation.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/create_salutation.xml
@@ -6,7 +6,7 @@
                 <constraints primaryKey="true" primaryKeyName="PK_SALUTATION_SALUTATIONID"/>
             </column>   
             <column name="HEADLINE" type="NVARCHAR(50)"/>                       
-            <column name="LANGUAGE" type="CHAR(3)"/>
+            <column name="ISOLANGUAGE" type="CHAR(3)"/>
             <column name="LETTERSALUTATION" type="NVARCHAR(200)"/>
             <column name="SALUTATION" type="NVARCHAR(200)"/>
             <column name="SEX" type="CHAR(36)"/>
@@ -20,7 +20,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="1"/>
             <column name="SALUTATIONID" value="c98c8644-9e00-4715-a775-827a364f5cef"/>
         </insert>
@@ -30,7 +30,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Bürgermeister"/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="2"/>
             <column name="SALUTATIONID" value="8feaf27b-1fae-4d8c-a742-9cd023f46409"/>
         </insert>
@@ -40,7 +40,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Frau"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="3"/>
             <column name="SALUTATIONID" value="cbcc2c2b-9b64-442b-a6be-aaf8e462128c"/>
         </insert>
@@ -50,7 +50,7 @@
             <column name="SEX"/>
             <column name="TITLE"/>
             <column name="SALUTATION"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="4"/>
             <column name="SALUTATIONID" value="6b835563-5d3e-4c4c-807b-63c5bdb82e68"/>
         </insert>
@@ -60,7 +60,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Mr."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="5"/>
             <column name="SALUTATIONID" value="f9135efb-ebd4-4c9f-bfa1-3beedb647009"/>
         </insert>
@@ -70,7 +70,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Mrs."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="6"/>
             <column name="SALUTATIONID" value="0b9a3d9b-a56c-47e9-a984-e88cface58db"/>
         </insert>
@@ -80,7 +80,7 @@
             <column name="SEX"/>
             <column name="TITLE"/>
             <column name="SALUTATION"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="7"/>
             <column name="SALUTATIONID" value="ff97826d-a8ea-45e5-b426-2a27f4fa9201"/>
         </insert>
@@ -90,7 +90,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Monsieur"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="8"/>
             <column name="SALUTATIONID" value="c1095e86-38d6-4329-a388-4cfabab10eae"/>
         </insert>
@@ -100,7 +100,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Frau"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="9"/>
             <column name="SALUTATIONID" value="6b35b8c5-920c-408b-b172-453a506aa775"/>
         </insert>
@@ -110,7 +110,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Prof."/>
             <column name="SALUTATION" value="Monsieur"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="10"/>
             <column name="SALUTATIONID" value="67fa73ae-a739-44fd-9244-28a49bc0d01d"/>
         </insert>
@@ -120,7 +120,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Monsieur"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="11"/>
             <column name="SALUTATIONID" value="516b740d-b932-4a64-b611-af0ea69f6bd0"/>
         </insert>
@@ -130,7 +130,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Professor"/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="12"/>
             <column name="SALUTATIONID" value="5d9ad542-27b8-4dec-bcbd-a2c7d223f012"/>
         </insert>
@@ -140,7 +140,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="13"/>
             <column name="SALUTATIONID" value="76fe57c0-cf68-4240-ba6d-eb7d52f46317"/>
         </insert>
@@ -150,7 +150,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Präsident"/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="14"/>
             <column name="SALUTATIONID" value="4b9af3f4-f34a-4170-a28c-ffdbca80c4d3"/>
         </insert>
@@ -160,7 +160,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Prof. Dr."/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="15"/>
             <column name="SALUTATIONID" value="1f19ba34-8346-4620-a10e-fb39fdd0be9b"/>
         </insert>
@@ -170,7 +170,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Mr."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="16"/>
             <column name="SALUTATIONID" value="801efd2a-41ce-4a5d-8ed5-c2db7fedb4e8"/>
         </insert>
@@ -180,7 +180,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Professor"/>
             <column name="SALUTATION" value="Mr."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="17"/>
             <column name="SALUTATIONID" value="ce348b08-c1bf-4e76-8272-6d6b32ecdd6a"/>
         </insert>
@@ -190,7 +190,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Mrs."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="18"/>
             <column name="SALUTATIONID" value="11816f93-f6e9-427f-af68-fbf29c3e3544"/>
         </insert>
@@ -200,7 +200,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE"/>
             <column name="SALUTATION" value="Madame"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="19"/>
             <column name="SALUTATIONID" value="2360e24d-1784-47b8-b0e9-3b57bd704e8a"/>
         </insert>
@@ -210,7 +210,7 @@
             <column name="SEX"/>
             <column name="TITLE"/>
             <column name="SALUTATION"/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="20"/>
             <column name="SALUTATIONID" value="f7b3c876-366d-438a-a1e6-f17ceb641f36"/>
         </insert>
@@ -220,7 +220,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Prof."/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="21"/>
             <column name="SALUTATIONID" value="75f4f04f-1877-425d-8d5d-56604d0040b2"/>
         </insert>
@@ -230,7 +230,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Prof.Dr."/>
             <column name="SALUTATION" value="Monsieur"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="22"/>
             <column name="SALUTATIONID" value="2d8ec97f-38d7-45a8-9c45-ed672f4b035d"/>
         </insert>
@@ -240,7 +240,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr."/>
             <column name="SALUTATION" value="Madame"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="23"/>
             <column name="SALUTATIONID" value="4e76c69b-ee75-49e5-8581-2a808b29a117"/>
         </insert>
@@ -250,7 +250,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Monsieur"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="24"/>
             <column name="SALUTATIONID" value="f3ea547a-d744-4ce8-815a-126d9697e037"/>
         </insert>
@@ -260,7 +260,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Madame"/>
-            <column name="LANGUAGE" value="fra"/>
+            <column name="ISOLANGUAGE" value="fra"/>
             <column name="SORT" valueNumeric="25"/>
             <column name="SALUTATIONID" value="e8e001ab-b200-480f-917b-33d57e2a8734"/>
         </insert>
@@ -270,7 +270,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Frau"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="26"/>
             <column name="SALUTATIONID" value="0e719a2a-1018-49e0-b056-c90779955bf9"/>
         </insert>
@@ -280,7 +280,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Herr"/>
-            <column name="LANGUAGE" value="deu"/>
+            <column name="ISOLANGUAGE" value="deu"/>
             <column name="SORT" valueNumeric="27"/>
             <column name="SALUTATIONID" value="0500939e-5820-457d-a95f-6835b9501df9"/>
         </insert>
@@ -290,7 +290,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Mr."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="28"/>
             <column name="SALUTATIONID" value="5260f79c-1001-41dc-b3ff-28b4ce7091b9"/>
         </insert>
@@ -300,7 +300,7 @@
             <column name="SEX" value="m"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Señor"/>
-            <column name="LANGUAGE" value="spa"/>
+            <column name="ISOLANGUAGE" value="spa"/>
             <column name="SORT" valueNumeric="29"/>
             <column name="SALUTATIONID" value="7617a199-82b7-40ef-b2f7-0e85d32fad64"/>
         </insert>
@@ -310,7 +310,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Señora"/>
-            <column name="LANGUAGE" value="spa"/>
+            <column name="ISOLANGUAGE" value="spa"/>
             <column name="SORT" valueNumeric="30"/>
             <column name="SALUTATIONID" value="25b28c87-edb5-4686-a3c4-92a5136aadc0"/>
         </insert>
@@ -320,7 +320,7 @@
             <column name="SEX" value="f"/>
             <column name="TITLE" value="Dr. Ing."/>
             <column name="SALUTATION" value="Mrs."/>
-            <column name="LANGUAGE" value="eng"/>
+            <column name="ISOLANGUAGE" value="eng"/>
             <column name="SORT" valueNumeric="31"/>
             <column name="SALUTATIONID" value="4505783d-8a9f-4a18-ba2e-091794db3812"/>
         </insert>
diff --git a/.liquibase/Data_alias/basic/2019.1.4/update_Memberrole_InternExtern.xml b/.liquibase/Data_alias/basic/2019.1.4/update_Memberrole_InternExtern.xml
index 40aafe37e6091f0446fa6b16f6e77185f123fc2e..abf87e86bbc083a77d9c94f93d0dcc6426595264 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/update_Memberrole_InternExtern.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/update_Memberrole_InternExtern.xml
@@ -5,7 +5,7 @@
             <column name="AB_KEYWORD_ATTRIBUTEID" value="0bdeb691-f90a-4d7e-a99a-08c60816232c"/>
             <column name="NAME" value="Intern"/>
             <column name="CONTAINER" value="MemberRole"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
+            <column name="KIND" value="BOOL_VALUE"/>
         </insert>
         
 <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
diff --git a/.liquibase/Data_alias/basic/2019.1.4/update_Milestone_to_new_Keyword.xml b/.liquibase/Data_alias/basic/2019.1.4/update_Milestone_to_new_Keyword.xml
index 9d79ee64c1a69c2855f927681cf5c9a590b2d7ed..20fa0cd9303ab1ac28af19bd1140c126fb018d0e 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/update_Milestone_to_new_Keyword.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/update_Milestone_to_new_Keyword.xml
@@ -2,15 +2,15 @@
 <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 author="j.hoermann" id="ec9bae68-ca27-4597-9808-fc333246b3a0">
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="TYPE" value="SalesprojectPhase"/>
-            <where>TYPE = ?</where>
+            <column name="KIND" value="SalesprojectPhase"/>
+            <where>KIND = ?</where>
             <whereParams>
                 <param value="1" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASENQC"/>
-            <where>TYPE = ? and VALUE in (?,?,?,?,?,?,?,?,?,?,?)</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
+            <where>KIND = ? and MILESTONEVALUE in (?,?,?,?,?,?,?,?,?,?,?)</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="1" />
@@ -27,48 +27,48 @@
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASEMAL"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="2" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASEMQL"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASEMQL"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="3" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASESAL"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="4" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASESQO"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="5" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASEOFFER"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="6" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJPHASENEGO"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJPHASENEGO"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectPhase" />
                 <param value="7" />
@@ -77,55 +77,55 @@
         
         
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="TYPE" value="SalesprojectState"/>
-            <where>TYPE = ?</where>
+            <column name="KIND" value="SalesprojectState"/>
+            <where>KIND = ?</where>
             <whereParams>
                 <param value="2" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJSTATOPEN"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="1" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJSTATPOST"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJSTATPOST"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="2" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJSTATABORT"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJSTATABORT"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="3" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJSTATPARTIAL"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJSTATPARTIAL"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="4" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="SALPROJSTATLOST"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="SALPROJSTATLOST"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="5" />
             </whereParams>
         </update>
         <update tableName="SALESPROJECT_MILESTONE">
-            <column name="VALUE" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/>
-            <where>TYPE = ? and VALUE = ?</where>
+            <column name="MILESTONEVALUE" value="d8a60f60-a4e6-46ee-88ec-bac53e1afedd"/>
+            <where>KIND = ? and MILESTONEVALUE = ?</where>
             <whereParams>
                 <param value="SalesprojectState" />
                 <param value="6" />
diff --git a/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Forecast.xml b/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Forecast.xml
index bd97822e3351649c3631fe5d095ac608b42833f7..a592cab3bab7007155580474df9ec121b16af26e 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Forecast.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Forecast.xml
@@ -19,6 +19,5 @@
             columnDataType="NVARCHAR(63)"/>
         
         <renameTable oldTableName="SALESPROJECT_FORECAST" newTableName="FORECAST"/>
-        
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Member.xml b/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Member.xml
index fcd45e33c2dee18afe1bca29260f8557b5295de2..56744dc5078e2a1355435a01cf03c504a8bb5677 100644
--- a/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Member.xml
+++ b/.liquibase/Data_alias/basic/2019.1.4/update_Salesproject_Member.xml
@@ -10,8 +10,8 @@
             </column> 
         </addColumn>
         <renameColumn newColumnName="OBJECT_ROWID" oldColumnName="SALESPROJECT_ID" tableName="SALESPROJECT_MEMBER" columnDataType="CHAR(36)"/>
-        <renameColumn newColumnName="MEMBERID" oldColumnName="SALESPROJECT_MEMBERID" tableName="SALESPROJECT_MEMBER" columnDataType="CHAR(36)"/>
-        <renameColumn newColumnName="ROLE" oldColumnName="SALESPROJECT_ROLE" tableName="SALESPROJECT_MEMBER" columnDataType="CHAR(36)"/>
+        <renameColumn newColumnName="OBJECTMEMBERID" oldColumnName="SALESPROJECT_MEMBERID" tableName="SALESPROJECT_MEMBER" columnDataType="CHAR(36)"/>
+        <renameColumn newColumnName="MEMBERROLE" oldColumnName="SALESPROJECT_MEMBERROLE" tableName="SALESPROJECT_MEMBER" columnDataType="CHAR(36)"/>
         <update tableName="SALESPROJECT_MEMBER">
             <column name="OBJECT_TYPE" value="Salesproject" />
             <where>OBJECT_ROWID = '0833465c-8851-4fbb-b7e3-8c1d73c903da'</where>
@@ -22,7 +22,7 @@
             columnName="OBJECT_TYPE"
             columnDataType="NVARCHAR(63)"/>
         
-        <renameTable oldTableName="SALESPROJECT_MEMBER" newTableName="MEMBER"/>
+        <renameTable oldTableName="SALESPROJECT_MEMBER" newTableName="OBJECTMEMBER"/>
         
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/changelog.xml b/.liquibase/Data_alias/basic/_demoData/changelog.xml
index fadb02846c3c9b2c3402abe2501f5451e8006cba..272312eb6df688b304e58dca580d3275e85076fd 100644
--- a/.liquibase/Data_alias/basic/_demoData/changelog.xml
+++ b/.liquibase/Data_alias/basic/_demoData/changelog.xml
@@ -19,7 +19,7 @@
     <include relativeToChangelogFile="true" file="generatedData/SALESORDERITEM.xml"/>
     <include relativeToChangelogFile="true" file="generatedData/SALESPROJECT.xml"/>
     <include relativeToChangelogFile="true" file="generatedData/FORECAST.xml"/>
-    <include relativeToChangelogFile="true" file="generatedData/MEMBER.xml"/>
+    <include relativeToChangelogFile="true" file="generatedData/OBJECTMEMBER.xml"/>
     <include relativeToChangelogFile="true" file="generatedData/SALESPROJECT_MILESTONE.xml"/>
     <include relativeToChangelogFile="true" file="generatedData/SALESPROJECT_SOURCE.xml"/>
     <include relativeToChangelogFile="true" file="generatedData/TASK.xml"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ADDRESS.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ADDRESS.xml
index 1c6edf7f001f3d117f664da2732ca6f845e17d65..3992ba1838939e8cff2f170498463e6ca9c8a300 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ADDRESS.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ADDRESS.xml
@@ -11,7 +11,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="33739"/>
     </insert>
@@ -25,7 +25,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Mecklenburg-Vorpommern"/>
-      <column name="STATE" value="Mecklenburg-Vorpommern"/>
+      <column name="PROVINCE" value="Mecklenburg-Vorpommern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="18074"/>
     </insert>
@@ -38,7 +38,7 @@
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="20095"/>
     </insert>
@@ -51,7 +51,7 @@
       <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="88045"/>
     </insert>
@@ -64,7 +64,7 @@
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="70173"/>
     </insert>
@@ -77,7 +77,7 @@
       <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:40:30"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84028"/>
     </insert>
@@ -90,7 +90,7 @@
       <column name="CONTACT_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:42:01"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84144"/>
     </insert>
@@ -103,7 +103,7 @@
       <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:44:21"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="10409"/>
     </insert>
@@ -116,7 +116,7 @@
       <column name="CONTACT_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:46:28"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="80228"/>
     </insert>
@@ -129,7 +129,7 @@
       <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:47:43"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="93047"/>
     </insert>
@@ -141,7 +141,7 @@
       <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:49:41"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="85051"/>
     </insert>
@@ -154,7 +154,7 @@
       <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:50:42"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="86130"/>
     </insert>
@@ -167,7 +167,7 @@
       <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:01:27"/>
-      <column name="STATE" value="Bremen"/>
+      <column name="PROVINCE" value="Bremen"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="28103"/>
     </insert>
@@ -181,7 +181,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_EDIT" valueDate="2019-06-07T02:49:33"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:04:16"/>
-      <column name="STATE" value="Deutschland"/>
+      <column name="PROVINCE" value="Deutschland"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="24534"/>
@@ -197,7 +197,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="80807"/>
     </insert>
@@ -213,7 +213,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Nürnberg"/>
       <column name="REGION" value="Mittelfranken"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="90419"/>
     </insert>
@@ -228,7 +228,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84034"/>
     </insert>
@@ -243,7 +243,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84034"/>
     </insert>
@@ -258,7 +258,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Niederbayern"/>
       <column name="REGION" value="Niederbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84034"/>
     </insert>
@@ -273,7 +273,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="DISTRICT" value="Oberbayern"/>
       <column name="REGION" value="Landsberg am Lech"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="86949"/>
     </insert>
@@ -287,7 +287,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Bayern"/>
-      <column name="STATE" value="Freistaat Bayern"/>
+      <column name="PROVINCE" value="Freistaat Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="18074"/>
     </insert>
@@ -302,7 +302,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="80807"/>
     </insert>
@@ -318,7 +318,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:50:21"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="80807"/>
@@ -335,7 +335,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:44:48"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84034"/>
@@ -351,7 +351,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="54595"/>
     </insert>
@@ -365,7 +365,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="85230"/>
     </insert>
@@ -379,7 +379,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="80456"/>
     </insert>
@@ -393,7 +393,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="DISTRICT" value="Oberbayern"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="67700"/>
     </insert>
@@ -406,7 +406,7 @@
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:40:12"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="86150"/>
     </insert>
@@ -419,7 +419,7 @@
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:10"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84028"/>
     </insert>
@@ -432,7 +432,7 @@
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:56:16"/>
-      <column name="STATE" value="Bayern"/>
+      <column name="PROVINCE" value="Bayern"/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="86150"/>
     </insert>
@@ -447,7 +447,7 @@
       <column name="COUNTRY" value="DE"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:45:53"/>
       <column name="REGION" value="Niederbayern "/>
-      <column name="STATE" value="Bayern "/>
+      <column name="PROVINCE" value="Bayern "/>
       <column name="USER_NEW" value="Admin"/>
       <column name="ZIP" value="84034"/>
     </insert>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/COMMUNICATION.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/COMMUNICATION.xml
index 624e841c2a02368247cf28359c764788456e7b88..940310cc150071e6aa0c743a976e17d5772a09b8 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/COMMUNICATION.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/COMMUNICATION.xml
@@ -8,7 +8,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:48:55"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -19,7 +19,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:46:11"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:21:35"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -30,7 +30,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-06T02:50:34"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:28:49"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -40,7 +40,7 @@
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:41:53"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -50,7 +50,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:36:32"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:56:26"/>
       <column name="MEDIUM_ID" value="COMMMOBIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -60,7 +60,7 @@
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:10:34"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -69,7 +69,7 @@
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:13:19"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -78,7 +78,7 @@
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:24:26"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -88,7 +88,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:37"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:26:03"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -99,7 +99,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:32:33"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:03:15"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -110,7 +110,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T08:26:27"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:04:03"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -121,7 +121,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:50:57"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -132,7 +132,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:10"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:06:21"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -142,7 +142,7 @@
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -152,7 +152,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:27"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:10:21"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -162,7 +162,7 @@
       <column name="CONTACT_ID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:11:20"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -171,7 +171,7 @@
       <column name="CONTACT_ID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:13:02"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -181,7 +181,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:35:59"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -192,7 +192,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:39:42"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -203,7 +203,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T10:41:56"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -213,7 +213,7 @@
       <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMINTERNET"/>
-      <column name="STANDARD" valueNumeric="0"/>
+      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -223,7 +223,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:48:25"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -234,7 +234,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:38:02"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -245,7 +245,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:49:15"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -256,7 +256,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:47"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -266,7 +266,7 @@
       <column name="CONTACT_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:14:38"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -276,7 +276,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:36:21"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -286,7 +286,7 @@
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:16:40"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -296,7 +296,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:17"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -307,7 +307,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:50:35"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:20:04"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -318,7 +318,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:36"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:22:23"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -328,7 +328,7 @@
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:22:24"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -337,7 +337,7 @@
       <column name="CONTACT_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -347,7 +347,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:37:07"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:23:58"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -358,7 +358,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:37:23"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -368,7 +368,7 @@
       <column name="CONTACT_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:26:54"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -378,7 +378,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:45"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:30:47"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -388,7 +388,7 @@
       <column name="CONTACT_ID" value="3ac53b27-450d-4a2a-9160-bb223b8deef8"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:30:48"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -398,7 +398,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:41:28"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -408,7 +408,7 @@
       <column name="CONTACT_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:31:51"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -417,7 +417,7 @@
       <column name="CONTACT_ID" value="2c427e51-0434-40b3-ad00-3a9076067e03"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:32:30"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -427,7 +427,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:36"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -437,7 +437,7 @@
       <column name="CONTACT_ID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:35:38"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -447,7 +447,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:53"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -458,7 +458,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:51:51"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:39:25"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -469,7 +469,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:59:26"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -479,7 +479,7 @@
       <column name="CONTACT_ID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:41:21"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -489,7 +489,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-05T03:52:13"/>
       <column name="DATE_NEW" valueDate="2019-05-19T08:42:07"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -499,7 +499,7 @@
       <column name="CONTACT_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:09:20"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -508,7 +508,7 @@
       <column name="CONTACT_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:10:07"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -517,7 +517,7 @@
       <column name="CONTACT_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:10:46"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -526,7 +526,7 @@
       <column name="CONTACT_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:11:18"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -535,7 +535,7 @@
       <column name="CONTACT_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:19:53"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -544,7 +544,7 @@
       <column name="CONTACT_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:20:31"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -554,7 +554,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:44:07"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:21:42"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -564,7 +564,7 @@
       <column name="CONTACT_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:22:21"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -574,7 +574,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:43:55"/>
       <column name="DATE_NEW" valueDate="2019-05-21T09:24:31"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -584,7 +584,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:27:25"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -593,7 +593,7 @@
       <column name="CONTACT_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:27:48"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -602,7 +602,7 @@
       <column name="CONTACT_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:30:12"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -612,7 +612,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:41:44"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:31:52"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -622,7 +622,7 @@
       <column name="CONTACT_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:32:15"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -632,7 +632,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:41:08"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:32:54"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -643,7 +643,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-07T02:40:05"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:33:16"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -654,7 +654,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:26"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:34:41"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -665,7 +665,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:37"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:45:42"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -676,7 +676,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:48"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:46:23"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -687,7 +687,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:43:59"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:46:57"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -698,7 +698,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-23T11:23:53"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:48:09"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -709,7 +709,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:31"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:48:35"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -720,7 +720,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:43"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:49:12"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -731,7 +731,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:44:52"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:49:30"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -742,7 +742,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:02"/>
       <column name="DATE_NEW" valueDate="2019-05-22T03:49:52"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -753,7 +753,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:29"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:29:24"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -764,7 +764,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:57"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:30:33"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -775,7 +775,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:57:16"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:31:22"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -786,7 +786,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:46"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:32:03"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -797,7 +797,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:46:14"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:32:40"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -808,7 +808,7 @@
       <column name="DATE_EDIT" valueDate="2019-06-11T11:58:59"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:36:18"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -819,7 +819,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:46:49"/>
       <column name="DATE_NEW" valueDate="2019-05-22T05:36:39"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -829,7 +829,7 @@
       <column name="CONTACT_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:42:41"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -839,7 +839,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-28T07:45:37"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:42:51"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -849,7 +849,7 @@
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="DATE_NEW" valueDate="2019-05-23T11:42:52"/>
       <column name="MEDIUM_ID" value="COMMXING"/>
-      <column name="STANDARD" valueNumeric="0"/>
+      <column name="ISSTANDARD" valueNumeric="0"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -858,7 +858,7 @@
       <column name="CONTACT_ID" value="6e667085-bb97-4039-8dfe-2230002985e0"/>
       <column name="DATE_NEW" valueDate="2019-06-05T03:52:59"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -867,7 +867,7 @@
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -876,7 +876,7 @@
       <column name="CONTACT_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:39:32"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -885,7 +885,7 @@
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -894,7 +894,7 @@
       <column name="CONTACT_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="DATE_NEW" valueDate="2019-06-07T02:47:29"/>
       <column name="MEDIUM_ID" value="COMMEMAIL"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -903,7 +903,7 @@
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="DATE_NEW" valueDate="2019-06-11T08:26:11"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -912,7 +912,7 @@
       <column name="CONTACT_ID" value="45635aca-7971-43df-a683-c80c86cb58cc"/>
       <column name="DATE_NEW" valueDate="2019-06-11T08:26:49"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="COMMUNICATION">
@@ -921,7 +921,7 @@
       <column name="CONTACT_ID" value="d8c1e4c9-35b4-45c8-bf4c-eb55137cd25c"/>
       <column name="DATE_NEW" valueDate="2019-06-11T11:58:07"/>
       <column name="MEDIUM_ID" value="COMMPHONE"/>
-      <column name="STANDARD" valueNumeric="1"/>
+      <column name="ISSTANDARD" valueNumeric="1"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/CONTACT.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/CONTACT.xml
index b976d26396755e4c3e7828b9afd50bfcbab2da5a..8414b8a100e16f5734b0e1f0e9691749cb9e0548 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/CONTACT.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/CONTACT.xml
@@ -5,7 +5,7 @@
       <column name="ADDRESS_ID" value="14d03432-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -14,7 +14,7 @@
       <column name="ADDRESS_ID" value="6a3f6232-7a66-4a72-8d2d-66a3a9f1b9ea"/>
       <column name="CONTACTID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -23,7 +23,7 @@
       <column name="ADDRESS_ID" value="f54606ee-ecdd-4859-ad7d-aa096c5e9596"/>
       <column name="CONTACTID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="e83c45e0-c30b-436e-b445-00a8b58383b0"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -32,7 +32,7 @@
       <column name="ADDRESS_ID" value="2825d85f-879a-4899-a1bb-a6750ad2aee9"/>
       <column name="CONTACTID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="eda61ea6-35ed-4a92-a93c-6118fc67d533"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -41,7 +41,7 @@
       <column name="ADDRESS_ID" value="90726b19-f23c-42dd-847a-7eacf4c71d18"/>
       <column name="CONTACTID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fd082db5-be43-4219-a705-588f9c06e59b"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -50,7 +50,7 @@
       <column name="ADDRESS_ID" value="14d01332-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="a2e084e2-d68a-4f1e-a1bb-f8d46ad6293d"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -61,7 +61,7 @@
       <column name="ADDRESS_ID" value="11d01332-985b-4efe-a634-da71ae482907"/>
       <column name="CONTACTID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -72,7 +72,7 @@
       <column name="ADDRESS_ID" value="5773392d-cc7a-4170-8ffe-867807634c3c"/>
       <column name="CONTACTID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="f0fb7676-8183-4bc7-beca-ca32c1e11c10"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -83,7 +83,7 @@
       <column name="ADDRESS_ID" value="ce990566-3b86-48fe-bd0c-1167142e584b"/>
       <column name="CONTACTID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="d5a2dc64-e503-4aed-a0c6-d54f49b8db87"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -94,7 +94,7 @@
       <column name="ADDRESS_ID" value="8f6da43d-adc5-410e-8bc5-14adca88ebfe"/>
       <column name="CONTACTID" value="73d731a2-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="0                                   "/>
       <column name="PERSON_ID" value="4a55726c-4ca6-43cb-9d3f-8e55d97b7aaf"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -105,7 +105,7 @@
       <column name="ADDRESS_ID" value="84e040be-5a5f-48e7-be2c-769d4a169390"/>
       <column name="CONTACTID" value="73d73404-e7f5-11e8-9f32-f2801f1b9fd1"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="0                                   "/>
       <column name="PERSON_ID" value="7c1efe4c-cc73-4e95-bdf0-208a3ff699b5"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -116,7 +116,7 @@
       <column name="ADDRESS_ID" value="f00966ec-693b-4bb5-8c66-26a40f18394f"/>
       <column name="CONTACTID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="57d524f6-ad66-4550-be83-fee6e31b7a52"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -127,7 +127,7 @@
       <column name="ADDRESS_ID" value="85bc81b9-5553-42a8-a643-eb47e1ed3c42"/>
       <column name="CONTACTID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="d105f7f4-afd1-4a98-adc2-13fd6934b7e9"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -138,7 +138,7 @@
       <column name="ADDRESS_ID" value="89cbad0e-9901-42e2-ae40-a5a20c7ed5c8"/>
       <column name="CONTACTID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -149,7 +149,7 @@
       <column name="ADDRESS_ID" value="0e6d2504-adda-453a-bb36-981e6d0f06c7"/>
       <column name="CONTACTID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:38"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
       <column name="PERSON_ID" value="b16282bd-254e-4569-a56e-675449821467"/>
       <column name="RELATIONSHIP" valueNumeric="1"/>
@@ -160,7 +160,7 @@
       <column name="ADDRESS_ID" value="4eb7039a-1515-4545-86b4-85426a67fcd5"/>
       <column name="CONTACTID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:16:58"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -169,7 +169,7 @@
       <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:23:13"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -178,7 +178,7 @@
       <column name="ADDRESS_ID" value="35e93f95-d723-46d6-955f-9192e41e3d83"/>
       <column name="CONTACTID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:33:57"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -189,7 +189,7 @@
       <column name="CONTACTROLE" value="Vertriebsmitarbeiter"/>
       <column name="DATE_NEW" valueDate="2019-05-15T03:54:25"/>
       <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="PERSON_ID" value="08c36adc-cd2b-4ce9-a51b-944667084f7f"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -202,7 +202,7 @@
       <column name="CONTACTROLE" value="Marketingmitarbeiterin"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:08:54"/>
       <column name="DEPARTMENT" value="Marketing"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="PERSON_ID" value="b4c37f47-b4b8-4fe4-812a-9043530cce84"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -215,7 +215,7 @@
       <column name="CONTACTROLE" value="IT-Leiter"/>
       <column name="DATE_NEW" valueDate="2019-05-15T05:11:10"/>
       <column name="DEPARTMENT" value="IT"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="PERSON_ID" value="c4e24800-e9f3-4226-afd7-cfd5dd670d93"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -227,10 +227,10 @@
       <column name="CONTACTID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:23:15"/>
       <column name="DEPARTMENT" value="Produktion"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="PERSON_ID" value="0a611832-9476-481e-bde5-af3c3a98f1b4"/>
-      <column name="POSITION" value="Produktionsleiter"/>
+      <column name="CONTACTPOSITION" value="Produktionsleiter"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -241,7 +241,7 @@
       <column name="CONTACTROLE" value="Marketingleiter"/>
       <column name="DATE_NEW" valueDate="2019-05-16T01:25:07"/>
       <column name="DEPARTMENT" value="Marketing"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
       <column name="PERSON_ID" value="e35de858-6eca-4328-9efb-dc705ca6792c"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -253,7 +253,7 @@
       <column name="CONTACTID" value="6c612f91-0160-4f09-9103-dccee7f7a6b7"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:02:26"/>
       <column name="DEPARTMENT" value="Management"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="PERSON_ID" value="528d7307-295c-4829-a2e4-9b59e43cf3bb"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -266,7 +266,7 @@
       <column name="CONTACTROLE" value="Marketingleiter"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:03:16"/>
       <column name="DEPARTMENT" value="Marketing"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="PERSON_ID" value="9874de9b-d517-42f2-81b9-b5f3f0b0dae3"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -279,7 +279,7 @@
       <column name="CONTACTROLE" value="IT-Leiter"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:04:06"/>
       <column name="DEPARTMENT" value="IT"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="PERSON_ID" value="3660abd7-73de-4825-83a1-e1992469cf56"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -292,7 +292,7 @@
       <column name="CONTACTROLE" value="Vertriebsleiter"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:04:51"/>
       <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="PERSON_ID" value="57ec6707-e4a4-4702-9356-ee43dd4c5b00"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -304,7 +304,7 @@
       <column name="CONTACTID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:06:15"/>
       <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="PERSON_ID" value="44c5d7db-b96e-4f67-a00f-c206cd3f7e1b"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -317,7 +317,7 @@
       <column name="CONTACTROLE" value="Vertriebsleiter"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:39:57"/>
       <column name="DEPARTMENT" value="Vertrieb"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="PERSON_ID" value="9f4528ce-3d83-4292-ae23-d9b314271f69"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -330,7 +330,7 @@
       <column name="CONTACTROLE" value="Marketingleiter"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:41:40"/>
       <column name="DEPARTMENT" value="Marketing"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="PERSON_ID" value="c41afea2-c4b5-45dd-a4a7-05826b9dd38c"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -341,7 +341,7 @@
       <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="29271db0-4253-46c9-b7c2-5e25376b9d19"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:42:37"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="PERSON_ID" value="22a497cb-39c3-4e72-9f88-423d7630c7e1"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -352,7 +352,7 @@
       <column name="ADDRESS_ID" value="7d116e5e-0c6b-475b-91e7-7cae94b65321"/>
       <column name="CONTACTID" value="1868bd3a-05af-4b7f-a633-e3aec50ac45c"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:43:42"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="PERSON_ID" value="09514fe1-a0d6-465e-883b-6cc93cc758a2"/>
       <column name="RELATIONSHIP" valueNumeric="2"/>
@@ -363,7 +363,7 @@
       <column name="ADDRESS_ID" value="8923fff3-4294-4892-b3f3-8470ae89555e"/>
       <column name="CONTACTID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:39:15"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="a3fd3c23-12e1-4820-b76e-2cd70103d94d"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -372,7 +372,7 @@
       <column name="ADDRESS_ID" value="2a03d8cb-ffb7-4d04-b8b2-e55354380fb7"/>
       <column name="CONTACTID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:40:51"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -381,7 +381,7 @@
       <column name="ADDRESS_ID" value="36723051-8a5f-47d3-8185-71c82d463eb3"/>
       <column name="CONTACTID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:42:16"/>
-      <column name="LANGUAGE" value="eng"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -390,7 +390,7 @@
       <column name="ADDRESS_ID" value="1a20347c-ab56-41cb-a7dc-bd61de7e2106"/>
       <column name="CONTACTID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:44:27"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="5a52304e-65e8-40ed-9aca-a76af6c8c3a0"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -399,7 +399,7 @@
       <column name="ADDRESS_ID" value="85ab4644-98f1-41ae-8678-67e76dd03706"/>
       <column name="CONTACTID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:46:35"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -408,7 +408,7 @@
       <column name="ADDRESS_ID" value="25360df5-104e-4903-8440-f848d025a24b"/>
       <column name="CONTACTID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:47:59"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -417,7 +417,7 @@
       <column name="ADDRESS_ID" value="e1aef1b7-569b-46be-bc50-f02332a42ef1"/>
       <column name="CONTACTID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="DATE_NEW" valueDate="2019-05-17T09:49:58"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="019651a4-503e-4e06-aefd-e7e631bf3144"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -426,7 +426,7 @@
       <column name="ADDRESS_ID" value="e0a93855-d573-405b-8ee2-3b3927762d21"/>
       <column name="CONTACTID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:00:09"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -435,7 +435,7 @@
       <column name="ADDRESS_ID" value="ea50cb02-7d4d-433d-9cd3-c262d5a0bb27"/>
       <column name="CONTACTID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="DATE_NEW" valueDate="2019-05-17T10:03:12"/>
-      <column name="LANGUAGE" value="eng"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="449080f6-b714-4189-a261-37439d0d4010"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -444,7 +444,7 @@
       <column name="ADDRESS_ID" value="dd1a1831-b05a-41a7-a4e9-d73be9d77934"/>
       <column name="CONTACTID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T08:38:50"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -453,7 +453,7 @@
       <column name="ADDRESS_ID" value="da05619e-47c6-4144-a698-f0f830d9f755"/>
       <column name="CONTACTID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:53:07"/>
-      <column name="LANGUAGE" value="eng"/>
+      <column name="ISOLANGUAGE" value="eng"/>
       <column name="ORGANISATION_ID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
@@ -462,7 +462,7 @@
       <column name="ADDRESS_ID" value="8ac42a08-6e71-4bc4-a46d-5cf17e4a941c"/>
       <column name="CONTACTID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:17"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="ORGANISATION_ID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
       <column name="STATUS" value="CONTACTSTATACTIVE"/>
       <column name="USER_NEW" value="Admin"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/DOCUMENTTEMPLATE.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/DOCUMENTTEMPLATE.xml
index 25f71603c87de7fb9198c6e8ee02e9cb891b4755..2bac627c2176f1b6daab7f250d37291a9838a363 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/DOCUMENTTEMPLATE.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/DOCUMENTTEMPLATE.xml
@@ -4,18 +4,18 @@
     <insert tableName="DOCUMENTTEMPLATE">
       <column name="DATE_NEW" valueDate="2019-05-24"/>
       <column name="DOCUMENTTEMPLATEID" value="f032c593-f108-47dd-9fc2-357c14757a9d"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NAME" value="Erstkontakt "/>
-      <column name="TYPE" value="MAI                                 "/>
+      <column name="KIND" value="MAI                                 "/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="DOCUMENTTEMPLATE">
       <column name="DATE_NEW" valueDate="2019-05-29"/>
       <column name="DESCRIPTION" value="Rahmenvertrag"/>
       <column name="DOCUMENTTEMPLATEID" value="1269c31d-4173-434f-b2db-9154fa651a25"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NAME" value="Rahmenvertrag "/>
-      <column name="TYPE" value="ATT                                 "/>
+      <column name="KIND" value="ATT                                 "/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/MEMBER.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/OBJECTMEMBER.xml
similarity index 62%
rename from .liquibase/Data_alias/basic/_demoData/generatedData/MEMBER.xml
rename to .liquibase/Data_alias/basic/_demoData/generatedData/OBJECTMEMBER.xml
index 3c65f994e289f4a10bb660d47fe7e5a05a1cd6cc..75dc704dff44f5141eb98e6d0681d114b5c61027 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/MEMBER.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/OBJECTMEMBER.xml
@@ -3,61 +3,61 @@
   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 author="autogenerated" id="9830be31-7d74-46f8-a006-06d25b8229eb">
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="d4c1bec3-656f-45ec-ae03-1c4d729d99fe"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="MEMBERID" value="336e8c10-376c-422e-afd9-1faef77c6f0c"/>
-      <column name="ROLE" value="MEMROLEPROJMANAG"/>
+      <column name="OBJECTMEMBERID" value="336e8c10-376c-422e-afd9-1faef77c6f0c"/>
+      <column name="MEMBERROLE" value="MEMROLEPROJMANAG"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="MEMBERID" value="c3b8a835-e9b2-40d1-aa4d-83838c5714ba"/>
-      <column name="ROLE" value="MEMROLEPROJASSIST"/>
+      <column name="OBJECTMEMBERID" value="c3b8a835-e9b2-40d1-aa4d-83838c5714ba"/>
+      <column name="MEMBERROLE" value="MEMROLEPROJASSIST"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="a8a5f214-8165-4627-bee2-bceb3578147e"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="MEMBERID" value="8d69dc7e-ae24-46e8-b0a0-3217b208c564"/>
-      <column name="ROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
+      <column name="OBJECTMEMBERID" value="8d69dc7e-ae24-46e8-b0a0-3217b208c564"/>
+      <column name="MEMBERROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="d3ec3869-b710-44d9-b20f-50f0724631ac"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="MEMBERID" value="685666f6-6545-4a51-8340-d98115b3d710"/>
-      <column name="ROLE" value="MEMROLEPROJMANAG"/>
+      <column name="OBJECTMEMBERID" value="685666f6-6545-4a51-8340-d98115b3d710"/>
+      <column name="MEMBERROLE" value="MEMROLEPROJMANAG"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="MEMBERID" value="3bd6db09-063c-43a5-828d-9fe6e958d142"/>
-      <column name="ROLE" value="MEMROLEADVISE"/>
+      <column name="OBJECTMEMBERID" value="3bd6db09-063c-43a5-828d-9fe6e958d142"/>
+      <column name="MEMBERROLE" value="MEMROLEADVISE"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="MEMBERID" value="100e2d29-2d34-4a5d-adc9-c09f9949d136"/>
-      <column name="ROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
+      <column name="OBJECTMEMBERID" value="100e2d29-2d34-4a5d-adc9-c09f9949d136"/>
+      <column name="MEMBERROLE" value="70cbad1b-eac6-4369-ba50-4946e0fbcb3a"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="19c6bf30-cd8b-40df-980c-ce71c92c194c"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="MEMBERID" value="094fa52f-28ee-4988-9169-c4fcf0fd58e7"/>
-      <column name="ROLE" value="MEMROLEADVISE"/>
+      <column name="OBJECTMEMBERID" value="094fa52f-28ee-4988-9169-c4fcf0fd58e7"/>
+      <column name="MEMBERROLE" value="MEMROLEADVISE"/>
     </insert>
-    <insert tableName="MEMBER">
+    <insert tableName="OBJECTMEMBER">
       <column name="CONTACT_ID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
       <column name="OBJECT_TYPE" value="Salesproject"/>
       <column name="OBJECT_ROWID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="MEMBERID" value="b91e741e-6e23-4a0a-a3de-06b9be398ed6"/>
-      <column name="ROLE" value="MEMROLEEXSALEMANAG"/>
+      <column name="OBJECTMEMBERID" value="b91e741e-6e23-4a0a-a3de-06b9be398ed6"/>
+      <column name="MEMBERROLE" value="MEMROLEEXSALEMANAG"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/OFFER.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/OFFER.xml
index 3e526eb45e64283012ae02094f22f72f02ea8bac..7c2eff130441cabbc08d94d88f9d83f3860db5ec 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/OFFER.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/OFFER.xml
@@ -10,7 +10,7 @@
       <column name="DATE_NEW" valueDate="2019-05-16T01:35:17"/>
       <column name="DELIVERYTERMS" value="DELIVERCARRIAGE"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="210.00"/>
       <column name="OFFERCODE" valueNumeric="1005"/>
       <column name="OFFERDATE" valueDate="2019-05-16T02:00:00"/>
@@ -32,7 +32,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T08:23:52"/>
       <column name="DELIVERYTERMS" value="DELIVERFREE"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="3500.00"/>
       <column name="OFFERCODE" valueNumeric="1006"/>
       <column name="OFFERDATE" valueDate="2019-03-08T01:00:00"/>
@@ -54,7 +54,7 @@
       <column name="DATE_EDIT" valueDate="2019-05-17T11:01:46"/>
       <column name="DATE_NEW" valueDate="2019-05-17T08:27:21"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="28500.00"/>
       <column name="OFFERCODE" valueNumeric="1007"/>
       <column name="OFFERDATE" valueDate="2019-05-17T02:00:00"/>
@@ -75,7 +75,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T09:03:46"/>
       <column name="DELIVERYTERMS" value="DELIVERCARRIAGE"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="192500.00"/>
       <column name="OFFERCODE" valueNumeric="1008"/>
       <column name="OFFERDATE" valueDate="2019-02-22T01:00:00"/>
@@ -97,7 +97,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T09:27:12"/>
       <column name="DELIVERYTERMS" value="DELIVERCARRIAGE"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="175000.00"/>
       <column name="OFFERCODE" valueNumeric="1009"/>
       <column name="OFFERDATE" valueDate="2018-08-14T02:00:00"/>
@@ -119,7 +119,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T10:28:20"/>
       <column name="DELIVERYTERMS" value="DELIVERCIF"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="17500.00"/>
       <column name="OFFERCODE" valueNumeric="1010"/>
       <column name="OFFERDATE" valueDate="2019-05-17T02:00:00"/>
@@ -139,7 +139,7 @@
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-22T11:40:03"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="53500.00"/>
       <column name="OFFERCODE" valueNumeric="1011"/>
       <column name="OFFERDATE" valueDate="2017-07-11T02:00:00"/>
@@ -160,7 +160,7 @@
       <column name="DATE_NEW" valueDate="2019-05-23T09:00:44"/>
       <column name="DELIVERYTERMS" value="DELIVERCARRIAGE"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="45000.00"/>
       <column name="OFFERCODE" valueNumeric="1012"/>
       <column name="OFFERDATE" valueDate="2019-03-25T01:00:00"/>
@@ -182,7 +182,7 @@
       <column name="DATE_NEW" valueDate="2019-05-23T09:04:28"/>
       <column name="DELIVERYTERMS" value="DELIVERCARRIAGE"/>
       <column name="HEADER" value="Für die bisherigen Gespräche möchten wir uns bei Ihnen bedanken. Gerne bieten wir Ihnen wie folgt an:&#10;&#10;"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="25000.00"/>
       <column name="OFFERCODE" valueNumeric="1013"/>
       <column name="OFFERDATE" valueDate="2019-03-25T01:00:00"/>
@@ -202,7 +202,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="210.00"/>
       <column name="OFFERCODE" valueNumeric="1000"/>
       <column name="OFFERDATE" valueDate="2018-11-21T01:00:00"/>
@@ -220,7 +220,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="OFFERCODE" valueNumeric="1001"/>
       <column name="OFFERDATE" valueDate="2018-08-12T02:00:00"/>
@@ -238,7 +238,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="630.00"/>
       <column name="OFFERCODE" valueNumeric="1002"/>
       <column name="OFFERDATE" valueDate="2018-06-14T02:00:00"/>
@@ -256,7 +256,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="OFFERCODE" valueNumeric="1003"/>
       <column name="OFFERDATE" valueDate="2018-02-23T01:00:00"/>
@@ -274,7 +274,7 @@
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="840.00"/>
       <column name="OFFERCODE" valueNumeric="1004"/>
       <column name="OFFERDATE" valueDate="2017-11-09T01:00:00"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/ORGANISATION.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/ORGANISATION.xml
index c8e0ccf77f2cf09dde719e882b6dc9432c0589bb..8cbcf443b3bbcb7bd60b98b0e4183a73d3dfaf54 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/ORGANISATION.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/ORGANISATION.xml
@@ -8,7 +8,7 @@
       <column name="INFO" value="Die Industrial Steal AG ist einer der führenden Stahlhersteller weltweit. Das Unternehmen agiert mit über 5.000 Mitarbeitern in über 30 Ländern. "/>
       <column name="NAME" value="Industrial Steel AG"/>
       <column name="ORGANISATIONID" value="dec94545-2487-46d5-978d-26ee0fcf0f5f"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -19,7 +19,7 @@
       <column name="INFO" value="Die Transatlantik Logistic Gruppe ist ein Zusammenschluss aus mehreren Logistik Unternehmen.  Über 3.000 Mitarbeiter sind bei dem europäischen Logistikriesen beschäftigt. "/>
       <column name="NAME" value="Transatlantik Logistics GmbH"/>
       <column name="ORGANISATIONID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -29,7 +29,7 @@
       <column name="INFO" value="Die Skyscraper Bau GmbH zählt zu den führenden Unternehmen in der Baubranche. Mit ihrem breiten Portfolio überzeugen sie regelmäßig und diversifizieren sich von ihren Mitbewerbern. "/>
       <column name="NAME" value="Skyscraper Bau GmbH"/>
       <column name="ORGANISATIONID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ORGANISATION">
@@ -46,7 +46,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T09:40:51"/>
       <column name="NAME" value="JPM Touristik GmbH"/>
       <column name="ORGANISATIONID" value="cabf6192-f9c3-4bd4-9366-ad2b073bdfa3"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ORGANISATION">
@@ -56,7 +56,7 @@
       <column name="INFO" value="Automobilvermietung"/>
       <column name="NAME" value="Sevent SE"/>
       <column name="ORGANISATIONID" value="2c14fb05-d48e-4eeb-8a7f-85d423746848"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -75,7 +75,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T09:46:35"/>
       <column name="NAME" value="SuperBauer AG"/>
       <column name="ORGANISATIONID" value="8eecb5e5-40d9-4bf0-a152-1ca456795563"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -85,7 +85,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T09:47:59"/>
       <column name="NAME" value="Grobbe-Werk GmbH"/>
       <column name="ORGANISATIONID" value="e450d126-eab8-4517-ba7c-8b6804f8c859"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -103,7 +103,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T10:00:09"/>
       <column name="NAME" value="Firmengruppe Matthias Bogen"/>
       <column name="ORGANISATIONID" value="8707accf-b1fd-4bde-97b1-ab44b75f66f9"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
     <insert tableName="ORGANISATION">
@@ -112,7 +112,7 @@
       <column name="DATE_NEW" valueDate="2019-05-17T10:03:12"/>
       <column name="NAME" value="Aquire GmbH"/>
       <column name="ORGANISATIONID" value="449080f6-b714-4189-a261-37439d0d4010"/>
-      <column name="TYPE" value="ORGMANUF"/>
+      <column name="KIND" value="ORGMANUF"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -122,7 +122,7 @@
       <column name="DATE_NEW" valueDate="2019-05-23T08:38:50"/>
       <column name="NAME" value="Netro AG"/>
       <column name="ORGANISATIONID" value="33ae2997-7bff-4c3c-8038-2fa6781dbe9d"/>
-      <column name="TYPE" value="ORGMANUF"/>
+      <column name="KIND" value="ORGMANUF"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -132,7 +132,7 @@
       <column name="DATE_NEW" valueDate="2019-05-23T10:53:07"/>
       <column name="NAME" value="Glob Group"/>
       <column name="ORGANISATIONID" value="fb07cb0e-c391-4503-9c47-a39ec7388f4f"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -142,7 +142,7 @@
       <column name="DATE_NEW" valueDate="2019-05-23T10:54:17"/>
       <column name="NAME" value="Schild AG"/>
       <column name="ORGANISATIONID" value="777246d5-7a73-4c52-af14-84df66128e5d"/>
-      <column name="TYPE" value="ORGPARTNER"/>
+      <column name="KIND" value="ORGPARTNER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
@@ -152,7 +152,7 @@
       <column name="DATE_NEW" valueDate="2019-05-13T01:16:36"/>
       <column name="NAME" value="meine Firma"/>
       <column name="ORGANISATIONID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-      <column name="TYPE" value="ORGCUTOMER"/>
+      <column name="KIND" value="ORGCUTOMER"/>
       <column name="USER_EDIT" value="Admin"/>
       <column name="USER_NEW" value="Admin"/>
     </insert>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESORDER.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESORDER.xml
index 1ed165aa2aa0b9b21ad17879742d894e1a621eb6..d913c44edbb1c055523002571705aa4fb1d6c710 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESORDER.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESORDER.xml
@@ -4,7 +4,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="210.00"/>
       <column name="SALESORDERCODE" valueNumeric="1000"/>
       <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
@@ -22,7 +22,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1001"/>
       <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
@@ -44,7 +44,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="630.00"/>
       <column name="SALESORDERCODE" valueNumeric="1002"/>
       <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
@@ -63,7 +63,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1003"/>
       <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
@@ -82,7 +82,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1004"/>
       <column name="SALESORDERDATE" valueDate="2017-05-09T02:00:00"/>
@@ -101,7 +101,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="210.00"/>
       <column name="SALESORDERCODE" valueNumeric="1005"/>
       <column name="SALESORDERDATE" valueDate="2017-11-21T01:00:00"/>
@@ -121,7 +121,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1006"/>
       <column name="SALESORDERDATE" valueDate="2018-08-12T02:00:00"/>
@@ -140,7 +140,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="630.00"/>
       <column name="SALESORDERCODE" valueNumeric="1007"/>
       <column name="SALESORDERDATE" valueDate="2016-06-14T02:00:00"/>
@@ -162,7 +162,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1008"/>
       <column name="SALESORDERDATE" valueDate="2018-08-23T02:00:00"/>
@@ -180,7 +180,7 @@
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
       <column name="CURRENCY" value="EUR                                 "/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="420.00"/>
       <column name="SALESORDERCODE" valueNumeric="1009"/>
       <column name="SALESORDERDATE" valueDate="2017-05-09T02:00:00"/>
@@ -198,7 +198,7 @@
     </insert>
     <insert tableName="SALESORDER">
       <column name="CONTACT_ID" value="7a34d9d0-04c7-478c-a8e2-f584fe625c45"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="0.00"/>
       <column name="SALESORDERCODE" valueNumeric="1010"/>
       <column name="SALESORDERDATE" valueDate="2019-05-17T02:00:00"/>
@@ -223,7 +223,7 @@
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="FOOTER" value="Unsere Zahlungkonditionen finden sie hier:"/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="28500.00"/>
       <column name="OFFER_ID" value="3d13ef72-0f23-40fc-a66f-af29511a6ad9"/>
       <column name="SALESORDERCODE" valueNumeric="1011"/>
@@ -245,7 +245,7 @@
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="3500.00"/>
       <column name="OFFER_ID" value="5abae3a9-8d96-4709-b6be-7fc7e87f002b"/>
       <column name="SALESORDERCODE" valueNumeric="1012"/>
@@ -267,7 +267,7 @@
       <column name="CONTACT_ID" value="fc465f2f-803b-4a1f-b79d-7b466d7ecff4"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:&#10;&#10;Produkt: &#10;Produkt:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="53500.00"/>
       <column name="OFFER_ID" value="30ff28e2-062f-4950-b4a1-71e51ff71acf"/>
       <column name="SALESORDERCODE" valueNumeric="1013"/>
@@ -289,7 +289,7 @@
       <column name="CONTACT_ID" value="6efb4fab-64f9-4d8e-aa6f-a158d13fc273"/>
       <column name="CURRENCY" value="EUR                                 "/>
       <column name="HEADER" value="gerne bieten wir Ihnen wie folgt an:"/>
-      <column name="LANGUAGE" value="deu"/>
+      <column name="ISOLANGUAGE" value="deu"/>
       <column name="NET" valueNumeric="175000.00"/>
       <column name="OFFER_ID" value="fc02f9d0-06c5-4073-ac95-a59403988697"/>
       <column name="SALESORDERCODE" valueNumeric="1014"/>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT.xml
index 7f9edcfca85b80eef78a6716a8b31e861daa3277..cfea469e359903933da88331d0957fd624d857e9 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT.xml
@@ -10,7 +10,7 @@
       <column name="PROJECTTITLE" value="Erstprojekt"/>
       <column name="SALESPROJECTID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="STARTDATE" valueDate="2019-05-16T02:00:00"/>
-      <column name="STATE" value="SALPROJSTATOPEN"/>
+      <column name="STATUS" value="SALPROJSTATOPEN"/>
       <column name="VOLUME" valueNumeric="200000.00"/>
     </insert>
     <insert tableName="SALESPROJECT">
@@ -22,7 +22,7 @@
       <column name="PROJECTTITLE" value="Skyscraper / Pilotprojekt"/>
       <column name="SALESPROJECTID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="STARTDATE" valueDate="2019-05-17T02:00:00"/>
-      <column name="STATE" value="SALPROJSTATOPEN"/>
+      <column name="STATUS" value="SALPROJSTATOPEN"/>
       <column name="VOLUME" valueNumeric="120000.00"/>
     </insert>
     <insert tableName="SALESPROJECT">
@@ -34,7 +34,7 @@
       <column name="PROJECTTITLE" value="Transatlantik Initialprojekt"/>
       <column name="SALESPROJECTID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="STARTDATE" valueDate="2019-05-17T02:00:00"/>
-      <column name="STATE" value="SALPROJSTATOPEN"/>
+      <column name="STATUS" value="SALPROJSTATOPEN"/>
       <column name="VOLUME" valueNumeric="250000.00"/>
     </insert>
     <insert tableName="SALESPROJECT">
@@ -46,7 +46,7 @@
       <column name="PROJECTTITLE" value="Kronen Pilotprojekt"/>
       <column name="SALESPROJECTID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="STARTDATE" valueDate="2017-05-16T02:00:00"/>
-      <column name="STATE" value="SALPROJSTATOPEN"/>
+      <column name="STATUS" value="SALPROJSTATOPEN"/>
       <column name="VOLUME" valueNumeric="350000.00"/>
     </insert>
     <insert tableName="SALESPROJECT">
@@ -58,7 +58,7 @@
       <column name="PROJECTTITLE" value="Buchner Neuprojekt"/>
       <column name="SALESPROJECTID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="STARTDATE" valueDate="2016-02-05T01:00:00"/>
-      <column name="STATE" value="SALPROJSTATOPEN"/>
+      <column name="STATUS" value="SALPROJSTATOPEN"/>
       <column name="VOLUME" valueNumeric="450000.00"/>
     </insert>
   </changeSet>
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_MILESTONE.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_MILESTONE.xml
index 63753bb7742ecf2f273981b04aef739a8e2f0149..ec5b3c041e4d9402d769c1b081dcfbe0d78e0f17 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_MILESTONE.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_MILESTONE.xml
@@ -6,15 +6,15 @@
       <column name="DATE_START" valueDate="2019-05-16T01:34:58"/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_MILESTONEID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASENQC"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-06-15T01:34:58"/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_MILESTONEID" value="ae7fe604-2fea-4aa1-be75-e990e8f31c74"/>
-      <column name="TYPE" value="SalesprojectState"/>
-      <column name="VALUE" value="SALPROJSTATOPEN"/>
+      <column name="KIND" value="SalesprojectState"/>
+      <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
     </insert>
     
     <insert tableName="SALESPROJECT_MILESTONE">
@@ -22,8 +22,8 @@
       <column name="DATE_END" valueDate="2019-05-10T08:08:07"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_MILESTONEID" value="063a2c02-4b21-459a-8ae3-558ba67973dd"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASENQC"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASENQC"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-10T08:08:07"/>
@@ -31,61 +31,61 @@
       <column name="PARENT_ID" value="063a2c02-4b21-459a-8ae3-558ba67973dd"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_MILESTONEID" value="122a232c-0b24-45f1-a55f-d827a3d993de"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASEMAL"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-06-17T08:08:07"/>
       <column name="PARENT_ID" value="122a232c-0b24-45f1-a55f-d827a3d993de"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_MILESTONEID" value="737a988e-8779-4449-ba82-50f4361974eb"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASESAL"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-17T08:08:08"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
       <column name="SALESPROJECT_MILESTONEID" value="5189697c-5dbf-4d10-a163-dfde87e490ab"/>
-      <column name="TYPE" value="SalesprojectState"/>
-      <column name="VALUE" value="SALPROJSTATOPEN"/>
+      <column name="KIND" value="SalesprojectState"/>
+      <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_END" valueDate="2019-05-23T10:44:48"/>
       <column name="DATE_START" valueDate="2019-05-10T08:39:38"/>
       <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="SALESPROJECT_MILESTONEID" value="4e764ba9-8f81-4e01-93de-f9769205dd3c"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASESAL"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-17T08:39:38"/>
       <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="SALESPROJECT_MILESTONEID" value="d77dc2ae-f12d-49ac-9a8f-ee0b5086f6ef"/>
-      <column name="TYPE" value="SalesprojectState"/>
-      <column name="VALUE" value="SALPROJSTATOPEN"/>
+      <column name="KIND" value="SalesprojectState"/>
+      <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_END" valueDate="2019-05-23T10:44:26"/>
       <column name="DATE_START" valueDate="2019-05-14T11:51:20"/>
       <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="SALESPROJECT_MILESTONEID" value="d77a1712-bd57-4d4f-bc58-69ce58f31685"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASESAL"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESAL"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-22T11:51:20"/>
       <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="SALESPROJECT_MILESTONEID" value="4529f6d1-2d4d-4dfc-b404-6a3d30e7153b"/>
-      <column name="TYPE" value="SalesprojectState"/>
-      <column name="VALUE" value="SALPROJSTATOPEN"/>
+      <column name="KIND" value="SalesprojectState"/>
+      <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-22T01:42:51"/>
       <column name="DATE_END" valueDate="2019-06-19T08:08:07"/>
       <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="SALESPROJECT_MILESTONEID" value="eff31d24-4434-4b92-9de9-eeb8eb43cb72"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASESQO"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
     </insert>
     
       <insert tableName="SALESPROJECT_MILESTONE">
@@ -93,16 +93,16 @@
       <column name="PARENT_ID" value="eff31d24-4434-4b92-9de9-eeb8eb43cb72"/>
       <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="SALESPROJECT_MILESTONEID" value="40512b52-d0f4-4a07-a894-88f72455e700"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASEMAL"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMAL"/>
     </insert>
     
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-22T01:42:51"/>
       <column name="SALESPROJECT_ID" value="ef7f4726-4476-4f59-97c2-706dc1e0046f"/>
       <column name="SALESPROJECT_MILESTONEID" value="381b808e-d0a7-408b-a794-55c10b0399b5"/>
-      <column name="TYPE" value="SalesprojectState"/>
-      <column name="VALUE" value="SALPROJSTATOPEN"/>
+      <column name="KIND" value="SalesprojectState"/>
+      <column name="MILESTONEVALUE" value="SALPROJSTATOPEN"/>
     </insert>
     
     <insert tableName="SALESPROJECT_MILESTONE">
@@ -111,24 +111,24 @@
       <column name="PARENT_ID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_MILESTONEID" value="47999521-d6ea-4a4d-959c-e72776ba5a25"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASEOFFER"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEOFFER"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-23T10:44:26"/>
       <column name="PARENT_ID" value="d77a1712-bd57-4d4f-bc58-69ce58f31685"/>
       <column name="SALESPROJECT_ID" value="7e2680f6-a438-45aa-956a-787363f85923"/>
       <column name="SALESPROJECT_MILESTONEID" value="61f7f5d6-01a6-4088-9387-820cb71ea526"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASENEGO"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASENEGO"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-23T10:44:48"/>
       <column name="PARENT_ID" value="4e764ba9-8f81-4e01-93de-f9769205dd3c"/>
       <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
       <column name="SALESPROJECT_MILESTONEID" value="8a33dafb-4a1b-4ec9-a1cd-37a6c75e3721"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASESQO"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASESQO"/>
     </insert>
     <insert tableName="SALESPROJECT_MILESTONE">
       <column name="DATE_START" valueDate="2019-05-23T11:30:10"/>
@@ -136,8 +136,8 @@
       <column name="PARENT_ID" value="b2cb428d-b76b-423a-9b61-04d03213e6d3"/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
       <column name="SALESPROJECT_MILESTONEID" value="14da1165-ed6c-4f2a-8766-11d3533804cb"/>
-      <column name="TYPE" value="SalesprojectPhase"/>
-      <column name="VALUE" value="SALPROJPHASEMQC"/>
+      <column name="KIND" value="SalesprojectPhase"/>
+      <column name="MILESTONEVALUE" value="SALPROJPHASEMQC"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_SOURCE.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_SOURCE.xml
index 234622c0aa677b4aec5d0a74bb6ef57271e40648..8edcdac3a50377b6d28c16b2c6b60696087446f7 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_SOURCE.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/SALESPROJECT_SOURCE.xml
@@ -1,45 +1,45 @@
 <?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 author="autogenerated" id="a4a96fc2-81cb-41a6-ac45-e935fe7378db">
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-05-17T08:22:56"/>
       <column name="INFO" value="Kontakt über die Webseite"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_SOURCEID" value="2290111c-005b-4602-8adb-fb13844e065f"/>
-      <column name="SOURCE" value="SALPROJSCOWNWEB"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="2290111c-005b-4602-8adb-fb13844e065f"/>
+      <column name="TOUCHPOINT" value="SALPROJSCOWNWEB"/>
     </insert>
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-05-17T08:23:27"/>
       <column name="INFO" value="Besuch bei der Messe"/>
       <column name="SALESPROJECT_ID" value="6d3d16cd-733e-41d1-ab6c-8a6cba63ba4a"/>
-      <column name="SALESPROJECT_SOURCEID" value="a3e94450-561f-43a8-bdec-64b093056187"/>
-      <column name="SOURCE" value="SALPROJSCFAIR"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="a3e94450-561f-43a8-bdec-64b093056187"/>
+      <column name="TOUCHPOINT" value="SALPROJSCFAIR"/>
     </insert>
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-03-12T01:00:00"/>
       <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_SOURCEID" value="d178bb9e-0b6f-4f61-ac5e-f29b14488185"/>
-      <column name="SOURCE" value="SALPROJSCFAIR"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="d178bb9e-0b6f-4f61-ac5e-f29b14488185"/>
+      <column name="TOUCHPOINT" value="SALPROJSCFAIR"/>
     </insert>
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-03-25T01:00:00"/>
       <column name="SALESPROJECT_ID" value="d422ad81-717f-42b0-bd64-fc892744aac7"/>
-      <column name="SALESPROJECT_SOURCEID" value="f42c0831-5f10-4b32-af21-62b334fd21d7"/>
-      <column name="SOURCE" value="SALPROJSCOWNWEB"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="f42c0831-5f10-4b32-af21-62b334fd21d7"/>
+      <column name="TOUCHPOINT" value="SALPROJSCOWNWEB"/>
     </insert>
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-05-23T10:19:16"/>
       <column name="INFO" value="Die relevanten AP's waren am Stand. Hatten ein sehr produktives Gespräch."/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_SOURCEID" value="675253dd-0337-44c0-b230-71f030ee0246"/>
-      <column name="SOURCE" value="SALPROJSCFAIR"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="675253dd-0337-44c0-b230-71f030ee0246"/>
+      <column name="TOUCHPOINT" value="SALPROJSCFAIR"/>
     </insert>
-    <insert tableName="SALESPROJECT_SOURCE">
+    <insert tableName="SALESPROJECT_TOUCHPOINT">
       <column name="ENTRYDATE" valueDate="2019-05-23T10:33:18"/>
       <column name="INFO" value="Erster Kontakt mit uns."/>
       <column name="SALESPROJECT_ID" value="438537db-0dc6-4aed-b1d1-813011baf88c"/>
-      <column name="SALESPROJECT_SOURCEID" value="515ac173-4eab-4783-9c3f-e637c462f6b3"/>
-      <column name="SOURCE" value="SALPROJSCOWNWEB"/>
+      <column name="SALESPROJECT_TOUCHPOINTID" value="515ac173-4eab-4783-9c3f-e637c462f6b3"/>
+      <column name="TOUCHPOINT" value="SALPROJSCOWNWEB"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/_demoData/generatedData/TASK.xml b/.liquibase/Data_alias/basic/_demoData/generatedData/TASK.xml
index f90edd2e0c2a4287f37989e817570e532b389278..b81beaf2db174b65691dc7dcccd572080ab9e7c7 100644
--- a/.liquibase/Data_alias/basic/_demoData/generatedData/TASK.xml
+++ b/.liquibase/Data_alias/basic/_demoData/generatedData/TASK.xml
@@ -12,7 +12,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Forecast anpassen"/>
       <column name="TASKID" value="7d404da2-78bf-427b-8abb-4c7e953220ca"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Kunde wollte ein Angebot, hierzu die offenen Posten klären"/>
@@ -25,7 +25,7 @@
       <column name="STATUS" value="IN-PROGRESS"/>
       <column name="SUBJECT" value="Nachfassen bei Kunden"/>
       <column name="TASKID" value="783f38b6-db71-42b5-9117-848553905c93"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="EDITOR_CONTACT_ID" value="4cc98357-25f3-462b-898c-440f9faf4b97"/>
@@ -38,7 +38,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Besuch vorbereiten"/>
       <column name="TASKID" value="d6217dc5-5585-4919-a545-9cdc64a1ca58"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Kampagnenplanung für dieses Jahr beenden."/>
@@ -51,7 +51,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Kampagne zu Akquise planen"/>
       <column name="TASKID" value="380c1ae1-c7d4-49b7-87e1-4fe2e16c4c52"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
@@ -64,7 +64,7 @@
       <column name="STATUS" value="IN-PROGRESS"/>
       <column name="SUBJECT" value="Skyscraper VP für nächste Schritte"/>
       <column name="TASKID" value="f8fcdce1-da60-46d6-9ce3-3866e093730d"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="EDITOR_CONTACT_ID" value="c7ddf982-0e58-4152-b82b-8f5673b0b729"/>
@@ -77,7 +77,7 @@
       <column name="STATUS" value="IN-PROGRESS"/>
       <column name="SUBJECT" value="Vorbereitung Präsentation"/>
       <column name="TASKID" value="2e50d2cd-9429-433c-8f6e-2e31a9e7908e"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Kunde ist sehr interessiert an unserem Produkten, weitere Produktabstimmung intern."/>
@@ -91,7 +91,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Lead nachfassen"/>
       <column name="TASKID" value="67afcc4b-f71b-4da6-a8b3-e7947c411a2a"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="MATURITY_DATE" valueDate="2019-06-21T06:03:00"/>
@@ -103,7 +103,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Produkt Präsentation vorbereiten und mit Lisa Sommer abstimmen"/>
       <column name="TASKID" value="cf99cace-a6e1-46a6-ad83-c634e373f320"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Strategieevent 2-Tage"/>
@@ -116,7 +116,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Event im Hause"/>
       <column name="TASKID" value="d8f35764-2c56-45be-93c7-f1e0695e2417"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Winterreifen draufmachen lassen"/>
@@ -129,7 +129,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Autoreifen wechseln"/>
       <column name="TASKID" value="0d126a7e-4308-4857-9245-5a40f3e2b36e"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Preisabstimmung."/>
@@ -142,7 +142,7 @@
       <column name="STATUS" value="WAITING"/>
       <column name="SUBJECT" value="Mit der Vertriebsleitung abstimmen wie viel Prozent Rabatt gegeben werden kann."/>
       <column name="TASKID" value="81a4c8e7-4429-41e1-a534-f1be21e56b5e"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="MATURITY_DATE" valueDate="2019-05-30T09:21:00"/>
@@ -154,7 +154,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Präsentation vor Ort vorbereiten"/>
       <column name="TASKID" value="96ec8b48-9fac-4216-bc98-a8323f0592f9"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="MATURITY_DATE" valueDate="2019-05-30T11:50:00"/>
@@ -166,7 +166,7 @@
       <column name="STATUS" value="NEW"/>
       <column name="SUBJECT" value="Test"/>
       <column name="TASKID" value="81a4d411-f317-4080-84b6-55ed91d26d34"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
     <insert tableName="TASK">
       <column name="DESCRIPTION" value="Es sollen die effizienten Wertschöpfungsketten der Prozessdefinitionseinheiten im primären Schritt gebündelt und sekundär analysiert und verifiziert werden."/>
@@ -179,7 +179,7 @@
       <column name="STATUS" value="IN-PROGRESS"/>
       <column name="SUBJECT" value="effiziente Wertschöpfungsketten bündeln und anlaysieren"/>
       <column name="TASKID" value="e9cb198d-c420-4192-9c29-b23682457d8e"/>
-      <column name="TYPE" value="TASK"/>
+      <column name="KIND" value="TASK"/>
     </insert>
   </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_attribute/init_SalesprojectProbability_percentValue.xml b/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_attribute/init_SalesprojectProbability_percentValue.xml
index e7425b24dcd38e28003820d50f3e5f846c0e7b66..1bbc33e49759629863c8f1dce3d7112d2cb80082 100644
--- a/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_attribute/init_SalesprojectProbability_percentValue.xml
+++ b/.liquibase/Data_alias/basic/init/data/AditoBasic/ab_keyword_attribute/init_SalesprojectProbability_percentValue.xml
@@ -4,7 +4,7 @@
         <insert tableName="AB_KEYWORD_ATTRIBUTE">
             <column name="AB_KEYWORD_ATTRIBUTEID" value="2fabbd9a-89d2-49e3-b3aa-1dcbc77252c7"/>
             <column name="NAME" value="percentValue"/>
-            <column name="TYPE" value="NUMBER_VALUE"/>
+            <column name="KIND" value="NUMBER_VALUE"/>
             <column name="CONTAINER" value="SalesprojectProbability"/>
         </insert>
         <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
diff --git a/.liquibase/Data_alias/basic/init/struct/AditoBasic/create_ab_keyword_attribute.xml b/.liquibase/Data_alias/basic/init/struct/AditoBasic/create_ab_keyword_attribute.xml
index a39bf989d429478b93618c47e518fe3f908f768b..47b8c016a7220033aae4ec3c23dfbdac2a25c3c8 100644
--- a/.liquibase/Data_alias/basic/init/struct/AditoBasic/create_ab_keyword_attribute.xml
+++ b/.liquibase/Data_alias/basic/init/struct/AditoBasic/create_ab_keyword_attribute.xml
@@ -9,7 +9,7 @@
             <column name="NAME" type="VARCHAR(100)">
                 <constraints nullable="false"/>
             </column>
-            <column name="TYPE" type="CHAR(36)">
+            <column name="KIND" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
             <column name="CONTAINER" type="VARCHAR(80)">
diff --git a/.liquibase/Data_alias/basic/init/struct/create_address.xml b/.liquibase/Data_alias/basic/init/struct/create_address.xml
index 73309576ecf5dfdd54e072c1b3b3e9f4269a1474..986128ab48f3f7f66e1f28368b4ec1e5aeb1c758 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_address.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_address.xml
@@ -17,7 +17,7 @@
                 <column name="CONTACT_ID" type="CHAR(36)">
                     <constraints nullable="false"/>
                 </column>                
-		<column name="STATE" type="NVARCHAR(50)"/>      
+		<column name="PROVINCE" type="NVARCHAR(50)"/>      
                 <column name="ZIP" type="NVARCHAR(50)"/>                                          
 	</createTable>
         <addColumn 
diff --git a/.liquibase/Data_alias/basic/init/struct/create_communication.xml b/.liquibase/Data_alias/basic/init/struct/create_communication.xml
index 954f264cfc12cecf80c02f12cf7dad3429dcac8d..c441f60b67d07767be90c4bd70ccf2b8fd76dddb 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_communication.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_communication.xml
@@ -8,7 +8,7 @@
                 <column name="ADDR" type="NVARCHAR(255)"/>          
 		<column name="MEDIUM_ID" type="INTEGER"/>
 		<column name="CONTACT_ID" type="CHAR(36)"/>
-		<column name="STANDARD" type="TINYINT">
+		<column name="ISSTANDARD" type="TINYINT">
                     <constraints nullable="false"/>
                 </column>
 	</createTable>      
diff --git a/.liquibase/Data_alias/basic/init/struct/create_contact.xml b/.liquibase/Data_alias/basic/init/struct/create_contact.xml
index 2530314f22796fb706e6bcfdcf1ee3a94ce2b4d1..eb998c454c5dd1fb930659185495f6151e4ec3fe 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_contact.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_contact.xml
@@ -3,7 +3,7 @@
     <changeSet author="j.hoermann" id="1f8bb402-3dd8-4732-8409-0ffc784f84f4">
         <createTable tableName="CONTACT">
             <column name="STATUS" type="CHAR(36)"/>
-            <column name="LANGUAGE" type="CHAR(3)"/>
+            <column name="ISOLANGUAGE" type="CHAR(3)"/>
             <column name="ORGANISATION_ID" type="CHAR(36)"/>
             <column name="PERSON_ID" type="CHAR(36)" />
             <column name="RELATIONSHIP" type="INTEGER"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_offer.xml b/.liquibase/Data_alias/basic/init/struct/create_offer.xml
index 52542b01b49c654d2c42800b1a65159bf2cd20ab..e26fc3909e6b3fee290a9622d7deb62fede104ef 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_offer.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_offer.xml
@@ -13,7 +13,7 @@
                 <column name="HEADER" type="NCLOB"/>
                 <column name="FOOTER" type="NCLOB"/>
                 <column name="OFFERDATE" type="DATETIME"/>
-                <column name="LANGUAGE" type="CHAR(3)"/>
+                <column name="ISOLANGUAGE" type="CHAR(3)"/>
                 <column name="OFFERCODE" type="INTEGER"/>
                 <column name="VERSNR" type="INTEGER"/>
                 <column name="STATUS" type="CHAR(36)"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_organisation.xml b/.liquibase/Data_alias/basic/init/struct/create_organisation.xml
index a094020428880547fa4f3ab5dc16cdfe6b342695..0bc211b582064b4a97e5bd86b03f48028e56df26 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_organisation.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_organisation.xml
@@ -6,7 +6,7 @@
                 <constraints nullable="false"/>
             </column>
             <column name="INFO" type="NCLOB"/>
-            <column name="TYPE" type="CHAR(36)"/>
+            <column name="KIND" type="CHAR(36)"/>
             <column name="CUSTOMERCODE" type="NVARCHAR(30)"/>
             <column name="ORGANISATIONID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_ORG_ORGID"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_product.xml b/.liquibase/Data_alias/basic/init/struct/create_product.xml
index 1047d6c1dc1619d1e201099107a938fffa84d177..c221bb25aa1977dda1dd0f56f2624a63eff3c5bd 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_product.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_product.xml
@@ -1,23 +1,22 @@
 <?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 author="m.schroeger" id="40ad5330-2163-400c-8fa7-d0d2461774b7">
-	<createTable tableName="PRODUCT">
-		<column name="PRODUCTID" type="CHAR(36)">
-			<constraints primaryKey="true" primaryKeyName="PK_PRODUCT_PRODUCTID"/>
-		</column>    
-		<column name="ADVERTISING" type="CHAR(1)"/>          
-		<column name="GROUPCODEID" type="CHAR(36)"/>
-		<column name="MINSTOCK" type="INTEGER"/>
-		<column name="CONTACT_ID" type="CHAR(36)"/>
-		<column name="PRODUCTCODE" type="NVARCHAR(50)">
-                    <constraints  nullable="false" unique="true" uniqueConstraintName="UNIQUE_PRODUCT_PRODUCTCODE"/>
-                </column>
-		<column name="PRODUCTNAME" type="NVARCHAR(50)"/>
-                <column name="LANGUAGE" type="CHAR(3)"/>
-		<column name="INFO" type="NCLOB"/>
-		<column name="STATUS" type="INTEGER"/>
-		<column name="UNIT" type="CHAR(36)"/>
-		<column name="STANDARD" type="INTEGER"/>
-	</createTable>      
-</changeSet>
+    <changeSet author="m.schroeger" id="40ad5330-2163-400c-8fa7-d0d2461774b7">
+        <createTable tableName="PRODUCT">
+            <column name="PRODUCTID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_PRODUCT_PRODUCTID"/>
+            </column>    
+            <column name="ADVERTISING" type="CHAR(1)"/>          
+            <column name="GROUPCODEID" type="CHAR(36)"/>
+            <column name="MINSTOCK" type="INTEGER"/>
+            <column name="CONTACT_ID" type="CHAR(36)"/>
+            <column name="PRODUCTCODE" type="NVARCHAR(50)">
+                <constraints  nullable="false" unique="true" uniqueConstraintName="UNIQUE_PRODUCT_PRODUCTCODE"/>
+            </column>
+            <column name="PRODUCTNAME" type="NVARCHAR(50)"/>
+            <column name="LANGUAGE" type="CHAR(3)"/>
+            <column name="INFO" type="NCLOB"/>
+            <column name="STATUS" type="INTEGER"/>
+            <column name="UNIT" type="CHAR(36)"/>
+        </createTable>      
+    </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesorder.xml b/.liquibase/Data_alias/basic/init/struct/create_salesorder.xml
index e5b5409e8b77e821c09c4692af22005f7f400f1c..b451ca3ea3eb8f188f3979a7696d4dd3206a8299 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesorder.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesorder.xml
@@ -13,7 +13,7 @@
                 <column name="HEADER" type="NCLOB"/>
                 <column name="FOOTER" type="NCLOB"/>
                 <column name="SALESORDERDATE" type="DATETIME"/>
-                <column name="LANGUAGE" type="CHAR(3)"/>
+                <column name="ISOLANGUAGE" type="CHAR(3)"/>
                 <column name="SALESORDERCODE" type="INTEGER"/>
                 <column name="VERSNR" type="INTEGER"/>
                 <column name="STATUS" type="CHAR(36)"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesproject.xml b/.liquibase/Data_alias/basic/init/struct/create_salesproject.xml
index 1a18e814008c98a7093a6ed5648f0f19ae3d4db4..31c58ec2084b853a34f713edabc4e2c283990268 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesproject.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesproject.xml
@@ -11,7 +11,7 @@
                 <constraints nullable="false"/>
             </column>  
             <column name="INFO" type="NCLOB"/>
-            <column name="STATE" type="INTEGER"/>
+            <column name="STATUS" type="INTEGER"/>
             <column name="PHASE" type="INTEGER"/>
             <column name="VOLUME" type="NUMERIC(14,2)"/>
             <column name="STARTDATE" type="DATETIME"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesproject_cycle.xml b/.liquibase/Data_alias/basic/init/struct/create_salesproject_cycle.xml
index 8e380f42b103d1e134848f21054dab4060fd9591..34aa92987db6112d1b4610894fd1c0ecd52f3c12 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesproject_cycle.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesproject_cycle.xml
@@ -9,8 +9,8 @@
                 <constraints nullable="false"/>
             </column>
             
-            <column name="TYPE" type="INTEGER"/>
-            <column name="VALUE" type="INTEGER"/>
+            <column name="KIND" type="INTEGER"/>
+            <column name="MILESTONEVALUE" type="INTEGER"/>
             
             <column name="DATE_START" type="DATETIME"/>
             <column name="DATE_END" type="DATETIME"/>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesproject_forecast.xml b/.liquibase/Data_alias/basic/init/struct/create_salesproject_forecast.xml
index 72dc20ee0bcb58ae013e9d92c35b4bd38970f7ec..99f74a434195f079fccb852c10803f773306b5a0 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesproject_forecast.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesproject_forecast.xml
@@ -15,7 +15,6 @@
             <column name="GROUPCODE" type="CHAR(36)"/>
             <column name="INFO" type="NCLOB"/>
             <column name="DATE_START" type="DATETIME"/>
-            <column name="TYPE" type="NVARCHAR(10)"/>
             
             <column name="VOLUME" type="INTEGER"/>
             
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesproject_member.xml b/.liquibase/Data_alias/basic/init/struct/create_salesproject_member.xml
index 6a3207693ed51fb19ea25575c29b0328f80942f9..328e0e9e13300bf7b694775ffc32bc364894d6a1 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesproject_member.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesproject_member.xml
@@ -12,7 +12,7 @@
                 <constraints nullable="false"/>
             </column>
             <column name="RELATIONSHIP" type="INTEGER"/>
-            <column name="SALESPROJECT_ROLE" type="CHAR(36)"/>
+            <column name="SALESPROJECT_MEMBERROLE" type="CHAR(36)"/>
             
         </createTable>
     </changeSet>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_salesproject_source.xml b/.liquibase/Data_alias/basic/init/struct/create_salesproject_source.xml
index c3c501035e881f454615ebd9d5e41c6b94ec82b1..771ed02dce4cae85d0ae7a0604817df91f1dd3ce 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_salesproject_source.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_salesproject_source.xml
@@ -1,9 +1,9 @@
 <?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 author="j.hoermann" id="806bee79-e178-4e35-9cb5-4bd9dc8ce6ae">
-        <createTable tableName="SALESPROJECT_SOURCE">
-            <column name="SALESPROJECT_SOURCEID" type="CHAR(36)">
-                <constraints primaryKey="true" primaryKeyName="PK_SALESPROJECT_SOURCE_SALESPROJECT_SOURCEID"/>
+        <createTable tableName="SALESPROJECT_TOUCHPOINT">
+            <column name="SALESPROJECT_TOUCHPOINTID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_SALESPROJECT_TOUCHPOINT_SALESPROJECT_TOUCHPOINTID"/>
             </column>
 			
             <column name="ENTRYDATE" type="DATETIME"/>
@@ -11,7 +11,7 @@
             <column name="SALESPROJECT_ID" type="CHAR(36)">
                 <constraints nullable="false"/>
             </column>
-            <column name="SOURCE" type="CHAR(36)"/>            
+            <column name="TOUCHPOINT" type="CHAR(36)"/>            
             
             
         </createTable>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_task.xml b/.liquibase/Data_alias/basic/init/struct/create_task.xml
index 89727f63dfe0eed7747652cdcd10f15803c3f9a3..cf34a7d007566480062fbb76001f1f8ad33ee961 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_task.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_task.xml
@@ -16,7 +16,7 @@
             <column name="EDITOR_CONTACT_ID" type="CHAR(36)"/>
             <column name="START_DATE" type="DATETIME"/>
             <column name="MATURITY_DATE" type="DATETIME"/>
-            <column name="TYPE" type="CHAR(36)"/>
+            <column name="KIND" type="CHAR(36)"/>
             <column name="DESCRIPTION" type="NCLOB"/>
             <column name="PROTECTIONLEVEL" type="SMALLINT"/>
         </createTable>
diff --git a/.liquibase/Data_alias/basic/init/struct/create_timetracking.xml b/.liquibase/Data_alias/basic/init/struct/create_timetracking.xml
index 1f7bf1ed6cdd1e12c8c0c0216a92bec0f8fa51a2..0838384d44cc78d9d623d6bc6c61293aa6d98507 100644
--- a/.liquibase/Data_alias/basic/init/struct/create_timetracking.xml
+++ b/.liquibase/Data_alias/basic/init/struct/create_timetracking.xml
@@ -6,7 +6,7 @@
                 <constraints primaryKey="true" primaryKeyName="PK_TIMETRACKING_TIMETRACKINGID"/>
             </column>
             <column name="INFO" type="NCLOB"/>
-            <column name="MINUTES" type="INTEGER">
+            <column name="TRACKINGMINUTES" type="INTEGER">
                 <constraints nullable="false"/>
             </column>
             <column name="OBJECT_ID" type="NVARCHAR(36)">
@@ -19,7 +19,7 @@
                 <constraints foreignKeyName="FK_TIMETRACKING_CONTACT_ID" references="CONTACT(CONTACTID)"/>
             </column>
             
-            <column name="DATE" type="DATETIME">
+            <column name="TRACKINGDATE" type="DATETIME">
                 <constraints nullable="false"/>
             </column>
 
diff --git a/.liquibase/_____SYSTEMALIAS/basic/2019.1.4/permission/create_asys_permission.xml b/.liquibase/_____SYSTEMALIAS/basic/2019.1.4/permission/create_asys_permission.xml
index ab5313229af678139f5d2adcd3002afddc28609c..0cef84bf418e856f38eb2ca376b8b45584ca6526 100644
--- a/.liquibase/_____SYSTEMALIAS/basic/2019.1.4/permission/create_asys_permission.xml
+++ b/.liquibase/_____SYSTEMALIAS/basic/2019.1.4/permission/create_asys_permission.xml
@@ -1,12 +1,12 @@
 <?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 author="s.leipold" id="746f6e0c-3eab-4424-867f-4cf4fb4c45bb">
+    <changeSet author="s.leipold" id="746f6e0c-3eab-4424-867f-4cf4fb4c45ba">
         <createTable tableName="ASYS_PERMISSION">
             <column name="ASYS_PERMISSIONID" type="CHAR(36)">
                 <constraints primaryKey="true" primaryKeyName="PK_ASYS_PERMISSION_ID"/>
             </column>
             <column name="ASYS_PERMISSIONSET_ID" type="CHAR(36)"/>
-            <column name="COND" type="VARCHAR(255)"/>
+            <column name="COND" type="CLOB"/>
             <column name="CONDTYPE" type="BOOLEAN"/>
         </createTable>
     </changeSet>
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..0323e52461762d8b246786c89c2fda67412ef534
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/bulkmail/entityfields/documenttemplate_id/customproperties/translate4log/property.js
@@ -0,0 +1,12 @@
+import("Sql_lib");
+import("Contact_lib");
+import("system.db");
+import("system.result");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var res = db.cell(SqlCondition.begin()
+    .andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
+    .buildSql("select NAME from DOCUMENTTEMPLATE", "1=2"));
+    
+result.string(res);
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/language/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/language/customproperties/translate4log/property.js
deleted file mode 100644
index 55d6016dbe6d95243137051081e9960282555264..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/offer/entityfields/language/customproperties/translate4log/property.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Loghistory_lib");
-import("Keyword_lib");
-
-var params = Translate4LogParams.load();
-var res = LanguageKeywordUtils.getViewValue(params.value, params.locale);
-result.string(res);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/language/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/language/customproperties/translate4log/property.js
deleted file mode 100644
index 55d6016dbe6d95243137051081e9960282555264..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/salesorder/entityfields/language/customproperties/translate4log/property.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.result");
-import("Loghistory_lib");
-import("Keyword_lib");
-
-var params = Translate4LogParams.load();
-var res = LanguageKeywordUtils.getViewValue(params.value, params.locale);
-result.string(res);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..0323e52461762d8b246786c89c2fda67412ef534
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/serialletter/entityfields/documenttemplate_id/customproperties/translate4log/property.js
@@ -0,0 +1,12 @@
+import("Sql_lib");
+import("Contact_lib");
+import("system.db");
+import("system.result");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var res = db.cell(SqlCondition.begin()
+    .andPrepare("DOCUMENTTEMPLATE.DOCUMENTTEMPLATEID", params.value)
+    .buildSql("select NAME from DOCUMENTTEMPLATE", "1=2"));
+    
+result.string(res);
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
index b5db958b18fdb85576d0ee3ce7e7a929188e9297..079117e9028cc73670823798d0325902cc451055 100644
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
+++ b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
@@ -1,26 +1,26 @@
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where SALESPROJECTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, " 
-    + sqlHelper.concat([
-        "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATE"),
-        "'| " + translate.text("Phase") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
-      ]) 
-    + " as DESCCOLUMN, PROJECTCODE " 
-    + " from SALESPROJECT "
-    + queryCondition + " order by PROJECTCODE ";
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("system.calendars");
+import("system.db");
+import("Keyword_lib");
+import("Sql_lib");
+import("KeywordRegistry_basic");
+
+var sqlQuery, sqlHelper, queryCondition, affectedIds;
+queryCondition = "";
+if (vars.exists("$local.idvalue")) {
+    affectedIds = vars.get("$local.idvalue");
+    queryCondition = "where SALESPROJECTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
+    //TODO: refactor this for incremental indexer (injections?)
+}
+sqlHelper = new SqlMaskingUtils();
+sqlQuery = "select SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, " 
+    + sqlHelper.concat([
+        "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS"),
+        "'| " + translate.text("Phase") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
+      ]) 
+    + " as DESCCOLUMN, PROJECTCODE " 
+    + " from SALESPROJECT "
+    + queryCondition + " order by PROJECTCODE ";
 result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/_____SYSTEMALIAS/_____SYSTEMALIAS.aod b/aliasDefinition/_____SYSTEMALIAS/_____SYSTEMALIAS.aod
index 751381ea326145969cf7f8067ef9629590238e39..e796fca2499b709a0d03fe7099b824ae4251ac93 100644
--- a/aliasDefinition/_____SYSTEMALIAS/_____SYSTEMALIAS.aod
+++ b/aliasDefinition/_____SYSTEMALIAS/_____SYSTEMALIAS.aod
@@ -3214,25 +3214,25 @@
             </auditSyncConfig>
             <entityFields>
               <entityFieldDb>
-                <name>PERMISSIONID</name>
+                <name>CONDTYPE</name>
                 <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
+                <primaryKey v="false" />
+                <columnType v="16" />
+                <size v="1" />
                 <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
+                <notNull v="false" />
+                <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>PERMISSIONSET_ID</name>
+                <name>COND</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
+                <columnType v="2005" />
+                <size v="2147483647" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -3242,25 +3242,25 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>CONDTYPE</name>
+                <name>ASYS_PERMISSIONID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="16" />
-                <size v="1" />
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
+                <notNull v="true" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>COND</name>
+                <name>ASYS_PERMISSIONSET_ID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
diff --git a/entity/360Degree_entity/360Degree_entity.aod b/entity/360Degree_entity/360Degree_entity.aod
index 64aebbbac9df4cdc3d77b7f594fec75f63610525..8667de236826041378e55242ad5c4542f39c8943 100644
--- a/entity/360Degree_entity/360Degree_entity.aod
+++ b/entity/360Degree_entity/360Degree_entity.aod
@@ -142,6 +142,13 @@
           <onActionProcess>%aditoprj%/entity/360Degree_entity/entityfields/newmodule/children/newsupportticket/onActionProcess.js</onActionProcess>
           <iconId>VAADIN:QUESTION</iconId>
         </entityActionField>
+        <entityActionField>
+          <name>newOrder</name>
+          <title>Order</title>
+          <onActionProcess>%aditoprj%/entity/360Degree_entity/entityfields/newmodule/children/neworder/onActionProcess.js</onActionProcess>
+          <iconId>VAADIN:DOLLAR</iconId>
+          <stateProcess>%aditoprj%/entity/360Degree_entity/entityfields/newmodule/children/neworder/stateProcess.js</stateProcess>
+        </entityActionField>
       </children>
     </entityActionGroup>
     <entityField>
@@ -186,6 +193,7 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ACTIVE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
diff --git a/entity/360Degree_entity/entityfields/newmodule/children/neworder/onActionProcess.js b/entity/360Degree_entity/entityfields/newmodule/children/neworder/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5fa0055caaa5b62913e4a4cf16bfabf5fd542696
--- /dev/null
+++ b/entity/360Degree_entity/entityfields/newmodule/children/neworder/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Order_lib");
+
+OrderUtils.createNewOrder(null, vars.getString("$param.ObjectRowId_param"));
\ No newline at end of file
diff --git a/entity/360Degree_entity/entityfields/newmodule/children/neworder/stateProcess.js b/entity/360Degree_entity/entityfields/newmodule/children/neworder/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1c2b2b9123cb9512962e66ccf03bc2c7fecef0ab
--- /dev/null
+++ b/entity/360Degree_entity/entityfields/newmodule/children/neworder/stateProcess.js
@@ -0,0 +1,22 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+var contextList = JSON.parse(vars.getString("$param.ObjectType_param"));
+if (contextList)
+{
+    var found = false;
+    contextList.forEach(function (context) 
+    {
+        if(context == "Order")
+            found = true;        
+    });
+    if(found)
+        result.string(neon.COMPONENTSTATE_AUTO);
+    else
+        result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
\ No newline at end of file
diff --git a/entity/360Degree_entity/entityfields/organisationobjects/children/objecttype_param/valueProcess.js b/entity/360Degree_entity/entityfields/organisationobjects/children/objecttype_param/valueProcess.js
index 357494dd61670f70bd6bc10c72650a47e22e4e92..187ce75fa946f9b4db58e301233fec55025e39c7 100644
--- a/entity/360Degree_entity/entityfields/organisationobjects/children/objecttype_param/valueProcess.js
+++ b/entity/360Degree_entity/entityfields/organisationobjects/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.object(["Salesproject", "Offer", "Contract", "Campaign", "Order"]);
\ No newline at end of file
+result.object(["Salesproject", "Offer", "Order", "Contract", "Campaign", "Order"]);
\ No newline at end of file
diff --git a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
index 953a229acb9dc610df8b3fb5cfec1bda71aa0b20..92fef480e511705c8f175b3190c3bbb40303a32d 100644
--- a/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/360Degree_entity/recordcontainers/jdito/contentProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.util");
 import("system.db");
 import("system.vars");
@@ -97,7 +96,6 @@ function _get360Data(pSelectMap, pBaseContextId, pContactId, pContextList, pActi
             subContextContactIds.forEach(function(pId) {
                                                                                                                                         // V-- do not add subcontexts deeper than one layer
                 var subcontextRes = _get360Data(pSelectMap, pBaseContextId, pId, subContexts[subContextId][1], pActive, pExcludedObjectIds, false);
-                logging.log(subcontextRes.toSource())
                 resultList = resultList.concat(subcontextRes);
             });
         }
diff --git a/entity/ActivityLink_entity/ActivityLink_entity.aod b/entity/ActivityLink_entity/ActivityLink_entity.aod
index 88493b2d733ec4ae70d71fff3be91705f859c57a..e0908b3c1d9ae9fed4d93d9825b95639dde7e2a8 100644
--- a/entity/ActivityLink_entity/ActivityLink_entity.aod
+++ b/entity/ActivityLink_entity/ActivityLink_entity.aod
@@ -128,10 +128,6 @@
           <name>OBJECT_TYPE.value</name>
           <recordfield>ACTIVITYLINK.OBJECT_TYPE</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>OBJECT_ROWID.displayValue</name>
-          <expression>%aditoprj%/entity/ActivityLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>USER_NEW.value</name>
           <recordfield>ACTIVITYLINK.USER_NEW</recordfield>
diff --git a/entity/ActivityLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/ActivityLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
deleted file mode 100644
index 33554680cccd2c3d363443686457c41e0c1c5729..0000000000000000000000000000000000000000
--- a/entity/ActivityLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("Context_lib");
-
-result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"))
\ No newline at end of file
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index b333645e3d46e87cff240e0a14dca2f228eaa0e4..b8c9b45e40a40d95acda8de2cd0e60232d3f8e61 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -565,6 +565,15 @@
           <recordfield>ACTIVITY.ENTRYDATE</recordfield>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/Activity_entity/entityfields/entrydate/onValidation.js b/entity/Activity_entity/entityfields/entrydate/onValidation.js
index 0f2440a7724b5f1cb7425fad3b4bcac1ffaf246a..437a5ee635ebbcb597bd5445d14249f9ac93f1c9 100644
--- a/entity/Activity_entity/entityfields/entrydate/onValidation.js
+++ b/entity/Activity_entity/entityfields/entrydate/onValidation.js
@@ -1,9 +1,9 @@
-import("system.datetime");
+import("Date_lib");
 import("system.translate");
 import("system.vars");
 import("system.result");
 import("Entity_lib");
 
 var entryDate = vars.get("local.value");
-if (Number(datetime.clearTime(entryDate)) > Number(vars.get("$sys.today")))
+if (!DateUtils.validateNotInFuture(entryDate))
     result.string(translate.text("Entrydate must not be in the future"));
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/onDBInsert.js b/entity/Activity_entity/recordcontainers/db/onDBInsert.js
index 3bd6b8b3b9c844e2632f11a231b283d2a46b461a..c687b6e1624de972c662d31003d3dcdb31628893 100644
--- a/entity/Activity_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Activity_entity/recordcontainers/db/onDBInsert.js
@@ -6,5 +6,5 @@ var documents = vars.exists("$param.PresetDocuments_param") && vars.getString("$
 if (documents)
 {
     documents = JSON.parse(documents);
-    ActivityUtils.insertDocuments(vars.get("$field.ACTIVITYID"), documents);
+    ActivityUtils.insertDocuments(vars.get("$local.uid"), documents);
 }
\ No newline at end of file
diff --git a/entity/AddressValidation_entity/AddressValidation_entity.aod b/entity/AddressValidation_entity/AddressValidation_entity.aod
index dbade15ee896dbd553625a114ea9cc733bf913d3..e6a4c6beccf9980ece4521959844b1ebf4494afb 100644
--- a/entity/AddressValidation_entity/AddressValidation_entity.aod
+++ b/entity/AddressValidation_entity/AddressValidation_entity.aod
@@ -198,6 +198,9 @@
         <jDitoRecordFieldMapping>
           <name>LAT.value</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>VALUE.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/AddressValidation_entity/contentTitleProcess.js b/entity/AddressValidation_entity/contentTitleProcess.js
index 30fb575601790eed36da8614b22e5fdbea1fbf25..64f2ed681b1b7e753664056da7d27583e5112f5c 100644
--- a/entity/AddressValidation_entity/contentTitleProcess.js
+++ b/entity/AddressValidation_entity/contentTitleProcess.js
@@ -1,4 +1,5 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.VALUE"));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.VALUE"));
+//result.string("sdfghj")
\ No newline at end of file
diff --git a/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js b/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js
index 23d093d4cfac35df3f945324673a3718d1f5a2d2..08e0650767e3f17d79a07386a56db05c1e3bddb5 100644
--- a/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/AddressValidation_entity/recordcontainers/jdito/contentProcess.js
@@ -26,4 +26,6 @@ if (!filter && vars.exists("$param.CurrentValue_param") && vars.get("$param.Curr
     filter = vars.get("$param.CurrentValue_param");
 
 var foundAddresses = WsValidationUtils.validate(filter, type, country, city);
-result.object(foundAddresses);
\ No newline at end of file
+result.object(foundAddresses.map(function(row) {
+    return row.concat([filter])
+}));
\ No newline at end of file
diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 6dbbfbd4a2a5c3246f5590c71c71660af01258a8..e6628408551b8c1281803c8523fcef6d2be2026b 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -15,6 +15,7 @@
       <consumer>StreetValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/address/mandatoryProcess.js</mandatoryProcess>
       <textInputAllowed v="true" />
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/address/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/address/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/address/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -50,6 +51,7 @@
       <consumer>CityValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/city/mandatoryProcess.js</mandatoryProcess>
       <textInputAllowed v="true" />
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/city/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/city/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/city/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -62,7 +64,6 @@
       <consumer>Countries</consumer>
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Address_entity/entityfields/country/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/country/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>DISTRICT</name>
@@ -88,6 +89,7 @@
       <consumer>ZipValidation</consumer>
       <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/zip/mandatoryProcess.js</mandatoryProcess>
       <textInputAllowed v="true" />
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/zip/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/zip/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/zip/onValueChange.js</onValueChange>
       <onValueChangeTypes>
@@ -353,7 +355,7 @@
       <title>Search</title>
       <consumer>FullAddressValidation</consumer>
       <stateProcess>%aditoprj%/entity/Address_entity/entityfields/addresssearch/stateProcess.js</stateProcess>
-      <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/addresssearch/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/addresssearch/valueProcess.js</valueProcess>
       <onValueChange>%aditoprj%/entity/Address_entity/entityfields/addresssearch/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
@@ -468,7 +470,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATE.value</name>
-          <recordfield>ADDRESS.STATE</recordfield>
+          <recordfield>ADDRESS.PROVINCE</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ZIP.value</name>
@@ -494,6 +496,10 @@
           <name>USER_NEW.value</name>
           <recordfield>ADDRESS.USER_NEW</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>COUNTRY.displayValue</name>
+          <expression>%aditoprj%/entity/Address_entity/recordcontainers/db/recordfieldmappings/country.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
     <indexRecordContainer>
diff --git a/entity/Address_entity/entityfields/addr_type/documentation.adoc b/entity/Address_entity/entityfields/addr_type/documentation.adoc
index ba58622a4b016736576a965edcfb54c79aca8fe3..a374543b872cd92d666ef6c9ce9dbef377aa9c89 100644
--- a/entity/Address_entity/entityfields/addr_type/documentation.adoc
+++ b/entity/Address_entity/entityfields/addr_type/documentation.adoc
@@ -5,5 +5,5 @@ The `ADDR_TYPE` field represents the type of address (like "shipping address", "
 
 Possible values depend on the type of object it's connect to since a contactperson has different types than a company (organisation).
 
-The Keyword ADDRESS.TYPE contains the following custom properties: {org: true, person: false}
+The Keyword ADDRESS.KIND contains the following custom properties: {org: true, person: false}
 The types are filtered by the current contact type in the possibleItemsProcess.
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/address/displayValueProcess.js b/entity/Address_entity/entityfields/address/displayValueProcess.js
index 361195b279eff3c671bdb2c410cc0ea875750c88..10012b6d85bef52b735c75233b6149f866b3c12a 100644
--- a/entity/Address_entity/entityfields/address/displayValueProcess.js
+++ b/entity/Address_entity/entityfields/address/displayValueProcess.js
@@ -1,5 +1,5 @@
 import("system.vars");
 import("system.result");
 
-// needed for instant display name change if value set by neon.setFieldValue
+// Needed for instant refresh if set by neon.setFieldValue
 result.string(vars.get("$field.ADDRESS"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/address/mandatoryProcess.js b/entity/Address_entity/entityfields/address/mandatoryProcess.js
index 80757d2ad1518fcd44a412b1d95dc43aa457617d..7c898f01828b8da4b9712687a66dac8914b3b137 100644
--- a/entity/Address_entity/entityfields/address/mandatoryProcess.js
+++ b/entity/Address_entity/entityfields/address/mandatoryProcess.js
@@ -1,5 +1,5 @@
 import("Entity_lib");
 import("system.result");
 import("AddressEntity_lib");
-// TODO: fix validation, then remove comment.
-// result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
+
+result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/address/onValueChange.js b/entity/Address_entity/entityfields/address/onValueChange.js
index 5634474c9dabbfeec7a11ee3c23680b765030b4a..c19e660f1099559c1b027aba2317e52eee3e6495 100644
--- a/entity/Address_entity/entityfields/address/onValueChange.js
+++ b/entity/Address_entity/entityfields/address/onValueChange.js
@@ -1,3 +1,4 @@
+import("system.vars");
 import("WsValidation_lib");
 
-WsValidationUtils.setAddressFields();
\ No newline at end of file
+WsValidationUtils.setAddressFields(vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/address/valueProcess.js b/entity/Address_entity/entityfields/address/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5e514c90862ca236702c6dabc10e44ddaa4d1e5
--- /dev/null
+++ b/entity/Address_entity/entityfields/address/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("WsValidation_lib");
+import("system.vars");
+
+result.string(WsValidationUtils.valueFromJSON(vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/addresssearch/displayValueProcess.js b/entity/Address_entity/entityfields/addresssearch/displayValueProcess.js
deleted file mode 100644
index a621c8b6d25a011f206268b568b9ffd80ec5c820..0000000000000000000000000000000000000000
--- a/entity/Address_entity/entityfields/addresssearch/displayValueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.vars");
-import("system.result");
-
-// needed for instant display name change if value set by neon.setFieldValue
-result.string(vars.get("$field.AddressSearch"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/addresssearch/onValueChange.js b/entity/Address_entity/entityfields/addresssearch/onValueChange.js
index 57c7beb53f9d1efaedb15b20b93902ed878cb750..c19e660f1099559c1b027aba2317e52eee3e6495 100644
--- a/entity/Address_entity/entityfields/addresssearch/onValueChange.js
+++ b/entity/Address_entity/entityfields/addresssearch/onValueChange.js
@@ -1,3 +1,4 @@
+import("system.vars");
 import("WsValidation_lib");
 
-WsValidationUtils.setAddressFields("$field.AddressSearch");
\ No newline at end of file
+WsValidationUtils.setAddressFields(vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/addresssearch/valueProcess.js b/entity/Address_entity/entityfields/addresssearch/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5e514c90862ca236702c6dabc10e44ddaa4d1e5
--- /dev/null
+++ b/entity/Address_entity/entityfields/addresssearch/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("WsValidation_lib");
+import("system.vars");
+
+result.string(WsValidationUtils.valueFromJSON(vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/city/displayValueProcess.js b/entity/Address_entity/entityfields/city/displayValueProcess.js
index 3dfaf91d9c4e40070e6eece3bab75996c23f453e..60c162e2025d8c553422a6e077c591dd837187cb 100644
--- a/entity/Address_entity/entityfields/city/displayValueProcess.js
+++ b/entity/Address_entity/entityfields/city/displayValueProcess.js
@@ -1,5 +1,5 @@
 import("system.vars");
 import("system.result");
 
-// needed for instant display name change if value set by neon.setFieldValue
+// Needed for instant refresh if set by neon.setFieldValue
 result.string(vars.get("$field.CITY"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/city/mandatoryProcess.js b/entity/Address_entity/entityfields/city/mandatoryProcess.js
index ced83548f6c2f5ed9517d516885fcafc14dc434a..7c898f01828b8da4b9712687a66dac8914b3b137 100644
--- a/entity/Address_entity/entityfields/city/mandatoryProcess.js
+++ b/entity/Address_entity/entityfields/city/mandatoryProcess.js
@@ -2,5 +2,4 @@ import("Entity_lib");
 import("system.result");
 import("AddressEntity_lib");
 
-// TODO: fix validation, then remove comment.
-// result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
+result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/city/onValueChange.js b/entity/Address_entity/entityfields/city/onValueChange.js
index b8245bb197f1e070f4011c302f9e7f47168fafa1..c19e660f1099559c1b027aba2317e52eee3e6495 100644
--- a/entity/Address_entity/entityfields/city/onValueChange.js
+++ b/entity/Address_entity/entityfields/city/onValueChange.js
@@ -1,3 +1,4 @@
-import("WsValidation_lib");
-
-WsValidationUtils.setAddressFields();
\ No newline at end of file
+import("system.vars");
+import("WsValidation_lib");
+
+WsValidationUtils.setAddressFields(vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/city/valueProcess.js b/entity/Address_entity/entityfields/city/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5e514c90862ca236702c6dabc10e44ddaa4d1e5
--- /dev/null
+++ b/entity/Address_entity/entityfields/city/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("WsValidation_lib");
+import("system.vars");
+
+result.string(WsValidationUtils.valueFromJSON(vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/country/displayValueProcess.js b/entity/Address_entity/entityfields/country/displayValueProcess.js
deleted file mode 100644
index 91e2f20f24cdb6b86c5f5c742fa9838037d05828..0000000000000000000000000000000000000000
--- a/entity/Address_entity/entityfields/country/displayValueProcess.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import("system.vars");
-import("system.result");
-import("CountryInfo_lib");
-
-//TODO: temporary testing code -> will be replaced with title-mechanic
-var isoCode = vars.get("$field.COUNTRY");
-var countryName = CountryUtils.getLatinNameByIso2(isoCode);
-result.string(countryName);
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/state/mandatoryProcess.js b/entity/Address_entity/entityfields/state/mandatoryProcess.js
index ced83548f6c2f5ed9517d516885fcafc14dc434a..7c898f01828b8da4b9712687a66dac8914b3b137 100644
--- a/entity/Address_entity/entityfields/state/mandatoryProcess.js
+++ b/entity/Address_entity/entityfields/state/mandatoryProcess.js
@@ -2,5 +2,4 @@ import("Entity_lib");
 import("system.result");
 import("AddressEntity_lib");
 
-// TODO: fix validation, then remove comment.
-// result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
+result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/zip/displayValueProcess.js b/entity/Address_entity/entityfields/zip/displayValueProcess.js
index 199cb7a79d5033b7f6a5328d0c8c85c9fdd79e62..bb62a2e6ba7cd75da9a04529fe0b98b4e0f0b13f 100644
--- a/entity/Address_entity/entityfields/zip/displayValueProcess.js
+++ b/entity/Address_entity/entityfields/zip/displayValueProcess.js
@@ -1,5 +1,5 @@
 import("system.vars");
 import("system.result");
 
-// needed for instant display name change if value set by neon.setFieldValue
+// Needed for instant refresh if set by neon.setFieldValue
 result.string(vars.get("$field.ZIP"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/zip/mandatoryProcess.js b/entity/Address_entity/entityfields/zip/mandatoryProcess.js
index ced83548f6c2f5ed9517d516885fcafc14dc434a..7c898f01828b8da4b9712687a66dac8914b3b137 100644
--- a/entity/Address_entity/entityfields/zip/mandatoryProcess.js
+++ b/entity/Address_entity/entityfields/zip/mandatoryProcess.js
@@ -2,5 +2,4 @@ import("Entity_lib");
 import("system.result");
 import("AddressEntity_lib");
 
-// TODO: fix validation, then remove comment.
-// result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
+result.object(AddressEntityValidation.isMandatoryField());
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/zip/onValueChange.js b/entity/Address_entity/entityfields/zip/onValueChange.js
index b8245bb197f1e070f4011c302f9e7f47168fafa1..c19e660f1099559c1b027aba2317e52eee3e6495 100644
--- a/entity/Address_entity/entityfields/zip/onValueChange.js
+++ b/entity/Address_entity/entityfields/zip/onValueChange.js
@@ -1,3 +1,4 @@
-import("WsValidation_lib");
-
-WsValidationUtils.setAddressFields();
\ No newline at end of file
+import("system.vars");
+import("WsValidation_lib");
+
+WsValidationUtils.setAddressFields(vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/zip/valueProcess.js b/entity/Address_entity/entityfields/zip/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..86705dc47362b571c2cfb30d66c8fd05f3f08ef4
--- /dev/null
+++ b/entity/Address_entity/entityfields/zip/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("WsValidation_lib");
+
+result.string(WsValidationUtils.valueFromJSON(vars.get("$this.value")));
\ No newline at end of file
diff --git a/entity/Address_entity/recordcontainers/childgroup/query.js b/entity/Address_entity/recordcontainers/childgroup/query.js
index 968036a197b0d04ae5aa60f910b75b92aae025a2..4cf4bcc1d9115cf0e3f038deb2444c85fbd28c1e 100644
--- a/entity/Address_entity/recordcontainers/childgroup/query.js
+++ b/entity/Address_entity/recordcontainers/childgroup/query.js
@@ -10,9 +10,9 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 
-sqlQuery = "select ADDRESS.ADDRESSID as uid" 
+sqlQuery = 'select ADDRESS.ADDRESSID as "_uid_"' 
     + ', ADDRESS.ADDRESSID'
-    + ', ADDRESS.ZIP as "ZIP.value"' 
+    + ', ADDRESS.ZIP as ZIP' 
     + ', ADDRESS.CITY as CITY' 
     + ', ADDRESS.COUNTRY' 
     + ', ADDRESS.ADDRESS' 
diff --git a/entity/Address_entity/recordcontainers/db/onDBInsert.js b/entity/Address_entity/recordcontainers/db/onDBInsert.js
index 14c04e5fc957168514bd24185fa04f2bea97cd79..62ff605c220f8a1d0b6b127ef3e312fac3827af4 100644
--- a/entity/Address_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Address_entity/recordcontainers/db/onDBInsert.js
@@ -9,7 +9,8 @@ if (typeParam === "contact")
 else if (typeParam === "organisation")
     scopeType = "Organisation"
 
-new StandardObject("Address", vars.get("$field.ADDRESSID"), scopeType, vars.get("$field.CONTACT_ID"))
+var rowdata = vars.get("$local.rowdata");
+new StandardObject("Address", vars.get("$local.uid"), scopeType, rowdata["ADDRESS.CONTACT_ID"])
     .onObjectInsert()
 
-DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$field.CONTACT_ID"), vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
+DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["ADDRESS.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
diff --git a/entity/Address_entity/recordcontainers/db/onDBUpdate.js b/entity/Address_entity/recordcontainers/db/onDBUpdate.js
index c20ad6c82f89a2b68f03054caaea4d64a04a20f0..70056d7ef369d32d2c42adc14a9afea82ef68414 100644
--- a/entity/Address_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Address_entity/recordcontainers/db/onDBUpdate.js
@@ -1,4 +1,6 @@
 import("system.vars");
 import("DataPrivacy_lib");
-    
-DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$field.CONTACT_ID"), vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
+
+var rowdata = vars.get("$local.rowdata");
+
+DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["ADDRESS.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
diff --git a/entity/Address_entity/recordcontainers/db/recordfieldmappings/country.displayvalue/expression.js b/entity/Address_entity/recordcontainers/db/recordfieldmappings/country.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..5e5700d67054f2bda11deb8ca963112d50bb2717
--- /dev/null
+++ b/entity/Address_entity/recordcontainers/db/recordfieldmappings/country.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("CountryInfo_lib");
+
+var res = CountryUtils.getResolvedNameFromIso2Sql("ADDRESS.COUNTRY");
+result.string(res);
\ No newline at end of file
diff --git a/entity/Analyses_entity/Analyses_entity.aod b/entity/Analyses_entity/Analyses_entity.aod
index 008fa48163536a9f2885ca440a9048a80acb904f..7baa10fc7658119a221a838126e6fca5792089ba 100644
--- a/entity/Analyses_entity/Analyses_entity.aod
+++ b/entity/Analyses_entity/Analyses_entity.aod
@@ -29,6 +29,7 @@
     </entityField>
     <entityActionField>
       <name>openCalendar</name>
+      <onActionProcess>%aditoprj%/entity/Analyses_entity/entityfields/opencalendar/onActionProcess.js</onActionProcess>
     </entityActionField>
     <entityActionField>
       <name>openNewTasks</name>
diff --git a/entity/Analyses_entity/entityfields/opencalendar/onActionProcess.js b/entity/Analyses_entity/entityfields/opencalendar/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..cee3ed9ab41998ce28c572ed63fbbfd43b86a195
--- /dev/null
+++ b/entity/Analyses_entity/entityfields/opencalendar/onActionProcess.js
@@ -0,0 +1,3 @@
+import("system.tools");
+import("system.neon");
+neon.openCalendar(4, tools.getCurrentUser()["title"], null);
\ No newline at end of file
diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod
index d8496c418d8180c531be3c01ae84dc97f1e5e0b0..d12d867666e5d066748f5b9c1053f76bc2b85c6f 100644
--- a/entity/AnyContact_entity/AnyContact_entity.aod
+++ b/entity/AnyContact_entity/AnyContact_entity.aod
@@ -200,7 +200,7 @@ See ContactUtils.getRelationTypeByPersOrg for possible values</description>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LANGUAGE.value</name>
-          <recordfield>CONTACT.LANGUAGE</recordfield>
+          <recordfield>CONTACT.ISOLANGUAGE</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ORGANISATION_ID.value</name>
diff --git a/entity/AppointmentLink_entity/AppointmentLink_entity.aod b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
index e1b12bd5bf548dee9f0c9736d60333255cabc6ed..0ab25f680e8a20a36930eade037a2d07a086bc9a 100644
--- a/entity/AppointmentLink_entity/AppointmentLink_entity.aod
+++ b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
@@ -102,6 +102,11 @@
         <name>dependency</name>
       </dependency>
     </entityConsumer>
+    <entityParameter>
+      <name>AppointmentState_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/AppointmentLink_entity/entityfields/objectid/stateProcess.js b/entity/AppointmentLink_entity/entityfields/objectid/stateProcess.js
index b9f041ffd36ba432fd379ce605d4bae3e36e61f4..86bedbb9132874384726af15947b37cb8ffaa13d 100644
--- a/entity/AppointmentLink_entity/entityfields/objectid/stateProcess.js
+++ b/entity/AppointmentLink_entity/entityfields/objectid/stateProcess.js
@@ -1,30 +1,6 @@
-import("system.logging");
-import("system.result");
-import("system.tools");
-import("system.neon");
 import("system.vars");
-import("system.calendars");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW)
-    result.object(neon.COMPONENTSTATE_DISABLED);
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.AppointmentId_param"))
-{
-     var entry = calendars.getEntry(vars.get("$param.AppointmentId_param"), null, null);
-     doCalc(entry);
-}
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
-{
-    var entryy = calendars.getEntry(vars.get("$field.APPOINTMENT_ID"), null, null);
-    doCalc(entryy);
-}
+import("Appointment_lib");
+import("system.result");
 
 
-function doCalc(entry)
-{
-    if(entry[calendars.ORGANIZER2]["paramvalue"] == "mailto:" + tools.getCurrentUser()["params"]["email"])
-        result.object(neon.COMPONENTSTATE_EDITABLE);
-    else
-        result.object(neon.COMPONENTSTATE_DISABLED);
-}
\ No newline at end of file
+result.object(AppointmentUtils.setAppointmentLinkComponentState(vars.get("$sys.recordstate"), vars.get("$param.AppointmentState_param"), vars.get("$param.AppointmentId_param"), vars.get("$field.APPOINTMENT_ID")));
\ No newline at end of file
diff --git a/entity/AppointmentLink_entity/entityfields/objecttype/stateProcess.js b/entity/AppointmentLink_entity/entityfields/objecttype/stateProcess.js
index 7eaf72f92dabfc36787821a134eea15221903adf..e16281dbd490cb5be18c9cd4165791806615ff1d 100644
--- a/entity/AppointmentLink_entity/entityfields/objecttype/stateProcess.js
+++ b/entity/AppointmentLink_entity/entityfields/objecttype/stateProcess.js
@@ -1,30 +1,7 @@
-import("system.logging");
-import("system.result");
-import("system.tools");
-import("system.neon");
 import("system.vars");
-import("system.calendars");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW)
-    result.object(neon.COMPONENTSTATE_DISABLED);
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.AppointmentId_param"))
-{
-     var entry = calendars.getEntry(vars.get("$param.AppointmentId_param"), null, null);
-     doCalc(entry);
-}
-
-else if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
-{
-    var entryy = calendars.getEntry(vars.get("$field.APPOINTMENT_ID"), null, null);
-    doCalc(entryy);
-}
+import("Appointment_lib");
+import("system.result");
 
 
-function doCalc(entry)
-{    
-    if(entry[calendars.ORGANIZER2]["paramvalue"] == "mailto:" + tools.getCurrentUser()["params"]["email"])
-        result.object(neon.COMPONENTSTATE_EDITABLE);
-    else
-        result.object(neon.COMPONENTSTATE_DISABLED);
-}
\ No newline at end of file
+result.object(AppointmentUtils.setAppointmentLinkComponentState(vars.get("$sys.recordstate"), vars.get("$param.AppointmentState_param"), vars.get("$param.AppointmentId_param"), vars.get("$field.APPOINTMENT_ID")));
+    
\ No newline at end of file
diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 1a2a3e9f37ed6503a3e095d34d3a0ce7fb4b9a66..898c8ed33ccc440c63ee5c79beb2aadb955572cf 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -75,6 +75,7 @@
     <entityField>
       <name>ATTENDEES</name>
       <dropDownProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/dropDownProcess.js</dropDownProcess>
+      <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/attendees/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>TRANSPARENCY</name>
@@ -176,6 +177,10 @@
           <name>AppointmentId_param</name>
           <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentid_param/valueProcess.js</valueProcess>
         </entityParameter>
+        <entityParameter>
+          <name>AppointmentState_param</name>
+          <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentstate_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityActionField>
diff --git a/entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js b/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentstate_param/valueProcess.js
similarity index 52%
rename from entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js
rename to entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentstate_param/valueProcess.js
index 06fe7d36324315ad85bfd6d0099c5aa6b2da98d4..c7f221d6c7139420b24baeeab9e3100de3abf39c 100644
--- a/entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js
+++ b/entity/Appointment_entity/entityfields/appointmentlinks/children/appointmentstate_param/valueProcess.js
@@ -1,4 +1,5 @@
 import("system.result");
 import("system.vars");
 
-result.string(vars.get("$field.ACTIVITYID"));
\ No newline at end of file
+
+result.string(vars.get("$sys.recordstate"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/attendees/valueProcess.js b/entity/Appointment_entity/entityfields/attendees/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..859cad665fdec3af8f47a5426d501905d1623e18
--- /dev/null
+++ b/entity/Appointment_entity/entityfields/attendees/valueProcess.js
@@ -0,0 +1,17 @@
+import("system.neon");
+import("system.vars");
+import("system.calendars");
+import("system.result");
+
+/**
+ * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate
+ */
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param") && vars.get("$this.value") == null)
+{
+    var event = JSON.parse(vars.getString("$param.Entry_param"));
+
+    if(event[calendars.AFFECTEDUSERS])
+        result.string(event[calendars.AFFECTEDUSERS]);
+}
+else
+    result.string(vars.get("$this.value"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js b/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js
index f4c74851bc407a263811db26812e1ebfb750bbee..cafd855df058e4a32622c8959d810159887d4cdf 100644
--- a/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js
+++ b/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js
@@ -11,10 +11,10 @@ var event = JSON.parse(vars.getString("$param.Entry_param"));
 
 if(event) //event not empty
 {
-    var ownerCn = event[calendars.USER2]["cn"];
+    var orgaCn = event[calendars.ORGANIZER2]["cn"];
     var currentUserTitle = vars.getString("$sys.user");
     
-    if(event[calendars.RECURRENCEID] && ownerCn == currentUserTitle) //serientermin und currentUser der TerminOwner
+    if(event[calendars.RECURRENCEID] && ((orgaCn == currentUserTitle) || calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS)) //serientermin und currentUser der TerminOwner
             result.object(neon.COMPONENTSTATE_AUTO);
         else
             result.object(neon.COMPONENTSTATE_INVISIBLE);
diff --git a/entity/Appointment_entity/entityfields/summary/onValueChange.js b/entity/Appointment_entity/entityfields/summary/onValueChange.js
index 5c77a90fc3af3a8375d03d5fe6e2ca4634f0027a..968228a7cd631a96b8dec4ad234b787d16ac3953 100644
--- a/entity/Appointment_entity/entityfields/summary/onValueChange.js
+++ b/entity/Appointment_entity/entityfields/summary/onValueChange.js
@@ -1,10 +1,10 @@
-import("system.neon");
-import("system.vars");
-import("system.calendars");
-
-
-//var entry = JSON.parse(vars.get("$param.Entry_param"));
-//
-//entry[calendars.SUMMARY] = vars.get("$field.SUMMARY");
-//
+import("system.neon");
+import("system.vars");
+import("system.calendars");
+
+
+//var entry = JSON.parse(vars.get("$param.Entry_param"));
+//
+//entry[calendars.SUMMARY] = vars.get("local.value");
+//
 //neon.setFieldValue("$param.Entry_param", JSON.stringify(entry));
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/summary/valueProcess.js b/entity/Appointment_entity/entityfields/summary/valueProcess.js
index 11b4a7d531c3c796fc2fc75a60121f402f08d628..ce113bfd4192021c64648fbde097edb7f970ff3d 100644
--- a/entity/Appointment_entity/entityfields/summary/valueProcess.js
+++ b/entity/Appointment_entity/entityfields/summary/valueProcess.js
@@ -6,7 +6,7 @@ import("system.result");
 /**
  * Following if() is only for passing param-parts from "new Appointment"-Dialog to AppointmentEditViewTemplate
  */
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param") && !vars.get("$field.SUMMARY"))
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.Entry_param") && vars.get("$this.value") == null)
 {
     var event = JSON.parse(vars.getString("$param.Entry_param"));
 
@@ -14,4 +14,4 @@ if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$para
         result.string(event[calendars.SUMMARY]);
 }
 else
-    result.string(vars.get("$field.SUMMARY"));
\ No newline at end of file
+    result.string(vars.get("$this.value"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/uid/valueProcess.js b/entity/Appointment_entity/entityfields/uid/valueProcess.js
index 85c485a5e49ef24d8752fb4bc217ed12223c1ca3..5b429ea087f9fe0b00ec62303ac056d2eeff5f3d 100644
--- a/entity/Appointment_entity/entityfields/uid/valueProcess.js
+++ b/entity/Appointment_entity/entityfields/uid/valueProcess.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.util");
 
-if(!(vars.get("$field.UID")))
+if(!(vars.get("$this.value")))
     result.string(util.getNewUUID());
 else
-    result.string(vars.get("$field.UID"));
\ No newline at end of file
+    result.string(vars.get("$this.value"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
index 0499835a647ad301bee4e604b05fa99b6fb5eb3f..2d95082b91c6b532bed64f995ff13141ad8c9c27 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/contentProcess.js
@@ -13,6 +13,8 @@ import("system.entities")
 
 
 var cond = SqlCondition.begin();
+var appointmentUids;
+var idscond;
 
 if(vars.get("$local.idvalues") != null && vars.get("$local.idvalues") != "")
 {
@@ -25,9 +27,9 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
     var contactid = tools.getCurrentUser()["params"]["contactID"];
     
     cond.andPrepareIfSet("AB_APPOINTMENTLINK.OBJECT_ROWID", contactid)
-    let idscond = db.translateCondition(cond.build("1 = 1"));
+    idscond = db.translateCondition(cond.build("1 = 1"));
    
-    let appointmentUids = db.table("select APPOINTMENT_ID from AB_APPOINTMENTLINK where " + idscond);
+    appointmentUids = db.table("select APPOINTMENT_ID from AB_APPOINTMENTLINK where " + idscond);
     result.object(buildEntriesFromUids(appointmentUids));
 }
 
@@ -37,9 +39,9 @@ else if(vars.getString("$param.LinkedAppointmentsFromDashlet_param"))
 else if(vars.getString("$param.LinkedObjectId_param") != undefined)
 {
     cond.andPrepareVars("AB_APPOINTMENTLINK.OBJECT_ROWID", "$param.LinkedObjectId_param")
-    let idscond = db.translateCondition(cond.build("1 = 1"));
+    idscond = db.translateCondition(cond.build("1 = 1"));
    
-    let appointmentUids = db.table("select APPOINTMENT_ID from AB_APPOINTMENTLINK where " + idscond);
+    appointmentUids = db.table("select APPOINTMENT_ID from AB_APPOINTMENTLINK where " + idscond);
     result.object(buildEntriesFromUids(appointmentUids));
 }
 /**
diff --git a/entity/Appointment_entity/recordcontainers/jdito/onInsert.js b/entity/Appointment_entity/recordcontainers/jdito/onInsert.js
index c995f2f3bdbb6abd8627f27d33e9f3c0103fee7a..48de276e373ecf0609caaa3afddb841660a3fc38 100644
--- a/entity/Appointment_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/Appointment_entity/recordcontainers/jdito/onInsert.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.neon");
 import("system.calendars");
 import("system.vars");
@@ -13,7 +12,6 @@ import("system.tools");
 var event = JSON.parse(vars.getString("$param.Entry_param"));
 
 var fields = vars.get("$local.rowdata");
-logging.log(JSON.stringify(fields));
 
 event[calendars.TYPE] = calendars.VEVENT;
 event[calendars.ID] = ""; //wenn hier neue id erstellt und mitgegeben wird, wird versucht einen termin mit dieser id zu finden, den es nicht gibt. also leer.
diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index 5e2d6bbd82333a958ba173c9e29a1db5f1de856d..fc042d7551a23d9f02845b31dfb68556f81670de 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -78,6 +78,12 @@
           <fieldName>AttributeTree</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>661f5b91-f71e-429e-a170-8bd18781bc69</name>
+          <entityName>Campaign_entity</entityName>
+          <fieldName>AttributeTree</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -92,6 +98,7 @@
       <title>Attribute</title>
       <consumer>SpecificAttribute</consumer>
       <mandatory v="false" />
+      <stateProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/ab_attribute_id/onValueChange.js</onValueChange>
@@ -255,6 +262,14 @@
       <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/showdsgvomessage_param/valueProcess.js</valueProcess>
       <expose v="true" />
     </entityParameter>
+    <entityField>
+      <name>PROTECTED</name>
+      <state>READONLY</state>
+    </entityField>
+    <entityField>
+      <name>ATTRIBUTE_TYPE</name>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attribute_type/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
@@ -283,6 +298,12 @@
         <jDitoRecordFieldMapping>
           <name>AB_ATTRIBUTE_ID.displayValue</name>
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>PROTECTED.value</name>
+        </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>ATTRIBUTE_TYPE.value</name>
+        </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
   </recordContainers>
diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..426197aa821da710cc50a22ee501178a5a6f6f99
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+    result.string(vars.exists("$param.GetTree_param") && vars.getString("$param.GetTree_param") == "true"
+        ? neon.COMPONENTSTATE_READONLY 
+        : neon.COMPONENTSTATE_EDITABLE
+    );
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attribute_type/valueProcess.js b/entity/AttributeRelation_entity/entityfields/attribute_type/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d2aeff72515cf0dce2c07099fec46586c29dc9a8
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/attribute_type/valueProcess.js
@@ -0,0 +1,5 @@
+import("Attribute_lib");
+import("system.vars");
+import("system.result");
+
+result.string(AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID")));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value/contentTypeProcess.js b/entity/AttributeRelation_entity/entityfields/value/contentTypeProcess.js
index e692170633914456e09edf154860eb0a1f6842ef..e67d19d3de3d5cff26269573eb67d37da0891d69 100644
--- a/entity/AttributeRelation_entity/entityfields/value/contentTypeProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/contentTypeProcess.js
@@ -1,6 +1,6 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var attributeType = vars.get("$field.ATTRIBUTE_TYPE");
 result.string(AttributeTypeUtil.getContentType(attributeType));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value/displayValueProcess.js b/entity/AttributeRelation_entity/entityfields/value/displayValueProcess.js
index 771696f538471395d9e0012ab3397d7964414feb..415b66e5b08b02ef55d723874a37a2ea8c83b1c5 100644
--- a/entity/AttributeRelation_entity/entityfields/value/displayValueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/displayValueProcess.js
@@ -7,7 +7,7 @@ import("Keyword_lib");
 import("system.tools");
 import("Sql_lib");
 
-var attrType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
+var attrType = vars.get("$field.ATTRIBUTE_TYPE");
 var dropDownDef = db.cell(
     SqlCondition.begin()
         .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTE_ID")
diff --git a/entity/AttributeRelation_entity/entityfields/value/dropDownProcess.js b/entity/AttributeRelation_entity/entityfields/value/dropDownProcess.js
index 376abc7f398336a703ed8f3eb2e62efa6c14cadc..97299f24fac3871d22f298898155e7cb99f9b172 100644
--- a/entity/AttributeRelation_entity/entityfields/value/dropDownProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/dropDownProcess.js
@@ -7,58 +7,7 @@ import("Attribute_lib");
 import("Sql_lib");
 
 var attributeId = vars.get("$field.AB_ATTRIBUTE_ID");
-var attrType = AttributeUtil.getAttributeType(attributeId);
+var attrType = vars.get("$field.ATTRIBUTE_TYPE");
 
-if (attrType == $AttributeTypes.COMBO)
-{
-    var valueSql = SqlCondition.begin()
-        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1")
-        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attributeId)
-        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE)
-        .buildSql("select AB_ATTRIBUTEID, ATTRIBUTE_NAME from AB_ATTRIBUTE", "1=2", "order by SORTING asc");
-    var valueList = db.table(valueSql);
-    for (let i = 0; i < valueList.length; i++)
-    {
-        valueList[i][1] = translate.text(valueList[i][1]);
-    }
-    result.object(valueList);
-}
-else if (attrType == $AttributeTypes.BOOLEAN)
-{
-    result.object([
-        ["1", translate.text("Yes")],
-        ["0", translate.text("No")]
-    ]);
-}
-
-//TODO this is a workaround for keywords, when it's possible to use the consumer remove this
-else if (attrType == $AttributeTypes.KEYWORD)
-{
-    var attrKeywordSelect = "select DROPDOWNDEFINITION from AB_ATTRIBUTE";
-    attrKeywordSelect = SqlCondition.begin()
-        .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTE_ID")
-        .buildSql(attrKeywordSelect);
-    
-    var sql = SqlCondition.begin()
-        .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", db.cell(attrKeywordSelect))
-        .buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY", "1=2", "order by SORTING asc");
-    var keywords = db.table(sql).map(function (row)
-    {
-        return [row[0], translate.text(row[1])];
-    });
-    
-    result.object(keywords);
-}
-else if (attrType == $AttributeTypes.OBJECTSELECTION)
-{
-    var module = db.cell(SqlCondition.begin()
-        .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTE_ID")
-        .buildSql("select DROPDOWNDEFINITION from AB_ATTRIBUTE")
-    );
-    var objects = [];
-    objects = db.table(ContextUtils.getContextDataSql(module));
-        
-    result.object(objects);
-}
-else
-    result.object(null)
\ No newline at end of file
+var res = AttributeUtil.getPossibleListValues(attributeId, attrType);
+result.object(res);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value/mandatoryProcess.js b/entity/AttributeRelation_entity/entityfields/value/mandatoryProcess.js
index 74867490f68c0e9893aaba0269418c05d73f29cf..010fc7942edf14e1b87047b12448baa43f0ebcf8 100644
--- a/entity/AttributeRelation_entity/entityfields/value/mandatoryProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/mandatoryProcess.js
@@ -1,7 +1,7 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
-var contentType = AttributeTypeUtil.getContentType(attributeType);
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var attributeType = vars.get("$field.ATTRIBUTE_TYPE");
+var contentType = AttributeTypeUtil.getContentType(attributeType);
 result.string(contentType != null && contentType != "BOOLEAN");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value/stateProcess.js b/entity/AttributeRelation_entity/entityfields/value/stateProcess.js
index 0b23749b7d7d3fcb6da503602a3d618f05383802..48ef8ec666c62831d18b91612449fbaf40a2722c 100644
--- a/entity/AttributeRelation_entity/entityfields/value/stateProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/stateProcess.js
@@ -1,14 +1,14 @@
-import("system.neon");
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
-result.string(AttributeTypeUtil.getContentType(attributeType));
-var fieldState;
-if (AttributeTypeUtil.getContentType(attributeType) != null)
-    fieldState = neon.COMPONENTSTATE_EDITABLE;
-else
-    fieldState = neon.COMPONENTSTATE_READONLY;
-
+import("system.neon");
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var attributeType = vars.get("$field.ATTRIBUTE_TYPE");
+result.string(AttributeTypeUtil.getContentType(attributeType));
+var fieldState;
+if (AttributeTypeUtil.getContentType(attributeType) != null)
+    fieldState = neon.COMPONENTSTATE_EDITABLE;
+else
+    fieldState = neon.COMPONENTSTATE_READONLY;
+
 result.string(fieldState);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/value/valueProcess.js
index 938b26f2b636941ca480c11525662c41bf43cc57..0257edcb7c0a24334e29b733a1267c1dcc49d641 100644
--- a/entity/AttributeRelation_entity/entityfields/value/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/value/valueProcess.js
@@ -3,7 +3,7 @@ import("system.vars");
 import("system.result");
 
 
-var attributeType = AttributeUtil.getAttributeType(vars.get("$field.AB_ATTRIBUTE_ID"));
+var attributeType = vars.get("$field.ATTRIBUTE_TYPE");
 var contentType = AttributeTypeUtil.getContentType(attributeType);
-if (vars.get("$this.value") == null && contentType == "BOOLEAN")
+if (!vars.get("$this.value") && contentType == "BOOLEAN")
     result.string("0");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/grantDeleteProcess.js b/entity/AttributeRelation_entity/grantDeleteProcess.js
index cb200b5bf984c5adbe8866c533160887bfe4e202..6e445404085795938d5735c51d61f73e865d4176 100644
--- a/entity/AttributeRelation_entity/grantDeleteProcess.js
+++ b/entity/AttributeRelation_entity/grantDeleteProcess.js
@@ -1,8 +1,4 @@
-import("Attribute_lib");
 import("system.result");
 import("system.vars");
 
-var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
-var rowId = vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param");
-if (vars.get("$param.GetTree_param") == "true" && rowId)
-    result.object(AttributeRelationUtils.countAttributeRelations(rowId, objectType) != 0);
\ No newline at end of file
+result.object(vars.get("$field.PROTECTED") != "true");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
index c13cda25c21f4704cdc9e39fbf9b6e0843395c13..6b6e340e293f84eca8876a814e60bcec0ffca4b0 100644
--- a/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/AttributeRelation_entity/recordcontainers/jdito/contentProcess.js
@@ -22,6 +22,8 @@ var sqlCondition = new SqlCondition(); //where-condition (condition for the Attr
 var joinCondition = new SqlCondition(); //condition for the joined values (for AttributeRelation)
 //=> these are two distinct conditions because if showEmpty is true, a left join is used for the relations
 
+var possibleAttributes = AttributeUtil.getPossibleAttributes(objectType);
+
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
 {
     let idVals = vars.get("$local.idvalues");
@@ -45,7 +47,6 @@ else if (showEmpty || rowId)
     {
         let filtered = vars.exists("$param.FilteredAttributeIds_param") && vars.getString("$param.FilteredAttributeIds_param");
         
-        let possibleAttributes = AttributeUtil.getPossibleAttributes(objectType);
         sqlCondition.andIn("AB_ATTRIBUTE.AB_ATTRIBUTEID", possibleAttributes);
     }
     if (vars.exists("$param.FilteredAttributeIds_param") && vars.getString("$param.FilteredAttributeIds_param"))
@@ -98,6 +99,23 @@ else
 
 attributeSql.leftJoin("AB_ATTRIBUTE", "COMBOVAL.AB_ATTRIBUTEID = " + $AttributeTypes.COMBO.databaseField, "COMBOVAL");
 
+var countCheck = {};
+if (getTree)
+{
+    let minUsages = db.table(SqlCondition.begin()
+        .andIn("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", possibleAttributes)
+        .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", objectType)
+        .buildSql("select AB_ATTRIBUTE_ID, MIN_COUNT from AB_ATTRIBUTEUSAGE", "1=2")
+    );
+    minUsages.forEach(function (usage)
+    {
+        this[usage[0]] = {
+            count : 0,
+            min : usage[1]
+        };
+    }, countCheck);
+}
+
 var attributeValues = db.table(attributeSql.build()).map(function (row) 
 {
     var attributeId = row[1];
@@ -115,11 +133,20 @@ var attributeValues = db.table(attributeSql.build()).map(function (row)
     else 
         viewValue = AttributeTypeUtil.getAttributeViewValue(type, value, row[5]);
     
+    if (attributeId in countCheck)
+        countCheck[attributeId].count++;
+    
     //TODO: what should be the uid if showEmpty is true?
     //                 V-- set "," to mark this as new generated UUID
-    return [row[0] || util.getNewUUID() + "," + attributeId, row[2], value, viewValue, attributeId, attributeName];
+    return [row[0] || util.getNewUUID() + "," + attributeId, row[2], value, viewValue, attributeId, attributeName, "", row[3].trim()];
 });
 
+for (let i = 0; i < attributeValues.length; i++)
+{
+    let attrId = attributeValues[i][4];
+    if (attrId in countCheck && countCheck[attrId].min >= countCheck[attrId].count)
+        attributeValues[i][6] = "true";
+}
 
 var parentAttributes = [];
 var attributeObj = {}; //object of attribute ids to avoid duplicates
@@ -151,7 +178,7 @@ function _fetchAttributes (pAttributeIds)
                 else
                     row[1] = null;
                 row[2] = translate.text(row[2]); //translate attribute name
-                parentAttributes.push([row[0], row[1], "", "", "", row[2]]);
+                parentAttributes.push([row[0], row[1], "", "", "", row[2], "true", ""]);
             }, attributeObj);
             
     if (nextIds.length)
diff --git a/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js
index 9efed36fc2699e14e3c6f4baa4cd4c62ceef938e..37bcaa77b0db79fa17fea2c66c834500bec6d8c9 100644
--- a/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js
+++ b/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js
@@ -1,8 +1,8 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.AttributeId_param") && vars.get("$param.AttributeId_param") != null)
-    result.string(vars.get("$param.AttributeId_param"));
-else if (vars.get("$field.AB_ATTRIBUTE_ID"))
-    result.string(vars.get("$field.AB_ATTRIBUTE_ID"));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.AttributeId_param") && vars.get("$param.AttributeId_param") != null)
+    result.string(vars.get("$param.AttributeId_param"));
+else if (vars.get("$this.value"))
+    result.string(vars.get("$this.value"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index 91b1d99a202c88f423bdd4f21561c451b18a9f27..6dbc75f24c8a2c42ac787b0ab19c10ee498a9f0e 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -160,6 +160,7 @@
     <entityField>
       <name>DROPDOWNDEFINITION</name>
       <title>Keyword</title>
+      <placeholderProcess>%aditoprj%/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js</placeholderProcess>
       <dropDownProcess>%aditoprj%/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js</dropDownProcess>
       <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js</stateProcess>
       <titleProcess>%aditoprj%/entity/Attribute_entity/entityfields/dropdowndefinition/titleProcess.js</titleProcess>
@@ -349,6 +350,10 @@
           <name>ATTRIBUTE_PARENT_ID.value</name>
           <isFilterable v="true" />
         </jDitoRecordFieldMapping>
+        <jDitoRecordFieldMapping>
+          <name>ATTRIBUTE_NAME.value</name>
+          <isFilterable v="true" />
+        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ATTRIBUTE_ACTIVE.value</name>
           <isFilterable v="true" />
@@ -369,10 +374,6 @@
         <jDitoRecordFieldMapping>
           <name>USAGELIST.value</name>
         </jDitoRecordFieldMapping>
-        <jDitoRecordFieldMapping>
-          <name>ATTRIBUTE_NAME.value</name>
-          <isFilterable v="true" />
-        </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ATTRIBUTE_PARENT_ID.displayValue</name>
         </jDitoRecordFieldMapping>
diff --git a/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js
index 246c17c087fbbb4d52c421b75fd2ed3cecd21442..ddd93fef102160327fc4b5788220b010328eace2 100644
--- a/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js
@@ -2,5 +2,5 @@ import("system.result");
 import("system.neon");
 import("system.vars");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
     result.string("1");
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js b/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
index cada69ce4bb12fb1c3f603cdb78d2e532ada95aa..ec0073a5e960afa705bdec743462eefd0eb123cf 100644
--- a/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attribute_parent_id/valueProcess.js
@@ -1,6 +1,6 @@
-import("system.neon");
-import("system.result");
-import("system.vars");
-
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$param.AttrParentId_param") && vars.get("$this.value") == null)
+import("system.neon");
+import("system.result");
+import("system.vars");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param") && vars.get("$this.value") == null)
     result.string(vars.get("$param.AttrParentId_param"));
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js b/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js
index 278f8b879ba6692db695c4a0c2122a6396042227..24139923a76e9f17e29bcd16815b207660766846 100644
--- a/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js
+++ b/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js
@@ -4,5 +4,5 @@ import("Attribute_lib");
 import("Entity_lib");
 
 var type = vars.get("local.value") || "";
-if (type.trim() != $AttributeTypes.KEYWORD && vars.get("$field.DROPDOWNDEFINITION"))
+if (type.trim() != $AttributeTypes.KEYWORD && vars.exists("$field.DROPDOWNDEFINITION") && vars.get("$field.DROPDOWNDEFINITION"))
     neon.setFieldValue("$field.DROPDOWNDEFINITION", "");
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
index 413cfa7747294ec669a2457c17b562b6a0877c54..23c8a16fb6f2382bdb1dd18ae57bb794268d6ae9 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/dropDownProcess.js
@@ -7,15 +7,7 @@ import("Attribute_lib");
 
 var res = [];
 var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
-if (type == $AttributeTypes.KEYWORD)
-{
-    res = KeywordUtils.getContainerNames().map(function (e)
-    {
-        return [e, e];//currently the first column is ID, second view value - which is the same because there is no ID for keyword-containers
-    });
-}
-else if (type == $AttributeTypes.OBJECTSELECTION)
-{
-    res = ContextUtils.getContexts(true);
-}
+var getDropDownFn = type && $AttributeTypes[type] && $AttributeTypes[type].getDropDownDefinitions;
+if (getDropDownFn instanceof Function)
+    res = getDropDownFn.call();
 result.object(res);
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f00cbd82e67e091c167605b83a160416e4b83853
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/placeholderProcess.js
@@ -0,0 +1,11 @@
+import("system.translate");
+import("system.neon");
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
+if (type == $AttributeTypes.KEYWORD)
+    result.string(translate.text("Keyword"));
+else if (type == $AttributeTypes.OBJECTSELECTION)
+    result.string(translate.text("Module"));
diff --git a/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js b/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
index 8335f36cceeaf1148dfe2e88e50b9ef1d8b565ec..f4447a5915899cbbef6950be1e099aa21a791f89 100644
--- a/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/dropdowndefinition/stateProcess.js
@@ -4,7 +4,8 @@ import("system.result");
 import("Attribute_lib");
 
 var fieldState;
-if ((vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.KEYWORD || vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.OBJECTSELECTION) 
+var type = vars.get("$field.ATTRIBUTE_TYPE").trim();
+if (type && $AttributeTypes[type] && $AttributeTypes[type].getDropDownDefinitions
         && !AttributeUtil.hasRelations(vars.get("$field.UID")))
     fieldState = neon.COMPONENTSTATE_EDITABLE;
 else if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW)
diff --git a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
index ef43e6922bec83c1c7711e2023fbff06f4eb34a0..8778b5d409990f03002f22809ad317d160110d4b 100644
--- a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
@@ -1,11 +1,11 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var name = vars.get("$field.ATTRIBUTE_NAME");
-if (!(vars.exists("$param.DisplaySimpleName_param") && vars.get("$param.DisplaySimpleName_param")))
-{
-    var parentName = AttributeUtil.getFullAttributeName(vars.get("$field.ATTRIBUTE_PARENT_ID"));
-    name = (parentName ? parentName + " / " : "") + name;
-}
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var name = vars.get("$this.value");
+if (!(vars.exists("$param.DisplaySimpleName_param") && vars.get("$param.DisplaySimpleName_param")))
+{
+    var parentName = AttributeUtil.getFullAttributeName(vars.get("$field.ATTRIBUTE_PARENT_ID"));
+    name = (parentName ? parentName + " / " : "") + name;
+}
 result.string(name);
\ No newline at end of file
diff --git a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
index 54e00eb0a624331ee8d633d904a81cfcf5acdb1a..26dccfdc9956c9f8d85820185957af2e8e031ff5 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/contentProcess.js
@@ -1,198 +1,207 @@
-import("system.translate");
-import("Util_lib");
-import("JditoFilter_lib");
-import("KeywordRegistry_basic");
-import("Keyword_lib");
-import("system.db");
-import("system.vars");
-import("system.result");
-import("Sql_lib");
-import("Attribute_lib");
-
-var getGroups = vars.exists("$param.GetGroups_param") && vars.get("$param.GetGroups_param");
-var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
-var parentType = vars.exists("$param.AttrParentType_param") && vars.get("$param.AttrParentType_param");
-var fetchUsages = true;
-var translateName = false;
-
-var uidTableAlias = "UIDROW";
-var sqlSelect = "select UIDROW.AB_ATTRIBUTEID, UIDROW.ATTRIBUTE_PARENT_ID, UIDROW.ATTRIBUTE_ACTIVE, UIDROW.DROPDOWNDEFINITION, UIDROW.SORTING, UIDROW.ATTRIBUTE_TYPE, " 
-    + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.attributeType(), "UIDROW.ATTRIBUTE_TYPE") //3
-    + ", '', UIDROW.ATTRIBUTE_NAME, PARENT1.ATTRIBUTE_NAME, PARENT2.ATTRIBUTE_NAME, PARENT3.ATTRIBUTE_NAME, PARENT3.ATTRIBUTE_PARENT_ID \n\
-    from AB_ATTRIBUTE UIDROW \n\
-    left join AB_ATTRIBUTE PARENT1 on UIDROW.ATTRIBUTE_PARENT_ID = PARENT1.AB_ATTRIBUTEID \n\
-    left join AB_ATTRIBUTE PARENT2 ON PARENT1.ATTRIBUTE_PARENT_ID = PARENT2.AB_ATTRIBUTEID \n\
-    left join AB_ATTRIBUTE PARENT3 ON PARENT2.ATTRIBUTE_PARENT_ID = PARENT3.AB_ATTRIBUTEID"; 
-
-/* always select the names of the next 3 parents so that less queries
-   are required later when buildung the full name */
-
-var sqlOrder = " order by UIDROW.ATTRIBUTE_PARENT_ID asc, UIDROW.SORTING asc";
-
-var condition = SqlCondition.begin();
-
-if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
-{
-    condition.and("UIDROW.AB_ATTRIBUTEID in ('" + vars.get("$local.idvalues").join("','") + "')");
-}
-else if (getGroups) //if getGroups == true, it is the lookup for selecting the superordinate attribute
-{
-    //this condition filters out the own id and the children to prevent loops
-    
-    var isGroupCondition = SqlCondition.begin();
-    for (let type in $AttributeTypes)
-        if ($AttributeTypes[type].isGroup)
-        {
-            isGroupCondition.orPrepare(["AB_ATTRIBUTE", "ATTRIBUTE_TYPE", uidTableAlias], $AttributeTypes[type]);
-        }
-    
-    condition.andSqlCondition(SqlCondition.begin()
-        .andSqlCondition(isGroupCondition)
-        .andPrepareVars(["AB_ATTRIBUTE", "AB_ATTRIBUTEID", uidTableAlias], "$param.AttrParentId_param", "# != ?")
-        .and("UIDROW.AB_ATTRIBUTEID not in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')")
-    );
-}
-else if (objectType)  //if there's an objectType, it comes from the AttributeRelation entity (lookup for the attribute selection)
-{
-    var filteredAttributes = null;
-    
-    if (vars.exists("$param.FilteredAttributeIds_param") && vars.getString("$param.FilteredAttributeIds_param")) {
-        filteredAttributes = JSON.parse(vars.getString("$param.FilteredAttributeIds_param"));
-    }
-    
-    var attributeCount;
-    if (vars.exists("$param.AttributeCount_param") && vars.get("$param.AttributeCount_param"))
-        attributeCount = JSON.parse(vars.getString("$param.AttributeCount_param"));
-    var ids = AttributeUtil.getPossibleAttributes(objectType, false, filteredAttributes, attributeCount);
-
-    if (ids.length > 0)
-        condition.and("UIDROW.AB_ATTRIBUTEID in ('" + ids.join("','") + "')");
-    else  // do not return anything, if parameter is there but an empty array
-        condition.and("1=2");
-
-     fetchUsages = false;
-     translateName = true;
-}
-else if (parentType) //condition for all subordinate attributes of an attribute (for the tree of subordinate attributes in an attribute)
-{
-    if (AttributeTypeUtil.isGroupType(parentType))
-    {
-        var parentId = vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param");
-        if (parentId)
-            condition.and("UIDROW.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')");
-    }
-    else
-        condition.and("1=2");
-    
-    translateName = true;
-}
-
-//when there are filters selected, add them to the conditon
-if (vars.exists("$local.filter") && vars.get("$local.filter"))
-{
-    var filter = vars.get("$local.filter");
-    if (filter.filter)
-        condition.andSqlCondition(JditoFilterUtils.getSqlCondition(filter.filter, "AB_ATTRIBUTE", uidTableAlias));
-}
-
-var usages;
-if (fetchUsages) //this query is only necessary in Attribute, not in AttributeRelation
-{
-    var usagesSelect = "select AB_ATTRIBUTE_ID, OBJECT_TYPE from AB_ATTRIBUTEUSAGE \n\
-                        join AB_ATTRIBUTE UIDROW on AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = UIDROW.AB_ATTRIBUTEID";
-    var usageTbl = db.table(condition.buildSql(usagesSelect, "1=1"));
-    usages = {};
-    for (let i = 0, l = usageTbl.length; i < l; i++)
-    {
-        let attrId = usageTbl[i][0];
-        if (attrId in usages)
-            usages[attrId].push(usageTbl[i][1]);
-        else
-            usages[attrId] = [usageTbl[i][1]];
-    }
-}
-
-var attributes = db.table(condition.buildSql(sqlSelect, "1=1", sqlOrder));
-
-var nameCache = {};
-result.object(_buildAttributeTable(attributes, usages, translateName));
-
-
-//sorts the records in a way that a tree can be built and adds values
-function _buildAttributeTable (pAttributes, pUsages, pTranslate) 
-{
-    var rows = {};
-    var allIds = {};
-    
-    //fills the allIds object, the object is used for checking if a parent exists in the array
-    for (let i = 0, l = pAttributes.length; i < l; i++)
-        allIds[pAttributes[i][0]] = true;
-    
-    var arrayIndex = 0;
-    
-    do {
-        var oldIndex = arrayIndex;
-        pAttributes.forEach(function (row)
-        {   
-            //item will be added if the id is not already in the object and
-            //the parent is already added (or the parent is not in the array)
-            if (!(row[0] in this) && (row[1] in this || !allIds[row[1]]))
-                this[row[0]] = {
-                    data : row,
-                    index : arrayIndex++
-                };
-        }, rows);
-    } while (oldIndex != arrayIndex); //stops the loop when no new items were added so that recursive relations between attributes don't cause an infinite loop
-    
-    var displaySimpleName = vars.exists("$param.DisplaySimpleName_param") && vars.get("$param.DisplaySimpleName_param");
-    var sortedArray = new Array(Object.keys(rows).length);
-    for (let i in rows)
-    {
-        let rowData = rows[i].data;
-        if (pUsages && rowData[5].trim() != $AttributeTypes.COMBOVALUE && i in pUsages)
-        {
-            rowData[7] = pUsages[i].map(function (usage)
-            {
-                return translate.text(usage);
-            }).join(", ");
-        }
-        var fullName;
-        if (displaySimpleName) 
-            fullName = pTranslate 
-                ? translate.text(rowData[8])
-                : rowData[8];
-        else
-            fullName = _getFullName(rowData[8], rowData[9], rowData[10], rowData[11], rowData[12], pTranslate);
-        rowData.splice(10, 3, fullName);
-        sortedArray[rows[i].index] = rowData;
-    }
-    
-    return sortedArray;
-    
-
-    /**
-     * builds the full attribute name from the pre-loaded parent names and adds all parent names
-     * if required
-     */
-    function _getFullName (pAttributeName, pParent1Name, pParent2Name, pParent3Name, pParent4Id)
-    {
-        var parent4FullName;
-        if (pParent4Id && pParent4Id in nameCache)
-            parent4FullName = nameCache[pParent4Id];
-        else
-        {
-            parent4FullName = pParent4Id ? AttributeUtil.getFullAttributeName(pParent4Id, false, pTranslate) : null;
-            nameCache[pParent4Id] = parent4FullName;
-        }
-        if (pTranslate)
-        {
-            pAttributeName = translate.text(pAttributeName);
-            pParent1Name = translate.text(pParent1Name);
-            pParent2Name = translate.text(pParent2Name);
-            pParent3Name = translate.text(pParent3Name);
-        }
-        pAttributeName = ArrayUtils.joinNonEmptyFields([parent4FullName, pParent3Name, pParent2Name, pParent1Name, pAttributeName], " / ");
-
-        return pAttributeName;
-    }
-}
+import("system.translate");
+import("Util_lib");
+import("JditoFilter_lib");
+import("KeywordRegistry_basic");
+import("Keyword_lib");
+import("system.db");
+import("system.vars");
+import("system.result");
+import("Sql_lib");
+import("Attribute_lib");
+
+var getGroups = vars.exists("$param.GetGroups_param") && vars.get("$param.GetGroups_param");
+var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
+var parentType = vars.exists("$param.AttrParentType_param") && vars.get("$param.AttrParentType_param");
+var fetchUsages = true;
+var translateName = false;
+
+var sqlSelect = "select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME, ATTRIBUTE_ACTIVE, DROPDOWNDEFINITION, SORTING, ATTRIBUTE_TYPE, " 
+    + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.attributeType(), "ATTRIBUTE_TYPE") //3
+    + ", '', '', '' from AB_ATTRIBUTE"; 
+
+var sqlOrder = " order by ATTRIBUTE_PARENT_ID asc, SORTING asc";
+
+var condition = SqlCondition.begin();
+
+if (vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
+{
+    condition.andIn("AB_ATTRIBUTE.AB_ATTRIBUTEID", vars.get("$local.idvalues"));
+}
+else if (getGroups) //if getGroups == true, it is the lookup for selecting the superordinate attribute
+{
+    //this condition filters out the own id and the children to prevent loops
+    
+    var isGroupCondition = SqlCondition.begin();
+    for (let type in $AttributeTypes)
+        if ($AttributeTypes[type].isGroup)
+        {
+            isGroupCondition.orPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes[type]);
+        }
+    
+    condition.andSqlCondition(SqlCondition.begin()
+        .andSqlCondition(isGroupCondition)
+        .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$param.AttrParentId_param", "# != ?")
+        .andIn("AB_ATTRIBUTE.AB_ATTRIBUTEID", AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")), null, true)
+    );
+}
+else if (objectType)  //if there's an objectType, it comes from the AttributeRelation entity (lookup for the attribute selection)
+{
+    var filteredAttributes = null;
+    
+    if (vars.exists("$param.FilteredAttributeIds_param") && vars.getString("$param.FilteredAttributeIds_param")) {
+        filteredAttributes = JSON.parse(vars.getString("$param.FilteredAttributeIds_param"));
+    }
+    
+    var attributeCount;
+    if (vars.exists("$param.AttributeCount_param") && vars.get("$param.AttributeCount_param"))
+        attributeCount = JSON.parse(vars.getString("$param.AttributeCount_param"));
+    var ids = AttributeUtil.getPossibleAttributes(objectType, false, filteredAttributes, attributeCount);
+
+    if (ids.length > 0)
+        condition.andIn("AB_ATTRIBUTE.AB_ATTRIBUTEID", ids);
+    else  // do not return anything, if parameter is there but an empty array
+        condition.and("1=2");
+
+     fetchUsages = false;
+     translateName = true;
+}
+else if (parentType) //condition for all subordinate attributes of an attribute (for the tree of subordinate attributes in an attribute)
+{
+    if (AttributeTypeUtil.isGroupType(parentType))
+    {
+        var parentId = vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param");
+        if (parentId)
+            condition.andIn("AB_ATTRIBUTE.AB_ATTRIBUTEID", AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")));
+    }
+    else
+        condition.and("1=2");
+    
+    translateName = true;
+}
+
+//when there are filters selected, add them to the conditon
+if (vars.exists("$local.filter") && vars.get("$local.filter"))
+{
+    var filter = vars.get("$local.filter");
+    if (filter.filter)
+        condition.andSqlCondition(JditoFilterUtils.getSqlCondition(filter.filter, "AB_ATTRIBUTE"));
+}
+
+var usages;
+if (fetchUsages) //this query is only necessary in Attribute, not in AttributeRelation
+{
+    var usagesSelect = "select AB_ATTRIBUTE_ID, OBJECT_TYPE from AB_ATTRIBUTEUSAGE \n\
+                        join AB_ATTRIBUTE on AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID";
+    var usageTbl = db.table(condition.buildSql(usagesSelect, "1=1"));
+    usages = {};
+    for (let i = 0, l = usageTbl.length; i < l; i++)
+    {
+        let attrId = usageTbl[i][0];
+        if (attrId in usages)
+            usages[attrId].push(usageTbl[i][1]);
+        else
+            usages[attrId] = [usageTbl[i][1]];
+    }
+}
+
+var attributes = db.table(condition.buildSql(sqlSelect, "1=1", sqlOrder));
+
+var allNames = db.table("select AB_ATTRIBUTEID, ATTRIBUTE_PARENT_ID, ATTRIBUTE_NAME from AB_ATTRIBUTE");
+var attrNameData = {};
+for (let i = 0, l = allNames.length; i < l; i++)
+{
+    attrNameData[allNames[i][0]] = [
+        allNames[i][1], 
+        translateName 
+            ? translate.text(allNames[i][2])
+            : allNames[i][2]
+    ];
+}
+var nameCache = {};
+
+result.object(_buildAttributeTable(attributes, usages));
+
+//sorts the records in a way that a tree can be built and adds values
+function _buildAttributeTable (pAttributes, pUsages) 
+{
+    var rows = {};
+    var allIds = {};
+    
+    //fills the allIds object, the object is used for checking if a parent exists in the array
+    for (let i = 0, l = pAttributes.length; i < l; i++)
+        allIds[pAttributes[i][0]] = true;
+    
+    var arrayIndex = 0;
+    
+    do {
+        var oldIndex = arrayIndex;
+        pAttributes.forEach(function (row)
+        {   
+            //item will be added if the id is not already in the object and
+            //the parent is already added (or the parent is not in the array)
+            if (!(row[0] in this) && (row[1] in this || !allIds[row[1]]))
+                this[row[0]] = {
+                    data : row,
+                    index : arrayIndex++
+                };
+        }, rows);
+    } while (oldIndex != arrayIndex); //stops the loop when no new items were added so that recursive relations between attributes don't cause an infinite loop
+    
+    var displaySimpleName = vars.exists("$param.DisplaySimpleName_param") && vars.get("$param.DisplaySimpleName_param");
+    var sortedArray = new Array(Object.keys(rows).length);
+    for (let i in rows)
+    {
+        let rowData = rows[i].data;
+        if (pUsages && rowData[6].trim() != $AttributeTypes.COMBOVALUE && i in pUsages)
+        {
+            rowData[8] = pUsages[i].map(function (usage)
+            {
+                return translate.text(usage);
+            }).join(", ");
+        }
+        rowData[9] = _getFullName(rowData[1]); //parent full name
+        rowData[10] = _getFullName(rowData[0], displaySimpleName);
+        sortedArray[rows[i].index] = rowData;
+    }
+    
+    return sortedArray;
+    
+
+    /**
+     * builds the full attribute name from the pre-loaded parent names and adds all parent names
+     * if required
+     */
+    function _getFullName (pAttributeId, pSimpleName)
+    {
+        if (!pAttributeId)
+            return "";
+        var attrId = pAttributeId;
+        var fullName = [];
+        
+        while (attrId)
+        {
+            let name = null;
+            if (attrId in nameCache)
+            {
+                name = nameCache[attrId];
+                attrId = null;
+            }
+            else if (attrId in attrNameData)
+            {
+                name = attrNameData[attrId][1]; 
+                attrId = attrNameData[attrId][0]; //next parent
+            }
+            else
+                attrId = null;
+            if (name)
+                fullName.unshift(name);
+            if (pSimpleName)
+                break;
+        }
+        
+        fullName = fullName.join(" / ");
+        nameCache[pAttributeId] = fullName;
+
+        return fullName;
+    }
+}
diff --git a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
index 40e10e11b533fc5ccee823daad6872941beebaf7..5001a6ab2c5289932e32c56bf7843efa09a2a8dc 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/onInsert.js
@@ -1,23 +1,24 @@
-import("system.db");
-import("system.vars");
-
-var columns = [
-    "AB_ATTRIBUTEID",
-    "ATTRIBUTE_ACTIVE",
-    "ATTRIBUTE_NAME",
-    "ATTRIBUTE_PARENT_ID",
-    "ATTRIBUTE_TYPE",
-    "DROPDOWNDEFINITION",
-    "SORTING"
-];
-var values = [
-    vars.get("$field.UID"),
-    vars.get("$field.ATTRIBUTE_ACTIVE"),
-    vars.get("$field.ATTRIBUTE_NAME"),
-    vars.get("$field.ATTRIBUTE_PARENT_ID"),
-    vars.get("$field.ATTRIBUTE_TYPE"),
-    vars.get("$field.DROPDOWNDEFINITION"),
-    vars.get("$field.SORTING")
-];
-
+import("system.db");
+import("system.vars");
+
+var rowdata = vars.get("$local.rowdata");
+var columns = [
+    "AB_ATTRIBUTEID",
+    "ATTRIBUTE_ACTIVE",
+    "ATTRIBUTE_NAME",
+    "ATTRIBUTE_PARENT_ID",
+    "ATTRIBUTE_TYPE",
+    "DROPDOWNDEFINITION",
+    "SORTING"
+];
+var values = [
+    rowdata["UID.value"],
+    rowdata["ATTRIBUTE_ACTIVE.value"] || "",
+    rowdata["ATTRIBUTE_NAME.value"] || "",
+    rowdata["ATTRIBUTE_PARENT_ID.value"] || "",
+    rowdata["ATTRIBUTE_TYPE.value"] || "",
+    rowdata["DROPDOWNDEFINITION.value"] || "",
+    rowdata["SORTING.value"] || ""
+];
+
 db.insertData("AB_ATTRIBUTE", columns, null, values);
\ No newline at end of file
diff --git a/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js b/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js
index af114d5a96bcef11470b6da3b48910bb0b5ef555..12855e6b9b1d12e65051d9b40dddae43b221f4d5 100644
--- a/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js
+++ b/entity/Attribute_entity/recordcontainers/jdito/onUpdate.js
@@ -1,23 +1,24 @@
-import("Sql_lib");
-import("system.db");
-import("system.vars");
-
-var columns = [
-    "ATTRIBUTE_ACTIVE",
-    "ATTRIBUTE_NAME",
-    "ATTRIBUTE_PARENT_ID",
-    "ATTRIBUTE_TYPE",
-    "DROPDOWNDEFINITION",
-    "SORTING"
-];
-var values = [
-    vars.get("$field.ATTRIBUTE_ACTIVE"),
-    vars.get("$field.ATTRIBUTE_NAME"),
-    vars.get("$field.ATTRIBUTE_PARENT_ID"),
-    vars.get("$field.ATTRIBUTE_TYPE"),
-    vars.get("$field.DROPDOWNDEFINITION"),
-    vars.get("$field.SORTING")
-];
-
-db.updateData("AB_ATTRIBUTE", columns, null, values, 
+import("Sql_lib");
+import("system.db");
+import("system.vars");
+
+var rowdata = vars.get("$local.rowdata");
+var columns = [
+    "ATTRIBUTE_ACTIVE",
+    "ATTRIBUTE_NAME",
+    "ATTRIBUTE_PARENT_ID",
+    "ATTRIBUTE_TYPE",
+    "DROPDOWNDEFINITION",
+    "SORTING"
+];
+var values = [
+    rowdata["ATTRIBUTE_ACTIVE.value"] || "",
+    rowdata["ATTRIBUTE_NAME.value"] || "",
+    rowdata["ATTRIBUTE_PARENT_ID.value"] || "",
+    rowdata["ATTRIBUTE_TYPE.value"] || "",
+    rowdata["DROPDOWNDEFINITION.value"] || "",
+    rowdata["SORTING.value"] || ""
+];
+
+db.updateData("AB_ATTRIBUTE", columns, null, values, 
     SqlCondition.equals("AB_ATTRIBUTE.AB_ATTRIBUTEID", vars.get("$field.UID"), "1=2"));
\ No newline at end of file
diff --git a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
index 242b9cbc00a3806880acd3b8dfa42be53b419217..93f4a351857896cfe83ae0ced85b84772f41f86b 100644
--- a/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
+++ b/entity/BulkMailRecipient_entity/BulkMailRecipient_entity.aod
@@ -3,6 +3,9 @@
   <name>BulkMailRecipient_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <title>Recipient</title>
+  <siblings>
+    <element>Communication_entity</element>
+  </siblings>
   <titlePlural>Recipients</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod
index 650f4c8e4d069bb6dacebfa14a434e26254513e4..04cb781052806175e74ca8bd4c0a07f8af6ebe5c 100644
--- a/entity/BulkMail_entity/BulkMail_entity.aod
+++ b/entity/BulkMail_entity/BulkMail_entity.aod
@@ -5,6 +5,7 @@
   <icon>VAADIN:AT</icon>
   <title>Bulk mail</title>
   <contentTitleProcess>%aditoprj%/entity/BulkMail_entity/contentTitleProcess.js</contentTitleProcess>
+  <iconId>VAADIN:AT</iconId>
   <titlePlural>Bulk mails</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -143,6 +144,20 @@
       <valueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/content/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/content/displayValueProcess.js</displayValueProcess>
     </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>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/BulkMail_entity/entityfields/content/displayValueProcess.js b/entity/BulkMail_entity/entityfields/content/displayValueProcess.js
index d676eae7a0822b5beea69cae722adc4b4cd7c67e..15c8c8a5835c2d7f3e7540aa4d4d0be4f74e4669 100644
--- a/entity/BulkMail_entity/entityfields/content/displayValueProcess.js
+++ b/entity/BulkMail_entity/entityfields/content/displayValueProcess.js
@@ -1,19 +1,19 @@
-import("Bulkmail_lib");
-import("system.text");
-import("Employee_lib");
-import("system.vars");
-import("system.result");
-import("system.neon");
-import("DocumentTemplate_lib");
-
-//if this was done for every row, like in a lookup, the performance would be very bad
-if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_MASK) 
-{
-    var template = BulkMailUtils.getBulkMailTemplate(vars.get("$field.BULKMAILID"), vars.get("$field.DOCUMENTTEMPLATE_ID"));
-    
-    var contactId = EmployeeUtils.getCurrentContactId();
-    var preview = template.getReplacedEmailsByContactIds([contactId]);
-
-    result.string(preview[contactId].body);
-}
-
+import("Bulkmail_lib");
+import("system.text");
+import("Employee_lib");
+import("system.vars");
+import("system.result");
+import("system.neon");
+import("DocumentTemplate_lib");
+
+//if this was done for every row, like in a lookup, the performance would be very bad
+if (vars.get("$sys.viewmode") == neon.FRAME_VIEWMODE_DATASET) 
+{
+    var template = BulkMailUtils.getBulkMailTemplate(vars.get("$field.BULKMAILID"), vars.get("$field.DOCUMENTTEMPLATE_ID"));
+    
+    var contactId = EmployeeUtils.getCurrentContactId();
+    var preview = template.getReplacedEmailsByContactIds([contactId]);
+
+    result.string(preview[contactId].body);
+}
+
diff --git a/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..aa13fc5ed2e195b362095cc74f843ab270296ce4
--- /dev/null
+++ b/entity/BulkMail_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.BULKMAILID"), tableNames: ["BULKMAIL"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
+result.object(res);
\ No newline at end of file
diff --git a/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js b/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js
index dd2d0ecc46f46ab5786a9679f05a1c8d9ef54fa8..11e9ee3b706e82d03bde432040467efbdbfa56cb 100644
--- a/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/BulkMail_entity/recordcontainers/db/onDBInsert.js
@@ -1,49 +1,49 @@
-import("DocumentTemplate_lib");
-import("system.result");
-import("system.vars");
-import("system.db");
-import("system.util");
-import("Document_lib");
-import("Bulkmail_lib");
-
-//TODO - Function
-
-var content = vars.get("$field.content");
-var originalBinData = vars.get("$field.BINDATA");
-var filename, type, template;
-
-if(vars.get("$field.BINDATA"))
-{
-    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
-    type = DocumentUtil.getFileExtensionFromUpload(filename);
-    type = ({
-            "txt" : DocumentTemplate.types.TXT,
-            "html" : DocumentTemplate.types.HTML,
-            "htm" : DocumentTemplate.types.HTML,
-            "eml" : DocumentTemplate.types.EML
-        })[type];
-}
-else
-{
-    template = DocumentTemplate.loadTemplate(vars.get("$field.DOCUMENTTEMPLATE_ID"));
-    type = template.type;
-}
-
-if (type == DocumentTemplate.types.EML || type == DocumentTemplate.types.HTML)
-    content = "<html>" + content + "</html>";
-
-var bindata = util.encodeBase64String(content);
-if (!filename)
-    filename = vars.get("$field.NAME") + ".txt";
-
-if(bindata != "")
-{
-    db.insertBinary("BULKMAIL", "DOCUMENT", vars.get("$field.BULKMAILID"), 
-                    "", bindata, filename, "", "", "_____SYSTEMALIAS");
-}
-
-var contactIds = JSON.parse(vars.getString("$param.PresetRecipients_param"));
-var bulkMailId = vars.get("$field.BULKMAILID");
-
-if (contactIds && contactIds.length > 0)
+import("DocumentTemplate_lib");
+import("system.result");
+import("system.vars");
+import("system.db");
+import("system.util");
+import("Document_lib");
+import("Bulkmail_lib");
+
+//TODO - Function
+var rowdata = vars.get("$local.rowdata");
+var content = vars.get("$field.content");
+var originalBinData = vars.get("$field.BINDATA");
+var filename, type, template;
+
+if(vars.get("$field.BINDATA"))
+{
+    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
+    type = DocumentUtil.getFileExtensionFromUpload(filename);
+    type = ({
+            "txt" : DocumentTemplate.types.TXT,
+            "html" : DocumentTemplate.types.HTML,
+            "htm" : DocumentTemplate.types.HTML,
+            "eml" : DocumentTemplate.types.EML
+        })[type];
+}
+else
+{
+    template = DocumentTemplate.loadTemplate(rowdata["BULKMAIL.DOCUMENTTEMPLATE_ID"]);
+    type = template.type;
+}
+
+if (type == DocumentTemplate.types.EML || type == DocumentTemplate.types.HTML)
+    content = "<html>" + content + "</html>";
+
+var bindata = util.encodeBase64String(content);
+if (!filename)
+    filename = rowdata["BULKMAIL.NAME"] + ".txt";
+
+if(bindata != "")
+{
+    db.insertBinary("BULKMAIL", "DOCUMENT", vars.get("$local.uid"), 
+                    "", bindata, filename, "", "", "_____SYSTEMALIAS");
+}
+
+var contactIds = JSON.parse(vars.getString("$param.PresetRecipients_param"));
+var bulkMailId = vars.get("$field.BULKMAILID");
+
+if (contactIds && contactIds.length > 0)
     BulkMailUtils.addRecipients(bulkMailId, BulkMailUtils.filterNewRecipients(bulkMailId, contactIds));
\ No newline at end of file
diff --git a/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js b/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
index 345ac72193ed9867d666b67ab0b1106d78408aa2..9614bc5ae5655a34c33e1f10e768aacfc137f787 100644
--- a/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/BulkMail_entity/recordcontainers/db/onDBUpdate.js
@@ -10,6 +10,8 @@ import("Bulkmail_lib");
 
 //TODO - Function
 
+var rowdata = vars.get("$local.rowdata");
+
 var content = vars.get("$field.content");
 var originalBinData = vars.get("$field.BINDATA");
 var filename, type, template;
@@ -22,7 +24,7 @@ if(vars.get("$field.BINDATA"))
 }
 else
 {
-    template = BulkMailUtils.getBulkMailTemplate(vars.get("$field.BULKMAILID"), vars.get("$field.DOCUMENTTEMPLATE_ID"));
+    template = BulkMailUtils.getBulkMailTemplate(vars.get("$local.uid"), rowdata["BULKMAIL.DOCUMENTTEMPLATE_ID"]);
     type = template.type;
 }
 
@@ -31,13 +33,13 @@ if (type == DocumentTemplate.types.EML || type == DocumentTemplate.types.HTML)
 
 var bindata = util.encodeBase64String(content);
 if (!filename)
-    filename = vars.get("$field.NAME") + ".txt";
+    filename = rowdata["BULKMAIL.NAME"] + ".txt";
 
 if(bindata != "")
 {
     let sysAlias = "_____SYSTEMALIAS";
     var binaryId = db.cell(SqlCondition.begin(sysAlias)
-        .andPrepareVars("ASYS_BINARIES.ROW_ID", "$field.BULKMAILID")
+        .andPrepareVars("ASYS_BINARIES.ROW_ID", "$local.uid")
         .buildSql("select ID from ASYS_BINARIES", "1=2"), sysAlias);
     db.updateBinary(binaryId, "", bindata, filename, "", "", sysAlias);
     neon.refresh(["$field.content"]);
diff --git a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
index 3f4826a10805952ed02a39b9dffcdb2f816393bb..0743ddc489a56f8922181282fa9dcead53595555 100644
--- a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
+++ b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
@@ -1,137 +1,137 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.10" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.10">
-  <name>CampaignAddParticipants_entity</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <title>Add participants to Campaign</title>
-  <onValidation>%aditoprj%/entity/CampaignAddParticipants_entity/onValidation.js</onValidation>
-  <recordContainer>jdito</recordContainer>
-  <entityFields>
-    <entityProvider>
-      <name>#PROVIDER</name>
-    </entityProvider>
-    <entityField>
-      <name>CAMPAIGN_ID</name>
-      <title>Campaign</title>
-      <consumer>CampaignConsumer</consumer>
-      <mandatory v="true" />
-      <state>AUTO</state>
-      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js</onValueChange>
-      <onValueChangeTypes>
-        <element>MASK</element>
-        <element>PROCESS</element>
-        <element>PROCESS_SETVALUE</element>
-        <element>RECORD</element>
-      </onValueChangeTypes>
-    </entityField>
-    <entityField>
-      <name>CAMPAIGNSTEP_ID</name>
-      <title>Campaign Step</title>
-      <consumer>CampaignStepConsumer</consumer>
-      <mandatory v="true" />
-      <state>EDITABLE</state>
-      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange>
-    </entityField>
-    <entityField>
-      <name>campaignParticipantMessage</name>
-      <state>READONLY</state>
-      <onValueChangeTypes>
-        <element>PROCESS</element>
-      </onValueChangeTypes>
-    </entityField>
-    <entityParameter>
-      <name>campaignParticipantsRowIds_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityConsumer>
-      <name>CampaignConsumer</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Campaign_entity</entityName>
-        <fieldName>Campaigns</fieldName>
-      </dependency>
-    </entityConsumer>
-    <entityConsumer>
-      <name>CampaignStepConsumer</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignStep_entity</entityName>
-        <fieldName>CampaignSteps</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>campaignId_param</name>
-          <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepconsumer/children/campaignid_param/valueProcess.js</valueProcess>
-          <expose v="true" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>UID</name>
-    </entityField>
-    <entityParameter>
-      <name>currentCampaignId_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityParameter>
-      <name>currentCampaignStepId_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityParameter>
-      <name>isUpdate_param</name>
-      <expose v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
-    <entityConsumer>
-      <name>CampaignAnalyses</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>CampaignAnalysis_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
-      </dependency>
-    </entityConsumer>
-    <entityField>
-      <name>campaignStepCurrentParticipantCount</name>
-      <title>Current participants</title>
-      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepcurrentparticipantcount/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>campaignStepMaxParticipantCount</name>
-      <title>Max participants</title>
-      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepmaxparticipantcount/displayValueProcess.js</displayValueProcess>
-    </entityField>
-    <entityField>
-      <name>isUpdate</name>
-      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/isupdate/valueProcess.js</valueProcess>
-    </entityField>
-    <entityParameter>
-      <name>campaignParticipantsCondition_param</name>
-      <expose v="true" />
-    </entityParameter>
-    <entityParameter>
-      <name>dataSourceTableName_param</name>
-      <expose v="true" />
-    </entityParameter>
-    <entityField>
-      <name>isOperationValid</name>
-      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js</valueProcess>
-    </entityField>
-  </entityFields>
-  <recordContainers>
-    <jDitoRecordContainer>
-      <name>jdito</name>
-      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
-      <onInsert>%aditoprj%/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js</onInsert>
-      <recordFieldMappings>
-        <jDitoRecordFieldMapping>
-          <name>UID.value</name>
-        </jDitoRecordFieldMapping>
-      </recordFieldMappings>
-    </jDitoRecordContainer>
-  </recordContainers>
-</entity>
+<?xml version="1.0" encoding="UTF-8"?>
+<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.10" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.10">
+  <name>CampaignAddParticipants_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <title>Add participants to Campaign</title>
+  <onValidation>%aditoprj%/entity/CampaignAddParticipants_entity/onValidation.js</onValidation>
+  <recordContainer>jdito</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityField>
+      <name>CAMPAIGN_ID</name>
+      <title>Campaign</title>
+      <consumer>CampaignConsumer</consumer>
+      <mandatory v="true" />
+      <state>AUTO</state>
+      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
+        <element>RECORD</element>
+      </onValueChangeTypes>
+    </entityField>
+    <entityField>
+      <name>CAMPAIGNSTEP_ID</name>
+      <title>Campaign Step</title>
+      <consumer>CampaignStepConsumer</consumer>
+      <mandatory v="true" />
+      <state>EDITABLE</state>
+      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>campaignParticipantMessage</name>
+      <state>READONLY</state>
+      <onValueChangeTypes>
+        <element>PROCESS</element>
+      </onValueChangeTypes>
+    </entityField>
+    <entityParameter>
+      <name>campaignParticipantsRowIds_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>CampaignConsumer</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Campaign_entity</entityName>
+        <fieldName>Campaigns</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>CampaignStepConsumer</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignStep_entity</entityName>
+        <fieldName>CampaignSteps</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>campaignId_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepconsumer/children/campaignid_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>UID</name>
+    </entityField>
+    <entityParameter>
+      <name>currentCampaignId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityParameter>
+      <name>currentCampaignStepId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityParameter>
+      <name>isUpdate_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>CampaignAnalyses</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>CampaignAnalysis_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityField>
+      <name>campaignStepCurrentParticipantCount</name>
+      <title>Current participants</title>
+      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepcurrentparticipantcount/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>campaignStepMaxParticipantCount</name>
+      <title>Max participants</title>
+      <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstepmaxparticipantcount/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>isUpdate</name>
+      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/isupdate/valueProcess.js</valueProcess>
+    </entityField>
+    <entityParameter>
+      <name>campaignParticipantsCondition_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>dataSourceTableName_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityField>
+      <name>isOperationValid</name>
+      <valueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js</valueProcess>
+    </entityField>
+  </entityFields>
+  <recordContainers>
+    <jDitoRecordContainer>
+      <name>jdito</name>
+      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <onInsert>%aditoprj%/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js</onInsert>
+      <recordFieldMappings>
+        <jDitoRecordFieldMapping>
+          <name>UID.value</name>
+        </jDitoRecordFieldMapping>
+      </recordFieldMappings>
+    </jDitoRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
index 6991eccc9143e886238cfb6d745e83359814c62e..1a42050e6f2f9a6337de2b1f250623a372de1152 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/campaign_id/onValueChange.js
@@ -1,7 +1,7 @@
-import("system.vars");
-import("system.neon");
-import("Campaign_lib");
-
-var stepId;
-stepId = CampaignUtils.getDefaultCampaignStep(vars.get("$field.CAMPAIGN_ID"));
+import("system.vars");
+import("system.neon");
+import("Campaign_lib");
+
+var stepId;
+stepId = CampaignUtils.getDefaultCampaignStep(vars.get("local.value"));
 neon.setFieldValue("$field.CAMPAIGNSTEP_ID", stepId);
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js b/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
index c0689ca0aa2ecf419c001d1461c673d2b5f076d7..7232e9b7806fe94ddb279962715a35820ed89a1b 100644
--- a/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
+++ b/entity/CampaignAddParticipants_entity/entityfields/isoperationvalid/valueProcess.js
@@ -1,118 +1,122 @@
-import("Campaign_lib");
-import("system.result");
-import("system.translate");
-import("system.vars");
-import("system.neon");
-
-var campaignParticipantsAmount = 0;
-
-var targetTable = vars.get("$param.dataSourceTableName_param");
-var selectionRowIds = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param"));
-var selectedCampaignId = vars.get("$field.CAMPAIGN_ID");
-var selectedCampaignStepId = vars.get("$field.CAMPAIGNSTEP_ID");
-var isUpdate = vars.get("$field.isUpdate");
-
-var participantCondition = "";
-var messageString = "";
-var resultValue = "false";
-
-if(selectedCampaignId != '')
-{
-    /*
-     * First determines how many of the selected are already in the campaign
-     * If there are no valid participants at all or too many in respect of the
-     * selected steps max number of participants, nothing will be added. 
-     * A message describing this situation will be written.
-     * 
-     * If none of those criteria match, all participants are good to be added.
-     */
-    var countParticipantsAlreadyInCampaign = 0;
-    var countParticipantsToAdd = 0;
-    var countValidParticipantsToAdd = 0;
-    var whereCondition = "";
-    var rowIdsComparisonField = "";
-        
-    //if theres a selection, we have to use it, otherwise use the condition
-    if(selectionRowIds != null && selectionRowIds.length > 0)
-    {
-        countParticipantsToAdd = selectionRowIds.length;
-        
-        
-        /*
-         * The field against which will be checked, if the selection is already contained in the campaignStep
-         * depends on wether isUpdate is true or not.
-         * If true, the selected IDs are CampaignParticipantIds, otherwise contactIds.
-         * This happens because on true the action is called in the participants filterview to move participants
-         * between steps, on false new participants are in the process of being added to a step.
-         */
-        if(isUpdate == "true")
-        {
-            rowIdsComparisonField = "CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID";
-            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID = '" + selectedCampaignStepId + "'";
-        }
-        else
-        {
-            rowIdsComparisonField = "CAMPAIGNPARTICIPANT.CONTACT_ID";
-            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGN_ID = '" + selectedCampaignId + "'";
-        }
-        countParticipantsAlreadyInCampaign = CampaignUtils.GetParticipantsAlreadyAddedCountByRowId(whereCondition, rowIdsComparisonField, selectionRowIds);
-    }
-    else
-    {
-        participantCondition = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
-        
-        let useRightJoinToGetOrgs = "false";
-        if(targetTable == "ORGANISATION")
-        {
-            useRightJoinToGetOrgs = "true";
-            
-            //Necessary because organisations don't have a personid'
-            participantCondition += "  and PERSON.PERSONID is NULL"
-        }
-        
-        countParticipantsToAdd = CampaignUtils.GetContactCountByCondition(participantCondition, isUpdate, useRightJoinToGetOrgs);
-
-        /*
-         * If the update mode is active, the goal is to move participants between steps.
-         * therefore the check if the affected participants already are added to a particluar step has to be on the step level.
-         * 
-         * If not, participants are to be added. It has to be checked if a participant is in a campaign, regardless of the particular
-         * step because one participant can be in a campaign just once.
-         */
-        if(isUpdate == "true")
-            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID = '" + selectedCampaignStepId + "'";
-        else
-            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGN_ID = '" + selectedCampaignId + "'";
-
-        countParticipantsAlreadyInCampaign = CampaignUtils.GetParticipantsAlreadyAddedCountByCondition(whereCondition, participantCondition, useRightJoinToGetOrgs);
-    }
-    countValidParticipantsToAdd = countParticipantsToAdd - countParticipantsAlreadyInCampaign;
-    
-    if(countParticipantsToAdd <= 0)
-    {
-            messageString = translate.text("No contacts selected");
-    }
-    else if(countValidParticipantsToAdd <= 0)
-    {
-            messageString = translate.text("All selected participants already are in the campaign");
-    }
-    else if(hasStepEnoughSlots(countValidParticipantsToAdd))
-    {
-        messageString = translate.withArguments("%0/%1 participant(s) will be added to the selected campaign step", [countValidParticipantsToAdd, countParticipantsToAdd]);
-        resultValue = "true";
-    }
-    else
-    {
-        messageString = translate.withArguments("Not enough slots for %0/%1 participant(s)", [countValidParticipantsToAdd, countParticipantsToAdd]);
-    }
-    neon.setFieldValue("$field.campaignParticipantMessage", messageString);
-    result.string(resultValue);
-}
-
-function hasStepEnoughSlots(pCountToAdd)
-{
-    let currentParticipants = CampaignUtils.getParticipantCountForStep(selectedCampaignStepId)
-    let maxParticipants = CampaignUtils.getMaxParticipantCountForStep(selectedCampaignStepId)
-
-    return (parseInt(currentParticipants) + parseInt(pCountToAdd)) <= maxParticipants;
+import("Campaign_lib");
+import("system.result");
+import("system.translate");
+import("system.vars");
+import("system.neon");
+
+var campaignParticipantsAmount = 0;
+
+var targetTable = vars.get("$param.dataSourceTableName_param");
+var selectionRowIds = JSON.parse(vars.getString("$param.campaignParticipantsRowIds_param"));
+var selectedCampaignId = vars.get("$field.CAMPAIGN_ID");
+var selectedCampaignStepId = vars.get("$field.CAMPAIGNSTEP_ID");
+var isUpdate = vars.get("$field.isUpdate");
+
+var participantCondition = "";
+var messageString = "";
+var resultValue = "false";
+
+if(selectedCampaignId != '')
+{
+    /*
+     * First determines how many of the selected are already in the campaign
+     * If there are no valid participants at all or too many in respect of the
+     * selected steps max number of participants, nothing will be added. 
+     * A message describing this situation will be written.
+     * 
+     * If none of those criteria match, all participants are good to be added.
+     */
+    var countParticipantsAlreadyInCampaign = 0;
+    var countParticipantsToAdd = 0;
+    var countValidParticipantsToAdd = 0;
+    var whereCondition = "";
+    var rowIdsComparisonField = "";
+        
+    //if theres a selection, we have to use it, otherwise use the condition
+    if(selectionRowIds != null && selectionRowIds.length > 0)
+    {
+        countParticipantsToAdd = selectionRowIds.length;
+        
+        
+        /*
+         * The field against which will be checked, if the selection is already contained in the campaignStep
+         * depends on wether isUpdate is true or not.
+         * If true, the selected IDs are CampaignParticipantIds, otherwise contactIds.
+         * This happens because on true the action is called in the participants filterview to move participants
+         * between steps, on false new participants are in the process of being added to a step.
+         */
+        if(isUpdate == "true")
+        {
+            rowIdsComparisonField = "CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID";
+            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID = '" + selectedCampaignStepId + "'";
+        }
+        else
+        {
+            rowIdsComparisonField = "CAMPAIGNPARTICIPANT.CONTACT_ID";
+            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGN_ID = '" + selectedCampaignId + "'";
+        }
+        countParticipantsAlreadyInCampaign = CampaignUtils.GetParticipantsAlreadyAddedCountByRowId(whereCondition, rowIdsComparisonField, selectionRowIds);
+    }
+    else
+    {
+        participantCondition = JSON.parse(vars.getString("$param.campaignParticipantsCondition_param")).condition;
+        
+        let useRightJoinToGetOrgs = "false";
+        if(targetTable == "ORGANISATION")
+        {
+            useRightJoinToGetOrgs = "true";
+            
+            //Necessary because organisations don't have a personid'
+            participantCondition += "  and PERSON.PERSONID is NULL"
+        }
+        
+        countParticipantsToAdd = CampaignUtils.GetContactCountByCondition(participantCondition, isUpdate, useRightJoinToGetOrgs);
+
+        /*
+         * If the update mode is active, the goal is to move participants between steps.
+         * therefore the check if the affected participants already are added to a particluar step has to be on the step level.
+         * 
+         * If not, participants are to be added. It has to be checked if a participant is in a campaign, regardless of the particular
+         * step because one participant can be in a campaign just once.
+         */
+        if(isUpdate == "true")
+            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID = '" + selectedCampaignStepId + "'";
+        else
+            whereCondition = "CAMPAIGNPARTICIPANT.CAMPAIGN_ID = '" + selectedCampaignId + "'";
+
+        countParticipantsAlreadyInCampaign = CampaignUtils.GetParticipantsAlreadyAddedCountByCondition(whereCondition, participantCondition, useRightJoinToGetOrgs);
+    }
+    countValidParticipantsToAdd = countParticipantsToAdd - countParticipantsAlreadyInCampaign;
+    
+    if(countParticipantsToAdd <= 0)
+    {
+            messageString = translate.text("No contacts selected");
+    }
+    else if(countValidParticipantsToAdd <= 0)
+    {
+            messageString = translate.text("All selected participants already are in the campaign");
+    }
+    else
+    {
+        let excess = getParticipantExcess(countValidParticipantsToAdd);
+        if (excess > 0)
+        {
+            messageString = translate.withArguments("Not enough slots for %0/%1 participant(s)", [excess, countParticipantsToAdd]);
+        }
+        else
+        {
+            messageString = translate.withArguments("%0/%1 participant(s) will be added to the selected campaign step", [countValidParticipantsToAdd, countParticipantsToAdd]);
+            resultValue = "true";
+        }
+    }
+    neon.setFieldValue("$field.campaignParticipantMessage", messageString);
+    result.string(resultValue);
+}
+
+function getParticipantExcess (pCountToAdd)
+{
+    let currentParticipants = CampaignUtils.getParticipantCountForStep(selectedCampaignStepId)
+    let maxParticipants = CampaignUtils.getMaxParticipantCountForStep(selectedCampaignStepId)
+
+    return (parseInt(currentParticipants) + parseInt(pCountToAdd)) - maxParticipants;
 }
\ No newline at end of file
diff --git a/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js b/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js
index c471c8a13c8c91ffa5916745d7e8c6080f5c92ef..12f66113e1ae398eec2ebdb19e6f337bbee03500 100644
--- a/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/CampaignAddParticipants_entity/recordcontainers/jdito/onInsert.js
@@ -1,3 +1,4 @@
+import("Sql_lib");
 import("system.vars");
 import("system.db");
 import("system.util");
@@ -62,12 +63,22 @@ function _handleCondition(pCampaignId, pTargetTableName, pCondition)
 
 function _handleRowIds(pParticipantRowIds)
 {
+    var oldStepIds = {};
     if(isUpdate == "true")
     {
         cols = [ "CAMPAIGNSTEP_ID",
-                  "USER_EDIT",
-                  "DATE_EDIT"
+                 "USER_EDIT",
+                 "DATE_EDIT"
                 ];
+        
+        let oldSteps = db.table(SqlCondition.begin()
+            .orIn("CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID", pParticipantRowIds)
+            .buildSql("select CAMPAIGNPARTICIPANTID, CAMPAIGNSTEP_ID from CAMPAIGNPARTICIPANT", "1=2")
+        );
+        oldSteps.forEach(function (step)
+        {
+            this[step[0]] = step[1];
+        }, oldStepIds);
     }
     else
     {
@@ -89,12 +100,21 @@ function _handleRowIds(pParticipantRowIds)
 
         if(isUpdate == "true")
         {
+            let oldCampaignStepId = oldStepIds[pParticipantRowIds[participant]] || "";
             let updatedValues = [newCampaignStepId,
                             vars.get("$sys.user"),
                             vars.get("$sys.date")];
 
             let condition = "CONTACT_ID = '" + pParticipantRowIds[participant] + "' OR CAMPAIGNPARTICIPANTID = '" + pParticipantRowIds[participant] + "'";
-            let valsCampaignParticipantLog = new Array(pParticipantRowIds[participant], campaignId, newCampaignStepId, campaignParticipantLogId, vars.get("$sys.user"), vars.get("$sys.date"));
+            let valsCampaignParticipantLog = [
+                pParticipantRowIds[participant], 
+                campaignId, 
+                newCampaignStepId, 
+                campaignParticipantLogId, 
+                vars.get("$sys.user"), 
+                vars.get("$sys.date"), 
+                oldCampaignStepId
+            ];
 
             statementArray.push(["CAMPAIGNPARTICIPANT", cols, null, updatedValues, condition]);
             logArray.push(["CAMPAIGNPARTICIPANTLOG", colNamesCampaignParticipantLog, null, valsCampaignParticipantLog]);
@@ -122,7 +142,6 @@ function _handleRowIds(pParticipantRowIds)
         }
     else
         db.inserts(statementArray);
-
     if(logArray.length > 0)
         db.inserts(logArray);
 }
diff --git a/entity/CampaignCost_entity/CampaignCost_entity.aod b/entity/CampaignCost_entity/CampaignCost_entity.aod
index 59886f72bab303c99a88cbb5e5b73fe9d3573b36..772e72e68bddab6f85c6d76da49789fe1f9fbdde 100644
--- a/entity/CampaignCost_entity/CampaignCost_entity.aod
+++ b/entity/CampaignCost_entity/CampaignCost_entity.aod
@@ -6,7 +6,6 @@
     <element>CampaignAnalysis_entity</element>
     <element>CampaignCostChart_entity</element>
   </siblings>
-  <afterOperatingState>%aditoprj%/entity/CampaignCost_entity/afterOperatingState.js</afterOperatingState>
   <titlePlural>Cost entries</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
diff --git a/entity/CampaignCost_entity/afterOperatingState.js b/entity/CampaignCost_entity/afterOperatingState.js
deleted file mode 100644
index d39336402371a7d3f5db536a2e8ca261fa4e7fe3..0000000000000000000000000000000000000000
--- a/entity/CampaignCost_entity/afterOperatingState.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import("system.neon");
-import("system.vars");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW) 
-{
-    neon.refreshAll();
-}
\ No newline at end of file
diff --git a/entity/CampaignParticipantChart_entity/recordcontainers/jdito/contentProcess.js b/entity/CampaignParticipantChart_entity/recordcontainers/jdito/contentProcess.js
index f3a905214eece4720bb4675a6e9e4febf06a57c5..c0de8da56a189d7fc6347b135c79685f7a76468d 100644
--- a/entity/CampaignParticipantChart_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/CampaignParticipantChart_entity/recordcontainers/jdito/contentProcess.js
@@ -9,7 +9,10 @@ var campaignId = vars.get("$param.CampaignId_param");
 var sqlSelect = "select CAMPAIGNSTEPID, CAMPAIGNSTEP.NAME, count(distinct CAMPAIGNPARTICIPANTID), MAXPARTICIPANTS, count(distinct CAMPAIGNPARTICIPANTLOG.CAMPAIGNPARTICIPANT_ID) \n\
     from CAMPAIGNSTEP \n\
     left join CAMPAIGNPARTICIPANT on CAMPAIGNSTEPID = CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID \n\
-    left join CAMPAIGNPARTICIPANTLOG on CAMPAIGNSTEPID = CAMPAIGNPARTICIPANTLOG.CAMPAIGNSTEP_ID";
+    left join CAMPAIGNPARTICIPANTLOG on CAMPAIGNSTEPID = CAMPAIGNPARTICIPANTLOG.PREVIOUS_CAMPAIGNSTEP_ID and CAMPAIGNPARTICIPANTLOG.CAMPAIGNSTEP_ID != CAMPAIGNPARTICIPANTLOG.PREVIOUS_CAMPAIGNSTEP_ID";
+     //Participated: counts all distinct CAMPAIGNPARTICIPANT_IDs from logs where the PREVIOUS_CAMPAIGNSTEP_ID is the id of the campaign step. Logs where
+     //the new CAMPAIGNSTEP_ID is the same as the PREVIOUS_CAMPAIGNSTEP_ID are not counted. This does not check if the SORTING is correct.
+
 var sqlGroupOrderBy = "group by CAMPAIGNSTEPID, CAMPAIGNSTEP.NAME, MAXPARTICIPANTS, CAMPAIGNSTEP.SORTING order by CAMPAIGNSTEP.SORTING";
 
 var sqlQuery = SqlCondition.begin()
@@ -19,9 +22,9 @@ var sqlQuery = SqlCondition.begin()
 var stepData = db.table(sqlQuery);
 
 var categories = {
-    CURRENT : "CURRENT",
-    MAX : "MAX",
-    LOGGED : "LOGGED"
+    CURRENT : "_CURRENT",
+    MAX : "_MAX",
+    LOGGED : "_LOGGED"
 };
 var records = [];
 
diff --git a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
index eadee452ce6751f048c9998d1fb110e919c04af2..71f472999b3fec4e91d5e5d067cc1facd1872730 100644
--- a/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
+++ b/entity/CampaignParticipant_entity/CampaignParticipant_entity.aod
@@ -229,10 +229,6 @@
         </linkInformation>
       </linkInformation>
       <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>CAMPAIGNPARTICIPANT_ID.value</name>
-          <recordfield>CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CAMPAIGN_ID.value</name>
           <recordfield>CAMPAIGNPARTICIPANT.CAMPAIGN_ID</recordfield>
@@ -265,6 +261,14 @@
           <name>USER_NEW.value</name>
           <recordfield>CAMPAIGNPARTICIPANT.USER_NEW</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CAMPAIGNPARTICIPANTID.displayValue</name>
+          <recordfield>CAMPAIGNPARTICIPANT.CAMPAIGNPARTICIPANTID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADVERTISINGBAN.value</name>
+          <expression>%aditoprj%/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/advertisingban.value/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/colorProcess.js b/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/colorProcess.js
index 0c478c06f5f0d5bec38a2c6cee2135b21194077d..3eb3a718c487bffa661a1be7118944382102d9ab 100644
--- a/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/colorProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/colorProcess.js
@@ -1,7 +1,6 @@
 import("system.result");
 import("Sql_lib");
 import("system.db");
-import("system.logging");
 import("system.vars");
 import("system.neon");
 import("Campaign_lib");
diff --git a/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/valueProcess.js b/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/valueProcess.js
index cf69811ac8cbb00ca31d0c3935cae70ddb983c86..9fdd845ab16b3d16340afe51c363673a7942f1a6 100644
--- a/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/valueProcess.js
+++ b/entity/CampaignParticipant_entity/entityfields/advertisingban_icon/valueProcess.js
@@ -1,5 +1,4 @@
 import("system.vars");
-import("system.logging");
 import("system.result");
 import("KeywordRegistry_basic");
 import("Keyword_lib");
diff --git a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
index ef4b32c6c5801121bfac2c42c138c3b10ee5d2d9..73033cd7e06fc00bb164ff8920be139478a10057 100644
--- a/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
+++ b/entity/CampaignParticipant_entity/entityfields/campaign_id/onValueChange.js
@@ -2,5 +2,5 @@ import("system.neon");
 import("Campaign_lib");
 import("system.vars");
 
-var stepId = CampaignUtils.getDefaultCampaignStep(vars.get("$field.CAMPAIGN_ID"));
+var stepId = CampaignUtils.getDefaultCampaignStep(vars.get("local.value"));
 neon.setFieldValue("$field.CAMPAIGNSTEP_ID", stepId);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/onDBInsert.js b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/onDBInsert.js
index 847118274289be3fc7b39180b3dcbe19e3b35ccb..bc3712278f25894a8721b39e3ab1ce74ecab3e00 100644
--- a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/onDBInsert.js
+++ b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/onDBInsert.js
@@ -1,9 +1,11 @@
-import("system.vars");
-import("Campaign_lib");
-
-var campaignId = vars.get("$field.CAMPAIGN_ID");
-var campaignStepId = vars.get("$field.CAMPAIGNSTEP_ID");
-var contactId = vars.get("$field.CONTACT_ID");
-var campaignParticipantId = vars.get("$field.CAMPAIGNPARTICIPANTID");
-
-CampaignUtils.createLogEntry(campaignId, campaignStepId, contactId, campaignParticipantId);
\ No newline at end of file
+import("system.vars");
+import("Campaign_lib");
+
+var rowdata = vars.get("$local.rowdata");
+var campaignId = rowdata["CAMPAIGNPARTICIPANT.CAMPAIGN_ID"];
+var campaignStepId = rowdata["CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID"];
+var contactId = rowdata["CAMPAIGNPARTICIPANT.CONTACT_ID"];
+var campaignParticipantId = vars.get("$local.uid");
+var previousCampaignstepId = "";
+
+CampaignUtils.createLogEntry(campaignId, campaignStepId, contactId, campaignParticipantId, previousCampaignstepId);
\ No newline at end of file
diff --git a/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/advertisingban.value/expression.js b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/advertisingban.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..6d7b0fbce0469fbb63c347dd3e019e50def57e25
--- /dev/null
+++ b/entity/CampaignParticipant_entity/recordcontainers/participantsdbrecordcontainer/recordfieldmappings/advertisingban.value/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+
+result.string("(select MEDIUM from CAMPAIGNSTEP \n\
+                join COMMRESTRICTION on MEDIUM = STEPMEDIUM \n\
+                where COMMRESTRICTION.CONTACT_ID = CAMPAIGNPARTICIPANT.CONTACT_ID \n\
+                and CAMPAIGNSTEP.CAMPAIGNSTEPID = CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID)");
\ No newline at end of file
diff --git a/entity/CampaignPlanning_entity/CampaignPlanning_entity.aod b/entity/CampaignPlanning_entity/CampaignPlanning_entity.aod
index 773b27241640384250d4316e99e3f45e3724bf1b..fb7b300018359c637ca7739a9c25e48db81586a4 100644
--- a/entity/CampaignPlanning_entity/CampaignPlanning_entity.aod
+++ b/entity/CampaignPlanning_entity/CampaignPlanning_entity.aod
@@ -2,12 +2,12 @@
 <entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.10" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.10">
   <name>CampaignPlanning_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>NEON:GROUP_APPOINTMENT</icon>
   <title>Campaign planning</title>
   <siblings>
     <element>Campaign_entity</element>
     <element>CampaignStep_entity</element>
   </siblings>
+  <iconId>NEON:GROUP_APPOINTMENT</iconId>
   <recordContainer>jditoRecordContainer</recordContainer>
   <entityFields>
     <entityProvider>
@@ -103,14 +103,17 @@
         <dbRecordFieldMapping>
           <name>CAMPAIGN_NAME.value</name>
           <recordfield>CAMPAIGN.NAME</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DATE_END.value</name>
           <recordfield>CAMPAIGNSTEP.DATE_END</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DATE_START.value</name>
           <recordfield>CAMPAIGNSTEP.DATE_START</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PREDECESSOR_STEP_ID.value</name>
diff --git a/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/onUpdate.js b/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/onUpdate.js
index b0ba5ab3b44309370cdf78bbdf8445663fc0953a..a03a0c069fd6ecf787026d211b45d45b783d23a9 100644
--- a/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/onUpdate.js
+++ b/entity/CampaignPlanning_entity/recordcontainers/jditorecordcontainer/onUpdate.js
@@ -1,5 +1,4 @@
 import("Campaign_lib");
-import("system.logging");
 import("system.vars");
 import("system.db");
 
diff --git a/entity/CampaignStep_entity/CampaignStep_entity.aod b/entity/CampaignStep_entity/CampaignStep_entity.aod
index 8f1eb9cea2846eae246e5cf1a21e9ead325fcb6b..fd0f7b4310d0c03f1787759d9f35045a26d0b677 100644
--- a/entity/CampaignStep_entity/CampaignStep_entity.aod
+++ b/entity/CampaignStep_entity/CampaignStep_entity.aod
@@ -6,6 +6,7 @@
   <title>Campaign Step</title>
   <siblings>
     <element>CampaignPlanning_entity</element>
+    <element>Campaign_entity</element>
   </siblings>
   <contentTitleProcess>%aditoprj%/entity/CampaignStep_entity/contentTitleProcess.js</contentTitleProcess>
   <onValidation>%aditoprj%/entity/CampaignStep_entity/onValidation.js</onValidation>
@@ -77,12 +78,12 @@
       <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/date_end/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>STATE</name>
+      <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordStates</consumer>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/state/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/state/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>SORTING</name>
@@ -337,9 +338,12 @@
         <entityParameter>
           <name>campaignId_param</name>
           <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/campaignid_param/valueProcess.js</valueProcess>
-          <expose v="true" />
           <mandatory v="true" />
         </entityParameter>
+        <entityParameter>
+          <name>maxSort_param</name>
+          <valueProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js</valueProcess>
+        </entityParameter>
       </children>
     </entityConsumer>
     <entityField>
@@ -378,6 +382,10 @@
       <onActionProcess>%aditoprj%/entity/CampaignStep_entity/entityfields/newbulkmail/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:AT</iconId>
     </entityActionField>
+    <entityParameter>
+      <name>maxSort_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -428,8 +436,8 @@
           <recordfield>CAMPAIGNSTEP.SORTING</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>STATE.value</name>
-          <recordfield>CAMPAIGNSTEP.STATE</recordfield>
+          <name>STATUS.value</name>
+          <recordfield>CAMPAIGNSTEP.STATUS</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>USER_EDIT.value</name>
@@ -440,8 +448,8 @@
           <recordfield>CAMPAIGNSTEP.USER_NEW</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>STATE.displayValue</name>
-          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js</expression>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>MAXPARTICIPANTS.value</name>
diff --git a/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js b/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js
index 4d24ddc4a7d1afc5465ea27bcff3229edbc67d7d..fcfc9adff47d5aec4a5503074c7efba56b4bc507 100644
--- a/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js
+++ b/entity/CampaignStep_entity/entityfields/campaign_id/stateProcess.js
@@ -1,5 +1,4 @@
 import("system.result");
-import("system.logging");
 import("system.neon");
 import("system.vars");
 
diff --git a/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js b/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..00062fc76127c61b752533c1c15f0578b8e65ce0
--- /dev/null
+++ b/entity/CampaignStep_entity/entityfields/campaignstepsconsumer/children/maxsort_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(parseInt(vars.get("$field.SORTING")) - 1);
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/state/displayValueProcess.js b/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js
similarity index 80%
rename from entity/Campaign_entity/entityfields/state/displayValueProcess.js
rename to entity/CampaignStep_entity/entityfields/status/displayValueProcess.js
index 686247b7356e156e1c5dc6b70d840c4da9b099e2..d0247bf23ab99895d336f6954448a7866fc855c5 100644
--- a/entity/Campaign_entity/entityfields/state/displayValueProcess.js
+++ b/entity/CampaignStep_entity/entityfields/status/displayValueProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.vars");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string(KeywordUtils.getViewValue($KeywordRegistry.campaignState(), vars.get("$field.STATE")));
\ No newline at end of file
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.campaignStepState(), vars.get("$field.STATUS")));
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/entityfields/state/valueProcess.js b/entity/CampaignStep_entity/entityfields/status/valueProcess.js
similarity index 100%
rename from entity/CampaignStep_entity/entityfields/state/valueProcess.js
rename to entity/CampaignStep_entity/entityfields/status/valueProcess.js
diff --git a/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js b/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js
index c693832d8e3fad0d122698e5320c4248edf4735f..1049e6cdec0f35e2915051b645b193f32ae8cd51 100644
--- a/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/CampaignStep_entity/recordcontainers/db/conditionProcess.js
@@ -1,7 +1,12 @@
+import("system.db");
+import("Sql_lib");
 import("system.vars");
 import("system.result");
 
-if(vars.exists("$param.campaignId_param") && vars.get("$param.campaignId_param"))
-{
-    result.string("CAMPAIGN_ID = '" + vars.getString("$param.campaignId_param") + "'");
-}
+var cond = SqlCondition.begin()
+                       .andPrepareVars("CAMPAIGNSTEP.CAMPAIGN_ID", "$param.campaignId_param");
+
+cond.andPrepareIfSet("CAMPAIGNSTEP.SORTING", vars.getString("$param.maxSort_param"), "# <= ?");
+
+
+result.string(db.translateCondition(cond.build("1=1")));
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js b/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
index bb926e234e662a174638dfcabd90a68b299db5ed..f0e8a44adee3749dafae8e5cba1b67c52701e01a 100644
--- a/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
+++ b/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignStepState(), "CAMPAIGNSTEP.STATE");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignStepState(), "CAMPAIGNSTEP.STATUS");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js b/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
similarity index 78%
rename from entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
rename to entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
index fd49eda303bdc422d288bacde15a4d61683cdd3c..f0e8a44adee3749dafae8e5cba1b67c52701e01a 100644
--- a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
+++ b/entity/CampaignStep_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -2,5 +2,5 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "SALESPROJECT.STATE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignStepState(), "CAMPAIGNSTEP.STATUS");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/Campaign_entity/Campaign_entity.aod b/entity/Campaign_entity/Campaign_entity.aod
index c5df541f4ef4066b9f1837fcb4474cd035c651e8..177e7d9fbbdac4d15c175fb3ea6a4c0a39380365 100644
--- a/entity/Campaign_entity/Campaign_entity.aod
+++ b/entity/Campaign_entity/Campaign_entity.aod
@@ -4,6 +4,12 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <icon>VAADIN:GROUP</icon>
   <title>Campaign</title>
+  <siblings>
+    <element>CampaignStep_entity</element>
+    <element>CampaignCost_entity</element>
+    <element>CampaignCostChart_entity</element>
+    <element>CampaignStep_entity</element>
+  </siblings>
   <contentTitleProcess>%aditoprj%/entity/Campaign_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/Campaign_entity/afterUiInit.js</afterUiInit>
   <iconId>VAADIN:GROUP</iconId>
@@ -30,6 +36,7 @@
       <name>NAME</name>
       <title>Name</title>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/name/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>DATE_START</name>
@@ -63,6 +70,7 @@
       <name>DESCRIPTION</name>
       <title>Description</title>
       <contentType>LONG_TEXT</contentType>
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/description/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>USER_NEW</name>
@@ -104,12 +112,12 @@
       </children>
     </entityConsumer>
     <entityField>
-      <name>STATE</name>
+      <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordStates</consumer>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/state/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Campaign_entity/entityfields/state/displayValueProcess.js</displayValueProcess>
+      <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Campaign_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityConsumer>
       <name>KeywordStates</name>
@@ -337,6 +345,7 @@
     </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>
@@ -406,6 +415,12 @@
       <title>Nur eigene anzeigen</title>
       <expose v="true" />
     </entityParameter>
+    <entityActionField>
+      <name>copyCampaign</name>
+      <title>Copy Campaign</title>
+      <onActionProcess>%aditoprj%/entity/Campaign_entity/entityfields/copycampaign/onActionProcess.js</onActionProcess>
+      <iconId>NEON:EXPORT</iconId>
+    </entityActionField>
     <entityActionField>
       <name>openAdminView</name>
       <title>Open admin view</title>
@@ -413,6 +428,63 @@
       <iconId>VAADIN:CURLY_BRACKETS</iconId>
       <stateProcess>%aditoprj%/entity/Campaign_entity/entityfields/openadminview/stateProcess.js</stateProcess>
     </entityActionField>
+    <entityParameter>
+      <name>originalCampaignIdCopy_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>description_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>emplContactId_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>name_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>state_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityConsumer>
+      <name>Documents</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Document_entity</entityName>
+        <fieldName>Documents</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>AssignmentTable_param</name>
+          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>AssignmentRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </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>
+          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Campaign_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -442,14 +514,17 @@
         <dbRecordFieldMapping>
           <name>DESCRIPTION.value</name>
           <recordfield>CAMPAIGN.DESCRIPTION</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>EMPLOYEE_CONTACT_ID.value</name>
           <recordfield>CAMPAIGN.EMPLOYEE_CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>NAME.value</name>
           <recordfield>CAMPAIGN.NAME</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>USER_EDIT.value</name>
@@ -459,14 +534,6 @@
           <name>USER_NEW.value</name>
           <recordfield>CAMPAIGN.USER_NEW</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATE.value</name>
-          <recordfield>CAMPAIGN.STATE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATE.displayValue</name>
-          <expression>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CAMPAIGNID.value</name>
           <recordfield>CAMPAIGN.CAMPAIGNID</recordfield>
@@ -478,12 +545,38 @@
         <dbRecordFieldMapping>
           <name>DATE_START.value</name>
           <expression>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_start.value/expression.js</expression>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DATE_END.value</name>
           <expression>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/date_end.value/expression.js</expression>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.value</name>
+          <recordfield>CAMPAIGN.STATUS</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/Campaign_entity/entityfields/attributes/stateProcess.js b/entity/Campaign_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js b/entity/Campaign_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..533f8ec837ea2f9b588ddf05545ac47cdda23d18
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/attributetree/children/objectrowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$sys.uid"));
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js b/entity/Campaign_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e8b4e72e74a0a4696ff39e83135aa6100ef908c0
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/attributetree/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Campaign_entity/entityfields/attributetree/stateProcess.js b/entity/Campaign_entity/entityfields/attributetree/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/attributetree/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/copycampaign/onActionProcess.js b/entity/Campaign_entity/entityfields/copycampaign/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d0e4f15cee96a3e7328b2b5d92067f31c8cceaef
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/copycampaign/onActionProcess.js
@@ -0,0 +1,11 @@
+import("system.vars");
+import("Campaign_lib");
+
+var campaignid = vars.getString("$field.CAMPAIGNID");
+var description = vars.getString("$field.DESCRIPTION");
+var emplContactId = vars.getString("$field.EMPLOYEE_CONTACT_ID");
+var name = vars.getString("$field.NAME");
+var state = vars.getString("$field.STATUS");
+
+CampaignUtils.copyCampaign(campaignid, description, emplContactId, name, state);
+    
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/description/valueProcess.js b/entity/Campaign_entity/entityfields/description/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65e38624eb4cbf930ce78521ab04ee36f367a03d
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/description/valueProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.description_param") && vars.get("$param.description_param")) 
+{
+    result.string(vars.get("$param.description_param"));
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js b/entity/Campaign_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..96338662b420b63d0107f01aec509a0d60cd6e2f
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/documents/children/assignmentrowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.CAMPAIGNID"));
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js b/entity/Campaign_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fe27d1de73e3dd34826f531666659febc05d1087
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/documents/children/assignmenttable_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("CAMPAIGN");
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
index 4711a17716cf559c48c73cd7ea780b2ffe5e2e03..2f4b53c92dc95c4b2e185fe4dbb4356673b1cc48 100644
--- a/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/employee_contact_id/valueProcess.js
@@ -3,5 +3,10 @@ import("system.neon");
 import("system.vars");
 import("Employee_lib");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-    result.string(EmployeeUtils.getCurrentContactId());
\ No newline at end of file
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW) 
+{
+    if(vars.exists("$param.emplContactId_param") && vars.get("$param.emplContactId_param"))
+        result.string(vars.get("$param.emplContactId_param"));
+    else if(vars.get("$this.value") == null)
+        result.string(EmployeeUtils.getCurrentContactId());
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/state/valueProcess.js b/entity/Campaign_entity/entityfields/name/valueProcess.js
similarity index 52%
rename from entity/Campaign_entity/entityfields/state/valueProcess.js
rename to entity/Campaign_entity/entityfields/name/valueProcess.js
index 0c370f2eb587056a5e1f0235f84bcaf137c6d883..da922d4af5d21c64d4fae65c901d3479732b2b70 100644
--- a/entity/Campaign_entity/entityfields/state/valueProcess.js
+++ b/entity/Campaign_entity/entityfields/name/valueProcess.js
@@ -1,7 +1,8 @@
-import("system.neon");
 import("system.vars");
 import("system.result");
-import("KeywordRegistry_basic");
+import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
-    result.string($KeywordRegistry.campaignState$planning());
\ No newline at end of file
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.name_param") && vars.get("$param.name_param")) 
+{
+    result.string(vars.get("$param.name_param"));
+}
\ No newline at end of file
diff --git a/entity/CampaignStep_entity/entityfields/state/displayValueProcess.js b/entity/Campaign_entity/entityfields/status/displayValueProcess.js
similarity index 80%
rename from entity/CampaignStep_entity/entityfields/state/displayValueProcess.js
rename to entity/Campaign_entity/entityfields/status/displayValueProcess.js
index eda9e4ac40f21a62ec1025510c6dcbcfe91877d0..2b82fe77f1e59332c6adfbfa9398714a6b7b2566 100644
--- a/entity/CampaignStep_entity/entityfields/state/displayValueProcess.js
+++ b/entity/Campaign_entity/entityfields/status/displayValueProcess.js
@@ -3,4 +3,4 @@ import("system.vars");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string(KeywordUtils.getViewValue($KeywordRegistry.campaignStepState(), vars.get("$field.STATE")));
\ No newline at end of file
+result.string(KeywordUtils.getViewValue($KeywordRegistry.campaignState(), vars.get("$field.STATUS")));
\ No newline at end of file
diff --git a/entity/Campaign_entity/entityfields/status/valueProcess.js b/entity/Campaign_entity/entityfields/status/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2593cb9a9879f1bbdcd91a08c5ca3ed99eea0c4a
--- /dev/null
+++ b/entity/Campaign_entity/entityfields/status/valueProcess.js
@@ -0,0 +1,12 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+import("KeywordRegistry_basic");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+{
+    if(vars.exists("$param.state_param") && vars.get("$param.state_param"))
+        result.string(vars.get("$param.state_param"));
+    else if (vars.get("$this.value") == null)
+        result.string($KeywordRegistry.campaignState$planning());
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
index e2736c04e6c8e8231e524311c3733b49239dd775..35564fcfc97e9cbfd34ef204697547e186e56a9f 100644
--- a/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Campaign_entity/recordcontainers/db/conditionProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("Employee_lib");
 import("system.db");
 import("system.result");
diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/onDBInsert.js b/entity/Campaign_entity/recordcontainers/db/onDBInsert.js
index 1c4614ea9ccf8b7adc7d532ea28deab3036f1970..817ea9b70d548acdc636dab946a5f26affc8ebb0 100644
--- a/entity/Campaign_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Campaign_entity/recordcontainers/db/onDBInsert.js
@@ -1,3 +1,4 @@
+import("system.neon");
 import("Employee_lib");
 import("system.translate");
 import("KeywordRegistry_basic");
@@ -5,30 +6,39 @@ import("system.util");
 import("system.vars");
 import("system.db");
 import("system.datetime");
+import("Campaign_lib");
 
-var threeWeeks = datetime.ONE_WEEK * 3;
-var inThreeWeeks = datetime.date() + threeWeeks;
+var rowdata = vars.get("$local.rowdata");
+var campaignId = vars.get("$local.uid");
 
-var campaignId = vars.get("$field.CAMPAIGNID");
-var campaignStepId = util.getNewUUID();
-var campaignStepName = translate.text("Added");
+if (vars.get("$param.originalCampaignIdCopy_param"))
+    CampaignUtils.copyCampaignSteps(vars.getString("$param.originalCampaignIdCopy_param"), campaignId);
+else
+{
+    var threeWeeks = datetime.ONE_WEEK * 3;
+    var inThreeWeeks = datetime.date() + threeWeeks;
 
-var dateNew = vars.get("$sys.date");
-var userNew = vars.get("$sys.user");
+    
+    var campaignStepId = util.getNewUUID();
+    var campaignStepName = translate.text("Added");
 
-var dateStart = dateNew;
-var dateEnd = inThreeWeeks;
+    var dateNew = vars.get("$sys.date");
+    var userNew = vars.get("$sys.user");
 
-var description = "";
-var maxParticipants = 100;
-var state = $KeywordRegistry.campaignStepState$open();
-var sorting = 1;
-var employeeContactId = vars.get("$field.EMPLOYEE_CONTACT_ID");
+    var dateStart = dateNew;
+    var dateEnd = inThreeWeeks;
 
+    var description = "";
+    var maxParticipants = 100;
+    var state = $KeywordRegistry.campaignStepState$open();
+    var sorting = 1;
+    var employeeContactId = rowdata["CAMPAIGN.EMPLOYEE_CONTACT_ID"];
 
-var columns = ["CAMPAIGN_ID", "CAMPAIGNSTEPID", "NAME", "DATE_NEW", "USER_NEW", 
-    "DATE_START", "DATE_END", "DESCRIPTION", "MAXPARTICIPANTS", "STATE", "SORTING", "EMPLOYEE_CONTACT_ID"];
-var values = [campaignId, campaignStepId, campaignStepName, dateNew, userNew,
-    dateStart, dateEnd, description, maxParticipants, state, sorting, employeeContactId];
 
-db.insertData("CAMPAIGNSTEP", columns, null, values);
\ No newline at end of file
+    var columns = ["CAMPAIGN_ID", "CAMPAIGNSTEPID", "NAME", "DATE_NEW", "USER_NEW", 
+        "DATE_START", "DATE_END", "DESCRIPTION", "MAXPARTICIPANTS", "STATUS", "SORTING", "EMPLOYEE_CONTACT_ID"];
+    var values = [campaignId, campaignStepId, campaignStepName, dateNew, userNew,
+        dateStart, dateEnd, description, maxParticipants, state, sorting, employeeContactId];
+
+    db.insertData("CAMPAIGNSTEP", columns, null, values);
+}
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fa780bd3a980c26cd0931459951df89c31b7d4a3
--- /dev/null
+++ b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Campaign'";
+
+result.string("CAMPAIGNID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
similarity index 80%
rename from entity/Campaign_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
rename to entity/Campaign_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
index cf96338344da8b24effa97ed754332065023ba9a..f67e50c289fe9587d704ded87665c5abce6509b5 100644
--- a/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js
+++ b/entity/Campaign_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignState(), "CAMPAIGN.STATE");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.campaignState(), "CAMPAIGN.STATUS");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod b/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
index f1e8d54dd76799cdf97498e244dd3622da45e4b5..e357c82de6f0ac692987fb1a41db11eea32d6c24 100644
--- a/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
+++ b/entity/ClassificationAdmin_entity/ClassificationAdmin_entity.aod
@@ -146,6 +146,7 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CLASSIFICATIONGROUP.value</name>
+          <isFilterable v="false" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CLASSIFICATIONSCORE_ID.value</name>
@@ -158,15 +159,18 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>OBJECT_TYPE.value</name>
+          <isFilterable v="false" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>OBJECT_ROWID.value</name>
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>SCORETYPE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CLASSIFICATIONTYPE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
diff --git a/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js b/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
index 52a61eb71abaeb31c3468bf91027f2167d1f47a1..5a78999dea25b300de3f031341e56276f932906e 100644
--- a/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ClassificationAdmin_entity/recordcontainers/jdito/contentProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("JditoFilter_lib");
 import("Classification_lib");
 import("system.vars");
@@ -12,7 +11,6 @@ var classificationTypeId;
 if (vars.exists("$local.idvalues") && vars.get("$local.idvalues") && vars.get("$local.idvalues").length > 0)
 {
     var selected = vars.get("$local.idvalues")[0];
-    logging.log(selected.toSource())
     
     classificationTypeId = selected;
 }
diff --git a/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js b/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js
index c6997b853583045d68eeca542145fc44b42c54f9..4f2202c6ae0a7cf767176ab29c830936649489dc 100644
--- a/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js
+++ b/entity/CommRestriction_Entity/entityfields/startdate/valueProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && ars.getString("$this.value") == null)
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null)
     result.string(datetime.date());
\ No newline at end of file
diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod
index 782a4ac54097b9fbfb45930032b03bd278df8bb8..b282b32ce6d64ca1e0b1a408362dc31226710a28 100644
--- a/entity/Communication_entity/Communication_entity.aod
+++ b/entity/Communication_entity/Communication_entity.aod
@@ -13,10 +13,6 @@
       <contentTypeProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/contentTypeProcess.js</contentTypeProcess>
       <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Communication_entity/entityfields/addr/valueProcess.js</valueProcess>
-      <onValueChange>%aditoprj%/entity/Communication_entity/entityfields/addr/onValueChange.js</onValueChange>
-      <onValueChangeTypes>
-        <element>MASK</element>
-      </onValueChangeTypes>
       <onValidation>%aditoprj%/entity/Communication_entity/entityfields/addr/onValidation.js</onValidation>
     </entityField>
     <entityField>
@@ -283,7 +279,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STANDARD.value</name>
-          <recordfield>COMMUNICATION.STANDARD</recordfield>
+          <recordfield>COMMUNICATION.ISSTANDARD</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>MEDIUM_ID.displayValue</name>
@@ -320,9 +316,8 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <indexFieldMappings>
         <indexRecordFieldMapping>
           <name>ADDR.value</name>
-          <indexFieldType>COMM</indexFieldType>
+          <indexFieldType>COMMUNICATION</indexFieldType>
           <isMultiValued v="true" />
-          <dbColumn>ADDR</dbColumn>
         </indexRecordFieldMapping>
       </indexFieldMappings>
     </indexRecordContainer>
diff --git a/entity/Communication_entity/entityfields/addr/onValueChange.js b/entity/Communication_entity/entityfields/addr/onValueChange.js
deleted file mode 100644
index 162a469de3311f5b17c1cff5994e510c1689ca4f..0000000000000000000000000000000000000000
--- a/entity/Communication_entity/entityfields/addr/onValueChange.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import("WsValidation_lib");
-import("system.neon");
-import("KeywordRegistry_basic");
-import("Keyword_lib");
-import("system.vars");
-import("system.cti");
-
-var addr = vars.get("$local.value");
-
-if (addr)
-{
-    var commMedium = vars.get("$field.MEDIUM_ID");
-    var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(commMedium, $KeywordRegistry.communicationMedium());
-    var commCategory = keywordAttributes.contentType || "TEXT";
-
-    switch (commCategory)
-    {
-        case "TELEPHONE": // Phone
-            if(addr.length > 5)
-            {
-                var formatted = cti.formatPhoneNumber(addr, true, vars.get("$param.ContactsMainCountry_param"))
-                neon.setFieldValue("$field.ADDR", cti.formatPhoneNumber(addr, true, vars.get("$param.ContactsMainCountry_param")))
-            }
-            break;
-        default:
-                  
-    }
-    
-}
\ No newline at end of file
diff --git a/entity/Communication_entity/entityfields/addr/valueProcess.js b/entity/Communication_entity/entityfields/addr/valueProcess.js
index 4485a97535dcb1453202c4be8c601ec4428b5afa..64ebd499996180f558787e6a291620ef0a6f8e05 100644
--- a/entity/Communication_entity/entityfields/addr/valueProcess.js
+++ b/entity/Communication_entity/entityfields/addr/valueProcess.js
@@ -1,3 +1,4 @@
+import("system.cti");
 import("system.result");
 import("system.vars");
 import("system.neon");
@@ -5,10 +6,12 @@ import("KeywordRegistry_basic");
 import("Keyword_lib");
 
 var recordstate = vars.get("$sys.recordstate");
+var addr = vars.getString("$this.value");
+ 
 if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)
 {
     var medium = vars.get("$field.MEDIUM_ID");
-    if (vars.getString("$this.value") == "" && medium)
+    if (addr == null && medium)
     {
         var keywordAttrs = KeywordUtils.getAttributeRelationsByKey(medium, $KeywordRegistry.communicationMedium());
         var isInternet = keywordAttrs.contentType == "LINK";
@@ -16,4 +19,25 @@ if (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE
         if (isInternet)
             result.string("https://");
     }
+    else if (addr)
+    {
+        var commMedium = vars.get("$field.MEDIUM_ID");
+        var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(commMedium, $KeywordRegistry.communicationMedium());
+        var commCategory = keywordAttributes.contentType || "TEXT";
+
+        switch (commCategory)
+        {
+            case "TELEPHONE": // Phone
+                if(addr.length > 5)
+                {
+                    var formatted = cti.formatPhoneNumber(addr, true, vars.get("$param.ContactsMainCountry_param"))
+                    result.string(cti.formatPhoneNumber(addr, true, vars.get("$param.ContactsMainCountry_param")))
+                }
+                break;
+            default:
+
+        }
+
+    }
+    
 }
\ No newline at end of file
diff --git a/entity/Communication_entity/recordcontainers/db/onDBInsert.js b/entity/Communication_entity/recordcontainers/db/onDBInsert.js
index 064879ccf84aa1d2ec5dafc66afc5dda16eed01d..fc9980a9213e693945a6f76ab92085f5e89c7172 100644
--- a/entity/Communication_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Communication_entity/recordcontainers/db/onDBInsert.js
@@ -2,7 +2,9 @@ import("DataPrivacy_lib");
 import("system.vars");
 import("StandardObject_lib");
 
-new StandardObject("Communication", vars.get("$field.COMMUNICATIONID"), "Person", vars.get("$field.CONTACT_ID"))
-    .onCommunicationInsert(vars.get("$field.MEDIUM_ID"));
-    
-DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$field.CONTACT_ID"), vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
+var rowdata = vars.get("$local.rowdata");
+
+var standard = new StandardObject("Communication", vars.get("$local.uid"), "Person", rowdata["COMMUNICATION.CONTACT_ID"])
+standard.onCommunicationInsert(rowdata["COMMUNICATION.MEDIUM_ID"]);
+
+DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
diff --git a/entity/Communication_entity/recordcontainers/db/onDBUpdate.js b/entity/Communication_entity/recordcontainers/db/onDBUpdate.js
index c6e55a7c46034dbe62bb7037c7cf3ae24c16d8d3..d3d0371cec1d21f9cb927d351939dc5beac8cb99 100644
--- a/entity/Communication_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Communication_entity/recordcontainers/db/onDBUpdate.js
@@ -2,7 +2,12 @@ import("DataPrivacy_lib");
 import("system.vars");
 import("StandardObject_lib");
 
-new StandardObject("Communication", vars.get("$field.COMMUNICATIONID"), "Person", vars.get("$field.CONTACT_ID"))
-    .onCommunicationUpdate(vars.get("$field.MEDIUM_ID"));
-    
-DataPrivacyUtils.notifyNeedDataPrivacyUpdate(vars.get("$field.CONTACT_ID"), vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
+var rowdata = vars.get("$local.rowdata");
+
+if (rowdata["COMMUNICATION.CONTACT_ID"] != null)
+{
+    var standard = new StandardObject("Communication", vars.get("$local.uid"), "Person", rowdata["COMMUNICATION.CONTACT_ID"])
+    standard.onCommunicationUpdate(rowdata["COMMUNICATION.MEDIUM_ID"]);
+}
+  
+DataPrivacyUtils.notifyNeedDataPrivacyUpdate(rowdata["COMMUNICATION.CONTACT_ID"], vars.get("$param.ShowDsgvoMessage_param"));
\ No newline at end of file
diff --git a/entity/Communication_entity/recordcontainers/db/orderClauseProcess.js b/entity/Communication_entity/recordcontainers/db/orderClauseProcess.js
index 29863873d869a29f0cd3e0ada45b6681052c9217..41fb0adf1e1b6167b68c6d316cc525b6f909580c 100644
--- a/entity/Communication_entity/recordcontainers/db/orderClauseProcess.js
+++ b/entity/Communication_entity/recordcontainers/db/orderClauseProcess.js
@@ -3,5 +3,5 @@ import("system.db");
 
 result.object({
     "AB_KEYWORD_ENTRY.SORTING": db.ASCENDING,
-    "COMMUNICATION.STANDARD": db.DESCENDING
+    "COMMUNICATION.ISSTANDARD": db.DESCENDING
     });
\ No newline at end of file
diff --git a/entity/Communication_entity/recordcontainers/groupextension/query.js b/entity/Communication_entity/recordcontainers/groupextension/query.js
index 7faad202b023540b228df7dd410c24573ce8d755..175c25d9aa7ea3eb64603cbec5ff91a1f143ccf6 100644
--- a/entity/Communication_entity/recordcontainers/groupextension/query.js
+++ b/entity/Communication_entity/recordcontainers/groupextension/query.js
@@ -10,7 +10,9 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 
-sqlQuery = "select COMMUNICATION.COMMUNICATIONID, COMMUNICATION.ADDR from COMMUNICATION "
+sqlQuery = "select COMMUNICATION.COMMUNICATIONID" 
+    + ", COMMUNICATION.ADDR" 
+    + " from COMMUNICATION"
  + (queryCondition || "") 
  + " order by COMMUNICATION.COMMUNICATIONID ";
 
diff --git a/entity/Competition_entity/Competition_entity.aod b/entity/Competition_entity/Competition_entity.aod
index 53eff28a3c4c5f6ab4682e4417916d7f097f4ee3..da041d148539f436d8615e237c131ce4539ef817 100644
--- a/entity/Competition_entity/Competition_entity.aod
+++ b/entity/Competition_entity/Competition_entity.aod
@@ -16,6 +16,7 @@
       <resolution>DAY</resolution>
       <outputFormat>dd.MM.yyyy</outputFormat>
       <inputFormat>dd.MM.yyyy</inputFormat>
+      <onValidation>%aditoprj%/entity/Competition_entity/entityfields/date_cancelled/onValidation.js</onValidation>
     </entityField>
     <entityField>
       <name>INFO</name>
@@ -377,6 +378,15 @@
           <recordfield>COMPETITION.COMPETITIONID</recordfield>
         </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
   </recordContainers>
 </entity>
diff --git a/entity/Competition_entity/entityfields/date_cancelled/onValidation.js b/entity/Competition_entity/entityfields/date_cancelled/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..193af4e5f90b053ec40e9dd7e7d11d5bc28a5f0a
--- /dev/null
+++ b/entity/Competition_entity/entityfields/date_cancelled/onValidation.js
@@ -0,0 +1,7 @@
+import("system.translate");
+import("system.vars");
+import("system.result");
+import("Date_lib");
+
+if (!DateUtils.validateNotInFuture(vars.get("$local.value")))
+    result.string(translate.text("Excreted can't be in the future"));
diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Competition_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Contact_entity/Contact_entity.aod b/entity/Contact_entity/Contact_entity.aod
index bc8121ec9c13756c261895dd2117cf4d2d0e535a..8dafc56608261fd1a6e25f5bd54db05bb33d2ef7 100644
--- a/entity/Contact_entity/Contact_entity.aod
+++ b/entity/Contact_entity/Contact_entity.aod
@@ -255,7 +255,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>POSITION.value</name>
-          <recordfield>CONTACT.POSITION</recordfield>
+          <recordfield>CONTACT.CONTACTPOSITION</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACTROLE.value</name>
@@ -267,7 +267,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LANGUAGE.value</name>
-          <recordfield>CONTACT.LANGUAGE</recordfield>
+          <recordfield>CONTACT.ISOLANGUAGE</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.value</name>
diff --git a/entity/Contact_entity/entityfields/address_id/valueProcess.js b/entity/Contact_entity/entityfields/address_id/valueProcess.js
index 0ddd690f6cc1711705c2243205b1483a84da6fc8..75bc8b76629a25525a31db6b5de14a517a9a403a 100644
--- a/entity/Contact_entity/entityfields/address_id/valueProcess.js
+++ b/entity/Contact_entity/entityfields/address_id/valueProcess.js
@@ -3,7 +3,7 @@ import("system.vars");
 import("StandardObject_lib");
 
 //  Check if the standard address is already set.
-if (vars.get("$field.ADDRESS_ID") === null || vars.get("$field.ADDRESS_ID") === "" || vars.get("$field.ADDRESS_ID") == 0) {
+if (vars.get("$this.value") === null || vars.get("$this.value") === "" || vars.get("$this.value") == 0) {
     var possibleStandardAddressID = new StandardObject("Address", null, "Person", vars.get("$field.CONTACTID"))
         .onPersonValueChange(vars.get("$field.ORGANISATION_ID"));
 
diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index d6fc354289a2a82d710fedc1db831c4901e1b7c2..368ab12dee80471005b1f0e8338ff39a459b5e97 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -65,6 +65,7 @@
       <name>CONTRACTTYPE</name>
       <title>Type of contract</title>
       <consumer>ContractTypes</consumer>
+      <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttype/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
@@ -277,6 +278,7 @@
     </entityActionField>
     <entityConsumer>
       <name>Attributes</name>
+      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/Contract_entity/entityfields/attributes/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
@@ -298,6 +300,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>AttributeTree</name>
+      <stateProcess>%aditoprj%/entity/Contract_entity/entityfields/attributetree/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>AttributeRelation_entity</entityName>
@@ -344,7 +347,7 @@
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -353,7 +356,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -407,14 +410,17 @@
         <dbRecordFieldMapping>
           <name>CONTRACTCODE.value</name>
           <recordfield>CONTRACT.CONTRACTCODE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTRACTDUE.value</name>
           <recordfield>CONTRACT.CONTRACTDUE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTRACTEND.value</name>
           <recordfield>CONTRACT.CONTRACTEND</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTRACTID.value</name>
@@ -423,22 +429,27 @@
         <dbRecordFieldMapping>
           <name>CONTRACTSTART.value</name>
           <recordfield>CONTRACT.CONTRACTSTART</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTRACTSTATUS.value</name>
           <recordfield>CONTRACT.CONTRACTSTATUS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTRACTTYPE.value</name>
           <recordfield>CONTRACT.CONTRACTTYPE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PAYMENT.value</name>
           <recordfield>CONTRACT.PAYMENT</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>REMARK.value</name>
           <recordfield>CONTRACT.REMARK</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
@@ -484,7 +495,22 @@
           <name>CONTACT_ID.displayValue</name>
           <expression>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
diff --git a/entity/Contract_entity/entityfields/attributes/stateProcess.js b/entity/Contract_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Contract_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/attributetree/stateProcess.js b/entity/Contract_entity/entityfields/attributetree/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Contract_entity/entityfields/attributetree/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/contractend/onValueChange.js b/entity/Contract_entity/entityfields/contractend/onValueChange.js
index 7b6446d1fea311587b24f3b353cb0f3a2ec44904..1e3c85c6ef60e8daaf57ba5c67841264b31a2c07 100644
--- a/entity/Contract_entity/entityfields/contractend/onValueChange.js
+++ b/entity/Contract_entity/entityfields/contractend/onValueChange.js
@@ -2,8 +2,8 @@ import("system.vars");
 import("Util_lib");
 import("Entity_lib");
 
-var cEnd = vars.get("$field.CONTRACTEND");
+var cEnd = vars.get("local.value");
 var cDue = vars.get("$field.CONTRACTDUE");
 
-if (cDue != "" && cDue > cEnd)
+if (cDue && cEnd && cDue > cEnd)
     vars.set("$field.CONTRACTDUE", cEnd);
\ No newline at end of file
diff --git a/entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Contract_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Contract_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 820fc8bb5dc0d79c01a18bb305926d9e643fa5a6..f3a33022dd2768fb78f05bafc713ba43d6272145 100644
--- a/entity/Contract_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.CONTRACTID"), tableNames: ["AB_ATTRIBUTERELATION"]});
-res.push({id: vars.get("$field.CONTRACTID"), tableNames: ["CONTRACT"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.CONTRACTID"), tableNames: ["AB_ATTRIBUTERELATION"]});
+res.push({id: vars.get("$field.CONTRACTID"), tableNames: ["CONTRACT"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Contract_entity/onValidation.js b/entity/Contract_entity/onValidation.js
index 07ec6d5c095b971e0fa242207390a0244a0a65f5..c562298d1844abc47394d0d1fc31ae06dba7bf7d 100644
--- a/entity/Contract_entity/onValidation.js
+++ b/entity/Contract_entity/onValidation.js
@@ -9,11 +9,11 @@ var endDate = vars.get("$field.CONTRACTEND");
 
 var errorMessage = "";
 
-if (!DateUtils.validateBeginnBeforeEnd(startDate, endDate))
+if (endDate && !DateUtils.validateBeginnBeforeEnd(startDate, endDate))
     errorMessage = DateUtils.getValidationFailString();
 
 // check Duedate
-var cDue = vars.get("local.value");
+var cDue = vars.get("$field.CONTRACTDUE");
 if (cDue && (startDate && !DateUtils.validateBeginnBeforeEnd(startDate, cDue) || endDate && !DateUtils.validateBeginnBeforeEnd(cDue, endDate)))
 {
     if (errorMessage != "")
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c2197272407c3509180dc90692e2edc59e2d6d7a
--- /dev/null
+++ b/entity/Contract_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Contract'";
+
+result.string("CONTRACTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Contract_entity/recordcontainers/index/query.js b/entity/Contract_entity/recordcontainers/index/query.js
index 3a7783950d4c3e1f8c1222d963e3f468a4dd100d..2c01a5477fbfe24464274ba8a2294bb043cf61b0 100644
--- a/entity/Contract_entity/recordcontainers/index/query.js
+++ b/entity/Contract_entity/recordcontainers/index/query.js
@@ -15,12 +15,12 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select CONTRACTID as uid, " 
+sqlQuery = 'select CONTRACTID as "_uid_", ' 
     + sqlHelper.concat(["CONTRACTCODE", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractStatus(), "CONTRACTSTATUS")], " | ")
-    + " as title, " 
+    + ' as "_title_", '
     + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Type of contract") + ":'", 
             KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractType(), "CONTRACTTYPE")]) 
-    + " as description" 
+    + ' as "_description_"' 
     + ", CONTRACTCODE "
     + ", CUSTOMERCODE " 
     + ", CONTRACT.CONTACT_ID"
diff --git a/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js
index 3d5236a0fbf1f2a9917d615b3cedb3065923acb4..1038e1167f0bc290e7e044ef2dbc5e145dd0c8ff 100644
--- a/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js
+++ b/entity/DSGVOInfo_entity/entityfields/garantee/mandatoryProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic");
 
-result.object(vars.get("$field.TRANSMISSION") && vars.get("$field.TRANSMISSION") != $KeywordRegistry.dsgvoTransmission$none() 
+result.object(vars.get("$field.TRANSMISSION") != "" && vars.get("$field.TRANSMISSION") != $KeywordRegistry.dsgvoTransmission$none() 
            && vars.get("$field.TRANSMISSION") != $KeywordRegistry.dsgvoTransmission$inland());
\ No newline at end of file
diff --git a/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js b/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js
index de3c08140ff329c4580823e74d7d41e991695ca8..b72d41b28f12a60815129c0ba9c541b31a43f19d 100644
--- a/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js
+++ b/entity/DSGVOInfo_entity/entityfields/recipient/mandatoryProcess.js
@@ -3,4 +3,4 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic");
 
-result.object(vars.get("$field.TRANSMISSION") && vars.get("$field.TRANSMISSION") != $KeywordRegistry.dsgvoTransmission$none());
\ No newline at end of file
+result.object(vars.get("$field.TRANSMISSION") != "" && vars.get("$field.TRANSMISSION") != $KeywordRegistry.dsgvoTransmission$none());
\ No newline at end of file
diff --git a/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js b/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js
index 756911b924bab101ee9dfab8743ab1b990c82b33..3e96a7bc47dbb2ffacabaeaa9aa42851c7c06a03 100644
--- a/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js
+++ b/entity/DSGVOInfo_entity/entityfields/recipient/stateProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.result");
 import("system.vars");
 import("system.neon");
@@ -10,6 +9,5 @@ if (vars.get("$field.TRANSMISSION") && vars.get("$field.TRANSMISSION") != $Keywo
 }
 else
 {
-    logging.log("DISABLE res");
     result.string(neon.COMPONENTSTATE_DISABLED);
 }
\ No newline at end of file
diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js b/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js
index e8669f4fa41b190b0d2409d52bf653dfa1d2a9b3..ef08b6011add55be5ac2961455eb1d455f16d0c1 100644
--- a/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/DSGVOInfo_entity/recordcontainers/db/onDBInsert.js
@@ -1,12 +1,14 @@
 import("system.vars");
 import("DataPrivacy_lib");
 
+var rowdata = vars.get("$local.rowdata");
+
 if (vars.get("$param.ReportType_param"))
     DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportType_param"), {
-        datasource: vars.get("$field.DATASOURCE"),
-        transmission: vars.get("$field.TRANSMISSION"),
-        recipient: vars.get("$field.RECIPIENT"),
-        garantees: vars.get("$field.GUARANTEE"),
+        datasource: rowdata["DSGVOINFO.DATASOURCE"],
+        transmission: rowdata["DSGVOINFO.TRANSMISSION"],
+        recipient: rowdata["DSGVOINFO.RECIPIENT"],
+        garantees: rowdata["DSGVOINFO.GUARANTEE"],
         requestDate: vars.get("$field.dateRequest"),
         deadline: vars.get("$field.deadline"),
         deadlineDate: vars.get("$field.dateDeadline")
diff --git a/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js b/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js
index e8669f4fa41b190b0d2409d52bf653dfa1d2a9b3..ef08b6011add55be5ac2961455eb1d455f16d0c1 100644
--- a/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/DSGVOInfo_entity/recordcontainers/db/onDBUpdate.js
@@ -1,12 +1,14 @@
 import("system.vars");
 import("DataPrivacy_lib");
 
+var rowdata = vars.get("$local.rowdata");
+
 if (vars.get("$param.ReportType_param"))
     DataPrivacyUtils.openReport(vars.get("$param.ContactId_param"), vars.get("$param.ReportType_param"), {
-        datasource: vars.get("$field.DATASOURCE"),
-        transmission: vars.get("$field.TRANSMISSION"),
-        recipient: vars.get("$field.RECIPIENT"),
-        garantees: vars.get("$field.GUARANTEE"),
+        datasource: rowdata["DSGVOINFO.DATASOURCE"],
+        transmission: rowdata["DSGVOINFO.TRANSMISSION"],
+        recipient: rowdata["DSGVOINFO.RECIPIENT"],
+        garantees: rowdata["DSGVOINFO.GUARANTEE"],
         requestDate: vars.get("$field.dateRequest"),
         deadline: vars.get("$field.deadline"),
         deadlineDate: vars.get("$field.dateDeadline")
diff --git a/entity/DSGVO_entity/DSGVO_entity.aod b/entity/DSGVO_entity/DSGVO_entity.aod
index fbaf3f7ff25488adf16b2493b47c3b15fdf7e07a..4419339c1c80bc55a24c765690d4308ac38ca4a1 100644
--- a/entity/DSGVO_entity/DSGVO_entity.aod
+++ b/entity/DSGVO_entity/DSGVO_entity.aod
@@ -12,7 +12,7 @@
   </siblings>
   <grantCreate v="false" />
   <grantDelete v="false" />
-  <titlePlural>Data privacy entries</titlePlural>
+  <titlePlural></titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
diff --git a/entity/DSGVO_entity/entityfields/value/contentTypeProcess.js b/entity/DSGVO_entity/entityfields/value/contentTypeProcess.js
index 44303ce0e65c86bb9393acd43a152fd9c7abc6c5..f12ab2a78c8f353a32df4fa08af7411d4dae9550 100644
--- a/entity/DSGVO_entity/entityfields/value/contentTypeProcess.js
+++ b/entity/DSGVO_entity/entityfields/value/contentTypeProcess.js
@@ -1,11 +1,9 @@
-import("system.logging");
 import("system.result");
 import("KeywordRegistry_basic");
 import("system.vars");
 import("system.neon");
 
 // NOTE: If there are more cases added, consider adding this to DSGVOType keyword as attribute or adding it to DataPrivacy_lib to the Types.
-logging.log(vars.get("$field.DSGVOTYPE"));
 switch (vars.get("$field.DSGVOTYPE").trim())
 {
     case $KeywordRegistry.dsgvoType$birth().trim():
diff --git a/entity/DSGVO_entity/recordcontainers/db/onDBInsert.js b/entity/DSGVO_entity/recordcontainers/db/onDBInsert.js
deleted file mode 100644
index db82774a9ad18f9e15e0735707fb6cfe524afd1c..0000000000000000000000000000000000000000
--- a/entity/DSGVO_entity/recordcontainers/db/onDBInsert.js
+++ /dev/null
@@ -1,47 +0,0 @@
-import("KeywordRegistry_basic");
-import("Keyword_lib");
-import("system.db");
-import("system.neon");
-import("system.vars");
-import("system.util");
-
-/*
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-{
-    var cols = ["USER_NEW" , "USER_EDIT" , "DSGVOID" , "ROW_ID" , "DATE_NEW" , 
-        "TABLENAME" , "DATE_EDIT" , "RIGHT" , "VALID_TO" , "CONTACT_ID" , "USE"];
-    
-    var vals = [vars.get("$sys.user"), null, util.getNewUUID(), 
-        vars.get("$field.ROW_ID"), vars.get("$sys.date"), vars.get("$field.TABLENAME"),
-        null,  KeywordUtils. vars.get("$field.RIGHT").valueOf(), vars.get("$field.VALID_TO"), 
-        vars.get("$field.CONTACT_ID"), vars.get("$field.USE").valueOf()];
-    // KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.dsgvoUse(), "DSGVO.USE");
-    db.insertData("DSGVO", cols, null, vals);
-}
-
-
-/*
-
-    // TODO Eintrag in DSGVO Tabelle
-    
-    /*
-     * 
-     var InputMapping = {
-        "OFFERITEM": {
-            condition: "OFFER_ID = '" + pSourceOfferId + "' order by ITEMSORT",
-            ValueMapping: {
-                "OFFER_ID" : pTargetOfferId
-            }
-        }
-    };
-    CopyModuleUtils.copyModule(InputMapping);
-    
-    var oiUtils = new OfferItemUtils(pTargetOfferId);
-    
-    //update order price
-    cols = ["NET", "VAT"];
-    var vals = oiUtils.getNetAndVat();
-    
-    db.updateData("OFFER", cols, null, vals, SqlCondition.equals("OFFER.OFFERID", pTargetOfferId, "1 = 2"));
-     * 
-     */
\ No newline at end of file
diff --git a/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod
index f61a96c07fad36959b92e09809323e62a5cc781c..7d7a65a40ee53fe2d680c379a2963abb9f2362dc 100644
--- a/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod
+++ b/entity/DescriptionTranslation_entity/DescriptionTranslation_entity.aod
@@ -107,7 +107,6 @@
         <dbRecordFieldMapping>
           <name>LANG.value</name>
           <recordfield>DESCRIPTIONTRANSLATION.LANG</recordfield>
-          <expression>%aditoprj%/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LANG.displayValue</name>
diff --git a/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js b/entity/DescriptionTranslation_entity/recordcontainers/db/recordfieldmappings/lang.value/expression.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
index 3b29453f9c103dcfad3fd7afe033c5bf361019c5..311e715e9f1f50e8c714506a67f788dde56e21c3 100644
--- a/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
+++ b/entity/DocumentTemplate_entity/DocumentTemplate_entity.aod
@@ -6,6 +6,8 @@
   <title>Document Template</title>
   <contentTitleProcess>%aditoprj%/entity/DocumentTemplate_entity/contentTitleProcess.js</contentTitleProcess>
   <afterUiInit>%aditoprj%/entity/DocumentTemplate_entity/afterUiInit.js</afterUiInit>
+  <iconId>VAADIN:FILE_FONT</iconId>
+  <titlePlural>Document templates</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
     <entityProvider>
@@ -42,14 +44,14 @@
       <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/user_new/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>TYPE</name>
+      <name>KIND</name>
       <title>Type</title>
       <consumer>KeywordDocumentTemplateType</consumer>
       <groupable v="true" />
       <mandatory v="true" />
-      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/stateProcess.js</stateProcess>
-      <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/type/onValueChange.js</onValueChange>
+      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/kind/stateProcess.js</stateProcess>
+      <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/kind/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/kind/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>USER_EDIT</name>
@@ -58,18 +60,18 @@
       <name>NAME</name>
       <title>Name</title>
       <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/name/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>LANGUAGE</name>
+      <name>ISOLANGUAGE</name>
       <title>Language</title>
       <consumer>Languages</consumer>
       <mandatory v="true" />
-      <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/isolanguage/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>BINDATA</name>
       <contentType>FILE</contentType>
-      <onValueChange>%aditoprj%/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js</onValueChange>
     </entityField>
     <entityConsumer>
       <name>Documents</name>
@@ -113,6 +115,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
+      <stateProcess>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/DocumentTemplate_entity/entityfields/attributes/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
@@ -305,17 +308,10 @@
           <name>DESCRIPTION.value</name>
           <recordfield>DOCUMENTTEMPLATE.DESCRIPTION</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>LANGUAGE.value</name>
-          <recordfield>DOCUMENTTEMPLATE.LANGUAGE</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>NAME.value</name>
           <recordfield>DOCUMENTTEMPLATE.NAME</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>TYPE.value</name>
-          <recordfield>DOCUMENTTEMPLATE.TYPE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>USER_EDIT.value</name>
@@ -332,6 +328,17 @@
         <dbRecordFieldMapping>
           <name>CLASSIFICATION.value</name>
           <recordfield>DOCUMENTTEMPLATE.CLASSIFICATION</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>KIND.value</name>
+          <recordfield>DOCUMENTTEMPLATE.KIND</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ISOLANGUAGE.value</name>
+          <recordfield>DOCUMENTTEMPLATE.ISOLANGUAGE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/DocumentTemplate_entity/entityfields/attributes/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js b/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js
deleted file mode 100644
index 3ccf1ac0d361997eb045d92a3ab014b5da4e4b13..0000000000000000000000000000000000000000
--- a/entity/DocumentTemplate_entity/entityfields/bindata/onValueChange.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import("system.vars");
-import("system.neon");
-import("Entity_lib");
-import("Document_lib");
-
-var uploadValue = DocumentUtil.getFilenameFromUpload(vars.get("local.value"));
-
-if(!(vars.get("$field.NAME") != null && vars.get("$field.NAME") != ""))
-{
-    if(uploadValue.length <= 40)
-    {
-        neon.setFieldValue("$field.NAME", uploadValue);
-    }else{
-        var limit = uploadValue.length - 40;
-        neon.setFieldValue("$field.NAME", uploadValue.substr(0, uploadValue.length - limit));
-    }
-}
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js
index aa77e44499178abf82f427f63122eebf5bf373f6..a53a086f62b6eeb071e03166dfc52489fc02cd62 100644
--- a/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/classification/stateProcess.js
@@ -1,8 +1,8 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-if(vars.get("$field.TYPE") != "")
-{
-    result.string(neon.COMPONENTSTATE_EDITABLE);
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$field.KIND") != "")
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
 }
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js b/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js
index 64603e3e1bf02dad06aaf13f93c74f996d25ff3e..96543fbc1bc515b9392ebfdbd51aa4c9eda93568 100644
--- a/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/documenttemplatetypecategory/children/usagefilter_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.object(vars.get("$field.TYPE"));
\ No newline at end of file
+result.object(vars.get("$field.KIND"));
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/language/displayValueProcess.js b/entity/DocumentTemplate_entity/entityfields/isolanguage/displayValueProcess.js
similarity index 88%
rename from entity/Offer_entity/entityfields/language/displayValueProcess.js
rename to entity/DocumentTemplate_entity/entityfields/isolanguage/displayValueProcess.js
index bcbf2118161a42f079dfa6ece4df7fb4d6b6774e..0a2a0ee65d4db10c8e023e7e2849fbde9b6de533 100644
--- a/entity/Offer_entity/entityfields/language/displayValueProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/isolanguage/displayValueProcess.js
@@ -4,7 +4,7 @@ import("system.result");
 import("system.vars");
 import("Sql_lib");
 
-var iso3 = vars.get("$field.LANGUAGE");
+var iso3 = vars.get("$field.ISOLANGUAGE");
 var latinName = db.cell(SqlCondition.begin()
     .andPrepare("AB_LANGUAGE.ISO3", iso3)
     .buildSql("select NAME_LATIN from AB_LANGUAGE", "1=0"));
diff --git a/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js b/entity/DocumentTemplate_entity/entityfields/kind/displayValueProcess.js
similarity index 77%
rename from entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js
rename to entity/DocumentTemplate_entity/entityfields/kind/displayValueProcess.js
index 543177e2faddef74ec044962aac2969efe9b04de..257b2f7fa4faaef6abf736b7554e26f18dd4a010 100644
--- a/entity/DocumentTemplate_entity/entityfields/type/displayValueProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/kind/displayValueProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.vars");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string(KeywordUtils.getViewValue($KeywordRegistry.documentTemplateType(), vars.get("$field.TYPE")));
\ No newline at end of file
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.documentTemplateType(), vars.get("$field.KIND")));
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/type/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/kind/stateProcess.js
similarity index 96%
rename from entity/DocumentTemplate_entity/entityfields/type/stateProcess.js
rename to entity/DocumentTemplate_entity/entityfields/kind/stateProcess.js
index 3735d6d4411513b42cb2148c43028f223f3e4a8c..49d3d53d991cc1a864d6db072347af1800f035cf 100644
--- a/entity/DocumentTemplate_entity/entityfields/type/stateProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/kind/stateProcess.js
@@ -1,7 +1,7 @@
-import("system.result");
-import("system.neon");
-import("system.vars");
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
-{
-    result.string(neon.COMPONENTSTATE_READONLY);
+import("system.result");
+import("system.neon");
+import("system.vars");
+if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
+{
+    result.string(neon.COMPONENTSTATE_READONLY);
 }
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/links/children/type_param/valueProcess.js b/entity/DocumentTemplate_entity/entityfields/links/children/type_param/valueProcess.js
index e133265a133774e7833f803e776e6321c6ab1aac..ff40ad745a0a2d0676d08287e93bad6602a0b35b 100644
--- a/entity/DocumentTemplate_entity/entityfields/links/children/type_param/valueProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/links/children/type_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
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.KIND"));
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js
index 957a413f1d7036e74834b8f00622619178d16b15..42093844e7492876f8a41515b1de9668fd10b805 100644
--- a/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/links/stateProcess.js
@@ -1,9 +1,9 @@
-import("system.result");
-import("KeywordRegistry_basic");
-import("system.vars");
-import("system.neon");
-
-if(vars.get("$field.TYPE") != $KeywordRegistry.documentTemplateType$mail())
-{
-    result.string(neon.COMPONENTSTATE_INVISIBLE);
+import("system.result");
+import("KeywordRegistry_basic");
+import("system.vars");
+import("system.neon");
+
+if(vars.get("$field.KIND") != $KeywordRegistry.documentTemplateType$mail())
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
 }
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/name/valueProcess.js b/entity/DocumentTemplate_entity/entityfields/name/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65117fc5b8e553ef7764c9957e30b236b7174229
--- /dev/null
+++ b/entity/DocumentTemplate_entity/entityfields/name/valueProcess.js
@@ -0,0 +1,15 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("Entity_lib");
+import("Document_lib");
+
+if (vars.get("$this.value") == null && vars.get("$field.BINDATA"))
+{
+    var uploadValue = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
+    
+    if (uploadValue.length > 40)
+        uploadValue = uploadValue.substr(0, 40);
+    
+    neon.setFieldValue("$field.NAME", uploadValue);
+}
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js
index 4cf6aa010e905f13af9ba2b500bb612e9bd935e4..41188aaad45f111652458bd4548d0a195486fd72 100644
--- a/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/textext/stateProcess.js
@@ -3,7 +3,7 @@ import("system.neon");
 import("system.result");
 import("system.vars");
 
-if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.BINDATA") == "")
+if(vars.get("$field.KIND").trim() == "TEX" && vars.get("$field.BINDATA") == "")
 {
     var fileExtension = DocumentUtil.getFileExtensionFromUpload(vars.get("$field.NAME"));
         
diff --git a/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js b/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js
index e49e46111f558564257ee7b2ee4f58817299d77b..df7e9f85d746e33d8a0361796a8a5a0c69d1b62b 100644
--- a/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js
+++ b/entity/DocumentTemplate_entity/entityfields/textext/valueProcess.js
@@ -5,7 +5,7 @@ import("system.neon");
 import("system.result");
 import("system.vars");
 
-if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.BINDATA") == "" && vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
+if(vars.get("$field.KIND").trim() == "TEX" && vars.get("$field.BINDATA") == "" && vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_EDIT)
 {
     var fileExtension = DocumentUtil.getFileExtensionFromUpload(vars.get("$field.NAME"));
     
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js b/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
index 8d6aafedbb0d42f6d6510d799470bc9a2bab2885..bb44f99ca8914bbd59283b8fb393c27332f3182f 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/conditionProcess.js
@@ -1,10 +1,10 @@
-import("system.result");
-import("system.vars");
-import("system.db");
-import("Sql_lib");
-
-var cond = SqlCondition.begin()
-                       .andPrepareVars("DOCUMENTTEMPLATE.TYPE", "$param.DocumentTemplateType_param")
-                       .andPrepareVars("DOCUMENTTEMPLATE.CLASSIFICATION", "$param.DocumentTemplateTypeClassification_param");
-
+import("system.result");
+import("system.vars");
+import("system.db");
+import("Sql_lib");
+
+var cond = SqlCondition.begin()
+                       .andPrepareVars("DOCUMENTTEMPLATE.KIND", "$param.DocumentTemplateType_param")
+                       .andPrepareVars("DOCUMENTTEMPLATE.CLASSIFICATION", "$param.DocumentTemplateTypeClassification_param");
+
 result.string(db.translateStatement(cond.build("1=1")));
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
index 0d8f6fe0d4cb076ba62b68fbb9738d9c2ee77039..daf8ed24ded549d06dd867118abadbdad497eff1 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBInsert.js
@@ -3,8 +3,10 @@ import("system.vars");
 import("system.db");
 import("system.util");
 import("Document_lib");
+import("Sql_lib");
 
 //TODO - Function
+var rowdata = vars.get("$local.rowdata");
 
 var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
 var filename = "";
@@ -15,14 +17,14 @@ if(bindataUpload != "")
     filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
     bindata  = bindataUpload;
 }
-else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "")
+else if(rowdata["DOCUMENTTEMPLATE.KIND"].trim() == "TEX" && vars.get("$field.texText") != "")
 {
-    filename = vars.get("$field.NAME") + ".txt";
+    filename = rowdata["DOCUMENTTEMPLATE.NAME"] + ".txt";
     bindata  = util.encodeBase64String(vars.get("$field.texText"));
 }
 
 if(bindata != "" && filename != "")
 {
-    db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$field.DOCUMENTTEMPLATEID"), 
-                    "", bindata, filename, "", "", "_____SYSTEMALIAS");
+    db.insertBinary("DOCUMENTTEMPLATE", "DOCUMENT", vars.get("$local.uid"), 
+                    "", bindata, filename, "", "", SqlUtils.getSystemAlias());
 }
\ No newline at end of file
diff --git a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
index df234535f20d98c2ebfd7b18111fe4f7db44bc1d..f0b959264e4d376b480cdfd3d3a7f132f74d4a6b 100644
--- a/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/DocumentTemplate_entity/recordcontainers/db/onDBUpdate.js
@@ -1,27 +1,33 @@
-import("system.util");
-import("system.vars");
-import("system.db");
-import("Document_lib");
-
-//TODO - Function
-
-var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
-var filename      = "";
-var bindata       = "";
-
-if(bindataUpload != "")
-{
-    bindata = bindataUpload;
-    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
-}
-else if(vars.get("$field.TYPE").trim() == "TEX" && vars.get("$field.texText") != "")
-{
-    filename = vars.get("$field.NAME") + ".txt";
-    bindata  = util.encodeBase64String(vars.get("$field.texText"));
-}
-
-if(bindata != "" && filename != "")
-{
-    var binaryId      = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$field.DOCUMENTTEMPLATEID") + "'", "_____SYSTEMALIAS");
-    db.updateBinary(binaryId, "", bindata, filename, "", "", "_____SYSTEMALIAS");
+import("system.util");
+import("system.vars");
+import("system.db");
+import("Document_lib");
+import("Sql_lib");
+
+//TODO - Function
+
+var rowdata = vars.get("$local.rowdata");
+
+var bindataUpload = DocumentUtil.getBindataFromUpload(vars.get("$field.BINDATA"));
+var filename      = "";
+var bindata       = "";
+
+if(bindataUpload != "")
+{
+    bindata = bindataUpload;
+    filename = DocumentUtil.getFilenameFromUpload(vars.get("$field.BINDATA"));
+    
+    if(filename != null && filename != "")
+        filename = rowdata["DOCUMENTTEMPLATE.NAME"] + ".txt";
+}
+else if(rowdata["DOCUMENTTEMPLATE.KIND"].trim() == "TEX" && vars.get("$field.texText") != "")
+{
+    filename = rowdata["DOCUMENTTEMPLATE.NAME"] + ".txt";
+    bindata  = util.encodeBase64String(vars.get("$field.texText"));
+}
+
+if(bindata != "" && filename != "")
+{
+    var binaryId      = db.cell("select ID from ASYS_BINARIES where ROW_ID = '" + vars.get("$local.uid") + "'", SqlUtils.getSystemAlias());
+    db.updateBinary(binaryId, "", bindata, filename, "", "", SqlUtils.getSystemAlias());
 }
\ No newline at end of file
diff --git a/entity/Document_entity/Document_entity.aod b/entity/Document_entity/Document_entity.aod
index 4ad9aefbd202f5812cc623566522252908ec9d44..25017d5b811f8442429068c0576530b9f13c87cd 100644
--- a/entity/Document_entity/Document_entity.aod
+++ b/entity/Document_entity/Document_entity.aod
@@ -198,6 +198,12 @@
           <fieldName>Documents</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>7a20bd0f-9b1f-4a2b-a823-dbd4220613ca</name>
+          <entityName>Campaign_entity</entityName>
+          <fieldName>Documents</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Document_entity/recordcontainers/jdito/contentProcess.js b/entity/Document_entity/recordcontainers/jdito/contentProcess.js
index a4ad1b837c44901630593abd843a4467f6ca8707..ac587aa94de4b50020b99e39054ac3b3b29403ae 100644
--- a/entity/Document_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Document_entity/recordcontainers/jdito/contentProcess.js
@@ -22,7 +22,7 @@ if(vars.exists("$param.AssignmentTable_param") &&
     if(vars.exists("$local.idvalues") && vars.get("$local.idvalues"))
         metadata = db.getBinaryMetadataForIds(vars.get("$local.idvalues"), true, alias)
     else
-        metadata = db.getBinaryMetadata(assignmentTable, assignmentName, assignmentRowId, false, alias, keyword);    
+        metadata = db.getBinaryMetadata(assignmentTable, assignmentName || "", assignmentRowId, false, alias, keyword);    
 
     // Iterate through found binary data and populate result array    
     for( var i = 0; i < metadata.length; i++) {
diff --git a/entity/DuplicateScanConditionConfig_entity/entityfields/condition/valueProcess.js b/entity/DuplicateScanConditionConfig_entity/entityfields/condition/valueProcess.js
index a69cee128a7969b20c1f46587bbc3a6f51a9d221..c1041366b81d28135ca08820e00ae1c66d7c1609 100644
--- a/entity/DuplicateScanConditionConfig_entity/entityfields/condition/valueProcess.js
+++ b/entity/DuplicateScanConditionConfig_entity/entityfields/condition/valueProcess.js
@@ -1,12 +1,9 @@
-import("system.logging");
 import("system.vars");
 import("system.result");
 
-logging.log("condition -> " + JSON.stringify(vars.get("$field.CONDITION")));
-if(vars.get("$field.CONDITION") == "")
+if(vars.get("$this.value") == "")
 {
     let entityToScan = vars.get("$param.EntityToFilter_param");
-    logging.log("condition leer neu rein schreiben -> " + entityToScan);
     
     let defaultFilterJson = JSON.stringify({entity: entityToScan, filter: {type: "group", operator: "AND", childs: []}});
     result.string(defaultFilterJson);
diff --git a/entity/DuplicateScanConditionConfig_entity/entityfields/duplicatescan_id/valueProcess.js b/entity/DuplicateScanConditionConfig_entity/entityfields/duplicatescan_id/valueProcess.js
index 9886fc8456dd191c7522d1db08dbc261b8c06f96..37ac7439530344dfaa6a263ec251aa5e3d13d97d 100644
--- a/entity/DuplicateScanConditionConfig_entity/entityfields/duplicatescan_id/valueProcess.js
+++ b/entity/DuplicateScanConditionConfig_entity/entityfields/duplicatescan_id/valueProcess.js
@@ -1,6 +1,6 @@
 import("system.result");
 import("system.vars");
-if(vars.get("$field.DUPLICATESCAN_ID") == "")
+if(vars.get("$this.value") == "")
 {
     result.string(vars.get("$param.DuplicateScanId_param"));
 }
\ No newline at end of file
diff --git a/entity/DuplicateScanConditionConfig_entity/entityfields/parameter/valueProcess.js b/entity/DuplicateScanConditionConfig_entity/entityfields/parameter/valueProcess.js
index 7ac009f93f24d9697f6eea6c7d11ac93df584ceb..9eab3ae2e01d4d2eae9cd972788b3ba035e8b5f5 100644
--- a/entity/DuplicateScanConditionConfig_entity/entityfields/parameter/valueProcess.js
+++ b/entity/DuplicateScanConditionConfig_entity/entityfields/parameter/valueProcess.js
@@ -1,6 +1,4 @@
-import("system.logging");
 import("system.result");
 import("system.vars");
 
-logging.log("EntityToFilter_param -> " + vars.get("$param.EntityToFilter_param"));
 result.string(vars.get("$param.EntityToFilter_param"));
\ No newline at end of file
diff --git a/entity/Employee_entity/Employee_entity.aod b/entity/Employee_entity/Employee_entity.aod
index 710e72e1084548fd73238c4d4248fac4ea05fe14..9394acc2fa771e1ecef3f8521ca2bf57df7e4e10 100644
--- a/entity/Employee_entity/Employee_entity.aod
+++ b/entity/Employee_entity/Employee_entity.aod
@@ -306,24 +306,31 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>TITLE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ISACTIVE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>FIRSTNAME.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>LASTNAME.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>EMAIL_ADDRESS.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>EMAIL_ADDRESS.displayValue</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>DESCRIPTION.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CONTACT_ID.value</name>
@@ -333,6 +340,7 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>DEPARTMENT.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>CONFIRM_PASSWORD.value</name>
diff --git a/entity/Employee_entity/entityfields/image/onValueChange.js b/entity/Employee_entity/entityfields/image/onValueChange.js
index 8698d90353b719f652eec1427f0d8b881a8a8660..d6abf4f0c930633e54f411c91d96b8cc58843980 100644
--- a/entity/Employee_entity/entityfields/image/onValueChange.js
+++ b/entity/Employee_entity/entityfields/image/onValueChange.js
@@ -1,4 +1,5 @@
+import("system.vars");
 import("Entity_lib");
 
 // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023
-FieldChanges.setChange("$field.IMAGE");
\ No newline at end of file
+FieldChanges.setChange("$field.IMAGE", vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Employee_entity/recordcontainers/jdito/contentProcess.js b/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
index 8db2fb2cb236265ad222ddf74c176a89dd8be92f..175260510da1e538cf01076746572566e3373f11 100644
--- a/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Employee_entity/recordcontainers/jdito/contentProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("Attribute_lib");
 import("system.vars");
 import("system.result");
diff --git a/entity/Forecast_entity/Forecast_entity.aod b/entity/Forecast_entity/Forecast_entity.aod
index b005433286432d702748a9a2c7b25569a376d7ee..bf01588b8ea3bb679cce40bc0b73212654758c90 100644
--- a/entity/Forecast_entity/Forecast_entity.aod
+++ b/entity/Forecast_entity/Forecast_entity.aod
@@ -16,18 +16,21 @@
       <resolution>DAY</resolution>
       <outputFormat>dd.MM.yyyy</outputFormat>
       <inputFormat>dd.MM.yyyy</inputFormat>
+      <mandatory v="true" />
       <valueProcess>%aditoprj%/entity/Forecast_entity/entityfields/date_start/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>GROUPCODE</name>
       <title>Product</title>
       <consumer>KeywordProductGroupcodes</consumer>
+      <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/Forecast_entity/entityfields/groupcode/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>INFO</name>
       <title>Info</title>
       <contentType>LONG_TEXT</contentType>
+      <mandatory v="true" />
     </entityField>
     <entityField>
       <name>FORECASTID</name>
@@ -41,12 +44,10 @@
       <valueProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_rowid/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Forecast_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
     </entityField>
-    <entityField>
-      <name>TYPE</name>
-    </entityField>
     <entityField>
       <name>VOLUME</name>
       <title>Volume</title>
+      <mandatory v="true" />
       <titleProcess>%aditoprj%/entity/Forecast_entity/entityfields/volume/titleProcess.js</titleProcess>
     </entityField>
     <entityConsumer>
@@ -148,10 +149,6 @@
           <recordfield>FORECAST.INFO</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>TYPE.value</name>
-          <recordfield>FORECAST.TYPE</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>VOLUME.value</name>
           <recordfield>FORECAST.VOLUME</recordfield>
diff --git a/entity/KeywordAttributeRelation_entity/entityfields/ab_keyword_attribute_id/displayValueProcess.js b/entity/KeywordAttributeRelation_entity/entityfields/ab_keyword_attribute_id/displayValueProcess.js
index 3e385da47ff516ac8f3bace0f873c9ff8694d735..2f5a5971a652b4452f302bad464d1a81c73853ec 100644
--- a/entity/KeywordAttributeRelation_entity/entityfields/ab_keyword_attribute_id/displayValueProcess.js
+++ b/entity/KeywordAttributeRelation_entity/entityfields/ab_keyword_attribute_id/displayValueProcess.js
@@ -9,7 +9,7 @@ if (keywordAttributeId)
 {
     var sql  = SqlCondition.begin()
                            .andPrepare("AB_KEYWORD_ATTRIBUTE.AB_KEYWORD_ATTRIBUTEID", keywordAttributeId)
-                           .buildSql("select AB_KEYWORD_ATTRIBUTE.NAME, AB_KEYWORD_ATTRIBUTE.TYPE from AB_KEYWORD_ATTRIBUTE");
+                           .buildSql("select AB_KEYWORD_ATTRIBUTE.NAME, AB_KEYWORD_ATTRIBUTE.KIND from AB_KEYWORD_ATTRIBUTE");
     res = db.cell(sql);
 }
 result.string(res);
\ No newline at end of file
diff --git a/entity/KeywordAttributeRelation_entity/entityfields/attributetype/valueProcess.js b/entity/KeywordAttributeRelation_entity/entityfields/attributetype/valueProcess.js
index 17b5f6abe25d8b95f8c1bccf20b80b84b8d1bcc5..cbac8d6452c9fe3a1344d497181ddf75c4d3bfe1 100644
--- a/entity/KeywordAttributeRelation_entity/entityfields/attributetype/valueProcess.js
+++ b/entity/KeywordAttributeRelation_entity/entityfields/attributetype/valueProcess.js
@@ -12,7 +12,7 @@ if (id)
 {
     type = db.cell(SqlCondition.begin()
                                .andPrepare("AB_KEYWORD_ATTRIBUTE.AB_KEYWORD_ATTRIBUTEID", id)
-                               .buildSql("select AB_KEYWORD_ATTRIBUTE.TYPE from AB_KEYWORD_ATTRIBUTE"));
+                               .buildSql("select AB_KEYWORD_ATTRIBUTE.KIND from AB_KEYWORD_ATTRIBUTE"));
     type = type.trim();
 }
 result.string(type);
\ No newline at end of file
diff --git a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
index e9d59eaec9a5493a2070cc8a897ef74c011967dd..eb6e94c66218e461dac769d2af975250db6be7c9 100644
--- a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
+++ b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
@@ -106,14 +106,17 @@
         <dbRecordFieldMapping>
           <name>CONTAINER.value</name>
           <recordfield>AB_KEYWORD_ATTRIBUTE.CONTAINER</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>NAME.value</name>
           <recordfield>AB_KEYWORD_ATTRIBUTE.NAME</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TYPE.value</name>
-          <recordfield>AB_KEYWORD_ATTRIBUTE.TYPE</recordfield>
+          <recordfield>AB_KEYWORD_ATTRIBUTE.KIND</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TYPE.displayValue</name>
diff --git a/entity/KeywordAttribute_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js b/entity/KeywordAttribute_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
index a08460ea208091b387b4fe5cd47dbfa78c9504fa..d1d58b99ba17815bf5be41cfd786e5d2e82aedab 100644
--- a/entity/KeywordAttribute_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
+++ b/entity/KeywordAttribute_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
@@ -2,5 +2,5 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.keywordAttributeType(), "AB_KEYWORD_ATTRIBUTE.TYPE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.keywordAttributeType(), "AB_KEYWORD_ATTRIBUTE.KIND");
 result.string(sql);
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index 88ba6e5361142cf559c87f01865992fba43dafdb..b746205d4d53678307bd278289e2a1fc1f0ba14d 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -597,6 +597,7 @@
         <dbRecordFieldMapping>
           <name>TITLE.value</name>
           <recordfield>AB_KEYWORD_ENTRY.TITLE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>SORTING.value</name>
@@ -605,10 +606,12 @@
         <dbRecordFieldMapping>
           <name>ISESSENTIAL.value</name>
           <recordfield>AB_KEYWORD_ENTRY.ISESSENTIAL</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>ISACTIVE.value</name>
           <recordfield>AB_KEYWORD_ENTRY.ISACTIVE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>AB_KEYWORD_ENTRYID.value</name>
@@ -621,6 +624,7 @@
         <dbRecordFieldMapping>
           <name>CONTAINER.value</name>
           <recordfield>AB_KEYWORD_ENTRY.CONTAINER</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
index 3afa5ffe149a183437c345b9fa0b501f2eddd01e..e581324d162afd72b6e3b262fc2a827a64882517 100644
--- a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.db");
 import("system.result");
diff --git a/entity/LetterRecipient_entity/LetterRecipient_entity.aod b/entity/LetterRecipient_entity/LetterRecipient_entity.aod
index b8e3a731f1d86539fa0f40f447c71d3db2100400..492db4ac95e2c09229f8337f6aeeab2aac09c4a7 100644
--- a/entity/LetterRecipient_entity/LetterRecipient_entity.aod
+++ b/entity/LetterRecipient_entity/LetterRecipient_entity.aod
@@ -78,6 +78,13 @@
           <iconId>VAADIN:DOWNLOAD_ALT</iconId>
           <tooltipProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/downloadletterforselection/tooltipProcess.js</tooltipProcess>
         </entityActionField>
+        <entityActionField>
+          <name>removeWithCommRestriction</name>
+          <onActionProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js</onActionProcess>
+          <isObjectAction v="false" />
+          <iconId>VAADIN:BAN</iconId>
+          <tooltipProcess>%aditoprj%/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js</tooltipProcess>
+        </entityActionField>
       </children>
     </entityActionGroup>
   </entityFields>
@@ -86,6 +93,7 @@
       <name>db</name>
       <alias>Data_alias</alias>
       <fromClauseProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
+      <conditionProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/LetterRecipient_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
       <linkInformation>
         <linkInformation>
diff --git a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..80ae8387d5e95fa964747c3b538fa58927007c6b
--- /dev/null
+++ b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
@@ -0,0 +1,24 @@
+import("Contact_lib");
+import("system.neon");
+import("Sql_lib");
+import("KeywordRegistry_basic");
+import("system.db");
+
+var recipientIds = db.array(db.COLUMN, SqlBuilder.begin()
+    .select("LETTERRECIPIENTID")
+    .from("LETTERRECIPIENT")
+    .join("CONTACT", SqlCondition.begin()
+        .and("LETTERRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
+        .andSqlCondition(ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$letter())))
+    .where(SqlCondition.begin()
+        .andPrepareVars("LETTERRECIPIENT.SERIALLETTER_ID", "$param.SerialLetterId_param"))
+    .build());
+
+if (recipientIds.length)
+{
+    db.deleteData("LETTERRECIPIENT", SqlCondition.begin()
+        .andIn("LETTERRECIPIENT.LETTERRECIPIENTID", recipientIds)
+        .build("1=2"));
+}
+
+neon.refreshAll();
\ No newline at end of file
diff --git a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..0cd89c71d0e745d4f9d5924bf3996898c62534d7
--- /dev/null
+++ b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("Remove recipients with advertising ban"));
\ No newline at end of file
diff --git a/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js b/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..abe4a89cb96cd7238483d6b3fda1c2a4683ed8f7
--- /dev/null
+++ b/entity/LetterRecipient_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string("SERIALLETTER_ID = '" + vars.get("$param.SerialLetterId_param") + "'");
\ No newline at end of file
diff --git a/entity/LogHistory_entity/LogHistory_entity.aod b/entity/LogHistory_entity/LogHistory_entity.aod
index 337c5f1db0dc8cad3730bda48e5a479aa6550484..55a1bf21490d283ff2ddebfaab00ccea39dd60ae 100644
--- a/entity/LogHistory_entity/LogHistory_entity.aod
+++ b/entity/LogHistory_entity/LogHistory_entity.aod
@@ -41,43 +41,43 @@
         <entityDependency>
           <name>23dbfa51-5340-48e3-bd60-e0dcb7d44ad3</name>
           <entityName>Person_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>093a40d9-9f20-4c2f-8b43-3eed39b6bede</name>
           <entityName>Organisation_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>58532bc9-e789-403d-91a5-832ac40d6a6e</name>
           <entityName>Salesproject_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>6caadcde-8fda-40cb-97e0-ae507beab9d7</name>
           <entityName>Offer_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>f49eacab-f62c-4354-88eb-359cc92c2d44</name>
           <entityName>Order_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>de473d92-dbd3-4300-8887-163c997fcd62</name>
           <entityName>Contract_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>1c941565-b8ca-4805-a9d6-d49eb26a9801</name>
           <entityName>Product_entity</entityName>
-          <fieldName>LogHistoryConsumer</fieldName>
+          <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
@@ -86,6 +86,18 @@
           <fieldName>LogHistories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>c7d97e89-6363-4ad3-8132-b5aeb7a0c98e</name>
+          <entityName>BulkMail_entity</entityName>
+          <fieldName>LogHistories</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>deef9cab-515b-423c-87df-1a57b3ee1ff2</name>
+          <entityName>SerialLetter_entity</entityName>
+          <fieldName>LogHistories</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityParameter>
diff --git a/entity/Member_entity/Member_entity.aod b/entity/Member_entity/Member_entity.aod
index bb144449b860db2ef9b9b472420a9c55af26f8b5..f7afe0f14ff4b8acb92f77457b68eba480663d57 100644
--- a/entity/Member_entity/Member_entity.aod
+++ b/entity/Member_entity/Member_entity.aod
@@ -25,14 +25,14 @@
       <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
-      <name>MEMBERID</name>
-      <valueProcess>%aditoprj%/entity/Member_entity/entityfields/memberid/valueProcess.js</valueProcess>
+      <name>OBJECTMEMBERID</name>
+      <valueProcess>%aditoprj%/entity/Member_entity/entityfields/objectmemberid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>ROLE</name>
+      <name>MEMBERROLE</name>
       <title>Role</title>
       <consumer>KeywordMemberRoles</consumer>
-      <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/role/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/Member_entity/entityfields/memberrole/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>ORGANISATION_NAME</name>
@@ -244,30 +244,30 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt
       <conditionProcess>%aditoprj%/entity/Member_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <linkInformation>
         <linkInformation>
-          <name>dc8d3e38-dd0c-49e1-8665-695e5fd61025</name>
+          <name>b14ff9f6-97cc-4353-b19b-8acd50d56d5c</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
         <linkInformation>
-          <name>85c0ae33-0713-4413-aaef-6b0c39b70973</name>
+          <name>85599074-129e-4de8-b2b3-464bcfa8fb40</name>
           <tableName>PERSON</tableName>
           <primaryKey>PERSONID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
         <linkInformation>
-          <name>2ee2e445-6b7f-4d22-9a83-1b175ad0acc9</name>
+          <name>ae87b90e-b40d-4472-9bd0-08c080da7f7c</name>
           <tableName>CONTACT</tableName>
           <primaryKey>CONTACTID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
         <linkInformation>
-          <name>3d675008-56dc-4c91-90c9-7664dccddbb4</name>
-          <tableName>MEMBER</tableName>
-          <primaryKey>MEMBERID</primaryKey>
+          <name>1455636c-66c8-4100-892d-80e6a37ccd4d</name>
+          <tableName>OBJECTMEMBER</tableName>
+          <primaryKey>OBJECTMEMBERID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
@@ -303,12 +303,12 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.value</name>
-          <recordfield>MEMBER.CONTACT_ID</recordfield>
+          <recordfield>OBJECTMEMBER.CONTACT_ID</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>RELATIONSHIP.value</name>
-          <recordfield>MEMBER.RELATIONSHIP</recordfield>
+          <recordfield>OBJECTMEMBER.RELATIONSHIP</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
@@ -332,20 +332,20 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>POSITION.value</name>
-          <recordfield>CONTACT.POSITION</recordfield>
+          <recordfield>CONTACT.CONTACTPOSITION</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT_ROWID.value</name>
-          <recordfield>MEMBER.OBJECT_ROWID</recordfield>
+          <recordfield>OBJECTMEMBER.OBJECT_ROWID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT_TYPE.value</name>
-          <recordfield>MEMBER.OBJECT_TYPE</recordfield>
+          <recordfield>OBJECTMEMBER.OBJECT_TYPE</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>MEMBERID.value</name>
-          <recordfield>MEMBER.MEMBERID</recordfield>
+          <name>OBJECTMEMBERID.value</name>
+          <recordfield>OBJECTMEMBER.OBJECTMEMBERID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT_ROWID.displayValue</name>
@@ -353,17 +353,17 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>DECIDER.value</name>
-          <recordfield>MEMBER.DECIDER</recordfield>
+          <recordfield>OBJECTMEMBER.DECIDER</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>ROLE.value</name>
-          <recordfield>MEMBER.ROLE</recordfield>
-          <isFilterable v="true" />
+          <name>MEMBERROLE.displayValue</name>
+          <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/memberrole.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>ROLE.displayValue</name>
-          <expression>%aditoprj%/entity/Member_entity/recordcontainers/db/recordfieldmappings/role.displayvalue/expression.js</expression>
+          <name>MEMBERROLE.value</name>
+          <recordfield>OBJECTMEMBER.MEMBERROLE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js b/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js
index ff7a12d77a6468fc07aae82c486c7b575391d236..f1c9cd6147c3f4a813d79339899b4a1ba520f27b 100644
--- a/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js
+++ b/entity/Member_entity/entityfields/contacts/children/excludedcontactids_param/valueProcess.js
@@ -4,6 +4,6 @@ import("system.db");
 import("Sql_lib");
 
 result.object(db.array(db.COLUMN, SqlCondition.begin()
-                                .andPrepare("MEMBER.OBJECT_ROWID", vars.get("$field.OBJECT_ROWID"))
-                                .buildSql("select CONTACT_ID from MEMBER", "1=2")));
+                                .andPrepare("OBJECTMEMBER.OBJECT_ROWID", vars.get("$field.OBJECT_ROWID"))
+                                .buildSql("select CONTACT_ID from OBJECTMEMBER", "1=2")));
                      
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/icon/valueProcess.js b/entity/Member_entity/entityfields/icon/valueProcess.js
index 71433b6fd1101334fd669ae6d666c248db6ec555..73958ed988bcd4b2fedafe9a1d903e419af75db0 100644
--- a/entity/Member_entity/entityfields/icon/valueProcess.js
+++ b/entity/Member_entity/entityfields/icon/valueProcess.js
@@ -16,10 +16,4 @@ if(role)
 
 if(isIntern)
     result.string("VAADIN:STAR");
-else result.string("VAADIN:AIRPLANE");
-
-//var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(role, $KeywordRegistry.MemberRole());
-//
-//logging.log(keywordAttributes);
-//
-//result.string("VAADIN:AIRPLANE");
\ No newline at end of file
+else result.string("VAADIN:AIRPLANE");
\ No newline at end of file
diff --git a/entity/Member_entity/entityfields/role/displayValueProcess.js b/entity/Member_entity/entityfields/memberrole/displayValueProcess.js
similarity index 100%
rename from entity/Member_entity/entityfields/role/displayValueProcess.js
rename to entity/Member_entity/entityfields/memberrole/displayValueProcess.js
diff --git a/entity/Member_entity/entityfields/memberid/valueProcess.js b/entity/Member_entity/entityfields/objectmemberid/valueProcess.js
similarity index 100%
rename from entity/Member_entity/entityfields/memberid/valueProcess.js
rename to entity/Member_entity/entityfields/objectmemberid/valueProcess.js
diff --git a/entity/Member_entity/recordcontainers/db/conditionProcess.js b/entity/Member_entity/recordcontainers/db/conditionProcess.js
index e0f35ab06bb292e7e57bc2b43d44d96612dcfb55..2d6f617c515d9dd928745c6ec9553e7fb042be09 100644
--- a/entity/Member_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Member_entity/recordcontainers/db/conditionProcess.js
@@ -3,8 +3,8 @@ import("system.result");
 import("Sql_lib");
 
 var cond = new SqlCondition();
-cond.andPrepareVars("MEMBER.OBJECT_ROWID", "$param.ObjectRowId_param")
-cond.andPrepareVars("MEMBER.OBJECT_TYPE", "$param.ObjectType_param");
+cond.andPrepareVars("OBJECTMEMBER.OBJECT_ROWID", "$param.ObjectRowId_param")
+cond.andPrepareVars("OBJECTMEMBER.OBJECT_TYPE", "$param.ObjectType_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/db/fromClauseProcess.js b/entity/Member_entity/recordcontainers/db/fromClauseProcess.js
index edff7462ed28f71c7e85a667f69468eacf1e5af9..9565a4e8b7cfcb553d9c1c1fff901365b644dd30 100644
--- a/entity/Member_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Member_entity/recordcontainers/db/fromClauseProcess.js
@@ -1,5 +1,5 @@
 import("system.result");
 
-result.string("MEMBER join CONTACT on (CONTACT.CONTACTID = MEMBER.CONTACT_ID) "
+result.string("OBJECTMEMBER join CONTACT on (CONTACT.CONTACTID = OBJECTMEMBER.CONTACT_ID) "
             + "left join ORGANISATION on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID) "
             + "left join PERSON on (PERSON.PERSONID = CONTACT.PERSON_ID)");
\ No newline at end of file
diff --git a/entity/Member_entity/recordcontainers/db/recordfieldmappings/role.displayvalue/expression.js b/entity/Member_entity/recordcontainers/db/recordfieldmappings/memberrole.displayvalue/expression.js
similarity index 82%
rename from entity/Member_entity/recordcontainers/db/recordfieldmappings/role.displayvalue/expression.js
rename to entity/Member_entity/recordcontainers/db/recordfieldmappings/memberrole.displayvalue/expression.js
index 4e07d5e1138b5fac8da6fedca2efe17c54727ec4..a86d4135fdf038b0bdc2ca73bb8fbabcfe7dc9f2 100644
--- a/entity/Member_entity/recordcontainers/db/recordfieldmappings/role.displayvalue/expression.js
+++ b/entity/Member_entity/recordcontainers/db/recordfieldmappings/memberrole.displayvalue/expression.js
@@ -2,5 +2,5 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.MemberRole(), "MEMBER.ROLE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.MemberRole(), "OBJECTMEMBER.ROLE");
 result.string(sql);
\ No newline at end of file
diff --git a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
index 73393d631a5190c32e7837fd7e4de8ec01613b1a..5f23c2b53932ccdcd2ef263d4a073dd0af681ec2 100644
--- a/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/ModuleTree_entity/recordcontainers/jdito/contentProcess.js
@@ -40,7 +40,7 @@ function queryChildrenElements (pContextName, pID) {
     var taskResult = db.table(SqlCondition.begin()
     .andPrepare("TASK.PARENT_ID", pID)
     .andPrepare("TASK.PARENT_CONTEXT", pContextName)
-    .andPrepare("TASK.TYPE", $KeywordRegistry.taskType$task())
+    .andPrepare("TASK.KIND", $KeywordRegistry.taskType$task())
     .buildSql("select TASKID, PARENT_ID, PARENT_CONTEXT, SUBJECT, DESCRIPTION from TASK"));
     
     
@@ -150,7 +150,7 @@ function queryRootElement (pContextName, pID, pGetFirst) {
  *                 UID, PARENT_ID, PARENT_CONTEXT, TITLE, DESCRIPTION
  * @param pType The type of the row which needs adjustment.
  * @return Returns the following format:
- *         UID, TYPE, PARENT_ID, PARENT_CONTEX, TITL, DESCRIPTION, ICON
+ *         UID, KIND, PARENT_ID, PARENT_CONTEX, TITL, DESCRIPTION, ICON
  * 
  */
 function augmentData (pDataRow, pType) {
diff --git a/entity/Notification_entity/entityfields/state/displayValueProcess.js b/entity/Notification_entity/entityfields/state/displayValueProcess.js
index 821d9d45de78b483fa133576251beae4f9388f91..29481035b2ba5db04af2462b345b16aea5e22e67 100644
--- a/entity/Notification_entity/entityfields/state/displayValueProcess.js
+++ b/entity/Notification_entity/entityfields/state/displayValueProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.translate");
 import("system.result");
 import("system.vars");
diff --git a/entity/ObjectRelationType_entity/entityfields/hierarchy/valueProcess.js b/entity/ObjectRelationType_entity/entityfields/hierarchy/valueProcess.js
index b3028ee4f3a3271d9a6603e8d52faf656a4fa484..f85a152fd105b9b800f8ef9a352d078df76ce69b 100644
--- a/entity/ObjectRelationType_entity/entityfields/hierarchy/valueProcess.js
+++ b/entity/ObjectRelationType_entity/entityfields/hierarchy/valueProcess.js
@@ -2,7 +2,7 @@ import("system.neon");
 import("system.vars");
 import("system.result");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
 {
     result.string("0")
 }
\ No newline at end of file
diff --git a/entity/ObjectRelationType_entity/entityfields/type2enabled_proxy/valueProcess.js b/entity/ObjectRelationType_entity/entityfields/type2enabled_proxy/valueProcess.js
index ee7b68c6f9c712c45af6a147dc23c15d9bc7b1ec..18be71e8d7bce5838f512cda9b43a1f59ebb76d2 100644
--- a/entity/ObjectRelationType_entity/entityfields/type2enabled_proxy/valueProcess.js
+++ b/entity/ObjectRelationType_entity/entityfields/type2enabled_proxy/valueProcess.js
@@ -1,5 +1,5 @@
 import("system.vars");
 import("system.result");
 
-if (!vars.get("$field.Type2Enabled_proxy"))
+if (vars.get("$this.value") == null)
     result.string(vars.get("$field.DIRECTION") == "same" ? 0 : 1);
\ No newline at end of file
diff --git a/entity/ObjectTree_entity/ObjectTree_entity.aod b/entity/ObjectTree_entity/ObjectTree_entity.aod
index c262314070fc34b174f052cbfae692217ec76dfe..8ede388f92d042fdbffb06da322ad74d1e96cae6 100644
--- a/entity/ObjectTree_entity/ObjectTree_entity.aod
+++ b/entity/ObjectTree_entity/ObjectTree_entity.aod
@@ -3,7 +3,9 @@
   <name>ObjectTree_entity</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <title>Object relation</title>
+  <grantUpdate v="true" />
   <grantUpdateProcess>%aditoprj%/entity/ObjectTree_entity/grantUpdateProcess.js</grantUpdateProcess>
+  <grantDeleteProcess>%aditoprj%/entity/ObjectTree_entity/grantDeleteProcess.js</grantDeleteProcess>
   <titlePlural>Relations</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
@@ -127,6 +129,9 @@
       <valueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/ObjectTree_entity/entityfields/objectrelationtypeid/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+      </onValueChangeTypes>
     </entityField>
     <entityConsumer>
       <name>Objects</name>
@@ -156,12 +161,6 @@
           <iconId>VAADIN:FILE_TREE_SMALL</iconId>
           <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/insert/stateProcess.js</stateProcess>
         </entityActionField>
-        <entityActionField>
-          <name>edit</name>
-          <onActionProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js</onActionProcess>
-          <iconId>NEON:PENCIL</iconId>
-          <stateProcess>%aditoprj%/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js</stateProcess>
-        </entityActionField>
       </children>
     </entityActionGroup>
     <entityParameter>
diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js b/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js
deleted file mode 100644
index fc3ed15eaf7ab45ccc7caef5aff05ab0aa2f0e30..0000000000000000000000000000000000000000
--- a/entity/ObjectTree_entity/entityfields/alter/children/edit/onActionProcess.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import("ObjectRelation_lib");
-import("system.neon");
-import("system.vars");
-
-if (vars.exists("$sys.selection") && vars.getString("$sys.selection"))
-{    
-    var selectedRows = vars.get("$sys.selection");
-    var uid = JSON.parse(selectedRows[0]);
-    var isObjectRelationNode = typeof uid[2] == "string";
-
-    if (isObjectRelationNode)
-    {
-        var params = {
-            "Uid_param" : selectedRows[0]
-        }
-        neon.openContext("ObjectTree", "ObjectTreeEdit_view", null, neon.OPERATINGSTATE_EDIT, params);
-    }
-}
\ No newline at end of file
diff --git a/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js b/entity/ObjectTree_entity/grantDeleteProcess.js
similarity index 69%
rename from entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js
rename to entity/ObjectTree_entity/grantDeleteProcess.js
index 7fd3c236f3e52b7fa99582842ccdf27700c54625..beae0d06f3855352b200ae3f219ac60ea2b572b6 100644
--- a/entity/ObjectTree_entity/entityfields/alter/children/edit/stateProcess.js
+++ b/entity/ObjectTree_entity/grantDeleteProcess.js
@@ -12,15 +12,9 @@ if (vars.exists("$sys.selection") && vars.getString("$sys.selection"))
         var uid = JSON.parse(selectedRows[0]);
         isObjectRelationNode = typeof uid[2] == "string";
     }  
-
-    if (isObjectRelationNode)
-    {
-        result.string(neon.COMPONENTSTATE_EDITABLE)
-    }
-    else
-    {
-        result.string(neon.COMPONENTSTATE_DISABLED)
-    }
+    result.object(isObjectRelationNode)
 }
 else
-    result.string(neon.COMPONENTSTATE_DISABLED)
\ No newline at end of file
+{
+    result.object(false)
+}
\ No newline at end of file
diff --git a/entity/ObjectTree_entity/grantUpdateProcess.js b/entity/ObjectTree_entity/grantUpdateProcess.js
index 8e5335d6e14ffb8aff019ac6d92886ca0977c567..28ab72502496d758e3c14404982780a2bd70431b 100644
--- a/entity/ObjectTree_entity/grantUpdateProcess.js
+++ b/entity/ObjectTree_entity/grantUpdateProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.result");
 import("system.neon");
 import("system.vars");
@@ -13,12 +12,10 @@ if (vars.exists("$sys.selection") && vars.getString("$sys.selection"))
         var uid = JSON.parse(selectedRows[0]);
         isObjectRelationNode = typeof uid[2] == "string";
     }  
-    logging.log("objectrel grantUpdate " + isObjectRelationNode);
     result.object(isObjectRelationNode)
 }
 else
 {
     result.object(false)
-    logging.log("objectrel grantUpdate " + false);
 }
     
\ No newline at end of file
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 85a67133c3d4d3d49caa571c91528533331fe9f4..73a50c1716e7238b74b0981d0dd0186b76ec47ae 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -152,13 +152,13 @@
       <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/totalgross/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
-      <name>LANGUAGE</name>
+      <name>ISOLANGUAGE</name>
       <title>Language</title>
       <consumer>Languages</consumer>
       <mandatory v="true" />
-      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/language/stateProcess.js</stateProcess>
-      <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/language/displayValueProcess.js</displayValueProcess>
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/isolanguage/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/isolanguage/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/isolanguage/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityActionField>
       <name>copyOffer</name>
@@ -799,7 +799,7 @@
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -808,7 +808,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -875,7 +875,6 @@
       <onValueChangeTypes>
         <element>MASK</element>
       </onValueChangeTypes>
-      <onValidation>%aditoprj%/entity/Offer_entity/entityfields/contact_id/onValidation.js</onValidation>
     </entityField>
     <entityParameter>
       <name>PossibleConnectionTypes</name>
@@ -894,6 +893,20 @@
       <iconId>VAADIN:CURLY_BRACKETS</iconId>
       <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/openadminview/stateProcess.js</stateProcess>
     </entityActionField>
+    <entityProvider>
+      <name>SentOffers</name>
+      <children>
+        <entityParameter>
+          <name>OfferStatus_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/sentoffers/children/offerstatus_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityParameter>
+      <name>OfferStatus_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -953,11 +966,6 @@
           <recordfield>OFFER.HEADER</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>LANGUAGE.value</name>
-          <recordfield>OFFER.LANGUAGE</recordfield>
-          <isFilterable v="true" />
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>NET.value</name>
           <recordfield>OFFER.NET</recordfield>
@@ -1017,10 +1025,6 @@
           <name>STATUS.displayValue</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>LANGUAGE.displayValue</name>
-          <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PROBABILITY.displayValue</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression>
@@ -1101,7 +1105,31 @@
           <name>CONTACT_ID.displayValue</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
+        <dbRecordFieldMapping>
+          <name>ISOLANGUAGE.value</name>
+          <recordfield>OFFER.ISOLANGUAGE</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ISOLANGUAGE.displayValue</name>
+          <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
diff --git a/entity/Offer_entity/entityfields/attributes/stateProcess.js b/entity/Offer_entity/entityfields/attributes/stateProcess.js
index 8225159ab271d45cf061f4e302b1eac50adada28..0a6a6c21d28963cf2bf06df2749337986db749b5 100644
--- a/entity/Offer_entity/entityfields/attributes/stateProcess.js
+++ b/entity/Offer_entity/entityfields/attributes/stateProcess.js
@@ -1,3 +1,5 @@
+import("Context_lib");
+import("Attribute_lib");
 import("Offer_lib");
 import("Sql_lib");
 import("system.vars");
@@ -7,7 +9,10 @@ import("system.result");
 
 if (OfferUtils.isEditable(vars.get("$field.STATUS"))) 
 {
-    result.string(neon.COMPONENTSTATE_EDITABLE);
+    if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+        result.string(neon.COMPONENTSTATE_EDITABLE);
+    else
+        result.string(neon.COMPONENTSTATE_INVISIBLE);
 }
 else
 {
diff --git a/entity/Offer_entity/entityfields/contact_id/documentation.adoc b/entity/Offer_entity/entityfields/contact_id/documentation.adoc
index 5812dd624daeeb2a97ec0d796bf3a3dba0fade26..26184bc759b7e073397279194e3f09fa4c64deb8 100644
--- a/entity/Offer_entity/entityfields/contact_id/documentation.adoc
+++ b/entity/Offer_entity/entityfields/contact_id/documentation.adoc
@@ -1,10 +1,10 @@
-= CONTACT_ID
-:hardbreaks:
-
-Over this field the company or contact person of customer is linked.
-
-== onValueChange
-
-If set in the selected company or contact person, the following field value are taken over:
-
-* LANGUAGE
\ No newline at end of file
+= CONTACT_ID
+:hardbreaks:
+
+Over this field the company or contact person of customer is linked.
+
+== onValueChange
+
+If set in the selected company or contact person, the following field value are taken over:
+
+* ISOLANGUAGE
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/contact_id/onValidation.js b/entity/Offer_entity/entityfields/contact_id/onValidation.js
deleted file mode 100644
index 98c4fef71d31b5027c234773c7223421117a54a6..0000000000000000000000000000000000000000
--- a/entity/Offer_entity/entityfields/contact_id/onValidation.js
+++ /dev/null
@@ -1,12 +0,0 @@
-//import("system.logging");
-//import("system.result");
-//import("system.translate");
-//import("system.vars");
-//import("Context_lib");
-//import("Entity_lib");
-//import("Contact_lib");
-//
-//if (ContactUtils.getContactTypeByContactId(vars.get("$local.value")) != 2 && ContextUtils.getCountByContactId(vars.get("$field.OBJECT_TYPE"), vars.get("$local.value")) == 0) {
-//    logging.log(ContextUtils.getCountByContactId(vars.get("$field.OBJECT_TYPE"), vars.get("local.value")));
-//    result.string(translate.text("This contact has no possible link."))
-//}
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/contact_id/onValueChange.js b/entity/Offer_entity/entityfields/contact_id/onValueChange.js
index c90065cca07269ff73a623755b297c7f4531b442..ae48412049aaa2dcb6dd2d2b7d64e5cc3b25c0fa 100644
--- a/entity/Offer_entity/entityfields/contact_id/onValueChange.js
+++ b/entity/Offer_entity/entityfields/contact_id/onValueChange.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.neon");
 import("system.vars");
 import("system.db");
@@ -10,9 +9,9 @@ var contactid = vars.get("local.value");
 if(contactid != "")
 {
     //Language Preset
-    var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactid + "'");
+    var relData = db.array(db.ROW, "select ISOLANGUAGE from CONTACT where CONTACTID = '" + contactid + "'");
     if(relData[0] != "") 
-        neon.setFieldValue("field.LANGUAGE", relData[0]);
+        neon.setFieldValue("field.ISOLANGUAGE", relData[0]);
     
     // set $field.CONTATCT_ORG_ID per contactid
     var orgid = ContactUtils.getPersOrgIds(contactid);
@@ -21,12 +20,10 @@ if(contactid != "")
 else
 {
     neon.setFieldValue("$field.CONTACT_ORG_ID", "");
-    neon.setFieldValue("$field.LANGUAGE", "");
+    neon.setFieldValue("$field.ISOLANGUAGE", "");
 }
 
 if(!vars.get("$param.ObjectRowId_param"))
 {
-   // logging.log(JSON.stringify(vars.get("$local.type"), null, "\t"))
-   // logging.log(JSON.stringify(vars.get("$local.typevalue"), null, "\t"))
     neon.setFieldValue("$field.OBJECT_ROWID", "");
 }
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/contact_id/valueProcess.js b/entity/Offer_entity/entityfields/contact_id/valueProcess.js
index 82e4042d04ee5e0a82d63848e74e053985eaab2f..ae70dd9d53d436e3a989d138c46c5f78c7fa1621 100644
--- a/entity/Offer_entity/entityfields/contact_id/valueProcess.js
+++ b/entity/Offer_entity/entityfields/contact_id/valueProcess.js
@@ -20,10 +20,10 @@ if ((!vars.exists("$param.ContactId_param") || !vars.get("$param.ContactId_param
 
 if (contactId) 
 {
-    var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactId + "'");
+    var relData = db.array(db.ROW, "select ISOLANGUAGE from CONTACT where CONTACTID = '" + contactId + "'");
 
     if(relData[0] != "") 
-        neon.setFieldValue("field.LANGUAGE", relData[0]);
+        neon.setFieldValue("field.ISOLANGUAGE", relData[0]);
     
     result.string(contactId);
 }
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js b/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js
index 4dc0b8f10aade72bb70fc84b11368e1f42993366..17cc41af8869fdfbe8de679bb2a0190d3367e51a 100644
--- a/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js
+++ b/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js
@@ -4,7 +4,7 @@ import("Offer_lib");
 
 var contactId = vars.getString("$field.CONTACT_ID");
 var currency = vars.getString("$field.CURRENCY");
-var language = vars.getString("$field.LANGUAGE");
+var language = vars.getString("$field.ISOLANGUAGE");
 var header = vars.getString("$field.HEADER");
 var footer = vars.getString("$field.FOOTER");
 var offerId = vars.getString("$field.OFFERID");
diff --git a/entity/Offer_entity/entityfields/documents/stateProcess.js b/entity/Offer_entity/entityfields/documents/stateProcess.js
index 4c5360f5be4a89227e57e90bb98bdcaed69d6786..850da85b0f0d927ecf802dd889c6e32bd20060ea 100644
--- a/entity/Offer_entity/entityfields/documents/stateProcess.js
+++ b/entity/Offer_entity/entityfields/documents/stateProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("Offer_lib");
 import("system.result");
diff --git a/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js b/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js
index d39bcd7a3c4880d06e2db9776a472e92ad9a34ac..80bc199de9497710301fa61c141c4fe62aa9dd45 100644
--- a/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js
+++ b/entity/Offer_entity/entityfields/fulloffercode/valueProcess.js
@@ -1,5 +1,9 @@
+import("system.translate");
 import("system.result");
 import("system.vars");
 
-//a filedGroup cannot be placed in a table (filter-view) at the moment and therefore a separate field is needed:
-result.string(vars.get("$field.OFFERCODE") + "-" + vars.get("$field.VERSNR"));
+//a fieldGroup cannot be placed in a table (filter-view) at the moment and therefore a separate field is needed:
+if(!vars.get("$field.OFFERCODE") && !vars.get("$field.VERSNR"))
+    result.string(translate.text("Offer"));
+else
+    result.string(vars.get("$field.OFFERCODE") + "-" + vars.get("$field.VERSNR"));
diff --git a/entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js b/entity/Offer_entity/entityfields/isolanguage/displayValueProcess.js
similarity index 86%
rename from entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js
rename to entity/Offer_entity/entityfields/isolanguage/displayValueProcess.js
index f4cab09b91902faee535768a00c0a618baa3ff27..0a2a0ee65d4db10c8e023e7e2849fbde9b6de533 100644
--- a/entity/DocumentTemplate_entity/entityfields/language/displayValueProcess.js
+++ b/entity/Offer_entity/entityfields/isolanguage/displayValueProcess.js
@@ -1,12 +1,12 @@
-import("system.db");
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("Sql_lib");
-
-var iso3 = vars.get("$field.LANGUAGE");
-var latinName = db.cell(SqlCondition.begin()
-    .andPrepare("AB_LANGUAGE.ISO3", iso3)
-    .buildSql("select NAME_LATIN from AB_LANGUAGE", "1=0"));
-latinName = translate.text(latinName);
-result.string(latinName);
+import("system.db");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Sql_lib");
+
+var iso3 = vars.get("$field.ISOLANGUAGE");
+var latinName = db.cell(SqlCondition.begin()
+    .andPrepare("AB_LANGUAGE.ISO3", iso3)
+    .buildSql("select NAME_LATIN from AB_LANGUAGE", "1=0"));
+latinName = translate.text(latinName);
+result.string(latinName);
diff --git a/entity/Offer_entity/entityfields/language/stateProcess.js b/entity/Offer_entity/entityfields/isolanguage/stateProcess.js
similarity index 100%
rename from entity/Offer_entity/entityfields/language/stateProcess.js
rename to entity/Offer_entity/entityfields/isolanguage/stateProcess.js
diff --git a/entity/Offer_entity/entityfields/language/valueProcess.js b/entity/Offer_entity/entityfields/isolanguage/valueProcess.js
similarity index 100%
rename from entity/Offer_entity/entityfields/language/valueProcess.js
rename to entity/Offer_entity/entityfields/isolanguage/valueProcess.js
diff --git a/entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Offer_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Offer_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index b558bb290eb1cf9b5af5699279bf6b1917df6339..f6fdb0fbfa306482f48611c8049f39fb20a854a3 100644
--- a/entity/Offer_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.OFFERID"), tableNames: ["AB_ATTRIBUTERELATION", "OFFERITEM"]});
-res.push({id: vars.get("$field.OFFERID"), tableNames: ["OFFER"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.OFFERID"), tableNames: ["AB_ATTRIBUTERELATION", "OFFERITEM"]});
+res.push({id: vars.get("$field.OFFERID"), tableNames: ["OFFER"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js
index 66b368d8e0178f9601c77a600619d542fa2c14ff..5a7493c41130f53a5a877ad0823f5783c8c80c02 100644
--- a/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js
+++ b/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js
@@ -6,7 +6,7 @@ var params = {
     "ContactId_param" : vars.get("$field.CONTACT_ID"),
     "ObjectType_param" : vars.get("$field.OBJECT_TYPE"),
     "ObjectRowId_param" : vars.get("$field.OBJECT_ROWID"),
-    "OfferLanguage_param" : vars.get("$field.LANGUAGE"),
+    "OfferLanguage_param" : vars.get("$field.ISOLANGUAGE"),
     "OfferOriginal_Id_param" : vars.get("$field.OFFERID"),
     "OfferCode_param" : vars.get("$field.OFFERCODE"),
     "OfferVersnr_param" : OfferUtils.getNextOfferVersionNumber(vars.get("$field.OFFERCODE")),
diff --git a/entity/Offer_entity/entityfields/neworder/onActionProcess.js b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
index 6f9ea04c4db03ecdff0c3720b4dfb489f065f3f6..696d171c7ef1d69bd9301c5e3c7d8ce214156a3f 100644
--- a/entity/Offer_entity/entityfields/neworder/onActionProcess.js
+++ b/entity/Offer_entity/entityfields/neworder/onActionProcess.js
@@ -6,7 +6,7 @@ var contactId = vars.getString("$field.CONTACT_ID");
 var pRowId = vars.getString("$field.OBJECT_ROWID");
 var pContext=vars.getString("$field.OBJECT_TYPE")
 var currency = vars.getString("$field.CURRENCY");
-var language = vars.getString("$field.LANGUAGE");
+var language = vars.getString("$field.ISOLANGUAGE");
 var header = vars.getString("$field.HEADER");
 var address = vars.getString("$field.ADDRESS");
 var offerId = vars.getString("$field.OFFERID");
diff --git a/entity/Offer_entity/entityfields/object_rowid/valueProcess.js b/entity/Offer_entity/entityfields/object_rowid/valueProcess.js
index 29bb85ddce909faec7a1d90bb521f3d129b4b495..8682d1f41d4023e8e347ad32eb1c0760af54f0fb 100644
--- a/entity/Offer_entity/entityfields/object_rowid/valueProcess.js
+++ b/entity/Offer_entity/entityfields/object_rowid/valueProcess.js
@@ -1,8 +1,6 @@
-import("system.logging");
 import("system.neon");
 import("system.vars");
 import("system.result");
 
-logging.log("--- " + JSON.stringify(vars.get("$sys.recordstate"), vars.exists("$param.ObjectRowId_param"), null, "\t"))
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param"))
     result.string(vars.get("$param.ObjectRowId_param"));
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/offeritems/children/language_param/valueProcess.js b/entity/Offer_entity/entityfields/offeritems/children/language_param/valueProcess.js
index 33d4d6d238c6273767dcb38ba121c6edd66acbea..bf7d2d68dd299037cf3c46bb153e5b7c436194b6 100644
--- a/entity/Offer_entity/entityfields/offeritems/children/language_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/offeritems/children/language_param/valueProcess.js
@@ -1,5 +1,4 @@
-import("system.logging");
 import("system.vars");
 import("system.result");
-logging.log("offer " + vars.get("$field.LANGUAGE"))
-result.string(vars.get("$field.LANGUAGE"));
+
+result.string(vars.get("$field.ISOLANGUAGE"));
diff --git a/entity/Offer_entity/entityfields/sentoffers/children/offerstatus_param/valueProcess.js b/entity/Offer_entity/entityfields/sentoffers/children/offerstatus_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..54675da8f571c86ed8fcb1b757bf1dcd08ff8856
--- /dev/null
+++ b/entity/Offer_entity/entityfields/sentoffers/children/offerstatus_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.offerStatus$sent());
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/status/onValueChange.js b/entity/Offer_entity/entityfields/status/onValueChange.js
index 81a275dcbdee865fbd6796f60354f0a62abbb96a..d06a9e01b5af62f0a0637d6db848cb7a76f626da 100644
--- a/entity/Offer_entity/entityfields/status/onValueChange.js
+++ b/entity/Offer_entity/entityfields/status/onValueChange.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("Offer_lib");
 
 var offerId = vars.getString("$field.OFFERID");
-if (offerId && vars.get("$field.STATUS") == 2 || vars.get("$field.STATUS") == 3 || vars.get("$field.STATUS") == 4)
+if (offerId && vars.get("local.value") == 2 || vars.get("local.value") == 3 || vars.get("local.value") == 4)
 {
     OfferUtils.setSent(offerId);
 }
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/conditionProcess.js b/entity/Offer_entity/recordcontainers/db/conditionProcess.js
index 25a5d52c1d4d1808cee87b68e601d8f6bf2a346f..d06014df7b5d8a907207e3547acedbdece0084eb 100644
--- a/entity/Offer_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Offer_entity/recordcontainers/db/conditionProcess.js
@@ -11,5 +11,8 @@ else {
     cond.andPrepareVars("OFFER.OBJECT_ROWID", "$param.ObjectRowId_param");
     cond.andPrepareVars("OFFER.OBJECT_TYPE", "$param.ObjectType_param");
 }
+
+cond.andPrepareVars("OFFER.STATUS", "$param.OfferStatus_param")
+
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/onDBInsert.js b/entity/Offer_entity/recordcontainers/db/onDBInsert.js
index c9c487029913a28d6eda69030fccfc6f6f3a3f5f..cf7eb05721dd07df50aec9a891e3bdce9a3cd49b 100644
--- a/entity/Offer_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Offer_entity/recordcontainers/db/onDBInsert.js
@@ -3,4 +3,4 @@ import("system.vars");
 import("Offer_lib");
 
 if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.OfferOriginal_Id_param"))
-    OfferUtils.copyOfferItems(vars.getString("$param.OfferOriginal_Id_param"), vars.get("$field.OFFERID"));
+    OfferUtils.copyOfferItems(vars.getString("$param.OfferOriginal_Id_param"), vars.get("$local.uid"));
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9a3d04480545203f0da83c3f6be762e684c8883a
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Offer'";
+
+result.string("OFFERID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..5062035a24b0ca5f7bfafba434b9447a7f3e258b
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+
+var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("OFFER.ISOLANGUAGE");
+result.string(sql);
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
deleted file mode 100644
index cbde79e3b0930143fccf465cb6561f871a706df2..0000000000000000000000000000000000000000
--- a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-
-var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("OFFER.LANGUAGE");
-result.string(sql);
diff --git a/entity/Offer_entity/recordcontainers/index/query.js b/entity/Offer_entity/recordcontainers/index/query.js
index 7aed701b0b543ac1c93e7a932efec19bac353581..73e6a530c0286b34ea9f1e27bdcb83c52b7c4b47 100644
--- a/entity/Offer_entity/recordcontainers/index/query.js
+++ b/entity/Offer_entity/recordcontainers/index/query.js
@@ -16,11 +16,11 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select OFFERID as uid, " 
+sqlQuery = 'select OFFERID as "_uid_", ' 
     + sqlHelper.concat([sqlHelper.cast("OFFERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.offerStatus(), "OFFER.STATUS")], " | ")
-    + " as title, " 
+    + ' as "_title_", ' 
     + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Description") + ":'", sqlHelper.castLob("OFFER.INFO", 250)])  
-    + " as description" 
+    + ' as "_description_"' 
     + ", OFFERCODE"
     + ", CUSTOMERCODE " 
     + ", OFFER.CONTACT_ID "
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index 14f0354526ac2a34b83667187133be00712658ab..925128cee578dd779edb74e8821a819df5102a3d 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -7,9 +7,9 @@
   <siblings>
     <element>Offer_entity</element>
   </siblings>
+  <grantCreateProcess>%aditoprj%/entity/Offeritem_entity/grantCreateProcess.js</grantCreateProcess>
   <grantUpdateProcess>%aditoprj%/entity/Offeritem_entity/grantUpdateProcess.js</grantUpdateProcess>
   <grantDeleteProcess>%aditoprj%/entity/Offeritem_entity/grantDeleteProcess.js</grantDeleteProcess>
-  <afterOperatingState>%aditoprj%/entity/Offeritem_entity/afterOperatingState.js</afterOperatingState>
   <titlePlural>Offeritems</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -42,9 +42,11 @@
       <name>ITEMPOSITION</name>
       <title>Position</title>
       <state>READONLY</state>
+      <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/itemposition/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>ITEMSORT</name>
+      <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/itemsort/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>OFFERITEMID</name>
diff --git a/entity/Offeritem_entity/afterOperatingState.js b/entity/Offeritem_entity/afterOperatingState.js
deleted file mode 100644
index 9434dc067c9d69ca762dc13eaacb5ee36aeab6e8..0000000000000000000000000000000000000000
--- a/entity/Offeritem_entity/afterOperatingState.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import("system.logging");
-import("system.neon");
-import("system.vars");
-import("Offer_lib");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-{
-    var offerId = vars.get("$field.OFFER_ID");
-    var oiUtils = new OfferItemUtils(offerId);
-    
-    vars.set("$field.ITEMSORT", oiUtils.getNextItemSort());
-    vars.set("$field.ITEMPOSITION", oiUtils.getNextItemPosition(vars.get("$field.ASSIGNEDTO")));
-}
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/itemposition/valueProcess.js b/entity/Offeritem_entity/entityfields/itemposition/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce2043d7397269f3b2860fdc1c90bedc45956f59
--- /dev/null
+++ b/entity/Offeritem_entity/entityfields/itemposition/valueProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+import("Offer_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+{
+    var oiUtils = new OfferItemUtils(vars.get("$field.OFFER_ID"));
+    result.string(oiUtils.getNextItemPosition(vars.get("$field.ASSIGNEDTO")));
+}
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/itemsort/valueProcess.js b/entity/Offeritem_entity/entityfields/itemsort/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..822bd91ae0d7ea41713660ef05c058bdf365f5f1
--- /dev/null
+++ b/entity/Offeritem_entity/entityfields/itemsort/valueProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+import("Offer_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+{
+    var oiUtils = new OfferItemUtils(vars.get("$field.OFFER_ID"));
+    result.string(oiUtils.getNextItemSort());
+}
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
index 6f96be4201ed5ce7eda37e4f6b7225bd3c07393e..2c2dc40460231b4e6cf5f081f48894856bb4cafc 100644
--- a/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
+++ b/entity/Offeritem_entity/entityfields/product_id/onValueChange.js
@@ -20,7 +20,7 @@ if(pid != "")
     //TODO: loading from db until loading from Consumer is possible.
     var ProductDetails = ProductUtils.getProductDetails(pid, PriceListFilter, 
             [["info", db.translateStatement(SqlCondition.begin()
-                                  .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "$field.PRODUCT_ID")
+                                  .andPrepareVars("DESCRIPTIONTRANSLATION.OBJECT_ROWID", "local.value")
                                   .and("DESCRIPTIONTRANSLATION.OBJECT_TYPE = 'Product'")
                                   .andPrepareVars("DESCRIPTIONTRANSLATION.LANG", "$param.Language_param")
                                   .buildSql("(select DESCRIPTION from DESCRIPTIONTRANSLATION", "1=2", ")"))]
diff --git a/entity/Offeritem_entity/entityfields/quantity/onValueChange.js b/entity/Offeritem_entity/entityfields/quantity/onValueChange.js
index ff55fb2f6178b863ff7edef2306dccd39c83efaf..5098743ffb034230fa82e48dac7a1849814e7a93 100644
--- a/entity/Offeritem_entity/entityfields/quantity/onValueChange.js
+++ b/entity/Offeritem_entity/entityfields/quantity/onValueChange.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("AttributeRegistry_basic");
 import("system.vars");
 import("system.neon");
@@ -32,6 +31,6 @@ var quatity = vars.get("$local.value") ? vars.get("$local.value") : "";
 
 if (parseInt(quatity) <= 0)
 {
-    neon.setFieldValue("$field.QUANTITY", "1");
+    neon.setFieldValue("local.value", "1");
 }
     
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/quantity/valueProcess.js b/entity/Offeritem_entity/entityfields/quantity/valueProcess.js
index ebd4664e6124e2b62ca40d0d0e97e43003cf22f0..72e8e990dec55f1e9efab9d25b53672c5b6a6d7e 100644
--- a/entity/Offeritem_entity/entityfields/quantity/valueProcess.js
+++ b/entity/Offeritem_entity/entityfields/quantity/valueProcess.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
 {
     result.string("1");
 }
\ No newline at end of file
diff --git a/entity/Offeritem_entity/grantCreateProcess.js b/entity/Offeritem_entity/grantCreateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..658fcf03ff413844ff78cd652d86cbe62a0113bf
--- /dev/null
+++ b/entity/Offeritem_entity/grantCreateProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Offer_lib");
+import("system.logging");
+
+result.string(OfferUtils.isEditable(vars.get("$param.OfferStatus_param")));
\ No newline at end of file
diff --git a/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js b/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js
index 1e4dc46b09b8d369f24c76194c2eb16774ab8bea..317fce086c92e7e36cb070594c3fb2a756b386d0 100644
--- a/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Offeritem_entity/recordcontainers/db/onDBInsert.js
@@ -7,13 +7,15 @@ import("Offer_lib");
 import("Product_lib");
 import("Sql_lib");
 
-var oid = vars.get("$field.OFFER_ID");
+var rowdata = vars.get("$local.rowdata");
+
+var oid = rowdata["OFFERITEM.OFFER_ID"];
 if(oid != "")
 {
     var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
     var contactid = vars.exists("$param.ContactId_param") ? vars.get("$param.ContactId_param") : "";
-    var oiUtils = new OfferItemUtils(vars.get("$field.OFFER_ID"));    
-    oiUtils.insertPartsList(vars.get("$field.PRODUCT_ID"), vars.get("$field.OFFERITEMID"), curr, contactid, vars.get("$param.Language_param"));
+    var oiUtils = new OfferItemUtils(rowdata["OFFERITEM.OFFER_ID"]);    
+    oiUtils.insertPartsList(rowdata["OFFERITEM.PRODUCT_ID"], vars.get("$local.uid"), curr, contactid, vars.get("$param.Language_param"));
     oiUtils.reOrgItems();
     
     //update offer price
diff --git a/entity/Order_entity/entityfields/attributes/stateProcess.js b/entity/Order_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Order_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/attributetree/stateProcess.js b/entity/Order_entity/entityfields/attributetree/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Order_entity/entityfields/attributetree/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/contact_id/documentation.adoc b/entity/Order_entity/entityfields/contact_id/documentation.adoc
index f8989a2242e89dd5d4eeca7ccb59e9ca0cccedc0..26184bc759b7e073397279194e3f09fa4c64deb8 100644
--- a/entity/Order_entity/entityfields/contact_id/documentation.adoc
+++ b/entity/Order_entity/entityfields/contact_id/documentation.adoc
@@ -7,4 +7,4 @@ Over this field the company or contact person of customer is linked.
 
 If set in the selected company or contact person, the following field value are taken over:
 
-* LANGUAGE
\ No newline at end of file
+* ISOLANGUAGE
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/contact_id/onValueChange.js b/entity/Order_entity/entityfields/contact_id/onValueChange.js
index d2b9a2a8a4a879bab144368702d866d37a4f5da8..90bde5ed09496674f5fe694338b5a25ca0bae8ca 100644
--- a/entity/Order_entity/entityfields/contact_id/onValueChange.js
+++ b/entity/Order_entity/entityfields/contact_id/onValueChange.js
@@ -6,7 +6,7 @@ import("Entity_lib");
 var contactid = vars.get("local.value");
 if(contactid != "")
 {
-    var relData = db.array(db.ROW, "select LANGUAGE from CONTACT where CONTACTID = '" + contactid + "'");
+    var relData = db.array(db.ROW, "select ISOLANGUAGE from CONTACT where CONTACTID = '" + contactid + "'");
     
-    if(relData[0] != "")    vars.set("$field.LANGUAGE", relData[0]);
+    if(relData[0] != "")    vars.set("$field.ISOLANGUAGE", relData[0]);
 }
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/isolanguage/displayValueProcess.js b/entity/Order_entity/entityfields/isolanguage/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d60342f7264e2cb7c41a787563070a80c827eb53
--- /dev/null
+++ b/entity/Order_entity/entityfields/isolanguage/displayValueProcess.js
@@ -0,0 +1,15 @@
+import("system.db");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("Sql_lib");
+
+if (vars.exists("$param.OrderLanguage_param") && vars.get("$param.OrderLanguage_param")) 
+{
+    var iso3 = vars.get("$param.OrderLanguage_param");
+    var latinName = db.cell(SqlCondition.begin()
+        .andPrepare("AB_LANGUAGE.ISO3", iso3)
+        .buildSql("select NAME_LATIN from AB_LANGUAGE", "1=0"));
+    latinName = translate.text(latinName);
+    result.string(latinName);
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/isolanguage/valueProcess.js b/entity/Order_entity/entityfields/isolanguage/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b1684b313cd013775775c1711f7b80b88cc13071
--- /dev/null
+++ b/entity/Order_entity/entityfields/isolanguage/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+if (vars.exists("$param.OrderLanguage_param")) 
+{
+    result.string(vars.get("$param.OrderLanguage_param"));
+}
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Order_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Order_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Order_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 330f295e531bcbfcc893cb021d313a15a279abfb..b5acc0e5c7cd1d3b12b79af369bdeb74e5b2fce2 100644
--- a/entity/Order_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Order_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.SALESORDERID"), tableNames: ["AB_ATTRIBUTERELATION", "SALESORDERITEM", "PRODUCT"]});
-res.push({id: vars.get("$field.SALESORDERID"), tableNames: ["SALESORDER"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.SALESORDERID"), tableNames: ["AB_ATTRIBUTERELATION", "SALESORDERITEM", "PRODUCT"]});
+res.push({id: vars.get("$field.SALESORDERID"), tableNames: ["SALESORDER"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/ordercode_versnr_fieldgroup/valueProcess.js b/entity/Order_entity/entityfields/ordercode_versnr_fieldgroup/valueProcess.js
index dc74779ab731a8898e922e446340164b5a1cc791..e63d77e5efd06bcf3bf3e63254ae41fbf574e49b 100644
--- a/entity/Order_entity/entityfields/ordercode_versnr_fieldgroup/valueProcess.js
+++ b/entity/Order_entity/entityfields/ordercode_versnr_fieldgroup/valueProcess.js
@@ -1,4 +1,8 @@
+import("system.translate");
 import("system.result");
 import("system.vars");
 
-result.string(vars.get("$field.SALESORDERCODE") + "-" + vars.get("$field.VERSNR"));
+if(!vars.get("$field.SALESORDERCODE") && !vars.get("$field.VERSNR"))
+    result.string(translate.text("Receipt"));
+else
+    result.string(vars.get("$field.SALESORDERCODE") + "-" + vars.get("$field.VERSNR"));
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Order_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..33c36a352b21b0f4dfc9c54c1a490ea4826a610a
--- /dev/null
+++ b/entity/Order_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Order'";
+
+result.string("SALESORDERID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Order_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Order_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
similarity index 88%
rename from entity/Order_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
rename to entity/Order_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
index a7cb288ef1c84b6168498dd245497bd6712f5610..1eec134c1cab5198e13973fb32f22d44eb20ba99 100644
--- a/entity/Order_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
+++ b/entity/Order_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("SALESORDER.LANGUAGE");
+var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("SALESORDER.ISOLANGUAGE");
 result.string(sql);
diff --git a/entity/Order_entity/recordcontainers/index/query.js b/entity/Order_entity/recordcontainers/index/query.js
index 57bca0642de68d859f09012c034d5edc33139485..2a452fc682912d0f352095e584df3f3ad05a161a 100644
--- a/entity/Order_entity/recordcontainers/index/query.js
+++ b/entity/Order_entity/recordcontainers/index/query.js
@@ -15,11 +15,11 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select SALESORDERID as uid, " 
+sqlQuery = 'select SALESORDERID as "_uid_", ' 
     + sqlHelper.concat([sqlHelper.cast("SALESORDERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesorderState(), "SALESORDER.STATUS")], " | ")
-    + " as title, " 
+    + ' as "_title_", ' 
     + sqlHelper.concat(["ORGANISATION.NAME"], " | ") 
-    + " as description" 
+    + ' as "_description_" ' 
     + ", SALESORDERCODE" 
     + ", CUSTOMERCODE"
     + ", SALESORDER.CONTACT_ID"
diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod
index d3fd618a4866500d7a0000e003b446dc3762bb2c..07d49d8ab6c951239caf9644b2f38667858238ba 100644
--- a/entity/Orderitem_entity/Orderitem_entity.aod
+++ b/entity/Orderitem_entity/Orderitem_entity.aod
@@ -39,6 +39,7 @@
     </entityField>
     <entityField>
       <name>ITEMSORT</name>
+      <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/itemsort/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>SALESORDERITEMID</name>
diff --git a/entity/Orderitem_entity/afterOperatingState.js b/entity/Orderitem_entity/afterOperatingState.js
index 2fae7948cdde0ce1358c7791d3d77ce767058aca..4bd06671b892ea9addda977d99dc93bf31b900fb 100644
--- a/entity/Orderitem_entity/afterOperatingState.js
+++ b/entity/Orderitem_entity/afterOperatingState.js
@@ -1,19 +1,7 @@
 import("system.neon");
 import("system.vars");
-import("Order_lib");
 
-var opState = vars.get("$sys.recordstate");
-
-if(opState == neon.OPERATINGSTATE_NEW)
-{
-    var orderId = vars.get("$field.SALESORDER_ID");
-    var oiUtils = new OrderItemUtils(orderId);
-    
-    vars.set("$field.ITEMSORT", oiUtils.getNextItemSort());
-    vars.set("$field.ITEMPOSITION", oiUtils.getNextItemPosition(vars.get("$field.ASSIGNEDTO")));
-}
-
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW) 
+if (vars.exists("$sys.operatingstate") && vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW) 
 {
     neon.refresh();
 }
\ No newline at end of file
diff --git a/entity/Orderitem_entity/entityfields/itemposition/valueProcess.js b/entity/Orderitem_entity/entityfields/itemposition/valueProcess.js
index 92951e02d31b812798f9b29c2e53fae90655c6a9..306842b29e4739279a2e053d2646c284a8820b0e 100644
--- a/entity/Orderitem_entity/entityfields/itemposition/valueProcess.js
+++ b/entity/Orderitem_entity/entityfields/itemposition/valueProcess.js
@@ -1,2 +1,10 @@
 import("system.result");
-result.string("")
\ No newline at end of file
+import("system.vars");
+import("system.neon");
+import("Order_lib");
+
+if(opState == neon.OPERATINGSTATE_NEW)
+{
+    var oiUtils = new OrderItemUtils(vars.get("$field.SALESORDER_ID"));
+    result.string(oiUtils.getNextItemPosition(vars.get("$field.ASSIGNEDTO")));
+}
\ No newline at end of file
diff --git a/entity/Orderitem_entity/entityfields/itemsort/valueProcess.js b/entity/Orderitem_entity/entityfields/itemsort/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..42f113285c55b77d652aa4c5766390fb65dd563b
--- /dev/null
+++ b/entity/Orderitem_entity/entityfields/itemsort/valueProcess.js
@@ -0,0 +1,10 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("Order_lib");
+
+if(opState == neon.OPERATINGSTATE_NEW)
+{
+    var oiUtils = new OrderItemUtils(vars.get("$field.SALESORDER_ID"));
+    result.string(oiUtils.getNextItemSort());
+}
\ No newline at end of file
diff --git a/entity/Orderitem_entity/entityfields/quantity/valueProcess.js b/entity/Orderitem_entity/entityfields/quantity/valueProcess.js
index 1eb874ba4469528a091ef6adf85705a74c464546..72e8e990dec55f1e9efab9d25b53672c5b6a6d7e 100644
--- a/entity/Orderitem_entity/entityfields/quantity/valueProcess.js
+++ b/entity/Orderitem_entity/entityfields/quantity/valueProcess.js
@@ -1,10 +1,8 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
-{
-    result.string("1");
-}
-else
-    result.string(vars.get("$this.value"));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
+{
+    result.string("1");
+}
\ No newline at end of file
diff --git a/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js b/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js
index 8c2e990bec42ec877008bd9215d01ced748c4631..d08ade47c8128c11f5a2ee7f18d64cd11336cdce 100644
--- a/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Orderitem_entity/recordcontainers/db/onDBInsert.js
@@ -7,14 +7,16 @@ import("Order_lib");
 import("Product_lib");
 import("Sql_lib");
 
-var oid = vars.get("$field.SALESORDER_ID");
+var rowdata = vars.get("$local.rowdata");
+
+var oid = rowdata["SALESORDERITEM.SALESORDER_ID"];
 if(oid != "")
 {
     var curr = vars.exists("$param.Currency_param") ? vars.get("$param.Currency_param") : "";
     var contactid = vars.exists("$param.ContactId_param") ? vars.get("$param.ContactId_param") : "";
     
-    var oiUtils = new OrderItemUtils(vars.get("$field.SALESORDER_ID"));
-    oiUtils.insertPartsList(vars.get("$field.PRODUCT_ID"), vars.get("$field.SALESORDERITEMID"), curr, contactid);
+    var oiUtils = new OrderItemUtils(rowdata["SALESORDERITEM.SALESORDER_ID"]);
+    oiUtils.insertPartsList(rowdata["SALESORDERITEM.PRODUCT_ID"], vars.get("$local.uid"), curr, contactid);
     oiUtils.reOrgItems();
     
     //update order price
diff --git a/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js b/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js
index 355f0cc560abeb3929160f3c10733bd2b3540dd6..0dfdf166457f26bc6d39a9250cb5043ffe157ce2 100644
--- a/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Orderitem_entity/recordcontainers/db/onDBUpdate.js
@@ -4,7 +4,7 @@ import("system.neon");
 import("Order_lib");
 import("Sql_lib");
 
-var oid = vars.get("$field.SALESORDER_ID");
+var oid = vars.get("$local.rowdata")["SALESORDERITEM.SALESORDER_ID"];
 if(oid != "")
 {
     var cols = ["NET", "VAT"];
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 9fb0cca23a7261a5ff1041faee543438f1cc2b4d..b6e7883a6b4d38d3067bd334425ee84fde61b196 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -290,8 +290,8 @@
       <onValueChangeTypes>
         <element>MASK</element>
         <element>PROCESS</element>
-        <element>RECORD</element>
         <element>PROCESS_SETVALUE</element>
+        <element>RECORD</element>
       </onValueChangeTypes>
     </entityField>
     <entityField>
@@ -547,7 +547,7 @@
       <tooltip>New Appointment</tooltip>
     </entityActionField>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -556,7 +556,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
           <expose v="true" />
           <mandatory v="true" />
         </entityParameter>
@@ -854,6 +854,47 @@
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/newletter/onActionProcess.js</onActionProcess>
       <iconId>VAADIN:ENVELOPE</iconId>
     </entityActionField>
+    <entityConsumer>
+      <name>Product_consumer</name>
+      <description>Needed for search via Offer</description>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Product_entity</entityName>
+        <fieldName>Products</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityField>
+      <name>TurnoverCurrentYear</name>
+      <title>Turnover Current Year</title>
+      <contentType>NUMBER</contentType>
+      <outputFormat>#,##0.00€</outputFormat>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnovercurrentyear/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>TurnoverLastYear</name>
+      <title>Turnover Last Year</title>
+      <contentType>NUMBER</contentType>
+      <outputFormat>#,##0.00€</outputFormat>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnoverlastyear/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>TurnoverPercentDiff</name>
+      <title>Turnover change</title>
+      <colorProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnoverpercentdiff/colorProcess.js</colorProcess>
+      <contentType>TEXT</contentType>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/turnoverpercentdiff/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>CountActivity</name>
+      <title>Number of activities</title>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/countactivity/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>LastActivity</name>
+      <title>Days inactive</title>
+      <colorProcess>%aditoprj%/entity/Organisation_entity/entityfields/lastactivity/colorProcess.js</colorProcess>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/lastactivity/valueProcess.js</valueProcess>
+    </entityField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -904,7 +945,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LANGUAGE.value</name>
-          <recordfield>CONTACT.LANGUAGE</recordfield>
+          <recordfield>CONTACT.ISOLANGUAGE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
@@ -931,7 +972,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TYPE.value</name>
-          <recordfield>ORGANISATION.TYPE</recordfield>
+          <recordfield>ORGANISATION.KIND</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
@@ -998,7 +1039,28 @@
           <name>STANDARD_PHONE_COMMUNICATION.value</name>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
+        <consumerMapping>
+          <name>Product_consumer</name>
+          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
@@ -1029,7 +1091,7 @@
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>STANDARD_EMAIL_COMMUNICATION.value</name>
-          <indexFieldType>COMM</indexFieldType>
+          <indexFieldType>EMAIL</indexFieldType>
           <additionalFieldNameAliases>
             <element>addr</element>
           </additionalFieldNameAliases>
@@ -1037,7 +1099,7 @@
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>STANDARD_PHONE_COMMUNICATION.value</name>
-          <indexFieldType>COMM</indexFieldType>
+          <indexFieldType>TELEPHONE</indexFieldType>
           <additionalFieldNameAliases>
             <element>addr</element>
           </additionalFieldNameAliases>
@@ -1048,7 +1110,7 @@
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>CUSTOMERCODE.value</name>
-          <indexFieldType>TEXT_NOSTOPWORDS</indexFieldType>
+          <indexFieldType>TEXT_PLAIN</indexFieldType>
           <additionalFieldNameAliases />
         </indexRecordFieldMapping>
       </indexFieldMappings>
diff --git a/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
index 533f8ec837ea2f9b588ddf05545ac47cdda23d18..7b6137b4d105e9ba592cf8ef6e796fb838a32b09 100644
--- a/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$sys.uid"));
\ No newline at end of file
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Organisation_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
index 9d2caf19d33cc0a8be852883401ff256e06fe5b9..35dcb1420a14ba006cfc657b2ac1208bc2b46d2e 100644
--- a/entity/Organisation_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Organisation_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -3,8 +3,7 @@ import("system.vars");
 import("system.neon");
 import("system.result");
 
-var query = "select count(*) from ORGANISATION where ORGANISATIONID != '0'"
-var contactCount = db.cell(query);
+var contactCount = vars.get("$sys.datarowcount");
 
 if(contactCount > 0)
 {
diff --git a/entity/Organisation_entity/entityfields/countactivity/valueProcess.js b/entity/Organisation_entity/entityfields/countactivity/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d3606bbab63de69eb4ed3b2e3748368af23f1d30
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/countactivity/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+import("system.db");
+var amount = db.cell("select count(ACTIVITYID) from ACTIVITY join ACTIVITYLINK on ACTIVITYLINK.ACTIVITY_ID = ACTIVITY.ACTIVITYID \n\
+                      where ACTIVITYLINK.OBJECT_ROWID = '" + vars.get("$field.CONTACTID") + "' and ACTIVITYLINK.OBJECT_TYPE = 'Organisation'");
+
+result.string(amount);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/lastactivity/colorProcess.js b/entity/Organisation_entity/entityfields/lastactivity/colorProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..078b0ce70cdb0c96db40f203c06a7b04e6bb7f2b
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/lastactivity/colorProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(parseInt(vars.get("$field.LastActivity")) > 50)
+{
+    result.string(neon.PRIORITY_HIGH_COLOR);
+}
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/lastactivity/valueProcess.js b/entity/Organisation_entity/entityfields/lastactivity/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..29dba86a02476bea8576752deae74731c0f168c6
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/lastactivity/valueProcess.js
@@ -0,0 +1,15 @@
+import("system.datetime");
+import("system.translate");
+import("system.result");
+import("system.vars");
+import("ActivityTask_lib");
+import("Date_lib");
+
+var entryDate = ActivityUtils.getLastActivityDate(vars.get("$field.CONTACTID"));
+if (!entryDate)
+    entryDate = vars.get("$field.DATE_NEW");
+    
+daysPassed = DateUtils.getDayDifference(entryDate);
+
+if (daysPassed != null)
+    result.string(daysPassed);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Organisation_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Organisation_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Organisation_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 1d6e1ab67bba4c79cec93ef491eba9b948e766c8..17ba5b0226b9dfea75bf805ada3e957ad6da28eb 100644
--- a/entity/Organisation_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.CONTACTID"), tableNames: ["CONTACT", "COMMUNICATION", "ADDRESS", "AB_ATTRIBUTERELATION"]});
-res.push({id: vars.get("$field.ORGANISATIONID"), tableNames: ["ORGANISATION"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.CONTACTID"), tableNames: ["CONTACT", "COMMUNICATION", "ADDRESS", "AB_ATTRIBUTERELATION"]});
+res.push({id: vars.get("$field.ORGANISATIONID"), tableNames: ["ORGANISATION"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/standard_email_communication/onValueChange.js b/entity/Organisation_entity/entityfields/standard_email_communication/onValueChange.js
index 972cb181d553b480c039c0d77fca8da35a528c71..b6ca79693c7baa2c3d294f57c25967f8df7db53e 100644
--- a/entity/Organisation_entity/entityfields/standard_email_communication/onValueChange.js
+++ b/entity/Organisation_entity/entityfields/standard_email_communication/onValueChange.js
@@ -1,4 +1,5 @@
+import("system.vars");
 import("Entity_lib");
 
 // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023
-FieldChanges.setChange("$field.STANDARD_EMAIL_COMMUNICATION");
\ No newline at end of file
+FieldChanges.setChange("$field.STANDARD_EMAIL_COMMUNICATION", vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/standard_phone_communication/onValueChange.js b/entity/Organisation_entity/entityfields/standard_phone_communication/onValueChange.js
index 991c92d38d0731524a8de4eb6d0adabb661a71c3..d814a8e65ad4dff521e6a9c7bae9b28d8763838e 100644
--- a/entity/Organisation_entity/entityfields/standard_phone_communication/onValueChange.js
+++ b/entity/Organisation_entity/entityfields/standard_phone_communication/onValueChange.js
@@ -1,4 +1,5 @@
+import("system.vars");
 import("Entity_lib");
 
 // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023
-FieldChanges.setChange("$field.STANDARD_PHONE_COMMUNICATION");
\ No newline at end of file
+FieldChanges.setChange("$field.STANDARD_PHONE_COMMUNICATION", vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/turnovercurrentyear/valueProcess.js b/entity/Organisation_entity/entityfields/turnovercurrentyear/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1f8ee1ceff032c2caab8194406bdc69ad585f039
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/turnovercurrentyear/valueProcess.js
@@ -0,0 +1,17 @@
+import("system.translate");
+import("Util_lib");
+import("system.datetime");
+import("system.vars");
+import("system.db");
+import("system.result");
+import("system.date");
+
+var currentYear = datetime.toDate(vars.get("$sys.date"), "yyyy");
+
+var salesCurrentYear = db.cell("select SUM(NET) from salesorder where SALESORDERDATE >= '" + currentYear + "-01-01 00:00:00.000' \n\
+                                                                and CONTACT_ID = '" + vars.get("$field.CONTACTID") + "'");
+
+if(salesCurrentYear == "")
+    salesCurrentYear = 0;
+
+result.string(salesCurrentYear);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/turnoverlastyear/valueProcess.js b/entity/Organisation_entity/entityfields/turnoverlastyear/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fcf33532b8f486b562bf3731ea6cb24a50ef2e59
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/turnoverlastyear/valueProcess.js
@@ -0,0 +1,17 @@
+import("system.logging");
+import("system.datetime");
+import("system.vars");
+import("system.db");
+import("system.result");
+import("system.date");
+
+var lastYear = parseInt(datetime.toDate(vars.get("$sys.date"), "yyyy")) - 1;
+
+var salesLastYear = db.cell("select SUM(NET) from salesorder where SALESORDERDATE < '" + (lastYear+1) + "-01-01 00:00:00.000' \n\
+                                                             and SALESORDERDATE >= '" + lastYear + "-01-01 00:00:00.000'  \n\
+                                                             and CONTACT_ID = '" + vars.get("$field.CONTACTID") + "'");
+
+if(salesLastYear == "")
+    salesLastYear = 0;
+
+result.string(salesLastYear);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/turnoverpercentdiff/colorProcess.js b/entity/Organisation_entity/entityfields/turnoverpercentdiff/colorProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9f881847a2d9a55bd025ca9b44d47b176d6bac24
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/turnoverpercentdiff/colorProcess.js
@@ -0,0 +1,12 @@
+import("system.result");
+import("system.logging");
+import("system.vars");
+import("system.neon");
+
+var ret;
+var turnoverPercentDiff = parseInt(vars.get("$field.TurnoverPercentDiff"));
+
+if(turnoverPercentDiff > 0)
+    result.string(neon.PRIORITY_LOW_COLOR);
+else if (turnoverPercentDiff < 0)
+    result.string(neon.PRIORITY_HIGH_COLOR);
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/turnoverpercentdiff/valueProcess.js b/entity/Organisation_entity/entityfields/turnoverpercentdiff/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4d60d87f534d8811ae2fc0aba508d419610b102f
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/turnoverpercentdiff/valueProcess.js
@@ -0,0 +1,21 @@
+import("system.logging");
+import("system.result");
+import("system.vars");
+
+var ret = 0;
+
+var turnoverCurrentYear = parseInt(vars.get("$field.TurnoverCurrentYear"));
+var turnoverLastYear    = parseInt(vars.get("$field.TurnoverLastYear"));
+
+if(turnoverLastYear != 0 && turnoverCurrentYear != 0)
+    ret = parseInt(100 / turnoverLastYear * turnoverCurrentYear) - 100;
+else if(turnoverLastYear == 0 && turnoverCurrentYear != 0)
+    ret = 100;
+else if(turnoverLastYear != 0 && turnoverCurrentYear == 0 )
+    ret = -100;
+else
+    ret = 0;
+
+ret += "%";
+
+result.string(ret);
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/conditionProcess.js b/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
index 5257861cd295a909fab10e36e938a66a6374c70b..ddde730d661f84a87f6f22d2445542f3c16d4183 100644
--- a/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
@@ -39,7 +39,7 @@ if (vars.exists("$param.ExcludedContactIds_param") && vars.get("$param.ExcludedC
     cond.andSqlCondition(excludedCond, "1=1");
 }
 
-cond.andPrepareVars("ORGANISATION.TYPE", "$param.OrganisationType_param");
+cond.andPrepareVars("ORGANISATION.KIND", "$param.OrganisationType_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/onDBUpdate.js b/entity/Organisation_entity/recordcontainers/db/onDBUpdate.js
index b2c37a2cc9c1428bba4d856394a6bc48df8ddcd3..fa1b2d68c5d36898130c439b475ba651fcb4950c 100644
--- a/entity/Organisation_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Organisation_entity/recordcontainers/db/onDBUpdate.js
@@ -1,10 +1,12 @@
+import("system.logging");
 import("system.vars");
 import("Organisation_lib");
 import("Communication_lib");
 import("Entity_lib");
 
 // TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer #1030023
-var uid = vars.get("$sys.uid");
+var rowdata =  vars.get("$local.rowdata");
+var uid = rowdata["CONTACT.CONTACTID"];
 FieldChanges.assimilateChangeAndDispose("$field.STANDARD_EMAIL_COMMUNICATION", function(state, value){
     CommUtil.setStandardMail(uid, value);
 });
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..89386c61b094587fe5fe712a52eee3847c4bc9e3
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "CONTACT join ACTIVITYLINK on ACTIVITYLINK.OBJECT_ROWID = CONTACT.CONTACTID and ACTIVITYLINK.OBJECT_TYPE = 'Organisation' join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID";
+
+result.string("ORGANISATIONID in (select CONTACT.ORGANISATION_ID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
index 9b7d38b00dc1722f6e6fcc13b7a2b7ffbf0b92fd..e127913f21feea946eb9006f1616fd8ac40548bf 100644
--- a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
@@ -1,5 +1,5 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("CONTACT.LANGUAGE");
+var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("CONTACT.ISOLANGUAGE");
 result.string(sql);
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f3dd5f5ecac3d804dd4e2868f04e0609dd2b4c34
--- /dev/null
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/product_consumer/filterConditionProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+
+var from = "CONTACT join OFFER on OFFER.CONTACT_ID = CONTACT.CONTACTID \n\
+                join OFFERITEM on OFFERITEM.OFFER_ID = OFFER.OFFERID \n\
+                join PRODUCT on PRODUCT.PRODUCTID = OFFERITEM.PRODUCT_ID";
+
+result.string("ORGANISATIONID in (select CONTACT.ORGANISATION_ID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
index 2265271d80a155d2600e0f2fc2e423ed391d985c..7ab8eb06526a4f6be6502246408fe7891c4dc46d 100644
--- a/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
+++ b/entity/Organisation_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js
@@ -2,5 +2,5 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.organisationType(), "ORGANISATION.TYPE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.organisationType(), "ORGANISATION.KIND");
 result.string(sql);
diff --git a/entity/Organisation_entity/recordcontainers/index/affectedConsumerIds.js b/entity/Organisation_entity/recordcontainers/index/affectedConsumerIds.js
index e0298d25cc993a3e89df07f184ce16f2316a7ca6..15fbab7d0cc5673e1dab8c71303196c3277d7069 100644
--- a/entity/Organisation_entity/recordcontainers/index/affectedConsumerIds.js
+++ b/entity/Organisation_entity/recordcontainers/index/affectedConsumerIds.js
@@ -40,7 +40,7 @@ function addIds(pRes, pConsumerName, pIds)
 function addAddressIds(pRes, pCurrId)
 {
     var sql, ids;
-    sql = "select ADDRESS.ADDRESSID from ADDRESS left join CONTACT on CONTACT.CONTACTID = ADDRESS.CONTACT_ID where CONTACT.ORGANISATION_ID = '" + pCurrId + "'";
+    sql = "select ADDRESS.ADDRESSID from ADDRESS where ADDRESS.CONTACT_ID = '" + pCurrId + "'";
     ids = db.array(db.COLUMN, sql, alias, 0 , 1 * datetime.ONE_MINUTE);
     
     addIds(pRes, "Addresses", ids);
@@ -49,7 +49,7 @@ function addAddressIds(pRes, pCurrId)
 function addCommunicationIds(pRes, pCurrId)
 {
     var sql, ids;
-    sql = "select COMMUNICATION.COMMUNICATIONID from COMMUNICATION left join CONTACT on CONTACT.CONTACTID = COMMUNICATION.CONTACT_ID where CONTACT.ORGANISATION_ID = '" + pCurrId + "'";
+    sql = "select COMMUNICATION.COMMUNICATIONID from COMMUNICATION where COMMUNICATION.CONTACT_ID = '" + pCurrId + "'";
     ids = db.array(db.COLUMN, sql, alias, 0 , 1 * datetime.ONE_MINUTE);
     
     addIds(pRes, "Communications", ids);
diff --git a/entity/Organisation_entity/recordcontainers/index/affectedIds.js b/entity/Organisation_entity/recordcontainers/index/affectedIds.js
index 7d50c9deb4813ce649ff34eb5c38d65d0d996280..6d58b69c120ee724d12c18c89eabdbc20412a5ff 100644
--- a/entity/Organisation_entity/recordcontainers/index/affectedIds.js
+++ b/entity/Organisation_entity/recordcontainers/index/affectedIds.js
@@ -15,22 +15,22 @@ infoContainer =  IndexsearchUtils.createAffectedInfoContainer(idValue, null, var
 
 switch (tableName)
 {
-    case "ORGANISATION":
+    case "CONTACT":
         res = [idValue];
         break;    
-    case "CONTACT":
-        res = db.array(db.COLUMN, "select CONTACT.ORGANISATION_ID from CONTACT where CONTACT.PERSON_ID is null and CONTACT.CONTACTID = '" + idValue + "'");
+    case "ORGANISATION":
+        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID is null and CONTACT.ORGANISATION_ID = '" + idValue + "'");
         break;
     case "ADDRESS":
-        res = IndexsearchUtils.getAffectedIdValues("ORGANISATION_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select CONTACT.ORGANISATION_ID from ADDRESS left join CONTACT on CONTACT.CONTACTID = ADDRESS.CONTACT_ID where CONTACT.PERSON_ID is null and ADDRESS.ADDRESSID = ?", [
+        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
+            return db.array(db.COLUMN, ["select ADDRESS.CONTACT_ID from ADDRESS where ADDRESS.ADDRESSID = ?", [
                     [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")]
             ]]);
         });
         break;
     case "COMMUNICATION":
-        res = IndexsearchUtils.getAffectedIdValues("ORGANISATION_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select CONTACT.ORGANISATION_ID from COMMUNICATION left join CONTACT on CONTACT.CONTACTID = COMMUNICATION.CONTACT_ID where CONTACT.PERSON_ID is null and where COMMUNICATIONID = ?", [
+        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
+            return db.array(db.COLUMN, ["select COMMUNICATION.CONTACT_ID from COMMUNICATION where COMMUNICATIONID = ?", [
                     [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")]
             ]]);
         });
diff --git a/entity/Organisation_entity/recordcontainers/index/query.js b/entity/Organisation_entity/recordcontainers/index/query.js
index 68a86d5b62dff07b04696c412c3d273ca412ec76..8962918927f06fbbe77111d3bb1f37ef05169179 100644
--- a/entity/Organisation_entity/recordcontainers/index/query.js
+++ b/entity/Organisation_entity/recordcontainers/index/query.js
@@ -13,22 +13,22 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select ORGANISATION.ORGANISATIONID as uid"
+sqlQuery = 'select CONTACT.CONTACTID as "_uid_" '
     + ", " + sqlHelper.concat(["ORGANISATION.NAME", "'|'", "ORGANISATION.CUSTOMERCODE"]) 
-    + " as title "
+    + ' as "_title_" '
     + ", " + sqlHelper.concat([
          sqlHelper.concat(["defaultAddress.ADDRESS", "defaultAddress.BUILDINGNO", "'-'"
             ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
         ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
         ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
-        ], " | ") + " as description "
+        ], " | ") + ' as "_description_"'
     //additional indexed fields
     + ", ORGANISATION.ORGANISATIONID"
     + ", ORGANISATION.NAME"
     + ", ORGANISATION.CUSTOMERCODE"
     + ", CONTACT.CONTACTID"
-    + ", (" + CommUtil.getStandardSubSqlPhone() + ') as "STANDARD_PHONE_COMMUNICATION.value"'
-    + ", (" + CommUtil.getStandardSubSqlMail() + ') as "STANDARD_EMAIL_COMMUNICATION.value"'
+    + ", (" + CommUtil.getStandardSubSqlPhone() + ") as STANDARD_PHONE_COMMUNICATION"
+    + ", (" + CommUtil.getStandardSubSqlMail() + ") as STANDARD_EMAIL_COMMUNICATION"
     + " from ORGANISATION "
     + " join CONTACT on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID and CONTACT.PERSON_ID is null "
     + " left join ADDRESS defaultAddress on defaultAddress.ADDRESSID = CONTACT.ADDRESS_ID "
diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index c7b8b9964650d39d4485dc416d096bb9b14547a3..805cd843553b44db1fa41862d00a6f860b38af7c 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -8,6 +8,7 @@
   </siblings>
   <contentTitleProcess>%aditoprj%/entity/PermissionDetail_entity/contentTitleProcess.js</contentTitleProcess>
   <iconIdProcess>%aditoprj%/entity/PermissionDetail_entity/iconIdProcess.js</iconIdProcess>
+  <titlePlural>Permission Details</titlePlural>
   <recordContainer>jDito</recordContainer>
   <entityFields>
     <entityProvider>
@@ -16,7 +17,9 @@
     <entityField>
       <name>CONDITION</name>
       <title>Condition</title>
+      <contentType>FILTER_TREE</contentType>
       <stateProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
       <name>ACTION</name>
diff --git a/entity/PermissionDetail_entity/contentTitleProcess.js b/entity/PermissionDetail_entity/contentTitleProcess.js
index 28deb444c318b28bd734b722ef718b7537b24ade..7e35ace3e3ce47d5f46b1b494dff2c1ad9887f09 100644
--- a/entity/PermissionDetail_entity/contentTitleProcess.js
+++ b/entity/PermissionDetail_entity/contentTitleProcess.js
@@ -3,6 +3,8 @@ import("system.vars");
 import("system.result");
 
 var res = "";
+var entityName = vars.get("$field.ENTITY");
+var noCond = "{\"entity\":\"" + entityName + "\",\"filter\":{\"type\":\"group\",\"operator\":\"AND\",\"childs\":[]}}";
 
 switch (vars.get("$field.ACCESSTYPE")) {
     case "E":
@@ -25,7 +27,7 @@ switch (vars.get("$field.ACCESSTYPE")) {
         break;
 }
 
-if (vars.get("$field.CONDITION") != "") {
+if (vars.get("$field.CONDITION") != noCond && vars.get("$field.CONDITION") != "") {
     res += " - conditional";
 } else {
     res += " - default";
diff --git a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
index 82036f5ff916194d760c728c88286323362d31c4..19d56ab1772593fcca0d1bca9b053c156e384da4 100644
--- a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.result");
 import("Permission_lib");
diff --git a/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js b/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js
index ad116179661d269a520ee40204edef68ddb22c6c..71fd7034f822385b31ede8fc4d755ce78aa56a1b 100644
--- a/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/condition/stateProcess.js
@@ -5,5 +5,7 @@ import("system.neon");
 if(vars.get("$field.ACCESSTYPE") == "E") {
     result.string(neon.COMPONENTSTATE_DISABLED);
 } else {
-    result.string(neon.COMPONENTSTATE_EDITABLE);
+    if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT) {
+        result.string(neon.COMPONENTSTATE_EDITABLE);
+    }
 }
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1c44df7a4b437ff59294457d7198174510327b28
--- /dev/null
+++ b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.logging");
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null) {
+    var entity = vars.get("$field.ENTITY");
+    result.string(JSON.stringify({entity: "" + entity + "", filter: {type: "group", operator: "AND", childs: []}}));
+}
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
index 0f3e4521b074db52928320220a301a82f1720abd..d67b588f692d980b2940bdb21283d13909bc7a90 100644
--- a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
+++ b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js
@@ -8,7 +8,7 @@ var role = "";
 if(vars.exists("$param.RoleTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW)) {
     role = vars.get("$param.RoleTitle_param");
 } else {
-    role = vars.get("$field.ROLE");
+    role = vars.get("$this.value");
 }
 
 result.string(role);
\ No newline at end of file
diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
index 3a8117c2036e0fd0b85fe1172c271059bb518746..043cefec525b2ba9304aaeb29f8dd1d87c953bd2 100644
--- a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("Permission_lib");
 import("system.neon");
 import("system.util");
@@ -7,7 +8,6 @@ import("system.tools");
 import("Permission_lib");
 import("Entity_lib");
 
-var table, cols, vals;
 var alias = "_____SYSTEMALIAS";
 var sqlExt = "";
 var permissionid = util.getNewUUID();
@@ -45,7 +45,9 @@ if (checkInput([role, entity, accesstype, condtype, action])) {
     var childPermissions = PermissionUtil.getAllChildPermissions(permissionsetid);
     for each (var permid in childPermissions) {
         if (PermissionUtil.getCondType(permid) == "false") {
-            PermissionUtil.deletePermission(permid);
+            let table = "ASYS_PERMISSION";
+            let cond = " ASYS_PERMISSIONID = '" + permid + "'";
+            db.deleteData(table, cond, alias); // delete permission with cond type = false
         }
     }
 
@@ -84,7 +86,7 @@ function permExists(pRole, pEntity, pField, pAccesstype, pCondtype, pCondition)
     var sqlExt = "";
     
     if (checkInput([pCondition])) {
-        sqlExt += " and COND = '" + pCondition + "'";
+        sqlExt += " and COND like '%" + pCondition + "%'";
     }
     
     if (checkInput([pField])) {
diff --git a/entity/PermissionMetaData_entity/PermissionMetaData_entity.aod b/entity/PermissionMetaData_entity/PermissionMetaData_entity.aod
index a3c9a7b72f6d5fc2bdc8c53abefd3ec7c9b33f63..f6a5ecd4edcc9eec0b40f41d8eade0d82155e310 100644
--- a/entity/PermissionMetaData_entity/PermissionMetaData_entity.aod
+++ b/entity/PermissionMetaData_entity/PermissionMetaData_entity.aod
@@ -95,12 +95,15 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>TITLE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>DESCRIPTION.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>USEPERMISSION.value</name>
+          <isFilterable v="false" />
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
diff --git a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
index 97a97d450fec1e92a8284e8788a923e895d0870f..2c418c0fb630dbf1d8b4981a72b61279ed8919a1 100644
--- a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js
@@ -1,127 +1,126 @@
-import("system.logging");
-import("system.project");
-import("system.vars");
-import("system.result");
-import("system.db");
-import("Permission_lib");
-
-var res = [];
-var roleTitle = "";
-var entityTitle = "";
-var sqlCond = "";
-var sqlStr = "";
-var roleInternalEveryone = "INTERNAL_EVERYONE";
-
-var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
-var entitiesUsePermFlagSet = []; // array, which contains ids of entities with usePermission flag set
-
-// gets all names of the entites which have the 'usePermission'-flag set (positive list)
-for each (let entityMetaData in entitiesMetaData) {
-    if (entityMetaData[6] == "true") {
-        entitiesUsePermFlagSet.push(entityMetaData[0])
-        if (PermissionUtil.getNumberOfPermissions(entityMetaData[0]) == 0) {
-            // no permissions found for the given entity -> create permissionset for role INTERNAL_EVERYONE with five X's for view, create, read, edit, delete         
-            var noAccessPermissionSetIdEntity = PermissionUtil.insertNewPermissionSet("", entityMetaData[0], roleInternalEveryone, "", "E");
-            PermissionUtil.insertNewPermission(noAccessPermissionSetIdEntity, "", "false"); // false is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E"
-        }
-    }
-}
-
-var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')";
-
-if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
-    roleTitle = vars.getString("$param.RoleTitle_param");
-    sqlCond = " where ROLE_ID = '" + roleTitle + "'";
-    sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
-} else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
-    entityTitle = vars.getString("$param.EntityTitle_param");
-    sqlCond = " where ENTITY_ID = '" + entityTitle + "'";
-    sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
-}
-
-var rolesOrEntities = db.array(db.COLUMN, sqlStr);
-var entityPermSetId = "";
-for each (var entry in rolesOrEntities) { // entry contains either a role or an entity, depending on which param exists
-    if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
-        entityPermSetId = PermissionUtil.getRootPermissionSet(roleTitle, entry);
-    } else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
-        entityPermSetId = PermissionUtil.getRootPermissionSet(entry, entityTitle);
-    }
-    var recordPermSetId = PermissionUtil.getChildRecordPermissionSet(entityPermSetId);
-    var currOverview = [entityPermSetId, entry, "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE"];
-
-    // default entity permissions
-    currOverview = prepareOverview(entityPermSetId, currOverview, "default");
-
-    // conditional record permissions
-    currOverview = prepareOverview(recordPermSetId, currOverview, "conditional");
-
-    // default record permissions
-    currOverview = prepareOverview(recordPermSetId, currOverview, "default");
-
-    res.push(currOverview);
-}
-result.object(res);
-
-function prepareOverview(pPermSetId, pCurrOverview, pMode) {
-    var permId, defaultPermActionId, conditionalPermActionId = [], currOverview;
-    switch (pMode) {
-        case "default":
-            permId = PermissionUtil.getDefaultPermission(pPermSetId);
-            defaultPermActionId = PermissionUtil.getPermissionAction(permId);
-            currOverview = pCurrOverview;
-    
-            if (PermissionUtil.getPermissionCondType(permId) == "true") {
-                for each (let actionSets in defaultPermActionId) {
-                    switch (PermissionUtil.resolvePermissionActionId(actionSets)) {
-                        case "view":
-                            currOverview[2] = "VAADIN:CIRCLE";
-                            break;
-                        case "create":
-                            currOverview[3] = "VAADIN:CIRCLE";
-                            break;
-                        case "read":
-                            currOverview[4] = "VAADIN:CIRCLE";
-                            break;
-                        case "update":
-                            currOverview[5] = "VAADIN:CIRCLE";
-                            break;
-                        case "delete":
-                            currOverview[6] = "VAADIN:CIRCLE";
-                            break;
-                    }
-                }
-            }
-            break;
-        case "conditional":
-            permId = PermissionUtil.getConditionalPermission(pPermSetId);
-            for each (let perm in permId) {
-                conditionalPermActionId.push(PermissionUtil.getPermissionAction(perm));
-            }
-            currOverview = pCurrOverview;
-            
-            for each (let actionSets in conditionalPermActionId) {
-                for each (let action in actionSets) {
-                    switch (PermissionUtil.resolvePermissionActionId(action)) {
-                        case "view":
-                            currOverview[2] = "VAADIN:CIRCLE_THIN";
-                            break;
-                        case "create":
-                            currOverview[3] = "VAADIN:CIRCLE_THIN";
-                            break;
-                        case "read":
-                            currOverview[4] = "VAADIN:CIRCLE_THIN";
-                            break;
-                        case "update":
-                            currOverview[5] = "VAADIN:CIRCLE_THIN";
-                            break;
-                        case "delete":
-                            currOverview[6] = "VAADIN:CIRCLE_THIN";
-                            break;
-                    }
-                }
-            }
-            break;
-    }
-    return currOverview;
+import("system.project");
+import("system.vars");
+import("system.result");
+import("system.db");
+import("Permission_lib");
+
+var res = [];
+var roleTitle = "";
+var entityTitle = "";
+var sqlCond = "";
+var sqlStr = "";
+var roleInternalEveryone = "INTERNAL_EVERYONE";
+
+var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
+var entitiesUsePermFlagSet = []; // array, which contains ids of entities with usePermission flag set
+
+// gets all names of the entites which have the 'usePermission'-flag set (positive list)
+for each (let entityMetaData in entitiesMetaData) {
+    if (entityMetaData[6] == "true") {
+        entitiesUsePermFlagSet.push(entityMetaData[0])
+        if (PermissionUtil.getNumberOfPermissions(entityMetaData[0]) == 0) {
+            // no permissions found for the given entity -> create permissionset for role INTERNAL_EVERYONE with five X's for view, create, read, edit, delete         
+            var noAccessPermissionSetIdEntity = PermissionUtil.insertNewPermissionSet("", entityMetaData[0], roleInternalEveryone, "", "E");
+            PermissionUtil.insertNewPermission(noAccessPermissionSetIdEntity, "", "false"); // false is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E"
+        }
+    }
+}
+
+var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')";
+
+if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
+    roleTitle = vars.getString("$param.RoleTitle_param");
+    sqlCond = " where ROLE_ID = '" + roleTitle + "'";
+    sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
+} else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
+    entityTitle = vars.getString("$param.EntityTitle_param");
+    sqlCond = " where ENTITY_ID = '" + entityTitle + "'";
+    sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
+}
+
+var rolesOrEntities = db.array(db.COLUMN, sqlStr);
+var entityPermSetId = "";
+for each (var entry in rolesOrEntities) { // entry contains either a role or an entity, depending on which param exists
+    if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
+        entityPermSetId = PermissionUtil.getRootPermissionSet(roleTitle, entry);
+    } else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
+        entityPermSetId = PermissionUtil.getRootPermissionSet(entry, entityTitle);
+    }
+    var recordPermSetId = PermissionUtil.getChildRecordPermissionSet(entityPermSetId);
+    var currOverview = [entityPermSetId, entry, "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE"];
+
+    // default entity permissions
+    currOverview = prepareOverview(entityPermSetId, currOverview, "default");
+
+    // conditional record permissions
+    currOverview = prepareOverview(recordPermSetId, currOverview, "conditional");
+
+    // default record permissions
+    currOverview = prepareOverview(recordPermSetId, currOverview, "default");
+
+    res.push(currOverview);
+}
+result.object(res);
+
+function prepareOverview(pPermSetId, pCurrOverview, pMode) {
+    var permId, defaultPermActionId, conditionalPermActionId = [], currOverview;
+    switch (pMode) {
+        case "default":
+            permId = PermissionUtil.getDefaultPermission(pPermSetId);
+            defaultPermActionId = PermissionUtil.getPermissionAction(permId);
+            currOverview = pCurrOverview;
+    
+            if (PermissionUtil.getPermissionCondType(permId) == "true") {
+                for each (let actionSets in defaultPermActionId) {
+                    switch (PermissionUtil.resolvePermissionActionId(actionSets)) {
+                        case "view":
+                            currOverview[2] = "VAADIN:CIRCLE";
+                            break;
+                        case "create":
+                            currOverview[3] = "VAADIN:CIRCLE";
+                            break;
+                        case "read":
+                            currOverview[4] = "VAADIN:CIRCLE";
+                            break;
+                        case "update":
+                            currOverview[5] = "VAADIN:CIRCLE";
+                            break;
+                        case "delete":
+                            currOverview[6] = "VAADIN:CIRCLE";
+                            break;
+                    }
+                }
+            }
+            break;
+        case "conditional":
+            permId = PermissionUtil.getConditionalPermission(pPermSetId);
+            for each (let perm in permId) {
+                conditionalPermActionId.push(PermissionUtil.getPermissionAction(perm));
+            }
+            currOverview = pCurrOverview;
+            
+            for each (let actionSets in conditionalPermActionId) {
+                for each (let action in actionSets) {
+                    switch (PermissionUtil.resolvePermissionActionId(action)) {
+                        case "view":
+                            currOverview[2] = "VAADIN:CIRCLE_THIN";
+                            break;
+                        case "create":
+                            currOverview[3] = "VAADIN:CIRCLE_THIN";
+                            break;
+                        case "read":
+                            currOverview[4] = "VAADIN:CIRCLE_THIN";
+                            break;
+                        case "update":
+                            currOverview[5] = "VAADIN:CIRCLE_THIN";
+                            break;
+                        case "delete":
+                            currOverview[6] = "VAADIN:CIRCLE_THIN";
+                            break;
+                    }
+                }
+            }
+            break;
+    }
+    return currOverview;
 }
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 258a1f494bba1e93ab8143d97e17d3cb733d7e96..431f0aa75908bf318db844cb218bcb83182f170e 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -642,7 +642,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <textInputAllowed v="true" />
     </entityField>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -651,7 +651,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Person_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
           <expose v="true" />
           <mandatory v="true" />
         </entityParameter>
@@ -974,7 +974,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LANGUAGE.value</name>
-          <recordfield>CONTACT.LANGUAGE</recordfield>
+          <recordfield>CONTACT.ISOLANGUAGE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
@@ -1013,7 +1013,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         <dbRecordFieldMapping>
           <name>ORGANISATION_ID.value</name>
           <recordfield>CONTACT.ORGANISATION_ID</recordfield>
-          <isFilterable v="true" />
+          <isFilterable v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>REL_RELATIONSHIP.value</name>
@@ -1060,7 +1060,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>POSITION.value</name>
-          <recordfield>CONTACT.POSITION</recordfield>
+          <recordfield>CONTACT.CONTACTPOSITION</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
@@ -1131,11 +1131,19 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
           <filtertype>EXTENDED</filtertype>
         </consumerMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
       <configMode>INDEXGROUP_DEFINITION</configMode>
-      <patternExtensionProcess>%aditoprj%/entity/Person_entity/recordcontainers/index/patternExtensionProcess.js</patternExtensionProcess>
       <indexRecordAlias>Data_alias</indexRecordAlias>
       <query>%aditoprj%/entity/Person_entity/recordcontainers/index/query.js</query>
       <affectedTables>
@@ -1155,21 +1163,21 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <indexFieldMappings>
         <indexRecordFieldMapping>
           <name>FIRSTNAME.value</name>
-          <indexFieldType>PERS_NAME</indexFieldType>
+          <indexFieldType>PHONETIC_NAME</indexFieldType>
           <isKeyword v="true" />
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>LASTNAME.value</name>
-          <indexFieldType>PERS_NAME</indexFieldType>
+          <indexFieldType>PHONETIC_NAME</indexFieldType>
           <isKeyword v="true" />
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>SALUTATION.value</name>
-          <indexFieldType>PERS_NAME</indexFieldType>
+          <indexFieldType>PHONETIC_NAME</indexFieldType>
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>TITLE.value</name>
-          <indexFieldType>PERS_NAME</indexFieldType>
+          <indexFieldType>PHONETIC_NAME</indexFieldType>
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>ORGANISATION_ID.value</name>
@@ -1189,7 +1197,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>STANDARD_EMAIL_COMMUNICATION.value</name>
-          <indexFieldType>COMM</indexFieldType>
+          <indexFieldType>EMAIL</indexFieldType>
           <additionalFieldNameAliases>
             <element>addr</element>
           </additionalFieldNameAliases>
@@ -1197,7 +1205,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
           <name>STANDARD_PHONE_COMMUNICATION.value</name>
-          <indexFieldType>COMM</indexFieldType>
+          <indexFieldType>TELEPHONE</indexFieldType>
           <additionalFieldNameAliases>
             <element>addr</element>
           </additionalFieldNameAliases>
diff --git a/entity/Person_entity/entityfields/address_id/valueProcess.js b/entity/Person_entity/entityfields/address_id/valueProcess.js
index b889cabd69681fb9ce8c0e756e68eb1833d4eeb0..6d1c222dd7e2939f92af5c0f21e9377205bc60e0 100644
--- a/entity/Person_entity/entityfields/address_id/valueProcess.js
+++ b/entity/Person_entity/entityfields/address_id/valueProcess.js
@@ -1,14 +1,14 @@
-import("system.result");
-import("system.vars");
-import("StandardObject_lib");
-
-//  Check if the standard address is already set.
-if (!vars.get("$field.ADDRESS_ID")) 
-{
-    var possibleStandardAddressID = new StandardObject("Address", null, "Person", vars.get("$field.PERSONID"))
-        .onPersonValueChange(vars.get("$field.ORGANISATION_ID"));
-
-    // If a possible standard addrss was found it should get applied to the field.
-    if (possibleStandardAddressID)
-        result.string(possibleStandardAddressID);
+import("system.result");
+import("system.vars");
+import("StandardObject_lib");
+
+//  Check if the standard address is already set.
+if (!vars.get("$this.value")) 
+{
+    var possibleStandardAddressID = new StandardObject("Address", null, "Person", vars.get("$field.PERSONID"))
+        .onPersonValueChange(vars.get("$field.ORGANISATION_ID"));
+
+    // If a possible standard addrss was found it should get applied to the field.
+    if (possibleStandardAddressID)
+        result.string(possibleStandardAddressID);
 }
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js b/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js
index 1d8b597ca6f299e1a9f82b72682eef6a35187449..5306ab46adf627dedf15b3c578162ed6720f8fed 100644
--- a/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js
+++ b/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/onActionProcess.js
@@ -1,23 +1,21 @@
-import("system.logging");
-import("system.vars");
-import("system.neon");
-import("Campaign_lib");
-
-/*
- * If there's a selection only those are ought to be added.
- * Otherwise the filter gets checked, if a filter has beed set, the condition
- * is used to determine the objects to be added.
- * If no selection has been set, all objects will be added.
- */
-var sysSelection = vars.get("$sys.selection");
-
-if(sysSelection.length > 0) //selektierte IDs als Array
-{
-    CampaignUtils.addParticipantsByRowIds(JSON.stringify(sysSelection), "PERSON");
-}
-else
-{
-    let sysFilter = vars.get("$sys.filter");//todo change name
-    logging.log("filter -> " + JSON.stringify(sysFilter));
-    CampaignUtils.addParticipantsByCondition(JSON.stringify(sysFilter), "PERSON");
+import("system.vars");
+import("system.neon");
+import("Campaign_lib");
+
+/*
+ * If there's a selection only those are ought to be added.
+ * Otherwise the filter gets checked, if a filter has beed set, the condition
+ * is used to determine the objects to be added.
+ * If no selection has been set, all objects will be added.
+ */
+var sysSelection = vars.get("$sys.selection");
+
+if(sysSelection.length > 0) //selektierte IDs als Array
+{
+    CampaignUtils.addParticipantsByRowIds(JSON.stringify(sysSelection), "PERSON");
+}
+else
+{
+    let sysFilter = vars.get("$sys.filter");//todo change name
+    CampaignUtils.addParticipantsByCondition(JSON.stringify(sysFilter), "PERSON");
 }
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js b/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
index eedb470bf2e3dace60da9a626a9a910d3455675c..d7025bdf30d79dd2530c526aa2cdefe27514de17 100644
--- a/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
+++ b/entity/Person_entity/entityfields/campaignactiongroup/children/addtocampaignfromtable/stateProcess.js
@@ -3,8 +3,7 @@ import("system.vars");
 import("system.neon");
 import("system.result");
 
-var query = "select count(*) from PERSON"
-var contactCount = db.cell(query);
+var contactCount = vars.get("$sys.datarowcount")
 
 if(contactCount > 0)
 {
diff --git a/entity/Person_entity/entityfields/dateofbirth/onValidation.js b/entity/Person_entity/entityfields/dateofbirth/onValidation.js
index c21866aca67aec0fddeeb6bef3ff7b017023cc0f..43c36ddb3d0f82c3ac2d24246427e3baea5e02e5 100644
--- a/entity/Person_entity/entityfields/dateofbirth/onValidation.js
+++ b/entity/Person_entity/entityfields/dateofbirth/onValidation.js
@@ -1,9 +1,9 @@
-import("system.datetime");
+import("Date_lib");
 import("system.translate");
 import("system.vars");
 import("system.result");
 import("Entity_lib");
 
 var dob = vars.get("local.value");
-if (Number(datetime.clearTime(dob)) > Number(vars.get("$sys.today")))
+if (!DateUtils.validateNotInFuture(dob))
     result.string(translate.text("date of birth must not be in the future"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Person_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Person_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 55a2ffde25da29e08fa81b0713e470531ef7a57d..4941f4e681715d0769512fba14d11801e4fc5d1f 100644
--- a/entity/Person_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Person_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.CONTACTID"), tableNames: ["CONTACT", "COMMUNICATION", "ADDRESS", "AB_ATTRIBUTERELATION"]});
-res.push({id: vars.get("$field.PERSONID"), tableNames: ["PERSON"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.CONTACTID"), tableNames: ["CONTACT", "COMMUNICATION", "ADDRESS", "AB_ATTRIBUTERELATION"]});
+res.push({id: vars.get("$field.PERSONID"), tableNames: ["PERSON"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js b/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js
index 972cb181d553b480c039c0d77fca8da35a528c71..b6ca79693c7baa2c3d294f57c25967f8df7db53e 100644
--- a/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js
+++ b/entity/Person_entity/entityfields/standard_email_communication/onValueChange.js
@@ -1,4 +1,5 @@
+import("system.vars");
 import("Entity_lib");
 
 // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023
-FieldChanges.setChange("$field.STANDARD_EMAIL_COMMUNICATION");
\ No newline at end of file
+FieldChanges.setChange("$field.STANDARD_EMAIL_COMMUNICATION", vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js b/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js
index 991c92d38d0731524a8de4eb6d0adabb661a71c3..d814a8e65ad4dff521e6a9c7bae9b28d8763838e 100644
--- a/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js
+++ b/entity/Person_entity/entityfields/standard_phone_communication/onValueChange.js
@@ -1,4 +1,5 @@
+import("system.vars");
 import("Entity_lib");
 
 // TODO: also there is currently no good way to do updates with fields not connected to the record container. Workaround: imagevariable and update in onDBUpdate Process #1030023
-FieldChanges.setChange("$field.STANDARD_PHONE_COMMUNICATION");
\ No newline at end of file
+FieldChanges.setChange("$field.STANDARD_PHONE_COMMUNICATION", vars.get("$local.value"));
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2625d5ed4d439e87d79d9519af1b917807fdb0b8
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("AttributeFilter_lib");
+import("system.result");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Person_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/onDBUpdate.js b/entity/Person_entity/recordcontainers/db/onDBUpdate.js
index 243f0443fb13fbf4db44de0800dbf415e2e973da..e94b093bae13bbb9a87f8344ed4786ff99f5b123 100644
--- a/entity/Person_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Person_entity/recordcontainers/db/onDBUpdate.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("DataPrivacy_lib");
 import("system.tools");
 import("system.vars");
@@ -8,7 +7,6 @@ import("Entity_lib");
 import("StandardObject_lib");
 
 var rowdata =  vars.get("$local.rowdata");
-logging.log(JSON.stringify(rowdata, null, "\t"))
 // TODO: this is a workaround for missing possibility to react on changes of fields not connected to record Contqainer #1030023
 var uid = rowdata["CONTACT.CONTACTID"];
 FieldChanges.assimilateChangeAndDispose("$field.STANDARD_EMAIL_COMMUNICATION", function(state, value){
diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
index b292f850f8af18154fac6b30ea88235192ed3eae..e2a17f695d65b3b040e2981806e63ccbe96a2292 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -3,5 +3,4 @@ import("system.result");
 
 var from = "CONTACT join ACTIVITYLINK on ACTIVITYLINK.OBJECT_ROWID = CONTACT.CONTACTID and ACTIVITYLINK.OBJECT_TYPE = 'Person' join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID";
 
-
 result.string("PERSONID in (select CONTACT.PERSON_ID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
index 56aa5aa75de8d6101953632ede50689fd8855343..9a44c954bd1d9798c18723a372b6fadef79c7f06 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
@@ -1,6 +1,6 @@
 import("system.result");
 import("Keyword_lib");
 
-var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("CONTACT.LANGUAGE");
+var sql = LanguageKeywordUtils.getResolvedTitleSqlPart("CONTACT.ISOLANGUAGE");
 
 result.string(sql);
diff --git a/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js b/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
index 839c81be84965ac009016c67636d4e43704f9dfb..c1b50e3da94468e2382abbc28ab9b56a464dbe97 100644
--- a/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
@@ -3,5 +3,4 @@ import("system.result");
 
 var from = "CONTACT join ORGANISATION on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID)";
 
-
 result.string("PERSONID in (select CONTACT.PERSON_ID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/index/affectedConsumerIds.js b/entity/Person_entity/recordcontainers/index/affectedConsumerIds.js
index 679911a6c882e857b87a05a199eea26a08f06d35..36a6f2b39beb3c81837c40946a645a37df075c5c 100644
--- a/entity/Person_entity/recordcontainers/index/affectedConsumerIds.js
+++ b/entity/Person_entity/recordcontainers/index/affectedConsumerIds.js
@@ -41,18 +41,18 @@ function addIds(pRes, pConsumerName, pIds)
 function addPersAddressIds(pRes, pCurrId)
 {
     var sql, ids;
-    sql = "select ADDRESS.ADDRESSID from ADDRESS left join CONTACT on CONTACT.CONTACTID = ADDRESS.CONTACT_ID where CONTACT.PERSON_ID = '" + pCurrId + "'";
+    sql = "select ADDRESS.ADDRESSID from ADDRESS where ADDRESS.CONTACT_ID = '" + pCurrId + "'";
     ids = db.array(db.COLUMN, sql, alias, 0 , 1 * datetime.ONE_MINUTE);
     addIds(pRes, "PersAddresses", ids);
 }
 
 function addOrgAddressIds(pRes, pCurrId)
 {
-    var sql, ids;
+    var sql, ids; 
     sql = "select CONTACT.ADDRESS_ID from ORGANISATION " 
         + "join CONTACT on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID and CONTACT.PERSON_ID is null " 
         + "where ORGANISATION.ORGANISATIONID  = ( " 
-        + "select c.ORGANISATION_ID FROM CONTACT as c where c.PERSON_ID = '" + pCurrId 
+        + "select c.ORGANISATION_ID FROM CONTACT as c where c.CONTACTID = '" + pCurrId 
         + "')";
     
     ids = db.array(db.COLUMN, sql, alias, 0 , 1 * datetime.ONE_MINUTE);
@@ -62,7 +62,7 @@ function addOrgAddressIds(pRes, pCurrId)
 function addCommunicationIds(pRes, pCurrId)
 {
     var sql, ids;
-    sql = "select COMMUNICATION.COMMUNICATIONID from COMMUNICATION left join CONTACT on CONTACT.CONTACTID = COMMUNICATION.CONTACT_ID where CONTACT.PERSON_ID = '" + pCurrId + "'";
+    sql = "select COMMUNICATION.COMMUNICATIONID from COMMUNICATION where COMMUNICATION.CONTACT_ID = '" + pCurrId + "'";
     ids = db.array(db.COLUMN, sql, alias, 0 , 1 * datetime.ONE_MINUTE);
     addIds(pRes, "Communications", ids);
 }
diff --git a/entity/Person_entity/recordcontainers/index/affectedIds.js b/entity/Person_entity/recordcontainers/index/affectedIds.js
index b4b39cb6399d759ad6576b68cc46e8fffdb78835..488e44a0b18fefa686a5a6640db77c4564faae81 100644
--- a/entity/Person_entity/recordcontainers/index/affectedIds.js
+++ b/entity/Person_entity/recordcontainers/index/affectedIds.js
@@ -15,25 +15,25 @@ infoContainer =  IndexsearchUtils.createAffectedInfoContainer(idValue, null, var
 
 switch (tableName)
 {
-    case "PERSON":
+    case "CONTACT":
         res = [idValue];
         break;    
-    case "CONTACT":
-        res = db.array(db.COLUMN, "select CONTACT.PERSON_ID from CONTACT where CONTACT.CONTACTID = '" + idValue + "'");
+    case "PERSON":
+        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID = '" + idValue + "'");
         break;
     case "ORGANISATION":
-        res = db.array(db.COLUMN, "select CONTACT.PERSON_ID from CONTACT where CONTACT.PERSON_ID is not null and CONTACT.ORGANISATION_ID = '" + idValue + "'");
+        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID is not null and CONTACT.ORGANISATION_ID = '" + idValue + "'");
         break;
     case "ADDRESS":
-        res = IndexsearchUtils.getAffectedIdValues("PERSON_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select CONTACT.PERSON_ID from ADDRESS left join CONTACT on CONTACT.CONTACTID = ADDRESS.CONTACT_ID where CONTACT.PERSON_ID is not null and ADDRESS.ADDRESSID = ?", [
+        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
+            return db.array(db.COLUMN, ["select ADDRESS.CONTACT_ID from ADDRESS where ADDRESS.ADDRESSID = ?", [
                     [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")]
             ]]);
         });
         break;
     case "COMMUNICATION":
-        res = IndexsearchUtils.getAffectedIdValues("PERSON_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select CONTACT.PERSON_ID from COMMUNICATION left join CONTACT on CONTACT.CONTACTID = COMMUNICATION.CONTACT_ID where CONTACT.PERSON_ID is not null and where COMMUNICATIONID = ?", [
+        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
+            return db.array(db.COLUMN, ["select COMMUNICATION.CONTACT_ID from COMMUNICATION where COMMUNICATIONID = ?", [
                     [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")]
             ]]);
         });
diff --git a/entity/Person_entity/recordcontainers/index/patternExtensionProcess.js b/entity/Person_entity/recordcontainers/index/patternExtensionProcess.js
deleted file mode 100644
index e1de697d7b7cdca5d450f2061da1154906517734..0000000000000000000000000000000000000000
--- a/entity/Person_entity/recordcontainers/index/patternExtensionProcess.js
+++ /dev/null
@@ -1,12 +0,0 @@
-import("system.vars");
-import("system.result");
-
-var pattern = vars.get("$local.pattern");
-
-var extension = "";
-
-if(pattern.search("AG") != -1 || pattern.search("ag") != -1){
-    extension += "-firstname:anja";
-}
-
-result.string(extension);
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/index/query.js b/entity/Person_entity/recordcontainers/index/query.js
index fdf2d9995a4f18657896e2ab03544e447b011972..ece3dd3e34927fd223128e432ba24be77fdf2e04 100644
--- a/entity/Person_entity/recordcontainers/index/query.js
+++ b/entity/Person_entity/recordcontainers/index/query.js
@@ -13,7 +13,7 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select PERSON.PERSONID as uid "
+sqlQuery = 'select CONTACT.CONTACTID as "_uid_" '
     + "," + sqlHelper.concat(["PERSON.SALUTATION", "PERSON.FIRSTNAME", "PERSON.LASTNAME", "'|'", "ORGANISATION.NAME"]) 
     + ' as "_title_" '
     + "," + sqlHelper.concat([
@@ -21,7 +21,7 @@ sqlQuery = "select PERSON.PERSONID as uid "
             ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
         ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
         ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
-        ], " | ") + " as description "
+        ], " | ") + ' as "_description_" '
     //additional indexed fields
     + ", PERSON.PERSONID "
     + ", PERSON.FIRSTNAME "
@@ -31,8 +31,8 @@ sqlQuery = "select PERSON.PERSONID as uid "
     + ", CONTACT.CONTACTID "
     + ", CONTACT.ORGANISATION_ID "
     + ", ORGANISATION.NAME "
-     + ", (" + CommUtil.getStandardSubSqlPhone() + ') as "STANDARD_PHONE_COMMUNICATION.value"'
-    + ", (" + CommUtil.getStandardSubSqlMail() + ') as "STANDARD_EMAIL_COMMUNICATION.value"'
+     + ", (" + CommUtil.getStandardSubSqlPhone() + ") as STANDARD_PHONE_COMMUNICATION"
+    + ", (" + CommUtil.getStandardSubSqlMail() + ") as STANDARD_EMAIL_COMMUNICATION"
     + " from PERSON "
     + " join CONTACT on CONTACT.PERSON_ID = PERSON.PERSONID "
     + " join ORGANISATION on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID "
diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod
index c17e0bb31e7dce7e81c2856c21f7c8e702a224bc..b4721e7460ed28ff920e35a593a533563dcd6132 100644
--- a/entity/Prod2prod_entity/Prod2prod_entity.aod
+++ b/entity/Prod2prod_entity/Prod2prod_entity.aod
@@ -4,6 +4,7 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Prod2prod_entity/documentation.adoc</documentation>
   <title>Parts list</title>
+  <titlePlural>Parts list</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
     <entityProvider>
@@ -129,6 +130,7 @@
       <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
       <contentProcess>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
       <onInsert>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js</onInsert>
+      <onUpdate>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
       <onDelete>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/onDelete.js</onDelete>
       <recordFieldMappings>
         <jDitoRecordFieldMapping>
diff --git a/entity/Prod2prod_entity/entityfields/quantity/valueProcess.js b/entity/Prod2prod_entity/entityfields/quantity/valueProcess.js
index 1adf62b3fab0c83c0f9ff455506257b815098393..58ce03cbd183e612db63a4a85adbd8aa3870ee90 100644
--- a/entity/Prod2prod_entity/entityfields/quantity/valueProcess.js
+++ b/entity/Prod2prod_entity/entityfields/quantity/valueProcess.js
@@ -2,7 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.QUANTITY"))
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == null)
 {
     result.string("1");
 }
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js
index 549dd18c52b622b1419a23e002b166558d30623c..8bb7ef210a16a0ec02600971d745d6ce9b6db042 100644
--- a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.neon");
 import("system.result");
 import("system.vars");
@@ -140,6 +139,5 @@ if(prodid != "")
         graphData.forEach(function (gd) { allData.push(gd); })
     })
 
-    logging.log(JSON.stringify(allData, null, "\t"))
     result.object(allData);
 }
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js b/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js
new file mode 100644
index 0000000000000000000000000000000000000000..0dff9d0fdd1ee895b0c9a497806550dfa376e6c8
--- /dev/null
+++ b/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js
@@ -0,0 +1,15 @@
+import("system.datetime");
+import("system.vars");
+import("system.db");
+
+var cols = [ "SOURCE_ID"
+           , "QUANTITY"
+           , "OPTIONAL"
+           , "TAKEPRICE" ];
+
+var vals = [ vars.get("$field.SOURCE_ID")
+           , vars.get("$field.QUANTITY")
+           , vars.get("$field.OPTIONAL")
+           , vars.get("$field.TAKEPRICE") ];
+
+db.updateData("PROD2PROD", cols, null, vals, "PROD2PRODID = '" + vars.get("$field.PROD2PRODID") + "'");
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 23567b7dfb7df267dc8d5d0604a86a981e53cf62..8663ddc8633f81f4255b72ef120582c298564b59 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -51,9 +51,6 @@
       <title>Product name</title>
       <mandatory v="true" />
     </entityField>
-    <entityField>
-      <name>STANDARD</name>
-    </entityField>
     <entityField>
       <name>STATUS</name>
       <title>Active</title>
@@ -294,6 +291,7 @@
     </entityActionField>
     <entityConsumer>
       <name>Attributes</name>
+      <stateProcess>%aditoprj%/entity/Product_entity/entityfields/attributes/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/Product_entity/entityfields/attributes/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
@@ -327,6 +325,12 @@
           <fieldName>Products</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>0129066d-805c-4522-b1bc-9bbbc9588629</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Product_consumer</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -362,6 +366,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>AttributeTree</name>
+      <stateProcess>%aditoprj%/entity/Product_entity/entityfields/attributetree/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>AttributeRelation_entity</entityName>
@@ -399,7 +404,7 @@
       <valueProcess>%aditoprj%/entity/Product_entity/entityfields/date_edit/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -408,7 +413,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -504,10 +509,6 @@
           <recordfield>PRODUCT.PRODUCTNAME</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STANDARD.value</name>
-          <recordfield>PRODUCT.STANDARD</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.value</name>
           <recordfield>PRODUCT.STATUS</recordfield>
@@ -555,7 +556,22 @@
           <name>PICTURE.value</name>
           <recordfield>PRODUCT.PICTURE</recordfield>
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
diff --git a/entity/Product_entity/entityfields/attributes/stateProcess.js b/entity/Product_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Product_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/attributetree/stateProcess.js b/entity/Product_entity/entityfields/attributetree/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Product_entity/entityfields/attributetree/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Product_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Product_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Product_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 7598a4d5c3157ac172221db5e6889680dca1aa9b..7ba31ad1ef4e48a4004091b122ef98b05f98db8d 100644
--- a/entity/Product_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Product_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.PRODUCTID"), tableNames: ["AB_ATTRIBUTERELATION", "PRODUCTPRICE", "ORGANISATION"]}); // TEXTBLOCK missing
-res.push({id: vars.get("$field.PRODUCTID"), tableNames: ["PRODUCT"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.PRODUCTID"), tableNames: ["AB_ATTRIBUTERELATION", "PRODUCTPRICE", "ORGANISATION"]}); // TEXTBLOCK missing
+res.push({id: vars.get("$field.PRODUCTID"), tableNames: ["PRODUCT"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/db/onDBUpdate.js b/entity/Product_entity/recordcontainers/db/onDBUpdate.js
index 11c4f6b2dd52dd21b4935cdf8f9bb011d9cbc4c6..c9c792deebc2db95afcf6a4c4b16a19d750a7085 100644
--- a/entity/Product_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Product_entity/recordcontainers/db/onDBUpdate.js
@@ -5,7 +5,7 @@ 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("$field.PRODUCTID"), value);
+        ProductUtils.setImage(vars.get("$local.uid"), value);
     else
-        ProductUtils.removeImage(vars.get("$field.PRODUCTID"));
+        ProductUtils.removeImage(vars.get("$local.uid"));
 });
diff --git a/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b8141bc3b760b0439c6a4e6e07c99b38dda33d54
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Product'";
+
+result.string("PRODUCTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Product_entity/recordcontainers/index/query.js b/entity/Product_entity/recordcontainers/index/query.js
index 34a9a7a3beae0a79423a22b105e737b178717dde..0510962887633d9d1b4e3bea26239aae9555a540 100644
--- a/entity/Product_entity/recordcontainers/index/query.js
+++ b/entity/Product_entity/recordcontainers/index/query.js
@@ -14,11 +14,11 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select PRODUCTID as uid, " 
+sqlQuery = 'select PRODUCTID as "_uid_", ' 
     + sqlHelper.concat(["PRODUCTCODE", "PRODUCTNAME"], " | ")
-    + " as title, " 
+    + ' as "_title_", ' 
     + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODEID")
-    + " as description" 
+    + ' as "_description_" ' 
     + ", PRODUCTCODE " 
     + " from PRODUCT "
     + queryCondition + " order by PRODUCTCODE ";
diff --git a/entity/Productprice_entity/afterOperatingState.js b/entity/Productprice_entity/afterOperatingState.js
index 6d4cd75413c4bde545b936868231f1cd21f4f39d..80a3d84eb82abf701d27d51058ce18eaeb659e5b 100644
--- a/entity/Productprice_entity/afterOperatingState.js
+++ b/entity/Productprice_entity/afterOperatingState.js
@@ -1,7 +1,10 @@
 import("system.neon");
 import("system.vars");
 
-if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW && vars.get("$local.value")) // local.value is previous operationgstate or null. This fixes not working Filter
+if(vars.get("$sys.operatingstate") != undefined 
+&& vars.get("$sys.operatingstate") != null 
+&& vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_VIEW 
+&& vars.get("$local.value")) // local.value is previous operationgstate or null. This fixes not working Filter
 {
     neon.refresh();
 }
diff --git a/entity/Role_entity/Role_entity.aod b/entity/Role_entity/Role_entity.aod
index be73dbe9c2d4ac111ed5ee91cb7888d23df6bbb0..ed56ab6ba0c92c040be4f3fe36ddfc98e809917c 100644
--- a/entity/Role_entity/Role_entity.aod
+++ b/entity/Role_entity/Role_entity.aod
@@ -4,6 +4,7 @@
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <icon>VAADIN:USER_CHECK</icon>
   <title>Roles</title>
+  <grantCreate v="false" />
   <contentTitleProcess>%aditoprj%/entity/Role_entity/contentTitleProcess.js</contentTitleProcess>
   <iconId>VAADIN:USER_CHECK</iconId>
   <titlePlural>Roles</titlePlural>
@@ -105,15 +106,19 @@
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ROLETITLE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ROLETYPE.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>ROLEDESCRIPTION.value</name>
+          <isFilterable v="true" />
         </jDitoRecordFieldMapping>
         <jDitoRecordFieldMapping>
           <name>USERCOUNT.value</name>
+          <isFilterable v="false" />
         </jDitoRecordFieldMapping>
       </recordFieldMappings>
     </jDitoRecordContainer>
diff --git a/entity/SalesprojectAnalyses_entity/SalesprojectAnalyses_entity.aod b/entity/SalesprojectAnalyses_entity/SalesprojectAnalyses_entity.aod
index 5d0cf28bf2df9aece9cc9d9dcbdc47cca38e63c0..de71fce8c427575dabbdda4e07f76acdd048e69d 100644
--- a/entity/SalesprojectAnalyses_entity/SalesprojectAnalyses_entity.aod
+++ b/entity/SalesprojectAnalyses_entity/SalesprojectAnalyses_entity.aod
@@ -53,6 +53,22 @@
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/SalesprojectAnalyses_entity/entityfields/open_salesprojects/valueProcess.js</valueProcess>
     </entityField>
+    <entityActionField>
+      <name>openSalesprojects</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectAnalyses_entity/entityfields/opensalesprojects/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>sentOffers</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectAnalyses_entity/entityfields/sentoffers/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>openForecast</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectAnalyses_entity/entityfields/openforecast/onActionProcess.js</onActionProcess>
+    </entityActionField>
+    <entityActionField>
+      <name>openTurnover</name>
+      <onActionProcess>%aditoprj%/entity/SalesprojectAnalyses_entity/entityfields/openturnover/onActionProcess.js</onActionProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/open_salesprojects/valueProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/open_salesprojects/valueProcess.js
index edfcaddcb840d27088338ff6d7b3624ce73938ff..119e4fcf205776e50ba9c179ad63300a763c32c8 100644
--- a/entity/SalesprojectAnalyses_entity/entityfields/open_salesprojects/valueProcess.js
+++ b/entity/SalesprojectAnalyses_entity/entityfields/open_salesprojects/valueProcess.js
@@ -1,13 +1,10 @@
-import("system.datetime");
-import("system.db");
 import("system.result");
-import("system.vars");
-import("Date_lib");
-import("Sql_lib");
-import("system.SQLTYPES")
+import("system.entities");
 
-var opensp = db.cell("select count(STATE) from SALESPROJECT \n\
-join AB_KEYWORD_ENTRY on KEYID = STATE and  CONTAINER  = 'SalesprojectState' and TITLE = 'Open' \n\
-group by KEYID, AB_KEYWORD_ENTRY.TITLE");
-                                  
+var conf = entities.createConfigForLoadingRows()
+                   .entity("Salesproject_entity")
+                   .provider("OpenSalesprojects");
+                   
+var opensp = entities.getRowCount(conf);
+        
 result.string(opensp);
\ No newline at end of file
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/openforecast/onActionProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/openforecast/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a4f17e146fc1bc27447f0f53818616a254bcf6d1
--- /dev/null
+++ b/entity/SalesprojectAnalyses_entity/entityfields/openforecast/onActionProcess.js
@@ -0,0 +1,7 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Turnover", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "ShowForecast_param": "true",
+    "ShowTurnover_param": "false"
+});
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/opensalesprojects/onActionProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/opensalesprojects/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4db85d3486709981abe865d0121c3d29a09c296
--- /dev/null
+++ b/entity/SalesprojectAnalyses_entity/entityfields/opensalesprojects/onActionProcess.js
@@ -0,0 +1,6 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Salesproject", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "Status_param": $KeywordRegistry.salesprojectState$open()
+});
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/openturnover/onActionProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/openturnover/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b278ec2dce925c93c0fcccbd8689f8ad68f7c781
--- /dev/null
+++ b/entity/SalesprojectAnalyses_entity/entityfields/openturnover/onActionProcess.js
@@ -0,0 +1,7 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Turnover", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "ShowForecast_param": "false",
+    "ShowTurnover_param": "true"
+});
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/sent_offers/valueProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/sent_offers/valueProcess.js
index 8d610d08abc6ca281facdb29e790696741a5dd85..df5b51bfc46e739539a7520208607cf568100742 100644
--- a/entity/SalesprojectAnalyses_entity/entityfields/sent_offers/valueProcess.js
+++ b/entity/SalesprojectAnalyses_entity/entityfields/sent_offers/valueProcess.js
@@ -1,12 +1,10 @@
-import("system.datetime");
-import("system.db");
 import("system.result");
-import("system.vars");
-import("Date_lib");
-import("Sql_lib");
-import("system.SQLTYPES")
+import("system.entities");
 
-var sentoffer = db.cell("select count(STATUS) from OFFER join AB_KEYWORD_ENTRY \n\
-on KEYID = STATUS and  CONTAINER  = 'OfferStatus' and TITLE = 'Sent' group by KEYID, AB_KEYWORD_ENTRY.TITLE");
-                                  
-result.string(sentoffer);
\ No newline at end of file
+var conf = entities.createConfigForLoadingRows()
+                   .entity("Offer_entity")
+                   .provider("SentOffers");
+                   
+var opensp = entities.getRowCount(conf);
+        
+result.string(opensp);
\ No newline at end of file
diff --git a/entity/SalesprojectAnalyses_entity/entityfields/sentoffers/onActionProcess.js b/entity/SalesprojectAnalyses_entity/entityfields/sentoffers/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..90c452b6404bb557adec63073846a542c8e66e8f
--- /dev/null
+++ b/entity/SalesprojectAnalyses_entity/entityfields/sentoffers/onActionProcess.js
@@ -0,0 +1,6 @@
+import("KeywordRegistry_basic");
+import("system.neon");
+
+neon.openContext("Offer", null, null, neon.OPERATINGSTATE_SEARCH, {
+    "OfferStatus_param": $KeywordRegistry.offerStatus$sent()
+});
diff --git a/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod
index 0137b6126225d08a9d10f8e98ee5b7f321e71dad..a199a94e1aac80bc54934eb80c2170c8cf9f7e1c 100644
--- a/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod
+++ b/entity/SalesprojectMilestone_entity/SalesprojectMilestone_entity.aod
@@ -37,17 +37,17 @@
       <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/salesproject_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>TYPE</name>
+      <name>KIND</name>
       <title>Type</title>
       <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/type/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
-      <name>VALUE</name>
+      <name>MILESTONEVALUE</name>
       <consumer>Keywords</consumer>
       <mandatory v="true" />
-      <titleProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js</titleProcess>
-      <displayValueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/value/displayValueProcess.js</displayValueProcess>
+      <titleProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js</titleProcess>
+      <displayValueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityParameter>
       <name>SalesprojectId_param</name>
@@ -64,7 +64,7 @@
           <expose v="true" />
         </entityParameter>
         <entityParameter>
-          <name>Type_param</name>
+          <name>Kind_param</name>
           <expose v="false" />
         </entityParameter>
       </children>
@@ -89,7 +89,7 @@
       </children>
     </entityConsumer>
     <entityParameter>
-      <name>Type_param</name>
+      <name>Kind_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -105,9 +105,8 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>Type_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js</valueProcess>
-          <expose v="false" />
+          <name>Kind_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/kind_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityProvider>
@@ -123,9 +122,8 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>Type_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js</valueProcess>
-          <expose v="false" />
+          <name>Kind_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/kind_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityProvider>
@@ -181,12 +179,8 @@
           <recordfield>SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>TYPE.value</name>
-          <recordfield>SALESPROJECT_MILESTONE.TYPE</recordfield>
-        </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>VALUE.value</name>
-          <recordfield>SALESPROJECT_MILESTONE.VALUE</recordfield>
+          <name>KIND.value</name>
+          <recordfield>SALESPROJECT_MILESTONE.KIND</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>SALESPROJECT_ID.value</name>
@@ -196,6 +190,11 @@
           <name>PARENT_ID.value</name>
           <recordfield>SALESPROJECT_MILESTONE.PARENT_ID</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>MILESTONEVALUE.value</name>
+          <recordfield>SALESPROJECT_MILESTONE.MILESTONEVALUE</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/displayValueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b41ebba317deff35035cc9941f23c33869fe65c3
--- /dev/null
+++ b/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/displayValueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+
+result.string(KeywordUtils.getViewValue(vars.get("$field.KIND"), vars.get("$field.MILESTONEVALUE")))
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js b/entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js
similarity index 100%
rename from entity/SalesprojectMilestone_entity/entityfields/value/titleProcess.js
rename to entity/SalesprojectMilestone_entity/entityfields/milestonevalue/titleProcess.js
diff --git a/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/kind_param/valueProcess.js
similarity index 100%
rename from entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/type_param/valueProcess.js
rename to entity/SalesprojectMilestone_entity/entityfields/phasemilestones/children/kind_param/valueProcess.js
diff --git a/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/kind_param/valueProcess.js
similarity index 100%
rename from entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/type_param/valueProcess.js
rename to entity/SalesprojectMilestone_entity/entityfields/statemilestones/children/kind_param/valueProcess.js
diff --git a/entity/SalesprojectMilestone_entity/entityfields/type/displayValueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/type/displayValueProcess.js
index 20dd9c7dc7b04a439a16a2a9b4cd833c78f3f964..3226a4d4661ac80f360bb7f2f9c10cfbc8ca758b 100644
--- a/entity/SalesprojectMilestone_entity/entityfields/type/displayValueProcess.js
+++ b/entity/SalesprojectMilestone_entity/entityfields/type/displayValueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("system.vars");
 import("Keyword_lib");
 
-result.string(KeywordUtils.getTranslatedContainer(vars.get("$field.TYPE")));
\ No newline at end of file
+result.string(KeywordUtils.getTranslatedContainer(vars.get("$field.KIND")));
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/entityfields/value/displayValueProcess.js b/entity/SalesprojectMilestone_entity/entityfields/value/displayValueProcess.js
deleted file mode 100644
index 5a8a9c5933eb25e1aadbbdc66fa8ac545c1d12b5..0000000000000000000000000000000000000000
--- a/entity/SalesprojectMilestone_entity/entityfields/value/displayValueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.vars");
-import("system.result");
-import("Keyword_lib");
-
-result.string(KeywordUtils.getViewValue(vars.get("$field.TYPE"), vars.get("$field.VALUE")))
\ No newline at end of file
diff --git a/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js
index e0aa733ba874bae3fa610a4f560592836dc9ba07..3706bc878d154b36e361b450036a77b917c71a78 100644
--- a/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/SalesprojectMilestone_entity/recordcontainers/db/conditionProcess.js
@@ -5,7 +5,7 @@ import("Sql_lib");
 
 var cond = SqlCondition.begin()
                        .andPrepareVars("SALESPROJECT_MILESTONE.SALESPROJECT_ID", "$param.SalesprojectId_param")
-                       .andPrepareVars("SALESPROJECT_MILESTONE.TYPE", "$param.Type_param");
+                       .andPrepareVars("SALESPROJECT_MILESTONE.KIND", "$param.Kind_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/SalesprojectPhase_entity/SalesprojectPhase_entity.aod b/entity/SalesprojectPhase_entity/SalesprojectPhase_entity.aod
index 6813c98bb6fc180319a8ce41f76f6a959e72bbc9..7de985a6e96776cfd5660484191b4a18fff5c9df 100644
--- a/entity/SalesprojectPhase_entity/SalesprojectPhase_entity.aod
+++ b/entity/SalesprojectPhase_entity/SalesprojectPhase_entity.aod
@@ -6,6 +6,7 @@
   <siblings>
     <element>SalesprojectMilestone_entity</element>
   </siblings>
+  <contentTitleProcess>%aditoprj%/entity/SalesprojectPhase_entity/contentTitleProcess.js</contentTitleProcess>
   <titlePlural>Phases</titlePlural>
   <recordContainer>jdito</recordContainer>
   <entityFields>
diff --git a/entity/SalesprojectPhase_entity/contentTitleProcess.js b/entity/SalesprojectPhase_entity/contentTitleProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..94f61859cc64100bb6a6dcd445efc67835002c1a
--- /dev/null
+++ b/entity/SalesprojectPhase_entity/contentTitleProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.TITLE"));
\ No newline at end of file
diff --git a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
index 79ca447c8b8d5231a9a8e23229d9d37a55834567..e83c243807ab2a04c12555156ba2e28590c7b66f 100644
--- a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
+++ b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
@@ -48,15 +48,15 @@
       <valueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/salesproject_id/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>SALESPROJECT_SOURCEID</name>
-      <valueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/salesproject_sourceid/valueProcess.js</valueProcess>
+      <name>SALESPROJECT_TOUCHPOINTID</name>
+      <valueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/salesproject_touchpointid/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>SOURCE</name>
+      <name>TOUCHPOINT</name>
       <title>Touchpoint</title>
       <consumer>KeywordSources</consumer>
       <mandatory v="true" />
-      <displayValueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/source/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/touchpoint/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityConsumer>
       <name>KeywordSources</name>
@@ -91,9 +91,9 @@
       <conditionProcess>%aditoprj%/entity/SalesprojectSource_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <linkInformation>
         <linkInformation>
-          <name>cbe646de-9bc8-4008-8a2f-41fa5728d85e</name>
-          <tableName>SALESPROJECT_SOURCE</tableName>
-          <primaryKey>SALESPROJECT_SOURCEID</primaryKey>
+          <name>d0f986d3-dae8-4266-b3e1-1e006d0367c7</name>
+          <tableName>SALESPROJECT_TOUCHPOINT</tableName>
+          <primaryKey>SALESPROJECT_TOUCHPOINTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
@@ -109,23 +109,27 @@
           <recordfield>SALESPROJECT_SOURCE.SALESPROJECT_ID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>SALESPROJECT_SOURCEID.value</name>
-          <recordfield>SALESPROJECT_SOURCE.SALESPROJECT_SOURCEID</recordfield>
+          <name>SOURCE.displayValue</name>
+          <expression>%aditoprj%/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>SOURCE.value</name>
-          <recordfield>SALESPROJECT_SOURCE.SOURCE</recordfield>
+          <name>INFO.value</name>
+          <recordfield>SALESPROJECT_SOURCE.INFO</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>SOURCE.displayValue</name>
-          <expression>%aditoprj%/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js</expression>
+          <name>TOUCHPOINT.displayValue</name>
+          <expression>%aditoprj%/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/touchpoint.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>INFO.value</name>
-          <recordfield>SALESPROJECT_SOURCE.INFO</recordfield>
+          <name>TOUCHPOINT.value</name>
+          <recordfield>SALESPROJECT_TOUCHPOINT.TOUCHPOINT</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>SALESPROJECT_TOUCHPOINTID.value</name>
+          <recordfield>SALESPROJECT_TOUCHPOINT.SALESPROJECT_TOUCHPOINTID</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/SalesprojectSource_entity/conditionProcess.js b/entity/SalesprojectSource_entity/conditionProcess.js
index 073fed32ea8fe5e90c22f5083a6d2bd22cdadf6a..fa1c8bc25f7f9731aa0bbc454fd669f4d6e62e43 100644
--- a/entity/SalesprojectSource_entity/conditionProcess.js
+++ b/entity/SalesprojectSource_entity/conditionProcess.js
@@ -3,7 +3,7 @@ import("system.result");
 import("Sql_lib");
 
 var cond = new SqlCondition();
-cond.andPrepareVars("SALESPROJECT_SOURCE.SALESPROJECT_ID", "$param.SalesprojectId_param");
+cond.andPrepareVars("SALESPROJECT_TOUCHPOINT.SALESPROJECT_ID", "$param.SalesprojectId_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js b/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js
index 860f5656a20ddabd85f30a928382bf22de8a81d1..962b3f3541c1cd7ff482ded628714eefdd355f6f 100644
--- a/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js
+++ b/entity/SalesprojectSource_entity/entityfields/icon/valueProcess.js
@@ -1,14 +1,14 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-var category = vars.getString("$field.SOURCE");
-var icon;
-if (category)
-{
-    var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(category, $KeywordRegistry.salesprojectSource())
-    icon = keywordAttributes.defaultAvatarRepresentation;
-    result.string(icon);
-}
+import("system.vars");
+import("system.result");
+import("system.neon");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var category = vars.getString("$field.TOUCHPOINT");
+var icon;
+if (category)
+{
+    var keywordAttributes = KeywordUtils.getAttributeRelationsByKey(category, $KeywordRegistry.salesprojectSource())
+    icon = keywordAttributes.defaultAvatarRepresentation;
+    result.string(icon);
+}
diff --git a/entity/SalesprojectSource_entity/entityfields/salesproject_sourceid/valueProcess.js b/entity/SalesprojectSource_entity/entityfields/salesproject_touchpointid/valueProcess.js
similarity index 100%
rename from entity/SalesprojectSource_entity/entityfields/salesproject_sourceid/valueProcess.js
rename to entity/SalesprojectSource_entity/entityfields/salesproject_touchpointid/valueProcess.js
diff --git a/entity/Salesproject_entity/entityfields/state/displayValueProcess.js b/entity/SalesprojectSource_entity/entityfields/touchpoint/displayValueProcess.js
similarity index 77%
rename from entity/Salesproject_entity/entityfields/state/displayValueProcess.js
rename to entity/SalesprojectSource_entity/entityfields/touchpoint/displayValueProcess.js
index 4b194ebac26d8bb7718c2adae0a10d9d48ded35d..bc070bc91f2c735d11e9adaf68303b549e0d6825 100644
--- a/entity/Salesproject_entity/entityfields/state/displayValueProcess.js
+++ b/entity/SalesprojectSource_entity/entityfields/touchpoint/displayValueProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.vars");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), vars.get("$field.STATE")));
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectSource(), vars.get("$field.TOUCHPOINT")));
diff --git a/entity/SalesprojectSource_entity/recordcontainers/db/conditionProcess.js b/entity/SalesprojectSource_entity/recordcontainers/db/conditionProcess.js
index 073fed32ea8fe5e90c22f5083a6d2bd22cdadf6a..fa1c8bc25f7f9731aa0bbc454fd669f4d6e62e43 100644
--- a/entity/SalesprojectSource_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/SalesprojectSource_entity/recordcontainers/db/conditionProcess.js
@@ -3,7 +3,7 @@ import("system.result");
 import("Sql_lib");
 
 var cond = new SqlCondition();
-cond.andPrepareVars("SALESPROJECT_SOURCE.SALESPROJECT_ID", "$param.SalesprojectId_param");
+cond.andPrepareVars("SALESPROJECT_TOUCHPOINT.SALESPROJECT_ID", "$param.SalesprojectId_param");
 
 //TODO: use a preparedCondition when available #1030812 #1034026
 result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js b/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js
index 78804de15943f7f1439549a5854d5d04f8918da6..9c2c59e5d23fee5e9c0318ba05d33739a47af82e 100644
--- a/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js
+++ b/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/source.displayvalue/expression.js
@@ -2,5 +2,5 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectSource(), "SALESPROJECT_SOURCE.SOURCE");
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectSource(), "SALESPROJECT_TOUCHPOINT.TOUCHPOINT");
 result.string(sql);
diff --git a/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/touchpoint.displayvalue/expression.js b/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/touchpoint.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..9c2c59e5d23fee5e9c0318ba05d33739a47af82e
--- /dev/null
+++ b/entity/SalesprojectSource_entity/recordcontainers/db/recordfieldmappings/touchpoint.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectSource(), "SALESPROJECT_TOUCHPOINT.TOUCHPOINT");
+result.string(sql);
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index f98437a49d7e07bba22482116e1e2aeca8c1e96b..97b2881d77d50de2f3351fe6daa089d74854787d 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -86,15 +86,17 @@
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/startdate/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>STATE</name>
+      <name>STATUS</name>
       <title>Status</title>
       <consumer>KeywordStates</consumer>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/state/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/state/onValueChange.js</onValueChange>
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Salesproject_entity/entityfields/status/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
+        <element>PROCESS</element>
+        <element>PROCESS_SETVALUE</element>
       </onValueChangeTypes>
     </entityField>
     <entityField>
@@ -473,7 +475,7 @@
       </children>
     </entityConsumer>
     <entityProvider>
-      <name>openSalesprojects</name>
+      <name>OpenSalesprojects</name>
       <dependencies>
         <entityDependency>
           <name>631f55f9-fb0f-4205-bdb8-6e3476268ab4</name>
@@ -484,14 +486,13 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>State_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js</valueProcess>
-          <expose v="false" />
+          <name>Status_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/opensalesprojects/children/status_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
-      <name>State_param</name>
+      <name>Status_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -511,6 +512,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>Attributes</name>
+      <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/stateProcess.js</stateProcess>
       <onValidation>%aditoprj%/entity/Salesproject_entity/entityfields/attributes/onValidation.js</onValidation>
       <dependency>
         <name>dependency</name>
@@ -530,6 +532,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>AttributeTree</name>
+      <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/attributetree/stateProcess.js</stateProcess>
       <dependency>
         <name>dependency</name>
         <entityName>AttributeRelation_entity</entityName>
@@ -547,7 +550,7 @@
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>LogHistoryConsumer</name>
+      <name>LogHistories</name>
       <dependency>
         <name>dependency</name>
         <entityName>LogHistory_entity</entityName>
@@ -556,7 +559,7 @@
       <children>
         <entityParameter>
           <name>tablenames_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -740,11 +743,6 @@
           <recordfield>SALESPROJECT.STARTDATE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATE.value</name>
-          <recordfield>SALESPROJECT.STATE</recordfield>
-          <isFilterable v="true" />
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>VOLUME.value</name>
           <recordfield>SALESPROJECT.VOLUME</recordfield>
@@ -763,10 +761,6 @@
           <name>PROBABILITY.displayValue</name>
           <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATE.displayValue</name>
-          <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/state.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PHASE.displayValue</name>
           <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression>
@@ -776,7 +770,37 @@
           <recordfield>SALESPROJECT.REASONS</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
+        <consumerMapping>
+          <name>Organisations</name>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>BASIC</filtertype>
+        </consumerMapping>
+        <consumerMapping>
+          <name>Activities</name>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js</filterConditionProcess>
+          <isFilterable v="true" />
+          <filtertype>EXTENDED</filtertype>
+        </consumerMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.value</name>
+          <recordfield>SALESPROJECT.STATUS</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
       </recordFieldMappings>
+      <filterExtensions>
+        <filterExtensionSet>
+          <name>Attribute_filter</name>
+          <filterFieldsProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js</filterFieldsProcess>
+          <filterValuesProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js</filterValuesProcess>
+          <filterConditionProcess>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js</filterConditionProcess>
+          <filtertype>BASIC</filtertype>
+        </filterExtensionSet>
+      </filterExtensions>
     </dbRecordContainer>
     <indexRecordContainer>
       <name>index</name>
@@ -797,11 +821,11 @@
           <indexFieldType>TEXT</indexFieldType>
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
-          <name>STATE.value</name>
+          <name>STATUS.value</name>
           <indexFieldType>STRING</indexFieldType>
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
-          <name>STATE.displayValue</name>
+          <name>STATUS.displayValue</name>
           <indexFieldType>TEXT_PLAIN</indexFieldType>
         </indexRecordFieldMapping>
         <indexRecordFieldMapping>
diff --git a/entity/Salesproject_entity/entityfields/2pensalesprojects/children/state_param/valueProcess.js b/entity/Salesproject_entity/entityfields/2pensalesprojects/children/state_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2a82320164b8a1ee9cce3001fdbe18a385a7c77c
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/2pensalesprojects/children/state_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectState$open());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/attributes/stateProcess.js b/entity/Salesproject_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/attributetree/stateProcess.js b/entity/Salesproject_entity/entityfields/attributetree/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9cffc2b80461245d94a17604f60cc531e2d63a6d
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/attributetree/stateProcess.js
@@ -0,0 +1,9 @@
+import("system.neon");
+import("system.result");
+import("Context_lib");
+import("Attribute_lib");
+
+if (AttributeUtil.hasAttributes(ContextUtils.getCurrentContextId()))
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+else
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js b/entity/Salesproject_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
similarity index 97%
rename from entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
rename to entity/Salesproject_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
index 316546cb5cd3f41b3b4106b3a5bd45e2c09bec5b..97523412f94b7d77b72b9a0973be454ca2a0bf04 100644
--- a/entity/Salesproject_entity/entityfields/loghistoryconsumer/children/tablenames_param/valueProcess.js
+++ b/entity/Salesproject_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("system.result");
-import("Context_lib");
-
-var res = [];
-res.push({id: vars.get("$field.SALESPROJECTID"), tableNames: ["AB_ATTRIBUTERELATION", "ACTIVITY"]});
-res.push({id: vars.get("$field.SALESPROJECTID"), tableNames: ["SALESPROJECT"]});
-
-res = JSON.stringify(res);//currently only strings  can be passed as param
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.SALESPROJECTID"), tableNames: ["AB_ATTRIBUTERELATION", "ACTIVITY"]});
+res.push({id: vars.get("$field.SALESPROJECTID"), tableNames: ["SALESPROJECT"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
 result.object(res);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js b/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js
deleted file mode 100644
index 9074d4eece1ed8c26040d657c5c989aa1950ac12..0000000000000000000000000000000000000000
--- a/entity/Salesproject_entity/entityfields/opensalesprojects/children/state_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-
-//The Id for the salesproject state keyword OPEN
-result.string("483bcaeb-1e5b-4772-b54e-7d7d8aa65712");
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/opensalesprojects/children/status_param/valueProcess.js b/entity/Salesproject_entity/entityfields/opensalesprojects/children/status_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2a82320164b8a1ee9cce3001fdbe18a385a7c77c
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/opensalesprojects/children/status_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectState$open());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
index e04fe64bb9f9475704a97e61647eef1cda571d94..6d8b636fc9c3e3cbe58ba454671589db70411d99 100644
--- a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
+++ b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
@@ -3,5 +3,5 @@ import("system.vars");
 import("KeywordRegistry_basic");
 
 // IDs: SalesprojectState Order and Lost
-var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost());
+var res = vars.get("$field.STATUS") && (vars.get("$field.STATUS") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATUS") == $KeywordRegistry.salesprojectState$lost());
 result.string(res);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
index 666b25be556fdf618dc8fc730751b30d5b1ce085..57434eadd618e41c37a344f8890a7a8aed10a987 100644
--- a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
+++ b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
@@ -3,7 +3,7 @@ import("system.vars");
 import("KeywordRegistry_basic");
 
 // IDs: SalesprojectState Order and Lost
-if(vars.get("$field.STATE") && (vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATE") == $KeywordRegistry.salesprojectState$lost()))
+if(vars.get("$field.STATUS") && (vars.get("$field.STATUS") == $KeywordRegistry.salesprojectState$order() || vars.get("$field.STATUS") == $KeywordRegistry.salesprojectState$lost()))
         result.string("EDITABLE");
 else
         result.string("INVISIBLE");
diff --git a/entity/Salesproject_entity/entityfields/state/onValueChange.js b/entity/Salesproject_entity/entityfields/state/onValueChange.js
deleted file mode 100644
index 509f1db7864bbf1d05e44ad0f040196524f85dc4..0000000000000000000000000000000000000000
--- a/entity/Salesproject_entity/entityfields/state/onValueChange.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import("system.vars");
-import("Sql_lib");
-import("system.db");
-import("KeywordRegistry_basic");
-import("Keyword_lib");
-import("system.translate");
-import("system.question");
-import("system.neon");
-
-if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
-{
-    var state = vars.get("$field.STATE");
-
-    // Postponed
-    if (state == $KeywordRegistry.salesprojectState$postponed())
-    {
-        var stateName = KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), state);
-        var clearForecast = question.askYesNo(translate.withArguments("Clear forecast and set state to '%0'?", [stateName]), translate.withArguments("Would you really like to clear the forecast and set the state to '%0'?", [stateName]) + "\n" + translate.text("This cannot be undone!"), false);
-
-        if (!clearForecast)
-        {
-            // reset to value from db
-            neon.setFieldValue("$field.STATE", db.cell(SqlCondition.begin()
-                                                                   .andPrepareVars("SALESPROJECT.SALESPROJECTID", "$field.SALESPROJECTID")
-                                                                   .buildSql("select STATE from SALESPROJECT", "1=2")));
-        }
-    }
-}
diff --git a/entity/SalesprojectSource_entity/entityfields/source/displayValueProcess.js b/entity/Salesproject_entity/entityfields/status/displayValueProcess.js
similarity index 77%
rename from entity/SalesprojectSource_entity/entityfields/source/displayValueProcess.js
rename to entity/Salesproject_entity/entityfields/status/displayValueProcess.js
index b3db4887929c1f0298807bff7610a08cdfa79e17..fbea558b6977bded361339b3e117dca75fc0a52e 100644
--- a/entity/SalesprojectSource_entity/entityfields/source/displayValueProcess.js
+++ b/entity/Salesproject_entity/entityfields/status/displayValueProcess.js
@@ -1,6 +1,6 @@
-import("system.result");
-import("system.vars");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectSource(), vars.get("$field.SOURCE")));
+import("system.result");
+import("system.vars");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), vars.get("$field.STATUS")));
diff --git a/entity/Salesproject_entity/entityfields/status/onValueChange.js b/entity/Salesproject_entity/entityfields/status/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..4745b434f63d0151c8c511fdc73e9ac6d9cad1c0
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/status/onValueChange.js
@@ -0,0 +1,7 @@
+import("Sql_lib");
+import("system.vars");
+import("system.db");
+
+vars.set("$context.statusBefore", db.cell(SqlCondition.begin()
+                                                      .andPrepareVars("SALESPROJECT.SALESPROJECTID", "$field.SALESPROJECTID")
+                                                      .buildSql("select STATUS from SALESPROJECT", "1=2")));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/state/valueProcess.js b/entity/Salesproject_entity/entityfields/status/valueProcess.js
similarity index 100%
rename from entity/Salesproject_entity/entityfields/state/valueProcess.js
rename to entity/Salesproject_entity/entityfields/status/valueProcess.js
diff --git a/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js
index f3a32a333dafdf4816b96cb701a339e4613f2827..718629c28ebd0cd9a84247b26c676ff40ac4b099 100644
--- a/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/conditionProcess.js
@@ -3,18 +3,8 @@ import("system.result");
 import("system.vars");
 import("Sql_lib");
 
-if(vars.exists("$param.State_param") && vars.get("$param.State_param") && vars.exists("$param.ContactId_param") && vars.get("$param.ContactId_param"))
-{
-    result.string(db.translateCondition(
-                SqlCondition.begin()
-                            .andPrepareVars("SALESPROJECT.CONTACT_ID", "$param.ContactId_param")
-                            .andPrepareVars("SALESPROJECT.STATE", "$param.State_param")
-                            .build("1 = 2")));
-}
-else
-{
-    result.string(db.translateCondition(
-                SqlCondition.begin()
-                            .andPrepareVars("SALESPROJECT.CONTACT_ID", "$param.ContactId_param")
-                            .build("1 = 1")));
-}
\ No newline at end of file
+result.string(db.translateCondition(
+            SqlCondition.begin()
+                        .andPrepareVars("SALESPROJECT.CONTACT_ID", "$param.ContactId_param")
+                        .andPrepareVars("SALESPROJECT.STATUS", "$param.Status_param")
+                        .build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..65d6b67c6e0affc794a04043f264fa103f4c2ba0
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterConditionProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var sqlCond = AttributeFilterExtensionMaker.makeFilterConditionSql();
+result.string(sqlCond);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..209ddd39ef4a15b1190ef2bd4955ccdc78f5808b
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterFieldsProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var fields = AttributeFilterExtensionMaker.makeFilterFields();
+result.string(fields);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..942b0a0495a179f9c25d19330bb8cd59c5563ec0
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/filterextensions/attribute_filter/filterValuesProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("AttributeFilter_lib");
+
+var values = AttributeFilterExtensionMaker.makeFilterValues();
+result.object(values);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js
index dc8096032637d39091a4bec27f435dd08d99165e..1012ac8639bb3c66676962031a57ad95056b2102 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBDelete.js
@@ -1,42 +1,42 @@
-import("Context_lib");
-import("system.db");
-import("system.vars");
-import("Sql_lib");
-
-var currentId = vars.getString("$field.SALESPROJECTID");
-
-if (currentId)
-{
-    var toDelete = [
-    "SALESPROJECT_MILESTONE",
-    "SALESPROJECT_SOURCE"
-    ];
-    
-        
-    toDelete = toDelete.map(function(pTable)
-    {
-        return [pTable, SqlCondition.equals(pTable + ".SALESPROJECT_ID", currentId, "1=2")];
-    });
-    
-    
-    
-    var modulesToDelete = [
-    "CLASSIFICATION",
-    "COMPETITION",
-    "MEMBER",
-    "FORECAST"
-    ];
-
-    toDelete = toDelete.concat(modulesToDelete.map(function(pTableComp)
-    {
-        return [pTableComp, SqlCondition.begin()
-        .andPrepare(pTableComp + ".OBJECT_TYPE", ContextUtils.getCurrentContextId())
-        .andPrepare(pTableComp + ".OBJECT_ROWID", currentId)
-        .build("1=2")];
-    }));
-    
-    
-    db.deletes(toDelete);
-
-// TODO: auch Dokumente, Aktivitäten, Aufgaben, Zeiterfassungen löschen?
+import("Context_lib");
+import("system.db");
+import("system.vars");
+import("Sql_lib");
+
+var currentId = vars.getString("$field.SALESPROJECTID");
+
+if (currentId)
+{
+    var toDelete = [
+    "SALESPROJECT_MILESTONE",
+    "SALESPROJECT_SOURCE"
+    ];
+    
+        
+    toDelete = toDelete.map(function(pTable)
+    {
+        return [pTable, SqlCondition.equals(pTable + ".SALESPROJECT_ID", currentId, "1=2")];
+    });
+    
+    
+    
+    var modulesToDelete = [
+    "CLASSIFICATION",
+    "COMPETITION",
+    "OBJECTMEMBER",
+    "FORECAST"
+    ];
+
+    toDelete = toDelete.concat(modulesToDelete.map(function(pTableComp)
+    {
+        return [pTableComp, SqlCondition.begin()
+        .andPrepare(pTableComp + ".OBJECT_TYPE", ContextUtils.getCurrentContextId())
+        .andPrepare(pTableComp + ".OBJECT_ROWID", currentId)
+        .build("1=2")];
+    }));
+    
+    
+    db.deletes(toDelete);
+
+// TODO: auch Dokumente, Aktivitäten, Aufgaben, Zeiterfassungen löschen?
 }
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
index 49491bda0074fa9406df07580128dfd6240db2cb..79ce21d64da8886c5e36bbe0b91d67072d815dc4 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
@@ -1,5 +1,7 @@
 import("system.vars");
 import("Salesproject_lib");
 
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), "SalesprojectPhase", vars.get("$field.PHASE"), false);
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), "SalesprojectState", vars.get("$field.STATE"), true);
\ No newline at end of file
+var rowdata = vars.get("$local.rowdata");
+
+Salesproject.insertMilestone(vars.getString("local.uid"), "SalesprojectPhase", rowdata["SALESPROJECT.PHASE"], false);
+Salesproject.insertMilestone(vars.getString("$local.uid"), "SalesprojectState", rowdata["SALESPROJECT.STATUS"], true);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
index 775a8af9d388163a8d1208e001d41893eaa4447d..5cd8bb054ee172abdad725e8cd98e9a21da17d7f 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
@@ -1,3 +1,4 @@
+import("Context_lib");
 import("system.neon");
 import("system.translate");
 import("system.vars");
@@ -9,31 +10,32 @@ import("KeywordRegistry_basic");
 import("Keyword_lib");
 
 var needToUpdateForecast = null;
+var rowdata = vars.get("$local.rowdata");
 
 // create Milestones if changed
 vars.get("$local.changed").forEach(function(fieldName) {
     var typeValue;
-    var fieldVar;
     var clearReason;
     
     
     switch (fieldName) {
         case "SALESPROJECT.PHASE":
             typeValue = "SalesprojectPhase";
-            fieldVar = "$field.PHASE";
             break;
-        case "SALESPROJECT.STATE":
+        case "SALESPROJECT.STATUS":
             // Milestone
             typeValue = "SalesprojectState";
-            fieldVar = "$field.STATE";
-            var state = vars.get(fieldVar);
+            var state = rowdata[fieldName];
             // set COMPETITION / OFFER to Lost
             
             // Lost
             if (state == $KeywordRegistry.salesprojectState$lost())
             {
                 // set all offers of the salesproject to lost
-                db.updateData("OFFER", ["STATUS"], null, ["a5682630-01ae-4769-8f03-47dc1db44da4"], SqlCondition.equals("OFFER.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+                db.updateData("OFFER", ["STATUS"], null, [$KeywordRegistry.offerStatus$lost()], SqlCondition.begin()
+                                                                                                            .andPrepare("OFFER.OBJECT_ROWID", vars.getString("$local.uid"))
+                                                                                                            .andPrepare("OFFER.OBJECT_TYPE", ContextUtils.getCurrentContextId())
+                                                                                                            .build("1=2"));
                 _updateReasons();
                 clearReason = false;
             }
@@ -41,16 +43,31 @@ vars.get("$local.changed").forEach(function(fieldName) {
             else if (state == $KeywordRegistry.salesprojectState$order())
             {
                 // set all competitions of the salesproject to lost
-                db.updateData("COMPETITION", ["STATUS"], null, ["ff73172c-8517-4b6e-98cb-43aebacd9af1"], SqlCondition.equals("COMPETITION.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+                db.updateData("COMPETITION", ["STATUS"], null, [$KeywordRegistry.competitionState$lost()], SqlCondition.begin()
+                                                                                                            .andPrepare("COMPETITION.OBJECT_ROWID", vars.getString("$local.uid"))
+                                                                                                            .andPrepare("COMPETITION.OBJECT_TYPE", ContextUtils.getCurrentContextId())
+                                                                                                            .build("1=2"));
                 _updateReasons();
                 clearReason = false;
             }
             // Postponed
             else if (state == $KeywordRegistry.salesprojectState$postponed())
             {
-                // do not notify as the user just got a question, if he really would like to clear the forecast
-                needToUpdateForecast = false;
-                db.deleteData("FORECAST", SqlCondition.equals("FORECAST.OBJECT_ROWID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+                // ask if forecast should be cleared. Else reset to old value.
+                var stateName = KeywordUtils.getViewValue($KeywordRegistry.salesprojectState(), state);
+                var clearForecast = question.askYesNo(translate.withArguments("Clear forecast and set state to '%0'?", [stateName]), translate.withArguments("Would you really like to clear the forecast and set the state to '%0'?", [stateName]) + "\n" + translate.text("This cannot be undone!"), false);
+
+                if (!clearForecast)
+                {
+                    // reset to value from db
+                    db.updateData("SALESPROJECT", ["STATUS"], null, [vars.get("$context.statusBefore")], SqlCondition.begin()
+                                                                                                            .andPrepare("SALESPROJECT.SALESPROJECTID", vars.getString("$local.uid"))
+                                                                                                            .build("1=2"));
+                } else {
+                    // do not notify as the user just got a question, if he really would like to clear the forecast
+                    needToUpdateForecast = false;
+                    db.deleteData("FORECAST", SqlCondition.equals("FORECAST.OBJECT_ROWID", vars.getString("$local.uid"), "1=2"));
+                }                
             }
             // if state changed, but not to one of the above states
             else
@@ -60,7 +77,7 @@ vars.get("$local.changed").forEach(function(fieldName) {
             break;
     }
     
-    // It clearReason is undefined, it the state did not change. So do nothing
+    // If clearReason is undefined, it the state did not change. So do nothing
     if (clearReason != undefined)
     {
         _clearReasons(clearReason);
@@ -72,22 +89,24 @@ vars.get("$local.changed").forEach(function(fieldName) {
         if (needToUpdateForecast === null)
             needToUpdateForecast = true;
         
-        Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar));
+        Salesproject.insertMilestone(vars.getString("$local.uid"), typeValue, rowdata[fieldName]);
     }
 });
 
 if (needToUpdateForecast)
     Salesproject.notifyToUpdateForecast();
 
+neon.refreshAll();
+
 function _updateReasons()
 {
-    var reasons = vars.getString("field.REASONS");
+    var reasons = rowdata["SALESPROJECT.REASONS"];
     if(reasons)
-        db.updateData("SALESPROJECT", ["REASONS"], null, [reasons], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+        db.updateData("SALESPROJECT", ["REASONS"], null, [reasons], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$local.uid"), "1=2"));
 }
 
 function _clearReasons(pReallyClear)
 {
     if (pReallyClear)
-        db.updateData("SALESPROJECT", ["REASONS"], null, [""], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+        db.updateData("SALESPROJECT", ["REASONS"], null, [""], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$local.uid"), "1=2"));
 }
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..3a8b1fd9f8491be342a16fd7967c756ef82b0e21
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/activities/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "ACTIVITYLINK join ACTIVITY on ACTIVITY.ACTIVITYID = ACTIVITYLINK.ACTIVITY_ID and ACTIVITYLINK.OBJECT_TYPE = 'Salesproject'";
+
+result.string("SALESPROJECTID in (select ACTIVITYLINK.OBJECT_ROWID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c8e5d0b46457c78b827c4869afac5170cbc5c937
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/organisations/filterConditionProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+
+var from = "CONTACT join ORGANISATION on (ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID)";
+
+result.string("SALESPROJECT.CONTACT_ID in (select CONTACT.CONTACTID from " + from + " where " + vars.get("$local.condition")+ ")");
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..6846c7d6dd9c53baa06fb9eeb194c8ca6e25f735
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "SALESPROJECT.STATUS");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/index/query.js b/entity/Salesproject_entity/recordcontainers/index/query.js
index ae0bd2e48c708ed1828ef89fbaf737d7100c8236..0328c42a67053de00025b4498a3e07c497c0bd16 100644
--- a/entity/Salesproject_entity/recordcontainers/index/query.js
+++ b/entity/Salesproject_entity/recordcontainers/index/query.js
@@ -15,17 +15,17 @@ if (vars.exists("$local.idvalue")) {
     //TODO: refactor this for incremental indexer (injections?)
 }
 sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select SALESPROJECTID as uid" 
-    + ", PROJECTTITLE as title, " 
+sqlQuery = 'select SALESPROJECTID as "_uid_"' 
+    + ', PROJECTTITLE as "_title_", ' 
     + sqlHelper.concat([
-        "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATE"),
+        "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS"),
         "'| " + translate.text("Phase") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
       ]) 
-    + " as description" 
+    + ' as "_description_" ' 
     + ", PROJECTCODE"
     + ", PROJECTTITLE"
-    + ", STATE" 
-    + ', ' + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATE") + ' as "STATE.displayValue"'
+    + ", STATUS" 
+    + ', ' + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS") + ' as "STATUS.displayValue"'
     + ", PHASE"
     + ', ' + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "PHASE") + ' as "PHASE.displayValue"'
     + " from SALESPROJECT "
diff --git a/entity/SalutationDistinct_entity/recordcontainers/jdito/contentProcess.js b/entity/SalutationDistinct_entity/recordcontainers/jdito/contentProcess.js
index 0e53e6c736a0703710a88cb472eb79eff71ccd7e..2f0c02c1d198af20950d8b5d3395cd35a5af1684 100644
--- a/entity/SalutationDistinct_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/SalutationDistinct_entity/recordcontainers/jdito/contentProcess.js
@@ -5,5 +5,5 @@ import("Sql_lib");
 
 result.object(db.table(SqlCondition.begin()
                         .and("SALUTATION is not NULL")
-                        .andPrepareVars("SALUTATION.LANGUAGE", "$param.Language_param")
+                        .andPrepareVars("SALUTATION.ISOLANGUAGE", "$param.Language_param")
                         .buildSql("select distinct SALUTATION from SALUTATION", "1=1")));
\ No newline at end of file
diff --git a/entity/Salutation_entity/Salutation_entity.aod b/entity/Salutation_entity/Salutation_entity.aod
index 05cfe5add9d0d140c14108bcbad7052efb85b562..fffe4cdcf468dce4a2ee996a60fdec97a5dd9bdb 100644
--- a/entity/Salutation_entity/Salutation_entity.aod
+++ b/entity/Salutation_entity/Salutation_entity.aod
@@ -19,10 +19,10 @@
       <title>Headline</title>
     </entityField>
     <entityField>
-      <name>LANGUAGE</name>
+      <name>ISOLANGUAGE</name>
       <title>Language</title>
       <consumer>KeywordLanguages</consumer>
-      <displayValueProcess>%aditoprj%/entity/Salutation_entity/entityfields/language/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/Salutation_entity/entityfields/isolanguage/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>LETTERSALUTATION</name>
@@ -90,11 +90,6 @@
           <recordfield>SALUTATION.HEADLINE</recordfield>
           <isFilterable v="true" />
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>LANGUAGE.value</name>
-          <recordfield>SALUTATION.LANGUAGE</recordfield>
-          <isFilterable v="true" />
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>LETTERSALUTATION.value</name>
           <recordfield>SALUTATION.LETTERSALUTATION</recordfield>
@@ -125,8 +120,13 @@
           <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>LANGUAGE.displayValue</name>
-          <expression>%aditoprj%/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js</expression>
+          <name>ISOLANGUAGE.value</name>
+          <recordfield>SALUTATION.ISOLANGUAGE</recordfield>
+          <isFilterable v="true" />
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ISOLANGUAGE.displayValue</name>
+          <expression>%aditoprj%/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/Salutation_entity/entityfields/language/displayValueProcess.js b/entity/Salutation_entity/entityfields/isolanguage/displayValueProcess.js
similarity index 100%
rename from entity/Salutation_entity/entityfields/language/displayValueProcess.js
rename to entity/Salutation_entity/entityfields/isolanguage/displayValueProcess.js
diff --git a/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js b/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js
index 93bf8f7342e27290a3f17d2047ec0dc50e4ea4f3..97891ac656a1275fb8c5a8f6198f1816eb71081d 100644
--- a/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js
+++ b/entity/Salutation_entity/recordcontainers/db/orderClauseProcess.js
@@ -2,6 +2,6 @@ import("system.db");
 import("system.result");
 
 result.object({
-    "SALUTATION.LANGUAGE": db.ASCENDING,
+    "SALUTATION.ISOLANGUAGE": db.ASCENDING,
     "SALUTATION.SORT": db.ASCENDING
 });
\ No newline at end of file
diff --git a/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js b/entity/Salutation_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
similarity index 100%
rename from entity/Salutation_entity/recordcontainers/db/recordfieldmappings/language.displayvalue/expression.js
rename to entity/Salutation_entity/recordcontainers/db/recordfieldmappings/isolanguage.displayvalue/expression.js
diff --git a/entity/SerialLetter_entity/SerialLetter_entity.aod b/entity/SerialLetter_entity/SerialLetter_entity.aod
index 4cbbbbd9f47b76043b8a83210aa1946d4ba37d04..425c91fd3f5c075431ef55681bd699ee5965372e 100644
--- a/entity/SerialLetter_entity/SerialLetter_entity.aod
+++ b/entity/SerialLetter_entity/SerialLetter_entity.aod
@@ -5,6 +5,7 @@
   <icon>VAADIN:ENVELOPES</icon>
   <title>Serial letter</title>
   <contentTitleProcess>%aditoprj%/entity/SerialLetter_entity/contentTitleProcess.js</contentTitleProcess>
+  <iconId>VAADIN:ENVELOPE</iconId>
   <titlePlural>Serial letters</titlePlural>
   <recordContainer>db</recordContainer>
   <entityFields>
@@ -71,6 +72,20 @@
       <title>Description</title>
       <contentType>LONG_TEXT</contentType>
     </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/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..550976652bfc458dc34f9e87e39f4cda2c350fc8
--- /dev/null
+++ b/entity/SerialLetter_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -0,0 +1,9 @@
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [];
+res.push({id: vars.get("$field.SERIALLETTERID"), tableNames: ["SERIALLETTER"]});
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
+result.object(res);
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/SupportTicket_entity.aod b/entity/SupportTicket_entity/SupportTicket_entity.aod
index 75d3b975145ff68967e8f49d8cfc19e74cf1a9f3..1142784be4e0b3fe8d5ed81f991d0cc072722b04 100644
--- a/entity/SupportTicket_entity/SupportTicket_entity.aod
+++ b/entity/SupportTicket_entity/SupportTicket_entity.aod
@@ -105,6 +105,7 @@
     <entityParameter>
       <name>FilterOnlyOwnTicket_param</name>
       <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/filteronlyownticket_param/valueProcess.js</valueProcess>
+      <expose v="true" />
     </entityParameter>
     <entityConsumer>
       <name>Links</name>
@@ -281,6 +282,7 @@
     <entityParameter>
       <name>TicketType_param</name>
       <valueProcess>%aditoprj%/entity/SupportTicket_entity/entityfields/tickettype_param/valueProcess.js</valueProcess>
+      <expose v="true" />
     </entityParameter>
     <entityConsumer>
       <name>KeywordTaskPriority</name>
@@ -369,6 +371,14 @@
       <name>PresetLinks_param</name>
       <expose v="true" />
     </entityParameter>
+    <entityParameter>
+      <name>ObjectId_param</name>
+      <expose v="true" />
+    </entityParameter>
+    <entityParameter>
+      <name>RowId_param</name>
+      <expose v="true" />
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -400,22 +410,27 @@
         <dbRecordFieldMapping>
           <name>CODE.value</name>
           <recordfield>TICKET.CODE</recordfield>
+          <isFilterable v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_DESCRIPTION.value</name>
           <recordfield>TASK.DESCRIPTION</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_EDITOR_CONTACT_ID.value</name>
           <recordfield>TASK.EDITOR_CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_MATURITY_DATE.value</name>
           <recordfield>TASK.MATURITY_DATE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PRIORITY.value</name>
           <recordfield>TASK.PRIORITY</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_REQUESTOR_CONTACT_ID.value</name>
@@ -424,14 +439,17 @@
         <dbRecordFieldMapping>
           <name>TASK_START_DATE.value</name>
           <recordfield>TASK.START_DATE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_STATUS.value</name>
           <recordfield>TASK.STATUS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_SUBJECT.value</name>
           <recordfield>TASK.SUBJECT</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_EDITOR_CONTACT_ID.displayValue</name>
@@ -448,6 +466,7 @@
         <dbRecordFieldMapping>
           <name>TASK_PROGRESS.value</name>
           <recordfield>TASK.PROGRESS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PROGRESS.displayValue</name>
@@ -459,7 +478,8 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_TYPE.value</name>
-          <recordfield>TASK.TYPE</recordfield>
+          <recordfield>TASK.KIND</recordfield>
+          <isFilterable v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_ID.value</name>
@@ -476,6 +496,7 @@
         <dbRecordFieldMapping>
           <name>TICKETTYPE.value</name>
           <recordfield>TICKET.TICKETTYPE</recordfield>
+          <isFilterable v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASK_PARENT_ID.value</name>
diff --git a/entity/SupportTicket_entity/afterUiInit.js b/entity/SupportTicket_entity/afterUiInit.js
index bf767e8d66bdf98162be04e45d523c10384d49e9..65e0a8edc2c8f96cf8ba2714f0ecba08a6c98927 100644
--- a/entity/SupportTicket_entity/afterUiInit.js
+++ b/entity/SupportTicket_entity/afterUiInit.js
@@ -1,8 +1,11 @@
+import("Context_lib");
+import("Attribute_lib");
 import("system.neon");
 import("system.vars");
 import("ActivityTask_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
-    TaskUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", "$param.PresetLinks_param", "$field.PARENT_CONTEXT", "$field.PARENT_ID");
+    TaskUtils.addLinkRecords("$param.ObjectId_param", "$param.RowId_param", "$param.PresetLinks_param", "$field.TASK_PARENT_CONTEXT", "$field.TASK_PARENT_ID");
+    AttributeRelationUtils.presetMandatoryAttributes(ContextUtils.getCurrentContextId(), "Attributes");
 }
\ No newline at end of file
diff --git a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
index ee924d8bf89b12b609a37e7428ca01f99d6566b4..fe0848af0b20c3fd92d98030779b011fbb42e11f 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/conditionProcess.js
@@ -6,7 +6,7 @@ import("Sql_lib");
 import("KeywordRegistry_basic");
 
 var cond = new SqlCondition();
-cond.andPrepare("TASK.TYPE", $KeywordRegistry.taskType$ticket())
+cond.andPrepare("TASK.KIND", $KeywordRegistry.taskType$ticket())
     .andPrepareVars("TICKET.TICKETTYPE", "$param.TicketType_param")
 
 var loadNothing = false;
diff --git a/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js b/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js
index 0a2c2a214c48b0e752b2c1bc122ae428e275fbc7..d03f1ac83c31d9c93fe323c495011bfc9406a7b8 100644
--- a/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/SupportTicket_entity/recordcontainers/db/onDBInsert.js
@@ -3,4 +3,4 @@ import("system.vars");
 import("system.db");
 import("ActivityTask_lib")
 
-CodeUtils.setCode(vars.get("$field.TICKETID"), "TICKET", "TICKETID", "CODE");
\ No newline at end of file
+CodeUtils.setCode(vars.get("$local.uid"), "TICKET", "TICKETID", "CODE");
\ No newline at end of file
diff --git a/entity/TaskLink_entity/TaskLink_entity.aod b/entity/TaskLink_entity/TaskLink_entity.aod
index 72cb3ae67b966d244ef38188f8c50894a79b47ec..b8ffe707c0f328b863e7c12b5de3aa7ae9cc3500 100644
--- a/entity/TaskLink_entity/TaskLink_entity.aod
+++ b/entity/TaskLink_entity/TaskLink_entity.aod
@@ -115,10 +115,6 @@
           <name>TASKLINKID.value</name>
           <recordfield>TASKLINK.TASKLINKID</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>OBJECT_ROWID.displayValue</name>
-          <expression>%aditoprj%/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js
index 9f4a7f9bd3974a260e541cb3c176cc77310d1a30..c87f4789fa9fd244ebff4881a6a8e59bffe58040 100644
--- a/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js
+++ b/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js
@@ -4,8 +4,7 @@ import("system.db");
 import("system.result");
 import("Context_lib");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$field.OBJECT_ROWID")) {
-    result.string("");
-}else if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE")) {
+if(vars.get("$field.OBJECT_ROWID") && vars.get("$field.OBJECT_TYPE"))
+{
     result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.OBJECT_TYPE"), vars.get("$field.OBJECT_ROWID"))));
 }
\ No newline at end of file
diff --git a/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js b/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
deleted file mode 100644
index 33554680cccd2c3d363443686457c41e0c1c5729..0000000000000000000000000000000000000000
--- a/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("Context_lib");
-
-result.string(ContextUtils.getNameSubselectSql("OBJECT_TYPE", "OBJECT_ROWID"))
\ No newline at end of file
diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 94d957bc5f6450e133c5e62f1a75554aca80ab86..34f0c91d29cf11a24bfc8732f96032996dc5b7d9 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -448,38 +448,47 @@
         <dbRecordFieldMapping>
           <name>DESCRIPTION.value</name>
           <recordfield>TASK.DESCRIPTION</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>EDITOR_CONTACT_ID.value</name>
           <recordfield>TASK.EDITOR_CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>MATURITY_DATE.value</name>
           <recordfield>TASK.MATURITY_DATE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PRIORITY.value</name>
           <recordfield>TASK.PRIORITY</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PROTECTIONLEVEL.value</name>
           <recordfield>TASK.PROTECTIONLEVEL</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>REQUESTOR_CONTACT_ID.value</name>
           <recordfield>TASK.REQUESTOR_CONTACT_ID</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>START_DATE.value</name>
           <recordfield>TASK.START_DATE</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.value</name>
           <recordfield>TASK.STATUS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>SUBJECT.value</name>
           <recordfield>TASK.SUBJECT</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TASKID.value</name>
@@ -496,6 +505,7 @@
         <dbRecordFieldMapping>
           <name>PARENT_CONTEXT.value</name>
           <recordfield>TASK.PARENT_CONTEXT</recordfield>
+          <isFilterable v="false" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PARENT_ID.value</name>
@@ -508,6 +518,7 @@
         <dbRecordFieldMapping>
           <name>PROGRESS.value</name>
           <recordfield>TASK.PROGRESS</recordfield>
+          <isFilterable v="true" />
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PROGRESS.displayValue</name>
@@ -519,7 +530,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>TYPE.value</name>
-          <recordfield>TASK.TYPE</recordfield>
+          <recordfield>TASK.KIND</recordfield>
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/Task_entity/entityfields/documents/children/assignmentname_param/valueProcess.js b/entity/Task_entity/entityfields/documents/children/assignmentname_param/valueProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/Task_entity/recordcontainers/db/conditionProcess.js b/entity/Task_entity/recordcontainers/db/conditionProcess.js
index 8169552d13ec3c4b1acf8a3c0864e289c1ac6ae5..7b2cb50176cb704458f0ab6d943e63e67b6c71da 100644
--- a/entity/Task_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Task_entity/recordcontainers/db/conditionProcess.js
@@ -6,7 +6,7 @@ import("Sql_lib");
 import("KeywordRegistry_basic");
 
 var cond = new SqlCondition();
-cond.andPrepare("TASK.TYPE", $KeywordRegistry.taskType$task())
+cond.andPrepare("TASK.KIND", $KeywordRegistry.taskType$task())
 
 var loadNothing = false;
 
diff --git a/entity/Timetracking_entity/Timetracking_entity.aod b/entity/Timetracking_entity/Timetracking_entity.aod
index f63061dc36d61dccfac43993ffddb5ab248112d4..28c5be869ea146b444e8799b18bf884f5ed67a9c 100644
--- a/entity/Timetracking_entity/Timetracking_entity.aod
+++ b/entity/Timetracking_entity/Timetracking_entity.aod
@@ -20,13 +20,13 @@
       </onValueChangeTypes>
     </entityField>
     <entityField>
-      <name>MINUTES</name>
+      <name>TRACKINGMINUTES</name>
       <title>Time</title>
       <contentType>TEXT</contentType>
       <mandatory v="true" />
-      <titleProcess>%aditoprj%/entity/Timetracking_entity/entityfields/minutes/titleProcess.js</titleProcess>
-      <displayValueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/minutes/displayValueProcess.js</displayValueProcess>
-      <onValidation>%aditoprj%/entity/Timetracking_entity/entityfields/minutes/onValidation.js</onValidation>
+      <titleProcess>%aditoprj%/entity/Timetracking_entity/entityfields/trackingminutes/titleProcess.js</titleProcess>
+      <displayValueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/trackingminutes/displayValueProcess.js</displayValueProcess>
+      <onValidation>%aditoprj%/entity/Timetracking_entity/entityfields/trackingminutes/onValidation.js</onValidation>
     </entityField>
     <entityField>
       <name>OBJECT_ID</name>
@@ -53,14 +53,14 @@
       <name>TIMETRACKINGID</name>
     </entityField>
     <entityField>
-      <name>DATE</name>
+      <name>TRACKINGDATE</name>
       <title>Date</title>
       <contentType>DATE</contentType>
       <resolution>DAY</resolution>
       <outputFormat>dd.MM.yyyy</outputFormat>
       <inputFormat>dd.MM.yyyy</inputFormat>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/date/valueProcess.js</valueProcess>
+      <valueProcess>%aditoprj%/entity/Timetracking_entity/entityfields/trackingdate/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
       <name>ObjectId_param</name>
@@ -142,18 +142,10 @@
         </linkInformation>
       </linkInformation>
       <recordFieldMappings>
-        <dbRecordFieldMapping>
-          <name>DATE.value</name>
-          <recordfield>TIMETRACKING.DATE</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>INFO.value</name>
           <recordfield>TIMETRACKING.INFO</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>MINUTES.value</name>
-          <recordfield>TIMETRACKING.MINUTES</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT_ID.value</name>
           <recordfield>TIMETRACKING.OBJECT_ID</recordfield>
@@ -174,6 +166,14 @@
           <name>CONTACT_ID.displayValue</name>
           <expression>%aditoprj%/entity/Timetracking_entity/recordcontainers/db/recordfieldmappings/contact_id.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TRACKINGDATE.value</name>
+          <recordfield>TIMETRACKING.TRACKINGDATE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TRACKINGMINUTES.value</name>
+          <recordfield>TIMETRACKING.TRACKINGMINUTES</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js b/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js
index a290a185f34580375697ab2d4796d54ff12a2a7c..0f403dcc2e977f172268995abf19ed2fdf770d2d 100644
--- a/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js
+++ b/entity/Timetracking_entity/entityfields/totaltime/valueProcess.js
@@ -2,6 +2,6 @@ import("system.db");
 import("system.vars");
 import("system.result");
 
-var minutes = db.cell("select sum(MINUTES) from TIMETRACKING");
+var minutes = db.cell("select sum(TRACKINGMINUTES) from TIMETRACKING");
 
 result.string(minutes);
\ No newline at end of file
diff --git a/entity/Timetracking_entity/entityfields/date/valueProcess.js b/entity/Timetracking_entity/entityfields/trackingdate/valueProcess.js
similarity index 100%
rename from entity/Timetracking_entity/entityfields/date/valueProcess.js
rename to entity/Timetracking_entity/entityfields/trackingdate/valueProcess.js
diff --git a/entity/Timetracking_entity/entityfields/minutes/displayValueProcess.js b/entity/Timetracking_entity/entityfields/trackingminutes/displayValueProcess.js
similarity index 77%
rename from entity/Timetracking_entity/entityfields/minutes/displayValueProcess.js
rename to entity/Timetracking_entity/entityfields/trackingminutes/displayValueProcess.js
index 326c2a9f306a8a9356e4f895c630ace18a27a91f..456d93137abf6958ee66e025efd3e8986b20ec36 100644
--- a/entity/Timetracking_entity/entityfields/minutes/displayValueProcess.js
+++ b/entity/Timetracking_entity/entityfields/trackingminutes/displayValueProcess.js
@@ -1,5 +1,5 @@
-import("system.vars");
-import("system.result");
-import("Timetracking_lib");
-
-result.string(Timetracking.minutesToReadableHour(parseInt(vars.getString("$field.MINUTES"))));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("Timetracking_lib");
+
+result.string(Timetracking.minutesToReadableHour(parseInt(vars.getString("$field.TRACKINGMINUTES"))));
\ No newline at end of file
diff --git a/entity/Timetracking_entity/entityfields/minutes/onValidation.js b/entity/Timetracking_entity/entityfields/trackingminutes/onValidation.js
similarity index 100%
rename from entity/Timetracking_entity/entityfields/minutes/onValidation.js
rename to entity/Timetracking_entity/entityfields/trackingminutes/onValidation.js
diff --git a/entity/Timetracking_entity/entityfields/minutes/titleProcess.js b/entity/Timetracking_entity/entityfields/trackingminutes/titleProcess.js
similarity index 100%
rename from entity/Timetracking_entity/entityfields/minutes/titleProcess.js
rename to entity/Timetracking_entity/entityfields/trackingminutes/titleProcess.js
diff --git a/entity/Timetracking_entity/entityfields/year/valueProcess.js b/entity/Timetracking_entity/entityfields/year/valueProcess.js
index 748a5cd78eae9a53d2f1ca0f4cdc11afa86c21c5..4b0dedd651d70008b39f34dbd46fd490e42a4f57 100644
--- a/entity/Timetracking_entity/entityfields/year/valueProcess.js
+++ b/entity/Timetracking_entity/entityfields/year/valueProcess.js
@@ -2,6 +2,6 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-var year = vars.get("$field.DATE")
+var year = vars.get("$field.TRACKINGDATE")
 
 result.string(year);
\ No newline at end of file
diff --git a/entity/Turnover_entity/Turnover_entity.aod b/entity/Turnover_entity/Turnover_entity.aod
index 271f93fe00c31ccb1177671e67a08258900b16a9..8de2741a74609f8d6b65c45f0e73462abb617985 100644
--- a/entity/Turnover_entity/Turnover_entity.aod
+++ b/entity/Turnover_entity/Turnover_entity.aod
@@ -96,10 +96,6 @@
           <name>ShowTurnover_param</name>
           <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/showturnover_param/valueProcess.js</valueProcess>
         </entityParameter>
-        <entityParameter>
-          <name>SalesprojectId_param</name>
-          <valueProcess>%aditoprj%/entity/Turnover_entity/entityfields/turnover_tree/children/salesprojectid_param/valueProcess.js</valueProcess>
-        </entityParameter>
       </children>
     </entityConsumer>
     <entityParameter>
diff --git a/entity/Turnover_entity/entityfields/turnover_tree/children/showforecast_param/valueProcess.js b/entity/Turnover_entity/entityfields/turnover_tree/children/showforecast_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..db6beff10fc0ac010b4af623b9a5a94624303cf8
--- /dev/null
+++ b/entity/Turnover_entity/entityfields/turnover_tree/children/showforecast_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$param.ShowForecast_param"));
\ No newline at end of file
diff --git a/entity/Turnover_entity/entityfields/turnover_tree/children/showturnover_param/valueProcess.js b/entity/Turnover_entity/entityfields/turnover_tree/children/showturnover_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..26cf4fde8e48ba35e753ac618da123f474125603
--- /dev/null
+++ b/entity/Turnover_entity/entityfields/turnover_tree/children/showturnover_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$param.ShowTurnover_param"));
\ No newline at end of file
diff --git a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
index 38e6320ad771e3f38ab0dcdafc282be9f25dc25d..b2db244c25ca2825fed534f0e654f38842b3c929 100644
--- a/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
+++ b/entity/UniversalFileProcessor_entity/entityfields/drop_action/onActionProcess.js
@@ -27,7 +27,9 @@ for (var i = 0, l = files.length; i < l; i++)
             var mailObj = _getMailObj(files[i]);
             if (mailObj)
             {
-                var mailImportResult = IncomingEmailExecutor.mailToActivity(mailObj, null, dbAlias);
+                var incomingMailExec = new IncomingEmailExecutor(mailObj);
+                incomingMailExec.setAlias(dbAlias);
+                var mailImportResult = incomingMailExec.autoProcess()
                 if (mailImportResult.activityId)
                     status.activitiesCreated++;
                 else if (mailImportResult.unlinkedMailId)
diff --git a/entity/UnlinkedMailMappingLink_entity/UnlinkedMailMappingLink_entity.aod b/entity/UnlinkedMailMappingLink_entity/UnlinkedMailMappingLink_entity.aod
index 6a0a2a7ab6bd8cd638e6e6a6c4841323dffbe261..e45cc75f203c1db73629918656c668970112d6cc 100644
--- a/entity/UnlinkedMailMappingLink_entity/UnlinkedMailMappingLink_entity.aod
+++ b/entity/UnlinkedMailMappingLink_entity/UnlinkedMailMappingLink_entity.aod
@@ -29,6 +29,7 @@
       <name>CONTACT_ID</name>
       <title>Contact</title>
       <consumer>AnyContacts</consumer>
+      <displayValueProcess>%aditoprj%/entity/UnlinkedMailMappingLink_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>EMAILADDR</name>
diff --git a/entity/UnlinkedMailMappingLink_entity/entityfields/contact_id/displayValueProcess.js b/entity/UnlinkedMailMappingLink_entity/entityfields/contact_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c5d37f96068813c901f7944cceb30262eb31d7bb
--- /dev/null
+++ b/entity/UnlinkedMailMappingLink_entity/entityfields/contact_id/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+import("Contact_lib");
+import("system.neon");
+
+result.string(ContactUtils.getFullTitleByContactId(vars.getString("$this.value")));
\ No newline at end of file
diff --git a/entity/UnlinkedMailMappingWrapper_entity/recordcontainers/dummyjdito/onUpdate.js b/entity/UnlinkedMailMappingWrapper_entity/recordcontainers/dummyjdito/onUpdate.js
index bc84a0f141f0a431c8e7063a312c83270bbfe391..1c866cce85e6ee96fb86a86ef55ea0b0503ba232 100644
--- a/entity/UnlinkedMailMappingWrapper_entity/recordcontainers/dummyjdito/onUpdate.js
+++ b/entity/UnlinkedMailMappingWrapper_entity/recordcontainers/dummyjdito/onUpdate.js
@@ -7,7 +7,6 @@ import("system.neon");
 import("Employee_lib");
 import("IncomingEmailExecutor_lib");
 import("system.mail");
-import("system.logging");
 import("system.vars");
 import("system.entities");
 
@@ -15,7 +14,7 @@ var activityLinks = [];
 var changedRows = vars.get("$field.UnlinkedMailMappingLinks.insertedRows");
 
 var communicationsToInsert = [];
-var communicationCols = ["COMMUNICATIONID", "ADDR", "CONTACT_ID", "STANDARD", "MEDIUM_ID", "USER_NEW", "DATE_NEW"];
+var communicationCols = ["COMMUNICATIONID", "ADDR", "CONTACT_ID", "ISSTANDARD", "MEDIUM_ID", "USER_NEW", "DATE_NEW"];
 var communicationTypes = db.getColumnTypes("COMMUNICATION", communicationCols);
 
 if (changedRows.length > 0)
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 4d777ed8470bdf5be4af131b6f7517fbcf3aef9c..605ec519310f91859b432b66c56b67675148cc2f 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -33,9 +33,6 @@
     <entry>
       <key>Medium</key>
     </entry>
-    <entry>
-      <key>Internet</key>
-    </entry>
     <entry>
       <key>Germany</key>
     </entry>
@@ -594,9 +591,6 @@
     <entry>
       <key>Latin Name</key>
     </entry>
-    <entry>
-      <key>Organisation name</key>
-    </entry>
     <entry>
       <key>Connection</key>
     </entry>
@@ -885,9 +879,6 @@
     <entry>
       <key>{$TASK_REQUESTOR}</key>
     </entry>
-    <entry>
-      <key>task number</key>
-    </entry>
     <entry>
       <key>{$TASK_EDITOR}</key>
     </entry>
@@ -1827,9 +1818,6 @@
     <entry>
       <key>Thailand</key>
     </entry>
-    <entry>
-      <key>in process</key>
-    </entry>
     <entry>
       <key>Saint Martin (French part)</key>
     </entry>
@@ -2538,9 +2526,6 @@
     <entry>
       <key>This private person doeas already exist and can not be created once more.</key>
     </entry>
-    <entry>
-      <key>Everyone</key>
-    </entry>
     <entry>
       <key>Project</key>
     </entry>
@@ -2553,9 +2538,6 @@
     <entry>
       <key>Field staff</key>
     </entry>
-    <entry>
-      <key>Resource</key>
-    </entry>
     <entry>
       <key>Human Resources</key>
     </entry>
@@ -2586,9 +2568,6 @@
     <entry>
       <key>Add the selection to a campaign</key>
     </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-    </entry>
     <entry>
       <key>Add participants to Campaign</key>
     </entry>
@@ -2634,18 +2613,12 @@
     <entry>
       <key>Chart</key>
     </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
     <entry>
       <key>Enable relation type 2</key>
     </entry>
     <entry>
       <key>Salesproject Analyses</key>
     </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
     <entry>
       <key>Days count</key>
     </entry>
@@ -2661,9 +2634,6 @@
     <entry>
       <key>Campaign status</key>
     </entry>
-    <entry>
-      <key>Set campaign step</key>
-    </entry>
     <entry>
       <key>Add participant to Campaign</key>
     </entry>
@@ -2754,9 +2724,6 @@
     <entry>
       <key>file '%0' does not exist or you have got no permission on this file</key>
     </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
     <entry>
       <key>Layout costs</key>
     </entry>
@@ -2841,9 +2808,6 @@
     <entry>
       <key>NUMBER VALUE</key>
     </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
     <entry>
       <key>ID</key>
     </entry>
@@ -2892,12 +2856,6 @@
     <entry>
       <key>Relation Type</key>
     </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
     <entry>
       <key>Item sort</key>
     </entry>
@@ -2949,9 +2907,6 @@
     <entry>
       <key>%0 deleted.</key>
     </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
     <entry>
       <key>Activity Id</key>
     </entry>
@@ -3486,9 +3441,6 @@
     <entry>
       <key> User</key>
     </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
     <entry>
       <key>Condition Type</key>
     </entry>
@@ -3504,9 +3456,6 @@
     <entry>
       <key>Entity</key>
     </entry>
-    <entry>
-      <key>Sales Project</key>
-    </entry>
     <entry>
       <key>Field</key>
     </entry>
@@ -3525,9 +3474,6 @@
     <entry>
       <key>Create</key>
     </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
     <entry>
       <key>Permission Overview</key>
     </entry>
@@ -3537,9 +3483,6 @@
     <entry>
       <key>View</key>
     </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
     <entry>
       <key>Salutations</key>
     </entry>
@@ -3624,27 +3567,9 @@
     <entry>
       <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key>
     </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
     <entry>
       <key>New Supportticket</key>
     </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
     <entry>
       <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
     </entry>
@@ -3663,27 +3588,9 @@
     <entry>
       <key>Minimal count must be a positive whole number</key>
     </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
     <entry>
       <key>Maximal count must be one or higher</key>
     </entry>
-    <entry>
-      <key>Campaign name</key>
-    </entry>
-    <entry>
-      <key>Step name</key>
-    </entry>
-    <entry>
-      <key>Assignment</key>
-    </entry>
-    <entry>
-      <key>Complaint</key>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
     <entry>
       <key>Restrictions</key>
     </entry>
@@ -3705,24 +3612,9 @@
     <entry>
       <key>New letter</key>
     </entry>
-    <entry>
-      <key>No calls</key>
-    </entry>
-    <entry>
-      <key>No mails</key>
-    </entry>
     <entry>
       <key>Delete recurring appointment</key>
     </entry>
-    <entry>
-      <key>No fax</key>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-    </entry>
-    <entry>
-      <key>No letters</key>
-    </entry>
     <entry>
       <key>ended (abandoned)</key>
     </entry>
@@ -3762,21 +3654,12 @@
     <entry>
       <key>Link</key>
     </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-    </entry>
     <entry>
       <key>Permissions</key>
     </entry>
     <entry>
       <key>Permission</key>
     </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-    </entry>
     <entry>
       <key>Maximal</key>
     </entry>
@@ -3981,9 +3864,6 @@
     <entry>
       <key>DOCUMENT</key>
     </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-    </entry>
     <entry>
       <key>Subordinate campaign of</key>
     </entry>
@@ -3999,9 +3879,6 @@
     <entry>
       <key>Transport damage</key>
     </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-    </entry>
     <entry>
       <key>Sport</key>
     </entry>
@@ -4269,9 +4146,6 @@
     <entry>
       <key>%0/%1 participant(s) will be added to the selected campaign step</key>
     </entry>
-    <entry>
-      <key>No valid Selection</key>
-    </entry>
     <entry>
       <key>Sender address</key>
     </entry>
@@ -4362,9 +4236,6 @@
     <entry>
       <key>Connection Type</key>
     </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
     <entry>
       <key>Phases</key>
     </entry>
@@ -4449,9 +4320,6 @@
     <entry>
       <key>Dokument template usage</key>
     </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
     <entry>
       <key>USER_NEW_CONTACT</key>
     </entry>
@@ -4467,18 +4335,9 @@
     <entry>
       <key>Is being sent</key>
     </entry>
-    <entry>
-      <key>Preview</key>
-    </entry>
     <entry>
       <key>Content</key>
     </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
     <entry>
       <key>Bulk mail \"%0\" was sent!</key>
     </entry>
@@ -4491,45 +4350,12 @@
     <entry>
       <key>Support Ticket</key>
     </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
-    <entry>
-      <key>Remarks</key>
-    </entry>
     <entry>
       <key>Xing</key>
     </entry>
-    <entry>
-      <key>Organisation</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
     <entry>
       <key>LinkedIn</key>
     </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Rented car</key>
-    </entry>
     <entry>
       <key>Update</key>
     </entry>
@@ -4539,48 +4365,6 @@
     <entry>
       <key>Blog</key>
     </entry>
-    <entry>
-      <key>Until</key>
-    </entry>
-    <entry>
-      <key>From</key>
-    </entry>
-    <entry>
-      <key>Park fees</key>
-    </entry>
-    <entry>
-      <key>Abscences</key>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-    </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
-    <entry>
-      <key>Transport cost</key>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>Month</key>
-    </entry>
-    <entry>
-      <key>Working material</key>
-    </entry>
-    <entry>
-      <key>Hospitality</key>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-    </entry>
     <entry>
       <key>Update campaign step</key>
     </entry>
@@ -4605,78 +4389,33 @@
     <entry>
       <key>No data has been anonymized.</key>
     </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
     <entry>
       <key>Anonymization</key>
     </entry>
     <entry>
       <key>The following data has been anonymised: %0</key>
     </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-    </entry>
-    <entry>
-      <key>Data Privacies</key>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
     <entry>
       <key>Names</key>
     </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
-    <entry>
-      <key>Adressdaten</key>
-    </entry>
     <entry>
       <key>DSGVO anonymisation</key>
     </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
-    <entry>
-      <key>Address data</key>
-    </entry>
     <entry>
       <key>contract of sale</key>
     </entry>
     <entry>
       <key>DataPrivacy Use</key>
     </entry>
-    <entry>
-      <key>Source</key>
-    </entry>
     <entry>
       <key>consent</key>
     </entry>
     <entry>
       <key>Information Report</key>
     </entry>
-    <entry>
-      <key>Attribute data</key>
-    </entry>
     <entry>
       <key>other personal data</key>
     </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-    </entry>
     <entry>
       <key>Disclosure Report</key>
     </entry>
@@ -4686,21 +4425,9 @@
     <entry>
       <key>DataPrivacy Right</key>
     </entry>
-    <entry>
-      <key>balancing of interests</key>
-    </entry>
-    <entry>
-      <key>Personal data</key>
-    </entry>
     <entry>
       <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
     </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
-    <entry>
-      <key>Recipient, Country</key>
-    </entry>
     <entry>
       <key>We save your data until </key>
     </entry>
@@ -4713,9 +4440,6 @@
     <entry>
       <key>Nur eigene anzeigen</key>
     </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
     <entry>
       <key>For this report</key>
     </entry>
@@ -4794,9 +4518,6 @@
     <entry>
       <key>Newsletter dispatch</key>
     </entry>
-    <entry>
-      <key>We received data from </key>
-    </entry>
     <entry>
       <key>the number of your applications</key>
     </entry>
@@ -4806,12 +4527,6 @@
     <entry>
       <key>External Datasource</key>
     </entry>
-    <entry>
-      <key>Guarantee</key>
-    </entry>
-    <entry>
-      <key>%0 recipients will be added to the bulk mail.</key>
-    </entry>
     <entry>
       <key>%0 new recipients will be added to the bulk mail.</key>
     </entry>
@@ -4929,9 +4644,6 @@
     <entry>
       <key>seconds</key>
     </entry>
-    <entry>
-      <key>Link automatically</key>
-    </entry>
     <entry>
       <key>Duplicatescan</key>
     </entry>
@@ -4956,9 +4668,6 @@
     <entry>
       <key>Export letter for selection</key>
     </entry>
-    <entry>
-      <key>Export letter</key>
-    </entry>
     <entry>
       <key>Privacy agreement</key>
     </entry>
@@ -4989,9 +4698,6 @@
     <entry>
       <key>Occurrences</key>
     </entry>
-    <entry>
-      <key>Occurrence</key>
-    </entry>
     <entry>
       <key>Milestones Phase</key>
     </entry>
@@ -5022,18 +4728,12 @@
     <entry>
       <key>Timetracking entries</key>
     </entry>
-    <entry>
-      <key>Duplicatescans</key>
-    </entry>
     <entry>
       <key>Appointments</key>
     </entry>
     <entry>
       <key>Support Tickets</key>
     </entry>
-    <entry>
-      <key>Members</key>
-    </entry>
     <entry>
       <key>Cost entries</key>
     </entry>
@@ -5076,9 +4776,6 @@
     <entry>
       <key>${UNLINKEDMAILMAPPING_ADDITIONAL_LINK}</key>
     </entry>
-    <entry>
-      <key>Unlinked mails</key>
-    </entry>
     <entry>
       <key>Create activity</key>
     </entry>
@@ -5088,6 +4785,66 @@
     <entry>
       <key>Download</key>
     </entry>
+    <entry>
+      <key>Copy Campaign</key>
+    </entry>
+    <entry>
+      <key>Excreted can't be in the future</key>
+    </entry>
+    <entry>
+      <key>Document templates</key>
+    </entry>
+    <entry>
+      <key>Turnover Last Year</key>
+    </entry>
+    <entry>
+      <key>Permission Details</key>
+    </entry>
+    <entry>
+      <key>Number of activities</key>
+    </entry>
+    <entry>
+      <key>Turnover Current Year</key>
+    </entry>
+    <entry>
+      <key>Turnover change</key>
+    </entry>
+    <entry>
+      <key>Remaining tasks and appointments</key>
+    </entry>
+    <entry>
+      <key>Tasks for which I am responsible</key>
+    </entry>
+    <entry>
+      <key>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</key>
+    </entry>
+    <entry>
+      <key>Shows how many sales projects are in the various sales phases</key>
+    </entry>
+    <entry>
+      <key>Most important salse key figures</key>
+    </entry>
+    <entry>
+      <key>Shows the organisations turnover and forecast</key>
+    </entry>
+    <entry>
+      <key>Campaign management</key>
+    </entry>
+    <entry>
+      <key>Campaign costs</key>
+    </entry>
+    <entry>
+      <key>Shows all campaigns</key>
+    </entry>
+    <entry>
+      <key>Shows campaing costs graphically processed</key>
+    </entry>
+    <entry>
+      <key>Shows linked appointments</key>
+    </entry>
+    <entry>
+      <key>Possibility to search for terms</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 01e9d9ac0b235e95b90df6af601b60f875fe5eb8..5c5568708b95470d5c35cf8b7d49e4d087be61bb 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -10,32 +10,37 @@
       <key>DSGVO Information</key>
       <value>DSGVO Informationen</value>
     </entry>
-    <entry>
-      <key>Remarks</key>
-      <value>Anmerkungen</value>
-    </entry>
     <entry>
       <key>Data Privacy</key>
       <value>Datenschutz</value>
     </entry>
+    <entry>
+      <key>Number of activities</key>
+      <value>Anzahl Aktivitäten</value>
+    </entry>
     <entry>
       <key>Bulk mails</key>
       <value>Serienmails</value>
     </entry>
     <entry>
-      <key>Organisation</key>
-      <value>Organisation</value>
+      <key>Copy Campaign</key>
+      <value>Kopiere Kampagne</value>
     </entry>
     <entry>
       <key>No data has been anonymized.</key>
       <value>Keine Daten wurden anonymisiert.</value>
     </entry>
+    <entry>
+      <key>Excreted can't be in the future</key>
+      <value>Ausgeschieden darf nicht in der Zukunft liegen</value>
+    </entry>
     <entry>
       <key>Anonymization</key>
       <value>Anonymisierung</value>
     </entry>
     <entry>
-      <key>Members</key>
+      <key>Turnover change</key>
+      <value>Entwicklung Umsatz</value>
     </entry>
     <entry>
       <key>The following data has been anonymised: %0</key>
@@ -49,10 +54,6 @@
       <key>MAX</key>
       <value>maximal</value>
     </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-      <value>Ihre Änderungen haben Auswirkungen auf den Datenschutz (DSGVO).</value>
-    </entry>
     <entry>
       <key>NONE</key>
       <value>keine</value>
@@ -69,14 +70,6 @@
       <key>HIGH</key>
       <value>hoch</value>
     </entry>
-    <entry>
-      <key>Data Privacies</key>
-      <value>Datenprivilegien</value>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-      <value>Werbeeinwilligung</value>
-    </entry>
     <entry>
       <key>Update campaign step</key>
       <value>Aktualisieren des Kampagnenschrittes</value>
@@ -87,6 +80,7 @@
     </entry>
     <entry>
       <key>Categorization</key>
+      <value>Kategorisierung</value>
     </entry>
     <entry>
       <key>Names</key>
@@ -96,18 +90,10 @@
       <key>DSGVO anonymisation</key>
       <value>DSGVO Anonymisierung</value>
     </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-      <value>Newsletterversand</value>
-    </entry>
     <entry>
       <key>The contact is already a recipient!</key>
       <value>Der Kontakt ist bereits als Empfänger eingetragen!</value>
     </entry>
-    <entry>
-      <key>Address data</key>
-      <value>Adressdaten</value>
-    </entry>
     <entry>
       <key>contract of sale</key>
       <value>Kaufvertrag</value>
@@ -116,13 +102,9 @@
       <key>DataPrivacy Use</key>
       <value>Nutzung</value>
     </entry>
-    <entry>
-      <key>Source</key>
-      <value>Quelle</value>
-    </entry>
     <entry>
       <key>Show my campaigns</key>
-      <value>Zeigen meine Kampagnen</value>
+      <value>Meine Kampagnen anzeigen</value>
     </entry>
     <entry>
       <key>consent</key>
@@ -132,10 +114,6 @@
       <key>Information Report</key>
       <value>Informationsbericht</value>
     </entry>
-    <entry>
-      <key>Attribute data</key>
-      <value>Attributdaten</value>
-    </entry>
     <entry>
       <key>other personal data</key>
       <value>andere persönliche Daten</value>
@@ -144,10 +122,6 @@
       <key>The contact has an advertising ban for emails!</key>
       <value>Der Kontakt hat ein Werbeverbot für E-Mails!</value>
     </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-      <value>DSGVO Auskunft</value>
-    </entry>
     <entry>
       <key>Disclosure Report</key>
       <value>Auskunftsbericht</value>
@@ -155,10 +129,6 @@
     <entry>
       <key>Forecasts</key>
     </entry>
-    <entry>
-      <key>Abscences</key>
-      <value>Abszenzenen</value>
-    </entry>
     <entry>
       <key>Update data privacy information</key>
       <value>Datenschutzinformationen aktualisieren</value>
@@ -167,30 +137,14 @@
       <key>DataPrivacy Right</key>
       <value>Datenschutzrecht</value>
     </entry>
-    <entry>
-      <key>balancing of interests</key>
-      <value>Interessenausgleich</value>
-    </entry>
-    <entry>
-      <key>Personal data</key>
-      <value>Persönliche Daten</value>
-    </entry>
     <entry>
       <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
       <value>Die Übermittlung von Daten an Empfänger in einem Drittland basiert auf folgenden Garantien:</value>
     </entry>
-    <entry>
-      <key>Recipient, Country</key>
-      <value>Empfänger, Land</value>
-    </entry>
     <entry>
       <key>We save your data until </key>
       <value>Wir speichern Ihre Daten bis </value>
     </entry>
-    <entry>
-      <key>Guarantee</key>
-      <value>Garantie</value>
-    </entry>
     <entry>
       <key>On time</key>
       <value>Pünktlich</value>
@@ -311,18 +265,10 @@
       <key>External Datasource</key>
       <value>Externe Datenquelle</value>
     </entry>
-    <entry>
-      <key>No mails</key>
-      <value>Keine E-Mails</value>
-    </entry>
     <entry>
       <key>Steps</key>
       <value>Stufen</value>
     </entry>
-    <entry>
-      <key>Assignment</key>
-      <value>Zuordnung</value>
-    </entry>
     <entry>
       <key>Project management</key>
       <value>Projektmanagement</value>
@@ -342,22 +288,6 @@
       <key>Failed</key>
       <value>Fehlgeschlagen</value>
     </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-      <value>Phase</value>
-    </entry>
-    <entry>
-      <key>No calls</key>
-      <value>Keine Anrufe</value>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-      <value>Keine SMS</value>
-    </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-      <value>Dieser Kontakt hat keine möglichen Verknüpfungen.</value>
-    </entry>
     <entry>
       <key>Is being sent</key>
       <value>Wird versendet</value>
@@ -422,26 +352,10 @@
       <key>Bulk mail \"%0\" was sent!</key>
       <value>Serienmail \"%0\" wurde versendet!</value>
     </entry>
-    <entry>
-      <key>No fax</key>
-      <value>Kein Fax</value>
-    </entry>
-    <entry>
-      <key>No letters</key>
-      <value>Keine Briefe</value>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-      <value>Status</value>
-    </entry>
     <entry>
       <key>Company</key>
       <value>Firma</value>
     </entry>
-    <entry>
-      <key>Complaint</key>
-      <value>Reklamation</value>
-    </entry>
     <entry>
       <key>SEEN</key>
       <value>Neu</value>
@@ -572,6 +486,7 @@
     </entry>
     <entry>
       <key>Data privacy entries</key>
+      <value>Datenschutzeinträge</value>
     </entry>
     <entry>
       <key>Email must be unique!</key>
@@ -653,10 +568,6 @@
       <key>Activity</key>
       <value>Aktivität</value>
     </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-      <value>Teilnehmer/innen werden zur ausgewählten Kampagnenstufe hinzugefügt</value>
-    </entry>
     <entry>
       <key>Name</key>
       <value>Name</value>
@@ -665,10 +576,6 @@
       <key>Austria</key>
       <value>Österreich</value>
     </entry>
-    <entry>
-      <key>Set campaign step</key>
-      <value>Kampagnenstufe setzen</value>
-    </entry>
     <entry>
       <key>New time tracking</key>
       <value>Neuer Zeiteintrag</value>
@@ -683,6 +590,7 @@
     </entry>
     <entry>
       <key>Appointments</key>
+      <value>Termine</value>
     </entry>
     <entry>
       <key>Time expenses</key>
@@ -724,10 +632,6 @@
       <key>Medium</key>
       <value>Medium</value>
     </entry>
-    <entry>
-      <key>Internet</key>
-      <value>Internet</value>
-    </entry>
     <entry>
       <key>Germany</key>
       <value>Deutschland</value>
@@ -1178,9 +1082,6 @@
       <key>Advertising material</key>
       <value>Werbemittel</value>
     </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
     <entry>
       <key>Valid from</key>
       <value>gültig ab</value>
@@ -1524,6 +1425,7 @@
     </entry>
     <entry>
       <key>Cost entries</key>
+      <value>Kosteneinträge</value>
     </entry>
     <entry>
       <key>Competition</key>
@@ -1569,10 +1471,6 @@
       <key>Show all offers</key>
       <value>Alle Angebote anzeigen</value>
     </entry>
-    <entry>
-      <key>Preview</key>
-      <value>Vorschau</value>
-    </entry>
     <entry>
       <key>Filetype</key>
       <value>Dateityp</value>
@@ -1637,10 +1535,6 @@
       <key>My Activities</key>
       <value>Meine Aktivitäten</value>
     </entry>
-    <entry>
-      <key>Everyone</key>
-      <value>Jeder</value>
-    </entry>
     <entry>
       <key>Combobox Value</key>
       <value>Combobox-Wert</value>
@@ -1817,10 +1711,6 @@
       <key>Latin Name</key>
       <value>Lateinischer Name</value>
     </entry>
-    <entry>
-      <key>Organisation name</key>
-      <value>Name der Organisation</value>
-    </entry>
     <entry>
       <key>Connection</key>
       <value>Verknüpfung</value>
@@ -2004,12 +1894,12 @@
       <value>Betreff</value>
     </entry>
     <entry>
-      <key>{$TASK_REQUESTOR}</key>
-      <value>Anforderer</value>
+      <key>Document templates</key>
+      <value>Dokumentvorlagen</value>
     </entry>
     <entry>
-      <key>task number</key>
-      <value>Aufgabennummer</value>
+      <key>{$TASK_REQUESTOR}</key>
+      <value>Anforderer</value>
     </entry>
     <entry>
       <key>description</key>
@@ -2047,9 +1937,6 @@
       <key>{$TASK_PRIORITY_LOW}</key>
       <value>niedrig</value>
     </entry>
-    <entry>
-      <key>Duplicatescans</key>
-    </entry>
     <entry>
       <key>Nur Eigene anzeigen</key>
     </entry>
@@ -2102,6 +1989,7 @@
     </entry>
     <entry>
       <key>Key figures</key>
+      <value>Kennzahlen</value>
     </entry>
     <entry>
       <key>Person</key>
@@ -2271,6 +2159,7 @@
     </entry>
     <entry>
       <key>Timetracking entries</key>
+      <value>Zeiteinträge</value>
     </entry>
     <entry>
       <key>New appointment</key>
@@ -3155,10 +3044,6 @@
       <key>Congo (Democratic Republic of the)</key>
       <value>Kongo (Demokratische Republik)</value>
     </entry>
-    <entry>
-      <key>Resource</key>
-      <value>Ressource</value>
-    </entry>
     <entry>
       <key>Greece</key>
       <value>Griechenland</value>
@@ -3287,10 +3172,6 @@
       <key>Thailand</key>
       <value>Thailand</value>
     </entry>
-    <entry>
-      <key>in process</key>
-      <value>in Bearbeitung</value>
-    </entry>
     <entry>
       <key>Saint Martin (French part)</key>
       <value>Saint Martin (französischer Teil)</value>
@@ -4020,9 +3901,6 @@
     <entry>
       <key>Chart</key>
     </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
     <entry>
       <key>Pending</key>
       <value>Ausstehend</value>
@@ -4073,9 +3951,6 @@
     <entry>
       <key>Salesproject Analyses</key>
     </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
     <entry>
       <key>Days count</key>
       <value>Anzahl Tage</value>
@@ -4199,9 +4074,6 @@
     <entry>
       <key>file '%0' does not exist or you have got no permission on this file</key>
     </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
     <entry>
       <key>Salesproject member</key>
       <value>Projektteam</value>
@@ -4299,9 +4171,6 @@
     <entry>
       <key>NUMBER VALUE</key>
     </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
     <entry>
       <key>ID</key>
     </entry>
@@ -4347,6 +4216,7 @@
     </entry>
     <entry>
       <key>Indexsearch</key>
+      <value>Indexsuche</value>
     </entry>
     <entry>
       <key>Appointment link Id</key>
@@ -4354,12 +4224,6 @@
     <entry>
       <key>Relation Type</key>
     </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
     <entry>
       <key>Item sort</key>
     </entry>
@@ -4413,9 +4277,6 @@
       <key>%0 deleted.</key>
       <value>%0 gelöscht.</value>
     </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
     <entry>
       <key>Activity Id</key>
     </entry>
@@ -4627,6 +4488,7 @@
     </entry>
     <entry>
       <key>Keywords</key>
+      <value>Schlüsselwörter</value>
     </entry>
     <entry>
       <key>Days running</key>
@@ -4674,6 +4536,7 @@
     </entry>
     <entry>
       <key>Keyword Attributes</key>
+      <value>Schlüsselwort-Eigenschaften</value>
     </entry>
     <entry>
       <key>Student/Internship</key>
@@ -4963,9 +4826,6 @@
     <entry>
       <key> User</key>
     </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
     <entry>
       <key>Condition Type</key>
     </entry>
@@ -4981,10 +4841,6 @@
     <entry>
       <key>Entity</key>
     </entry>
-    <entry>
-      <key>Sales Project</key>
-      <value>Vertriebsprojekt</value>
-    </entry>
     <entry>
       <key>Field</key>
     </entry>
@@ -5003,9 +4859,6 @@
     <entry>
       <key>Create</key>
     </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
     <entry>
       <key>Permission Overview</key>
     </entry>
@@ -5015,9 +4868,6 @@
     <entry>
       <key>View</key>
     </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
     <entry>
       <key>Salutations</key>
       <value>Anreden</value>
@@ -5112,26 +4962,10 @@
     <entry>
       <key>Email Template</key>
     </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
     <entry>
       <key>New Supportticket</key>
       <value>Neues Supportticket</value>
     </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-      <value>Neues Bugticket</value>
-    </entry>
     <entry>
       <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
     </entry>
@@ -5150,24 +4984,10 @@
       <key>Minimal count must be a positive whole number</key>
       <value>Minimale Anzahl muss eine positive, ganze Zahl sein</value>
     </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
     <entry>
       <key>Maximal count must be one or higher</key>
       <value>Maximale Anzahl muss eins oder höher sein</value>
     </entry>
-    <entry>
-      <key>Campaign name</key>
-      <value>Kampagnen Name</value>
-    </entry>
-    <entry>
-      <key>Step name</key>
-      <value>Stufen Name</value>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
     <entry>
       <key>own company</key>
       <value>eigene Firma</value>
@@ -5460,10 +5280,6 @@
       <key>NPO</key>
       <value>NPO</value>
     </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-      <value>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</value>
-    </entry>
     <entry>
       <key>Support Tickets</key>
     </entry>
@@ -5479,10 +5295,6 @@
       <key>Full calculation</key>
       <value>Vollberechnung</value>
     </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-      <value>Konditionen die bei Angebotserstellung übernommen werden</value>
-    </entry>
     <entry>
       <key>Others</key>
       <value>Sonstiges</value>
@@ -5517,6 +5329,7 @@
     </entry>
     <entry>
       <key>Relation types</key>
+      <value>Beziehungstypen</value>
     </entry>
     <entry>
       <key>Wine</key>
@@ -5874,9 +5687,6 @@
     <entry>
       <key>Connection Type</key>
     </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
     <entry>
       <key>Phases</key>
     </entry>
@@ -5940,6 +5750,10 @@
       <key>{$TICKET_EDITOR}</key>
       <value>Bearbeiter</value>
     </entry>
+    <entry>
+      <key>Turnover Last Year</key>
+      <value>Umsatz Vorjahr</value>
+    </entry>
     <entry>
       <key>Supportticket</key>
     </entry>
@@ -5970,16 +5784,9 @@
     <entry>
       <key>Dokument template usage</key>
     </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
     <entry>
       <key>USER_NEW_CONTACT</key>
     </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-      <value></value>
-    </entry>
     <entry>
       <key>All selected participants already are in the campaign</key>
       <value>Alle selektierten Teilnehmer sind bereits in der Kampagne</value>
@@ -5992,170 +5799,53 @@
       <key>Not enough slots for %0/%1 participant(s)</key>
       <value>Nicht genügend Teilnehmerplätze verfügbar für %0/%1 Teilnehmer</value>
     </entry>
-    <entry>
-      <key>No valid Selection</key>
-      <value>Keine gültige Auswahl</value>
-    </entry>
     <entry>
       <key>Support Ticket</key>
       <value>Supportticket</value>
     </entry>
-    <entry>
-      <key>Rented car</key>
-      <value>Mietwagen</value>
-    </entry>
-    <entry>
-      <key>Adressdaten</key>
-      <value>Adressdaten</value>
-    </entry>
     <entry>
       <key>No contacts selected</key>
       <value>Keine Kontakte ausgewählt</value>
     </entry>
-    <entry>
-      <key>Transport cost</key>
-      <value>Transportkosten</value>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-      <value>Tagesgebühr</value>
-    </entry>
-    <entry>
-      <key>Month</key>
-      <value>Monat</value>
-    </entry>
     <entry>
       <key>My campaigns</key>
       <value>Meine Kampagnen</value>
     </entry>
-    <entry>
-      <key>Hospitality</key>
-      <value>Gastfreundschaft</value>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-      <value>Bett und Frühstück</value>
-    </entry>
-    <entry>
-      <key>Until</key>
-      <value>Bis</value>
-    </entry>
-    <entry>
-      <key>From</key>
-      <value>Von</value>
-    </entry>
     <entry>
       <key>Add to Bulkmail</key>
       <value>Zu Massenmail hinzufügen</value>
     </entry>
-    <entry>
-      <key>Park fees</key>
-      <value>Parkgebühren</value>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-      <value>Ausgabenabrechnung</value>
-    </entry>
-    <entry>
-      <key>Working material</key>
-      <value>Arbeitsmaterial</value>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-      <value>Reisezweck</value>
-    </entry>
     <entry>
       <key>phase information</key>
       <value>Phaseninformationen</value>
     </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
     <entry>
       <key>Nur eigene anzeigen</key>
     </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
     <entry>
       <key>Extension letter date</key>
       <value>Beantragung Fristverlängerung</value>
     </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
     <entry>
       <key>Update</key>
     </entry>
     <entry>
       <key>Blog</key>
     </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
     <entry>
       <key>Guarantees</key>
       <value>Garantien</value>
     </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
     <entry>
       <key>Xing</key>
     </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
     <entry>
       <key>LinkedIn</key>
     </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
-    <entry>
-      <key>%0 recipients will be added to the bulk mail.</key>
-    </entry>
     <entry>
       <key>%0 new recipients will be added to the serial letter.</key>
       <value>Dem Serienbrief werden %0 neue Empfänger hinzugefügt.</value>
     </entry>
-    <entry>
-      <key>Export letter</key>
-      <value>Brief exportieren</value>
-    </entry>
     <entry>
       <key>Add to serial letter</key>
     </entry>
@@ -6287,13 +5977,6 @@
       <key>seconds</key>
       <value>Sekunden</value>
     </entry>
-    <entry>
-      <key>Link automatically</key>
-      <value>Automatisch verknüpfen</value>
-    </entry>
-    <entry>
-      <key>We received data from </key>
-    </entry>
     <entry>
       <key>Duplicatescan</key>
       <value>Dublettenermittlung</value>
@@ -6328,22 +6011,19 @@
     </entry>
     <entry>
       <key>Phase progression</key>
+      <value>Phasenfortschritt</value>
     </entry>
     <entry>
       <key>Milestones Phase</key>
+      <value>Meilensteinphase</value>
     </entry>
     <entry>
       <key>Occurrences</key>
+      <value>Ereignisse</value>
     </entry>
     <entry>
       <key>Milestones Status</key>
-    </entry>
-    <entry>
-      <key>Occurrence</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-      <value>Supportticket</value>
+      <value>Meilensteinstatus</value>
     </entry>
     <entry>
       <key>no valid phone number</key>
@@ -6388,10 +6068,6 @@
       <key>${UNLINKEDMAILMAPPING_ADDITIONAL_LINK}</key>
       <value>Weitere Verknüpfung</value>
     </entry>
-    <entry>
-      <key>Unlinked mails</key>
-      <value>Unverknüpfte E-Mails</value>
-    </entry>
     <entry>
       <key>Create activity</key>
       <value>Erstelle Aktivität</value>
@@ -6404,6 +6080,59 @@
       <key>Download</key>
       <value>Herunterladen</value>
     </entry>
+    <entry>
+      <key>Turnover Current Year</key>
+      <value>Umsatz aktuelles Jahr</value>
+    </entry>
+    <entry>
+      <key>Permission Details</key>
+    </entry>
+    <entry>
+      <key>Remaining tasks and appointments</key>
+      <value>Aufgaben und Termine, die noch ausstehen</value>
+    </entry>
+    <entry>
+      <key>Tasks for which I am responsible</key>
+      <value>Aufgaben, für die ich zuständig bin</value>
+    </entry>
+    <entry>
+      <key>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</key>
+      <value>Zeigt alle ungelesenen Benachrichtigungen mit verschiedenen Inhalten, z.B. zu Terminen, Serienmails</value>
+    </entry>
+    <entry>
+      <key>Shows how many sales projects are in the various sales phases</key>
+      <value>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind</value>
+    </entry>
+    <entry>
+      <key>Most important salse key figures</key>
+    </entry>
+    <entry>
+      <key>Shows the organisations turnover and forecast</key>
+      <value>Zeigt den Umsatz und den Forecast der Firma für den Zeitraum von 4 Jahren</value>
+    </entry>
+    <entry>
+      <key>Campaign management</key>
+      <value>Kampagnenmanagement</value>
+    </entry>
+    <entry>
+      <key>Campaign costs</key>
+    </entry>
+    <entry>
+      <key>Shows all campaigns</key>
+      <value>Alle Kampagnen anzeigen</value>
+    </entry>
+    <entry>
+      <key>Shows campaing costs graphically processed</key>
+      <value>Kampagnenkosten graphisch aufbereitet</value>
+    </entry>
+    <entry>
+      <key>Shows linked appointments</key>
+      <value>Verknüpfte Termine anzeigen</value>
+    </entry>
+    <entry>
+      <key>Possibility to search for terms</key>
+      <value>Möglichkeit nach Begriffen zu suchen</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 15d6919df1bbc0efd4de6637800012ccfb007a36..53b7654187842be71e791db77c9687db510716d9 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -39,9 +39,6 @@
     <entry>
       <key>Medium</key>
     </entry>
-    <entry>
-      <key>Internet</key>
-    </entry>
     <entry>
       <key>Germany</key>
     </entry>
@@ -604,9 +601,6 @@
     <entry>
       <key>Latin Name</key>
     </entry>
-    <entry>
-      <key>Organisation name</key>
-    </entry>
     <entry>
       <key>Connection</key>
     </entry>
@@ -900,9 +894,6 @@
       <key>{$TASK_REQUESTOR}</key>
       <value>Requestor</value>
     </entry>
-    <entry>
-      <key>task number</key>
-    </entry>
     <entry>
       <key>{$TASK_EDITOR}</key>
       <value>Editor</value>
@@ -1845,9 +1836,6 @@
     <entry>
       <key>Thailand</key>
     </entry>
-    <entry>
-      <key>in process</key>
-    </entry>
     <entry>
       <key>Saint Martin (French part)</key>
     </entry>
@@ -2568,9 +2556,6 @@
     <entry>
       <key>This private person doeas already exist and can not be created once more.</key>
     </entry>
-    <entry>
-      <key>Everyone</key>
-    </entry>
     <entry>
       <key>Project</key>
     </entry>
@@ -2583,9 +2568,6 @@
     <entry>
       <key>Field staff</key>
     </entry>
-    <entry>
-      <key>Resource</key>
-    </entry>
     <entry>
       <key>Human Resources</key>
     </entry>
@@ -2617,9 +2599,6 @@
     <entry>
       <key>Add the selection to a campaign</key>
     </entry>
-    <entry>
-      <key>participants will be added to the selected campaign step</key>
-    </entry>
     <entry>
       <key>Add participants to Campaign</key>
     </entry>
@@ -2665,18 +2644,12 @@
     <entry>
       <key>Chart</key>
     </entry>
-    <entry>
-      <key>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </key>
-    </entry>
     <entry>
       <key>Enable relation type 2</key>
     </entry>
     <entry>
       <key>Salesproject Analyses</key>
     </entry>
-    <entry>
-      <key>Wichtigste Kennzahlen zu den Vertriebsprojekten.</key>
-    </entry>
     <entry>
       <key>Days count</key>
     </entry>
@@ -2692,9 +2665,6 @@
     <entry>
       <key>Campaign status</key>
     </entry>
-    <entry>
-      <key>Set campaign step</key>
-    </entry>
     <entry>
       <key>Add participant to Campaign</key>
     </entry>
@@ -2790,9 +2760,6 @@
     <entry>
       <key>file '%0' does not exist or you have got no permission on this file</key>
     </entry>
-    <entry>
-      <key>Zip</key>
-    </entry>
     <entry>
       <key>Layout costs</key>
     </entry>
@@ -2878,9 +2845,6 @@
     <entry>
       <key>NUMBER VALUE</key>
     </entry>
-    <entry>
-      <key>Salesproject forecast Id</key>
-    </entry>
     <entry>
       <key>ID</key>
     </entry>
@@ -2929,12 +2893,6 @@
     <entry>
       <key>Relation Type</key>
     </entry>
-    <entry>
-      <key>Salesproject member Id</key>
-    </entry>
-    <entry>
-      <key>Salesproject source Id</key>
-    </entry>
     <entry>
       <key>Item sort</key>
     </entry>
@@ -2986,9 +2944,6 @@
     <entry>
       <key>%0 deleted.</key>
     </entry>
-    <entry>
-      <key>Salesproject competition Id</key>
-    </entry>
     <entry>
       <key>Activity Id</key>
     </entry>
@@ -3540,9 +3495,6 @@
     <entry>
       <key> User</key>
     </entry>
-    <entry>
-      <key>Edit</key>
-    </entry>
     <entry>
       <key>Condition Type</key>
     </entry>
@@ -3558,9 +3510,6 @@
     <entry>
       <key>Entity</key>
     </entry>
-    <entry>
-      <key>Sales Project</key>
-    </entry>
     <entry>
       <key>Field</key>
     </entry>
@@ -3579,9 +3528,6 @@
     <entry>
       <key>Create</key>
     </entry>
-    <entry>
-      <key>To buildingnumber</key>
-    </entry>
     <entry>
       <key>Permission Overview</key>
     </entry>
@@ -3591,9 +3537,6 @@
     <entry>
       <key>View</key>
     </entry>
-    <entry>
-      <key>From buildingnumber</key>
-    </entry>
     <entry>
       <key>Salutations</key>
     </entry>
@@ -3673,27 +3616,9 @@
       <key>${SQL_LIB_FIELD_WRONG_FORMAT} field: %0</key>
       <value>Field %0 is in an incorrect format. The database field has to be like "tablename.columnname" ("ORGANISATION.NAME") or as array with column-alias: ["ORGANISATION", "NAME", "myorgAlias"]</value>
     </entry>
-    <entry>
-      <key>testing</key>
-    </entry>
-    <entry>
-      <key>double</key>
-    </entry>
-    <entry>
-      <key>closed</key>
-    </entry>
     <entry>
       <key>New Supportticket</key>
     </entry>
-    <entry>
-      <key>Bug Ticket</key>
-    </entry>
-    <entry>
-      <key>Support ticket</key>
-    </entry>
-    <entry>
-      <key>New Bugticket</key>
-    </entry>
     <entry>
       <key>Keine Berechtigung zum Verschieben der Aufgabe</key>
     </entry>
@@ -3712,27 +3637,9 @@
     <entry>
       <key>Minimal count must be a positive whole number</key>
     </entry>
-    <entry>
-      <key>Meilensteine und Kontaktpunkte</key>
-    </entry>
     <entry>
       <key>Maximal count must be one or higher</key>
     </entry>
-    <entry>
-      <key>Campaign name</key>
-    </entry>
-    <entry>
-      <key>Step name</key>
-    </entry>
-    <entry>
-      <key>Assignment</key>
-    </entry>
-    <entry>
-      <key>Complaint</key>
-    </entry>
-    <entry>
-      <key>Employee responsible</key>
-    </entry>
     <entry>
       <key>Restrictions</key>
     </entry>
@@ -3754,24 +3661,9 @@
     <entry>
       <key>New letter</key>
     </entry>
-    <entry>
-      <key>No calls</key>
-    </entry>
-    <entry>
-      <key>No mails</key>
-    </entry>
     <entry>
       <key>Delete recurring appointment</key>
     </entry>
-    <entry>
-      <key>No fax</key>
-    </entry>
-    <entry>
-      <key>No SMS</key>
-    </entry>
-    <entry>
-      <key>No letters</key>
-    </entry>
     <entry>
       <key>ended (abandoned)</key>
     </entry>
@@ -3811,21 +3703,12 @@
     <entry>
       <key>Link</key>
     </entry>
-    <entry>
-      <key>This contact has no possible link.</key>
-    </entry>
     <entry>
       <key>Permissions</key>
     </entry>
     <entry>
       <key>Permission</key>
     </entry>
-    <entry>
-      <key>SalesprojectPhase</key>
-    </entry>
-    <entry>
-      <key>SalesprojectState</key>
-    </entry>
     <entry>
       <key>Maximal</key>
     </entry>
@@ -4030,9 +3913,6 @@
     <entry>
       <key>DOCUMENT</key>
     </entry>
-    <entry>
-      <key>Als Attribut ist der Name aus lib_frame z.B. 'ORG' 'PERS' 'OFFER' etc. zu verwenden.</key>
-    </entry>
     <entry>
       <key>Subordinate campaign of</key>
     </entry>
@@ -4048,9 +3928,6 @@
     <entry>
       <key>Transport damage</key>
     </entry>
-    <entry>
-      <key>Konditionen die bei Angebotserstellung übernommen werden</key>
-    </entry>
     <entry>
       <key>Sport</key>
     </entry>
@@ -4318,9 +4195,6 @@
     <entry>
       <key>Not enough slots for %0/%1 participant(s)</key>
     </entry>
-    <entry>
-      <key>No valid Selection</key>
-    </entry>
     <entry>
       <key>Sender address</key>
     </entry>
@@ -4411,9 +4285,6 @@
     <entry>
       <key>Connection Type</key>
     </entry>
-    <entry>
-      <key>UID (AB_ATTRIBUTEID)</key>
-    </entry>
     <entry>
       <key>Phases</key>
     </entry>
@@ -4498,9 +4369,6 @@
     <entry>
       <key>Dokument template usage</key>
     </entry>
-    <entry>
-      <key>Open admin info</key>
-    </entry>
     <entry>
       <key>USER_NEW_CONTACT</key>
     </entry>
@@ -4516,18 +4384,9 @@
     <entry>
       <key>Is being sent</key>
     </entry>
-    <entry>
-      <key>Preview</key>
-    </entry>
     <entry>
       <key>Content</key>
     </entry>
-    <entry>
-      <key>Bulk mail was sent!</key>
-    </entry>
-    <entry>
-      <key>%0 mails sent sucessfully, %1 mails failed</key>
-    </entry>
     <entry>
       <key>Bulk mail \"%0\" was sent!</key>
     </entry>
@@ -4555,87 +4414,39 @@
     <entry>
       <key>Data Privacy</key>
     </entry>
-    <entry>
-      <key>Attribute data</key>
-    </entry>
     <entry>
       <key>other personal data</key>
     </entry>
     <entry>
       <key>LinkedIn</key>
     </entry>
-    <entry>
-      <key>Kommunikationsdaten</key>
-    </entry>
-    <entry>
-      <key>Es wurden keine Daten anonymisiert.</key>
-    </entry>
     <entry>
       <key>Anonymization</key>
     </entry>
-    <entry>
-      <key>Data Privacies</key>
-    </entry>
-    <entry>
-      <key>advertising consent</key>
-    </entry>
-    <entry>
-      <key>Sonstige personenbezogene Daten</key>
-    </entry>
-    <entry>
-      <key>DSGVO Anonymisierung</key>
-    </entry>
     <entry>
       <key>Names</key>
     </entry>
-    <entry>
-      <key>Namen</key>
-    </entry>
     <entry>
       <key>Update</key>
     </entry>
     <entry>
       <key>The contact has an advertising ban for emails!</key>
     </entry>
-    <entry>
-      <key>Adressdaten</key>
-    </entry>
     <entry>
       <key>Blog</key>
     </entry>
-    <entry>
-      <key>DSGVO Disclosure</key>
-    </entry>
     <entry>
       <key>Disclosure Report</key>
     </entry>
-    <entry>
-      <key>newsletter dispatch</key>
-    </entry>
-    <entry>
-      <key>Folgende Daten wurden anonymisiert: </key>
-    </entry>
     <entry>
       <key>DataPrivacy Right</key>
     </entry>
-    <entry>
-      <key>Address data</key>
-    </entry>
     <entry>
       <key>contract of sale</key>
     </entry>
-    <entry>
-      <key>balancing of interests</key>
-    </entry>
     <entry>
       <key>DataPrivacy Use</key>
     </entry>
-    <entry>
-      <key>Personal data</key>
-    </entry>
-    <entry>
-      <key>Source</key>
-    </entry>
     <entry>
       <key>No data has been anonymized.</key>
     </entry>
@@ -4645,87 +4456,9 @@
     <entry>
       <key>DSGVO anonymisation</key>
     </entry>
-    <entry>
-      <key>Your changes have an impact on the data privacy information (DSGVO).</key>
-    </entry>
     <entry>
       <key>Update data privacy information</key>
     </entry>
-    <entry>
-      <key>CC</key>
-    </entry>
-    <entry>
-      <key>Remarks</key>
-    </entry>
-    <entry>
-      <key>Organisation</key>
-    </entry>
-    <entry>
-      <key>Km</key>
-    </entry>
-    <entry>
-      <key>Billed</key>
-    </entry>
-    <entry>
-      <key>Km Fee</key>
-    </entry>
-    <entry>
-      <key>Credit Card</key>
-    </entry>
-    <entry>
-      <key>Taxi</key>
-    </entry>
-    <entry>
-      <key>Overnight stay</key>
-    </entry>
-    <entry>
-      <key>In creation</key>
-    </entry>
-    <entry>
-      <key>Rented car</key>
-    </entry>
-    <entry>
-      <key>Until</key>
-    </entry>
-    <entry>
-      <key>From</key>
-    </entry>
-    <entry>
-      <key>Park fees</key>
-    </entry>
-    <entry>
-      <key>Abscences</key>
-    </entry>
-    <entry>
-      <key>Expense Report</key>
-    </entry>
-    <entry>
-      <key>Special displays</key>
-    </entry>
-    <entry>
-      <key>Transport cost</key>
-    </entry>
-    <entry>
-      <key>Day Fee</key>
-    </entry>
-    <entry>
-      <key>Fuel</key>
-    </entry>
-    <entry>
-      <key>Month</key>
-    </entry>
-    <entry>
-      <key>Working material</key>
-    </entry>
-    <entry>
-      <key>Hospitality</key>
-    </entry>
-    <entry>
-      <key>Trip purpose</key>
-    </entry>
-    <entry>
-      <key>Bed and Breakfast</key>
-    </entry>
     <entry>
       <key>Update campaign step</key>
     </entry>
@@ -4744,12 +4477,6 @@
     <entry>
       <key>The transfer of data to recipients located in a third country is based on the following guarantees:</key>
     </entry>
-    <entry>
-      <key>MarketingCampaign</key>
-    </entry>
-    <entry>
-      <key>Recipient, Country</key>
-    </entry>
     <entry>
       <key>We save your data until </key>
     </entry>
@@ -4762,9 +4489,6 @@
     <entry>
       <key>Nur eigene anzeigen</key>
     </entry>
-    <entry>
-      <key>CampaignManagement</key>
-    </entry>
     <entry>
       <key>For this report</key>
     </entry>
@@ -4843,9 +4567,6 @@
     <entry>
       <key>Newsletter dispatch</key>
     </entry>
-    <entry>
-      <key>We received data from </key>
-    </entry>
     <entry>
       <key>the number of your applications</key>
     </entry>
@@ -4855,12 +4576,6 @@
     <entry>
       <key>External Datasource</key>
     </entry>
-    <entry>
-      <key>Guarantee</key>
-    </entry>
-    <entry>
-      <key>%0 recipients will be added to the bulk mail.</key>
-    </entry>
     <entry>
       <key>%0 new recipients will be added to the bulk mail.</key>
     </entry>
@@ -4978,9 +4693,6 @@
     <entry>
       <key>seconds</key>
     </entry>
-    <entry>
-      <key>Link automatically</key>
-    </entry>
     <entry>
       <key>Duplicatescan</key>
     </entry>
@@ -5005,9 +4717,6 @@
     <entry>
       <key>Export letter for selection</key>
     </entry>
-    <entry>
-      <key>Export letter</key>
-    </entry>
     <entry>
       <key>Privacy agreement</key>
     </entry>
@@ -5038,9 +4747,6 @@
     <entry>
       <key>Occurrences</key>
     </entry>
-    <entry>
-      <key>Occurrence</key>
-    </entry>
     <entry>
       <key>Milestones Phase</key>
     </entry>
@@ -5071,18 +4777,12 @@
     <entry>
       <key>Timetracking entries</key>
     </entry>
-    <entry>
-      <key>Duplicatescans</key>
-    </entry>
     <entry>
       <key>Appointments</key>
     </entry>
     <entry>
       <key>Support Tickets</key>
     </entry>
-    <entry>
-      <key>Members</key>
-    </entry>
     <entry>
       <key>Cost entries</key>
     </entry>
@@ -5125,9 +4825,6 @@
     <entry>
       <key>${UNLINKEDMAILMAPPING_ADDITIONAL_LINK}</key>
     </entry>
-    <entry>
-      <key>Unlinked mails</key>
-    </entry>
     <entry>
       <key>Create activity</key>
     </entry>
@@ -5137,6 +4834,66 @@
     <entry>
       <key>Download</key>
     </entry>
+    <entry>
+      <key>Copy Campaign</key>
+    </entry>
+    <entry>
+      <key>Excreted can't be in the future</key>
+    </entry>
+    <entry>
+      <key>Document templates</key>
+    </entry>
+    <entry>
+      <key>Turnover Last Year</key>
+    </entry>
+    <entry>
+      <key>Permission Details</key>
+    </entry>
+    <entry>
+      <key>Number of activities</key>
+    </entry>
+    <entry>
+      <key>Turnover Current Year</key>
+    </entry>
+    <entry>
+      <key>Turnover change</key>
+    </entry>
+    <entry>
+      <key>Remaining tasks and appointments</key>
+    </entry>
+    <entry>
+      <key>Tasks for which I am responsible</key>
+    </entry>
+    <entry>
+      <key>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</key>
+    </entry>
+    <entry>
+      <key>Shows how many sales projects are in the various sales phases</key>
+    </entry>
+    <entry>
+      <key>Most important salse key figures</key>
+    </entry>
+    <entry>
+      <key>Shows the organisations turnover and forecast</key>
+    </entry>
+    <entry>
+      <key>Campaign management</key>
+    </entry>
+    <entry>
+      <key>Campaign costs</key>
+    </entry>
+    <entry>
+      <key>Shows all campaigns</key>
+    </entry>
+    <entry>
+      <key>Shows campaing costs graphically processed</key>
+    </entry>
+    <entry>
+      <key>Shows linked appointments</key>
+    </entry>
+    <entry>
+      <key>Possibility to search for terms</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonContext/Person/Person.aod b/neonContext/Person/Person.aod
index 7149d8ce16047f3b015929edca81b215ba0949e4..814818bacfb89505c438381811ca595b54957bd3 100644
--- a/neonContext/Person/Person.aod
+++ b/neonContext/Person/Person.aod
@@ -48,7 +48,11 @@
     </neonViewReference>
     <neonViewReference>
       <name>296af7da-1994-49a3-a26f-903f29609fae</name>
-      <view>PersonDSGVORestriction_view</view>
+      <view>PersonAttributeRestriction_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>c91a69c4-8699-4117-9154-cb6be65f6a69</name>
+      <view>PersonDataPrivacy_view</view>
     </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/Prod2prod/Prod2prod.aod b/neonContext/Prod2prod/Prod2prod.aod
index 00dad8c407034533c52c2d6eb08cae568a25a7c9..b80bbf86edffeb5fec59e32fabcdb97ee1567989 100644
--- a/neonContext/Prod2prod/Prod2prod.aod
+++ b/neonContext/Prod2prod/Prod2prod.aod
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
-  <name>Prod2prod</name>
-  <title></title>
-  <comment>Prod2Prod is mainly used for the parts list of products</comment>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterview>Prod2prodFilter_view</filterview>
-  <editview>Prod2ProdEdit_view</editview>
-  <entity>Prod2prod_entity</entity>
-  <references>
-    <neonViewReference>
-      <name>0f388c5e-7873-49de-8396-16a2e01dfa84</name>
-      <view>Prod2prodFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>428b22a1-427f-4547-a478-964442078bc1</name>
-      <view>Prod2ProdEdit_view</view>
-    </neonViewReference>
-  </references>
-</neonContext>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
+  <name>Prod2prod</name>
+  <title>Parts list</title>
+  <comment>Prod2Prod is mainly used for the parts list of products</comment>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterview>Prod2prodFilter_view</filterview>
+  <editview>Prod2ProdEdit_view</editview>
+  <entity>Prod2prod_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>0f388c5e-7873-49de-8396-16a2e01dfa84</name>
+      <view>Prod2prodFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>428b22a1-427f-4547-a478-964442078bc1</name>
+      <view>Prod2ProdEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonDashboard/Home/Home.aod b/neonDashboard/Home/Home.aod
index 35ab0668ed8d136e2b7638171f947fd292674af9..0d73ce30727ec5887d834f8efca238cf4d9745c5 100644
--- a/neonDashboard/Home/Home.aod
+++ b/neonDashboard/Home/Home.aod
@@ -58,7 +58,7 @@
     <neonDashlet>
       <name>Dashlet5</name>
       <viewName>NotificationFilter_view</viewName>
-      <configName>neonDashletConfiguration</configName>
+      <configName>NotificationDashletConfiguration</configName>
       <uiConfiguration>
         <name>uiConfiguration</name>
         <xPos v="1" />
diff --git a/neonNotificationType/DownloadReady/onResultOpen.js b/neonNotificationType/DownloadReady/onResultOpen.js
index 36c2e4242a33907fbc3744b4776675dd74b58459..eeb3fb518402c487ce24684d38dc2ba296b03249 100644
--- a/neonNotificationType/DownloadReady/onResultOpen.js
+++ b/neonNotificationType/DownloadReady/onResultOpen.js
@@ -1,21 +1,18 @@
-import("system.logging");
-import("system.vars");
-
-var varses = [
-    "$local.content",
-    "$local.data",
-    "$local.description",
-    "$local.idvalue",
-    "$local.idvalues",
-    "$local.row",
-    "$local.row_id",
-    "$local.rowdata",
-    "$local.uid",
-    "$local.binId",
-];
-var existses = {};
-varses.forEach(function (v) {
-    this[v] = vars.exists(v);
-}, existses);
-
-logging.log(JSON.stringify(existses, null, "\t"))
\ No newline at end of file
+import("system.vars");
+
+var varses = [
+    "$local.content",
+    "$local.data",
+    "$local.description",
+    "$local.idvalue",
+    "$local.idvalues",
+    "$local.row",
+    "$local.row_id",
+    "$local.rowdata",
+    "$local.uid",
+    "$local.binId",
+];
+var existses = {};
+varses.forEach(function (v) {
+    this[v] = vars.exists(v);
+}, existses);
\ No newline at end of file
diff --git a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
index bcb6c78792745869f1ccdabbf78a8eec64ee1010..ee49c6301c367d2dfb8b5caf4bd8ff74e64cd10e 100644
--- a/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
+++ b/neonView/360DegreeFilter_view/360DegreeFilter_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>360DegreeFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>Treetable</name>
-      <favoriteActionGroup2>newModule</favoriteActionGroup2>
-      <titleField>TITLE</titleField>
-      <descriptionField>DATE</descriptionField>
-      <iconField>ICON</iconField>
-      <defaultGroupFields>
-        <element>CONTEXT_NAME</element>
-      </defaultGroupFields>
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-    <timelineViewTemplate>
-      <name>Timeline</name>
-      <dateField>DATE</dateField>
-      <titleField>TITLE</titleField>
-      <descriptionField>CONTEXT_NAME</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </timelineViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>360DegreeFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>Treetable</name>
+      <favoriteActionGroup2>newModule</favoriteActionGroup2>
+      <titleField>TITLE</titleField>
+      <descriptionField>DATE</descriptionField>
+      <iconField>ICON</iconField>
+      <defaultGroupFields>
+        <element>CONTEXT_NAME</element>
+      </defaultGroupFields>
+      <entityField>#ENTITY</entityField>
+    </treeViewTemplate>
+    <timelineViewTemplate>
+      <name>Timeline</name>
+      <dateField>DATE</dateField>
+      <titleField>TITLE</titleField>
+      <descriptionField>CONTEXT_NAME</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </timelineViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityDetail_view/ActivityDetail_view.aod b/neonView/ActivityDetail_view/ActivityDetail_view.aod
index dcb00d28cde6404ae34f960b9aba10f1140d3ecb..ce4d5a9a6de6b63f4e1dd1b7b27f3e024b04fb41 100644
--- a/neonView/ActivityDetail_view/ActivityDetail_view.aod
+++ b/neonView/ActivityDetail_view/ActivityDetail_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityDetail_view</name>
-  <title>Description</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>OfferInfo</name>
-      <editMode v="false" />
-      <showDrawer v="true" />
-      <drawerCaption></drawerCaption>
-      <fixedDrawer v="true" />
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c7e75393-4745-478b-9f89-878b9a19b722</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityDetail_view</name>
+  <title>Description</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>OfferInfo</name>
+      <editMode v="false" />
+      <showDrawer v="true" />
+      <drawerCaption></drawerCaption>
+      <fixedDrawer v="true" />
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c7e75393-4745-478b-9f89-878b9a19b722</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityDrawer_view/ActivityDrawer_view.aod b/neonView/ActivityDrawer_view/ActivityDrawer_view.aod
index 44276ba9e4f49343cafff1696383af3c54dba842..15b80657d260e559855a05415fb8ca690a624d81 100644
--- a/neonView/ActivityDrawer_view/ActivityDrawer_view.aod
+++ b/neonView/ActivityDrawer_view/ActivityDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Activities</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>9a0bf95e-8e6f-47ac-aff0-c420d5fb86aa</name>
-      <entityField>#ENTITY</entityField>
-      <view>ActivityFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Activities</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>9a0bf95e-8e6f-47ac-aff0-c420d5fb86aa</name>
+      <entityField>#ENTITY</entityField>
+      <view>ActivityFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod
index 8e49b44e5eb29ee0e4fdf68b4977f336b331001d..6c5f95b50c631abaec7d35e3882b0b2f33e13a04 100644
--- a/neonView/ActivityEdit_view/ActivityEdit_view.aod
+++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityEdit_view</name>
-  <title>Activity</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:HOURGLASS_END</icon>
-  <quickEntry v="3" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>290c8b73-4078-47eb-8009-a011f0ae670c</name>
-          <entityField>SUBJECT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b90a5d96-9d1f-4eeb-b42c-0debeb7cf260</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d767e312-b28a-42e9-9e7d-b4ad82f25ff0</name>
-          <entityField>DIRECTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a787b6c0-078d-47ff-9bff-eee1623d1760</name>
-          <entityField>ENTRYDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>921a6690-43dc-488b-ae0a-4a0ab88a99ab</name>
-          <entityField>CATEGORY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>91514e62-f4f7-4eb7-84c0-8d94adbb3408</name>
-          <entityField>RESPONSIBLE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>868cfbbe-f5f4-48d1-88cd-56207e0e6dcc</name>
-      <entityField>Links</entityField>
-      <view>ActivityLinkMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>7fcf9c09-189a-47b7-a171-9975676ed704</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityEdit_view</name>
+  <title>Activity</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:HOURGLASS_END</icon>
+  <quickEntry v="3" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>290c8b73-4078-47eb-8009-a011f0ae670c</name>
+          <entityField>SUBJECT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b90a5d96-9d1f-4eeb-b42c-0debeb7cf260</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d767e312-b28a-42e9-9e7d-b4ad82f25ff0</name>
+          <entityField>DIRECTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a787b6c0-078d-47ff-9bff-eee1623d1760</name>
+          <entityField>ENTRYDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>921a6690-43dc-488b-ae0a-4a0ab88a99ab</name>
+          <entityField>CATEGORY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>91514e62-f4f7-4eb7-84c0-8d94adbb3408</name>
+          <entityField>RESPONSIBLE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>868cfbbe-f5f4-48d1-88cd-56207e0e6dcc</name>
+      <entityField>Links</entityField>
+      <view>ActivityLinkMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>7fcf9c09-189a-47b7-a171-9975676ed704</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ActivityFilter_view/ActivityFilter_view.aod b/neonView/ActivityFilter_view/ActivityFilter_view.aod
index b7c4f652f6c7e743ee3d977e352696e0503f4cce..8562df46ce69f7a64725a8a1eda7fa6a26bc4102 100644
--- a/neonView/ActivityFilter_view/ActivityFilter_view.aod
+++ b/neonView/ActivityFilter_view/ActivityFilter_view.aod
@@ -1,126 +1,126 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AllActivitiesDashlet</name>
-      <title>Activities</title>
-      <description>Show all activities</description>
-      <fragment>Activity/filter</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>VAADIN:HOURGLASS_END</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>contactmanagement</name>
-          <title>Contactmanagement</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>activity</name>
-          <title>Activity</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-    <neonDashletConfiguration>
-      <name>InnateActivitiesDashlet</name>
-      <title>My Activities</title>
-      <description>Show my activities</description>
-      <fragment>Activity/filter</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>VAADIN:HOURGLASS_END</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>contactmanagement</name>
-          <title>Contactmanagement</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>activity</name>
-          <title>Activity</title>
-        </neonDashletCategory>
-      </categories>
-      <parameters>
-        <neonDashletParameter>
-          <name>OnlyInnate_param</name>
-          <value>true</value>
-        </neonDashletParameter>
-      </parameters>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <timelineViewTemplate>
-      <name>ActivitiesTimeline</name>
-      <dateField>entryDateDateFormat</dateField>
-      <titleField>SUBJECT_DETAILS</titleField>
-      <descriptionField>INFO</descriptionField>
-      <iconIdField>#IMAGE</iconIdField>
-      <hideTime v="true" />
-      <entityField>#ENTITY</entityField>
-    </timelineViewTemplate>
-    <tableViewTemplate>
-      <name>ActivitiesTable</name>
-      <iconField>#IMAGE</iconField>
-      <titleField>SUBJECT</titleField>
-      <subtitleField>ENTRYDATE</subtitleField>
-      <descriptionField>DIRECTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>56f0d70a-04de-4acf-b7f6-08414ab5e7ce</name>
-          <entityField>entryDateDateFormat</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c1ff85eb-dde9-4362-82bc-8be6e3346b1c</name>
-          <entityField>#IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>aafb6ac4-a584-48c4-9355-630bfd4579d3</name>
-          <entityField>RESPONSIBLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c8fc85eb-dde9-4362-82bc-8be6e3346b1c</name>
-          <entityField>SUBJECT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>692a655b-18f5-4323-8d87-ee42726bed38</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-    <treeTableViewTemplate>
-      <name>ActivitiesTreeTable</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>4167708f-b5a4-42ed-848a-cf9bb604f083</name>
-          <entityField>entryDateDateFormat</entityField>
-          <width v="75" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ec8f0488-9a9f-4114-8123-1bc21b1d1f68</name>
-          <entityField>#IMAGE</entityField>
-          <width v="75" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c44d54b5-00b9-4faf-9934-687e3a417b73</name>
-          <entityField>RESPONSIBLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f7137699-ae62-48e0-9cd6-e06d37f87f94</name>
-          <entityField>SUBJECT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>385231ab-204f-498a-8bf2-6fca3f59b7a5</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </treeTableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AllActivitiesDashlet</name>
+      <title>Activities</title>
+      <description>Show all activities</description>
+      <fragment>Activity/filter</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>VAADIN:HOURGLASS_END</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>contactmanagement</name>
+          <title>Contactmanagement</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>activity</name>
+          <title>Activity</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+    <neonDashletConfiguration>
+      <name>InnateActivitiesDashlet</name>
+      <title>My Activities</title>
+      <description>Show my activities</description>
+      <fragment>Activity/filter</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>VAADIN:HOURGLASS_END</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>contactmanagement</name>
+          <title>Contactmanagement</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>activity</name>
+          <title>Activity</title>
+        </neonDashletCategory>
+      </categories>
+      <parameters>
+        <neonDashletParameter>
+          <name>OnlyInnate_param</name>
+          <value>true</value>
+        </neonDashletParameter>
+      </parameters>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <timelineViewTemplate>
+      <name>ActivitiesTimeline</name>
+      <dateField>entryDateDateFormat</dateField>
+      <titleField>SUBJECT_DETAILS</titleField>
+      <descriptionField>INFO</descriptionField>
+      <iconIdField>#IMAGE</iconIdField>
+      <hideTime v="true" />
+      <entityField>#ENTITY</entityField>
+    </timelineViewTemplate>
+    <tableViewTemplate>
+      <name>ActivitiesTable</name>
+      <iconField>#IMAGE</iconField>
+      <titleField>SUBJECT</titleField>
+      <subtitleField>ENTRYDATE</subtitleField>
+      <descriptionField>DIRECTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>56f0d70a-04de-4acf-b7f6-08414ab5e7ce</name>
+          <entityField>entryDateDateFormat</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c1ff85eb-dde9-4362-82bc-8be6e3346b1c</name>
+          <entityField>#IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>aafb6ac4-a584-48c4-9355-630bfd4579d3</name>
+          <entityField>RESPONSIBLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c8fc85eb-dde9-4362-82bc-8be6e3346b1c</name>
+          <entityField>SUBJECT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>692a655b-18f5-4323-8d87-ee42726bed38</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+    <treeTableViewTemplate>
+      <name>ActivitiesTreeTable</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>4167708f-b5a4-42ed-848a-cf9bb604f083</name>
+          <entityField>entryDateDateFormat</entityField>
+          <width v="75" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ec8f0488-9a9f-4114-8123-1bc21b1d1f68</name>
+          <entityField>#IMAGE</entityField>
+          <width v="75" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c44d54b5-00b9-4faf-9934-687e3a417b73</name>
+          <entityField>RESPONSIBLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f7137699-ae62-48e0-9cd6-e06d37f87f94</name>
+          <entityField>SUBJECT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>385231ab-204f-498a-8bf2-6fca3f59b7a5</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
index 3b02fb7929147e143dc655f13047ca41bea6dcf4..144e11feebc233e208451a5e5a2ae8a5a119b530 100644
--- a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
+++ b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ActivityLinkFilter_view</name>
   <title>Connections</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -11,8 +11,8 @@
   <children>
     <tableViewTemplate>
       <name>Objects</name>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>2cf427f2-2dcd-4e4e-9f5c-82f103f9cf86</name>
diff --git a/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod b/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod
index 5b2f0728fd1f77371ab52de2c342dab9716787ec..a848286eb5341055815e370fe4e88bd652d5f634 100644
--- a/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod
+++ b/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod
@@ -1,27 +1,27 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityLinkMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-      <columns>
-        <neonTableColumn>
-          <name>b7f68733-33f2-4ed7-a222-4298491b5cb0</name>
-          <entityField>OBJECT_TYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>3d98edbb-44aa-4d85-97fe-9260081292c3</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityLinkMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+      <columns>
+        <neonTableColumn>
+          <name>b7f68733-33f2-4ed7-a222-4298491b5cb0</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>3d98edbb-44aa-4d85-97fe-9260081292c3</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityLinkPreviewList_view/ActivityLinkPreviewList_view.aod b/neonView/ActivityLinkPreviewList_view/ActivityLinkPreviewList_view.aod
index 466798471c1a3a0f0633fec52bfb704f93d04076..cd941e7a357ee180858908ab3364878915e167ce 100644
--- a/neonView/ActivityLinkPreviewList_view/ActivityLinkPreviewList_view.aod
+++ b/neonView/ActivityLinkPreviewList_view/ActivityLinkPreviewList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ActivityLinkPreviewList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod b/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
index d5a7e6b8d09cd8f080766f67c960fd29e5fa999b..ae394f023135679155af15b00191bb11b97a4b2e 100644
--- a/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
+++ b/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityLinkPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Links</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>3b3315d6-0872-447f-ac8a-0653a92bbf2d</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityLinkPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Links</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>3b3315d6-0872-447f-ac8a-0653a92bbf2d</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ActivityMain_view/ActivityMain_view.aod b/neonView/ActivityMain_view/ActivityMain_view.aod
index 1a20ee03e1f7405af7273a7241241c855847487a..ab6b487ce18af1700ed1a7461f8364c11239e52d 100644
--- a/neonView/ActivityMain_view/ActivityMain_view.aod
+++ b/neonView/ActivityMain_view/ActivityMain_view.aod
@@ -1,38 +1,38 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>25da1e58-2fb4-4db4-8a46-9af73074c22c</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>25da1e58-2fb4-4db4-8a46-9af73074c22c</name>
-      <entityField>#ENTITY</entityField>
-      <view>ActivityPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a3a45cd7-587f-4bc0-9980-e6d1c89a8212</name>
-      <entityField>#ENTITY</entityField>
-      <view>ActivityDetail_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>f57fb116-d356-47c7-8da6-ee64b4a01b46</name>
-      <entityField>AttributeTree</entityField>
-      <view>AttributeRelationTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>7bab8dbf-b69e-412d-a604-3a6999658e10</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>25da1e58-2fb4-4db4-8a46-9af73074c22c</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>25da1e58-2fb4-4db4-8a46-9af73074c22c</name>
+      <entityField>#ENTITY</entityField>
+      <view>ActivityPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a3a45cd7-587f-4bc0-9980-e6d1c89a8212</name>
+      <entityField>#ENTITY</entityField>
+      <view>ActivityDetail_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f57fb116-d356-47c7-8da6-ee64b4a01b46</name>
+      <entityField>AttributeTree</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>7bab8dbf-b69e-412d-a604-3a6999658e10</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ActivityPreview_view/ActivityPreview_view.aod b/neonView/ActivityPreview_view/ActivityPreview_view.aod
index 63627905d091b8727c4200343b3b246c2e8ae8c7..ade004b1923af89096db2813e6f26d03cd342f3d 100644
--- a/neonView/ActivityPreview_view/ActivityPreview_view.aod
+++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod
@@ -1,63 +1,63 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ActivityPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>ICON</iconField>
-      <titleField>SUBJECT</titleField>
-      <descriptionField>ENTRYDATE</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>84dac619-4438-492c-a6b4-61b285dc80fe</name>
-          <entityField>DIRECTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ad41c89c-2f4a-414c-90c8-d5a5df24aeaa</name>
-          <entityField>CATEGORY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name>
-          <entityField>RESPONSIBLE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>4c365613-81c5-4518-8953-751b5ae35cc2</name>
-      <entityField>Links</entityField>
-      <view>ActivityLinkPreviewList_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>43167618-e4dc-429b-a264-3ea95bd647f9</name>
-      <entityField>MainDocuments</entityField>
-      <view>DocumentList_view</view>
-    </neonViewReference>
-    <genericViewTemplate>
-      <name>Description</name>
-      <showDrawer v="true" />
-      <drawerCaption>Description</drawerCaption>
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>cfdae746-0433-49fa-877d-0c5ca93024e3</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ActivityPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>ICON</iconField>
+      <titleField>SUBJECT</titleField>
+      <descriptionField>ENTRYDATE</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>84dac619-4438-492c-a6b4-61b285dc80fe</name>
+          <entityField>DIRECTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ad41c89c-2f4a-414c-90c8-d5a5df24aeaa</name>
+          <entityField>CATEGORY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name>
+          <entityField>RESPONSIBLE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>4c365613-81c5-4518-8953-751b5ae35cc2</name>
+      <entityField>Links</entityField>
+      <view>ActivityLinkPreviewList_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>43167618-e4dc-429b-a264-3ea95bd647f9</name>
+      <entityField>MainDocuments</entityField>
+      <view>DocumentList_view</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Description</name>
+      <showDrawer v="true" />
+      <drawerCaption>Description</drawerCaption>
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>cfdae746-0433-49fa-877d-0c5ca93024e3</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod
index b81e84f291f3290332b1d662b2693a7d42bb544d..f108e9adc2318366a3c02887429e9b4d44f799eb 100644
--- a/neonView/AddressList_view/AddressList_view.aod
+++ b/neonView/AddressList_view/AddressList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AddressList_view</name>
   <description>Org addresses</description>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/AddressLookup_view/AddressLookup_view.aod b/neonView/AddressLookup_view/AddressLookup_view.aod
index 0fa3d4f0858ffc2b0c3d73d28d281b87d68bd7f3..de556c1bcfd64f959c15a8dc17e00dda7fd57205 100644
--- a/neonView/AddressLookup_view/AddressLookup_view.aod
+++ b/neonView/AddressLookup_view/AddressLookup_view.aod
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AddressLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>DataTable</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>297a27f0-51a0-40d7-a2eb-28fc2b9e5730</name>
-          <entityField>IS_STANDARD_ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>07e3bcf0-30aa-4745-8dd6-ed79dd2d0fa0</name>
-          <entityField>ADDR_TYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>570039fc-c27a-4b06-a93e-16cc712a3d0c</name>
-          <entityField>ADDRESS</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>26ca52ce-91e7-4e76-a37e-6db28b967beb</name>
-          <entityField>BUILDINGNO</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a54d6306-e9be-41db-9d1c-abeebe5ce77b</name>
-          <entityField>ZIP</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6a07479c-b4d3-4946-993e-e6ce7dd825ba</name>
-          <entityField>CITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e6d9ced9-eea3-4cdf-9751-74c8f206282f</name>
-          <entityField>COUNTRY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>820b6ffc-7e56-4982-8f39-4443b0ada876</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9651a718-ab01-4c97-8da0-6e7133f26466</name>
-          <entityField>REGION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>24f73ac8-ac90-4beb-83fe-bdaa2d0806b6</name>
-          <entityField>ADDRIDENTIFIER</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AddressLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>DataTable</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>297a27f0-51a0-40d7-a2eb-28fc2b9e5730</name>
+          <entityField>IS_STANDARD_ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>07e3bcf0-30aa-4745-8dd6-ed79dd2d0fa0</name>
+          <entityField>ADDR_TYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>570039fc-c27a-4b06-a93e-16cc712a3d0c</name>
+          <entityField>ADDRESS</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>26ca52ce-91e7-4e76-a37e-6db28b967beb</name>
+          <entityField>BUILDINGNO</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a54d6306-e9be-41db-9d1c-abeebe5ce77b</name>
+          <entityField>ZIP</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6a07479c-b4d3-4946-993e-e6ce7dd825ba</name>
+          <entityField>CITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e6d9ced9-eea3-4cdf-9751-74c8f206282f</name>
+          <entityField>COUNTRY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>820b6ffc-7e56-4982-8f39-4443b0ada876</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>9651a718-ab01-4c97-8da0-6e7133f26466</name>
+          <entityField>REGION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>24f73ac8-ac90-4beb-83fe-bdaa2d0806b6</name>
+          <entityField>ADDRIDENTIFIER</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AddressValidationLookup_view/AddressValidationLookup_view.aod b/neonView/AddressValidationLookup_view/AddressValidationLookup_view.aod
index 0f9f3dd26c5452e5f17c359be445d1d2b1e5ea42..e37b202c24af7e63f69ccaea828e5ac45ca26268 100644
--- a/neonView/AddressValidationLookup_view/AddressValidationLookup_view.aod
+++ b/neonView/AddressValidationLookup_view/AddressValidationLookup_view.aod
@@ -1,50 +1,50 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AddressValidationLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>DataTable</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>a8787cc8-57a2-4cd5-903e-da14924a9052</name>
-          <entityField>ZIP</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>fb715731-9162-405e-b2e2-6c20921f026f</name>
-          <entityField>CITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>05bb9d3b-0e90-4a1a-bfe8-03b7dab6ed01</name>
-          <entityField>REGION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>22779be5-4111-49c2-8821-0ec02cca40bb</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a272c3cb-7bbf-41a4-9490-884c2f449b40</name>
-          <entityField>STREET</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e842bb68-96c6-4d1f-bf44-70a29c7c7d72</name>
-          <entityField>FROM_BN</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>59162b47-ec96-4076-8e57-929fccbf133d</name>
-          <entityField>TO_BN</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d32d92bf-db7d-443f-b911-6731ea89cf3b</name>
-          <entityField>COUNTRY</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AddressValidationLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>DataTable</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>a8787cc8-57a2-4cd5-903e-da14924a9052</name>
+          <entityField>ZIP</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>fb715731-9162-405e-b2e2-6c20921f026f</name>
+          <entityField>CITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>05bb9d3b-0e90-4a1a-bfe8-03b7dab6ed01</name>
+          <entityField>REGION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>22779be5-4111-49c2-8821-0ec02cca40bb</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a272c3cb-7bbf-41a4-9490-884c2f449b40</name>
+          <entityField>STREET</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e842bb68-96c6-4d1f-bf44-70a29c7c7d72</name>
+          <entityField>FROM_BN</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>59162b47-ec96-4076-8e57-929fccbf133d</name>
+          <entityField>TO_BN</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d32d92bf-db7d-443f-b911-6731ea89cf3b</name>
+          <entityField>COUNTRY</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AdminViewRow_view/AdminViewRow_view.aod b/neonView/AdminViewRow_view/AdminViewRow_view.aod
index 9f71e1b036ceffa90da583ba58e70f7a0a7ad31e..75ef8d3affd4f3547c92b6369286e75f7134f225 100644
--- a/neonView/AdminViewRow_view/AdminViewRow_view.aod
+++ b/neonView/AdminViewRow_view/AdminViewRow_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AdminViewRow_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
index 50146b13b56946a3de8f2916eecac8b9a576274f..92c6d10ee43549b6440cf480efc47c16f40c98f3 100644
--- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
+++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AdressMultiEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
index 8dbce3dece648b6c5c35b1d3119cb15802a5a4cd..ddfce75ee73028bd0ecfe20ebccbc041946c5891 100644
--- a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
+++ b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AnyContactLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Relations</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>5a0d38bb-bfa5-4abc-86e7-fac65804bb5c</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ca59a64a-adce-49c3-93ad-2978c81809f8</name>
-          <entityField>ORGANISATION_NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4b05d812-aa6c-49a5-afa3-ea5cd99560ef</name>
-          <entityField>PERSON_FULL_NAME</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>2ee5838b-e0ff-4f21-bf57-e41d0766fdec</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>16174be3-c8fb-46a8-8f73-f6b8d8fad963</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c7d50d7a-11da-491c-a4be-7d5f75d335f0</name>
-          <entityField>ADDRESS_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AnyContactLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Relations</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>5a0d38bb-bfa5-4abc-86e7-fac65804bb5c</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ca59a64a-adce-49c3-93ad-2978c81809f8</name>
+          <entityField>ORGANISATION_NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4b05d812-aa6c-49a5-afa3-ea5cd99560ef</name>
+          <entityField>PERSON_FULL_NAME</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2ee5838b-e0ff-4f21-bf57-e41d0766fdec</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>16174be3-c8fb-46a8-8f73-f6b8d8fad963</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c7d50d7a-11da-491c-a4be-7d5f75d335f0</name>
+          <entityField>ADDRESS_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AnyObjectRelationTree_view0/AnyObjectRelationTree_view0.aod b/neonView/AnyObjectRelationTree_view0/AnyObjectRelationTree_view0.aod
index 24c3d28150657dfd017be4a1d23b3f62f1f47959..ac05e8da885bbe7bba68bad07649a45c9673f51e 100644
--- a/neonView/AnyObjectRelationTree_view0/AnyObjectRelationTree_view0.aod
+++ b/neonView/AnyObjectRelationTree_view0/AnyObjectRelationTree_view0.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AnyObjectRelationTree_view0</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>AnyObjectRelations</name>
-      <parentField>AnyObjectType</parentField>
-      <titleField>AnyObjectRowid</titleField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </treeViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AnyObjectRelationTree_view0</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>AnyObjectRelations</name>
+      <parentField>AnyObjectType</parentField>
+      <titleField>AnyObjectRowid</titleField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </treeViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
index d5b9b97ef42e613d841410306e5277a1bd55a3e8..63231d2ff8f05dc113ec0a195a4171a37f2f896b 100644
--- a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
+++ b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
@@ -1,41 +1,41 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AppointmentEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <documentation>%aditoprj%/neonView/AppointmentEdit_view/documentation.adoc</documentation>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <appointmentEditViewTemplate>
-      <name>Edit</name>
-      <summaryField>SUMMARY</summaryField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <beginField>BEGIN</beginField>
-      <endField>END</endField>
-      <attendeesField>ATTENDEES</attendeesField>
-      <privateField>CLASSIFICATION</privateField>
-      <statusField>STATUS</statusField>
-      <locationField>LOCATION</locationField>
-      <categoriesField>CATEGORIES</categoriesField>
-      <alldayField>ALLDAY</alldayField>
-      <transparencyField>TRANSPARENCY</transparencyField>
-      <organizerField>ORGANIZER</organizerField>
-      <favoriteActionGroup1>PartStatActionGroup</favoriteActionGroup1>
-      <rruleField>RRULE</rruleField>
-      <recurrenceIdField>RECURRENCEID</recurrenceIdField>
-      <saveScopeField>SAFESCOPEFIELD</saveScopeField>
-      <masterBeginField>MASTERBEGIN</masterBeginField>
-      <masterEndField>MASTEREND</masterEndField>
-      <reminderField>REMINDER</reminderField>
-      <entityField>#ENTITY</entityField>
-    </appointmentEditViewTemplate>
-    <neonViewReference>
-      <name>39802b49-f67c-4796-ba05-105aa073d60c</name>
-      <entityField>AppointmentLinks</entityField>
-      <view>AppointmentLinkEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AppointmentEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/neonView/AppointmentEdit_view/documentation.adoc</documentation>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <appointmentEditViewTemplate>
+      <name>Edit</name>
+      <summaryField>SUMMARY</summaryField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <beginField>BEGIN</beginField>
+      <endField>END</endField>
+      <attendeesField>ATTENDEES</attendeesField>
+      <privateField>CLASSIFICATION</privateField>
+      <statusField>STATUS</statusField>
+      <locationField>LOCATION</locationField>
+      <categoriesField>CATEGORIES</categoriesField>
+      <alldayField>ALLDAY</alldayField>
+      <transparencyField>TRANSPARENCY</transparencyField>
+      <organizerField>ORGANIZER</organizerField>
+      <favoriteActionGroup1>PartStatActionGroup</favoriteActionGroup1>
+      <rruleField>RRULE</rruleField>
+      <recurrenceIdField>RECURRENCEID</recurrenceIdField>
+      <saveScopeField>SAFESCOPEFIELD</saveScopeField>
+      <masterBeginField>MASTERBEGIN</masterBeginField>
+      <masterEndField>MASTEREND</masterEndField>
+      <reminderField>REMINDER</reminderField>
+      <entityField>#ENTITY</entityField>
+    </appointmentEditViewTemplate>
+    <neonViewReference>
+      <name>39802b49-f67c-4796-ba05-105aa073d60c</name>
+      <entityField>AppointmentLinks</entityField>
+      <view>AppointmentLinkEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/AppointmentFilterDashlet_view/AppointmentFilterDashlet_view.aod b/neonView/AppointmentFilterDashlet_view/AppointmentFilterDashlet_view.aod
index 571ceb079e82e8067fe9e7b936ba16125bb68fa8..509b780078a9944e235d8b1720dd9fcde0c3a1bc 100644
--- a/neonView/AppointmentFilterDashlet_view/AppointmentFilterDashlet_view.aod
+++ b/neonView/AppointmentFilterDashlet_view/AppointmentFilterDashlet_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AppointmentFilterDashlet_view</name>
   <title>Linked Appointments</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -8,6 +8,7 @@
     <neonDashletConfiguration>
       <name>appointmentFilterConfig</name>
       <title>Linked Appointments</title>
+      <description>Shows linked appointments</description>
       <fragment>Appointment/full</fragment>
       <icon>VAADIN:CALENDAR</icon>
       <categories>
@@ -32,10 +33,10 @@
   <children>
     <tableViewTemplate>
       <name>Table</name>
+      <autoNewRow v="false" />
       <entityField>#ENTITY</entityField>
       <isEditable v="false" />
       <isDeletable v="false" />
-      <autoNewRow v="false" />
       <columns>
         <neonTableColumn>
           <name>0aa3d147-674f-4765-826e-f97a4b48dc8a</name>
diff --git a/neonView/AppointmentFilter_view/AppointmentFilter_view.aod b/neonView/AppointmentFilter_view/AppointmentFilter_view.aod
index 73c8f584ab446287564d4b75ad3d214cc15dc288..5556dfaab0549b3edf2d36b9c2a8261d4edd8955 100644
--- a/neonView/AppointmentFilter_view/AppointmentFilter_view.aod
+++ b/neonView/AppointmentFilter_view/AppointmentFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AppointmentFilter_view</name>
   <title>Linked Appointments</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod b/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
index da5e03a799d8c27874e64c735cd1866f35f04da6..6ee30a9e698cde5c148840a96a111bc4f0f6d108 100644
--- a/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
+++ b/neonView/AppointmentLinkEdit_view/AppointmentLinkEdit_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AppointmentLinkEdit_view</name>
-  <title>relations</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>GenericMultiple</name>
-      <autoNewRow v="true" />
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>539c9844-8f4b-49e8-8974-30bdf127f47c</name>
-          <entityField>OBJECTTYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>eba00f45-cd7e-43c0-9dea-559293ca7d49</name>
-          <entityField>OBJECTID</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AppointmentLinkEdit_view</name>
+  <title>relations</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>GenericMultiple</name>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>539c9844-8f4b-49e8-8974-30bdf127f47c</name>
+          <entityField>OBJECTTYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>eba00f45-cd7e-43c0-9dea-559293ca7d49</name>
+          <entityField>OBJECTID</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
index 1012aedd4033e37ea4389299e952c6d0236f9cfd..f9be161e85f48934eb10fa4de02911f549c708a0 100644
--- a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
+++ b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AppointmentLinkFilter_view</name>
-  <title>relations</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Connections</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <title>Connections</title>
-      <columns>
-        <neonTableColumn>
-          <name>dd971b22-845f-4177-8220-f280abec6e59</name>
-          <entityField>OBJECTTYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>7b0a52f0-bcc6-491c-bd9c-a23152b4cc98</name>
-          <entityField>OBJECTID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AppointmentLinkFilter_view</name>
+  <title>relations</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Connections</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <title>Connections</title>
+      <columns>
+        <neonTableColumn>
+          <name>dd971b22-845f-4177-8220-f280abec6e59</name>
+          <entityField>OBJECTTYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7b0a52f0-bcc6-491c-bd9c-a23152b4cc98</name>
+          <entityField>OBJECTID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
index be2c5d3410433deb199f311f2395adacd2b969a2..36d4e3ad7572f7e142bae70ebba2be9014fa6278 100644
--- a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
+++ b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AppointmentPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/neonView/AppointmentPreview_view/documentation.adoc</documentation>
diff --git a/neonView/AttributeEdit_view/AttributeEdit_view.aod b/neonView/AttributeEdit_view/AttributeEdit_view.aod
index a36a3eeedeb3f1058062f8b60b4bddc7c114f424..23e61f9a3bb5587fd5baa5691f00ca4eaa2f6424 100644
--- a/neonView/AttributeEdit_view/AttributeEdit_view.aod
+++ b/neonView/AttributeEdit_view/AttributeEdit_view.aod
@@ -1,49 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>2d269ed7-a664-40c3-aadb-f274f7c00a66</name>
-          <entityField>ATTRIBUTE_PARENT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0c6cd7c6-cced-4719-b0c5-08f8e3d13f2f</name>
-          <entityField>ATTRIBUTE_NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8cbc6049-2530-4960-b45f-830f3220889e</name>
-          <entityField>ATTRIBUTE_TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>529f9734-182e-46f3-ad89-14dc5656f307</name>
-          <entityField>DROPDOWNDEFINITION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d26696ac-199c-45f0-9147-b75dee3f4b65</name>
-          <entityField>ATTRIBUTE_ACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c8a5f45e-8092-45f4-ac22-681700447235</name>
-          <entityField>ATTRIBUTE_LEVEL</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>8387ef27-9565-400f-a0d5-ef1d2019b722</name>
-      <entityField>AttributeUsages</entityField>
-      <view>AttributeUsageMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>2d269ed7-a664-40c3-aadb-f274f7c00a66</name>
+          <entityField>ATTRIBUTE_PARENT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0c6cd7c6-cced-4719-b0c5-08f8e3d13f2f</name>
+          <entityField>ATTRIBUTE_NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8cbc6049-2530-4960-b45f-830f3220889e</name>
+          <entityField>ATTRIBUTE_TYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>529f9734-182e-46f3-ad89-14dc5656f307</name>
+          <entityField>DROPDOWNDEFINITION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d26696ac-199c-45f0-9147-b75dee3f4b65</name>
+          <entityField>ATTRIBUTE_ACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c8a5f45e-8092-45f4-ac22-681700447235</name>
+          <entityField>ATTRIBUTE_LEVEL</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>8387ef27-9565-400f-a0d5-ef1d2019b722</name>
+      <entityField>AttributeUsages</entityField>
+      <view>AttributeUsageMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod
index 4cf8fc6dc3dded3ee4f31cc6ef1b4b1eabb61655..7c29fbe8d2872daaf6882996fbf69b95b68c35e3 100644
--- a/neonView/AttributeFilter_view/AttributeFilter_view.aod
+++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributeFilter_view</name>
   <title>Attributes</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/AttributePreview_view/AttributePreview_view.aod b/neonView/AttributePreview_view/AttributePreview_view.aod
index 76f724ec39fb88651834497bf554e5a77663b2fd..1b47431cd77698dabfe8af1ae6038e8d2f3f1e0b 100644
--- a/neonView/AttributePreview_view/AttributePreview_view.aod
+++ b/neonView/AttributePreview_view/AttributePreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributePreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod
index d766c6ccc0b0b1e7143658e421d7275d3d1dcb76..6f88082c156cb76121c69ea8436ad301f3f90a1b 100644
--- a/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod
+++ b/neonView/AttributeRelationMultiEdit_view/AttributeRelationMultiEdit_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeRelationMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>GenericMultiple</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>5ccc9c8e-baee-4506-b4cc-3797be0eb237</name>
-          <entityField>AB_ATTRIBUTE_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ada9c77a-f37b-4021-a01a-a06edd75cb25</name>
-          <entityField>VALUE</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeRelationMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>GenericMultiple</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>5ccc9c8e-baee-4506-b4cc-3797be0eb237</name>
+          <entityField>AB_ATTRIBUTE_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ada9c77a-f37b-4021-a01a-a06edd75cb25</name>
+          <entityField>VALUE</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
index 75db72b1ad7098b5eeeea08afa9900416f0a6074..cb9f2cf1bcf8f76b78fd5684ebdad7b858f93840 100644
--- a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
+++ b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributeRelationPreviewList</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AttributeRelationTreeDrawer_view/AttributeRelationTreeDrawer_view.aod b/neonView/AttributeRelationTreeDrawer_view/AttributeRelationTreeDrawer_view.aod
index 3d621165775566e0c6861d2b6429dbabd47c20b5..af82cb8d32f6b67b2f5a6d8bb29f3d281b7ad67f 100644
--- a/neonView/AttributeRelationTreeDrawer_view/AttributeRelationTreeDrawer_view.aod
+++ b/neonView/AttributeRelationTreeDrawer_view/AttributeRelationTreeDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeRelationTreeDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Attributes</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>fda0b0db-8bb8-4d61-99e0-715717885740</name>
-      <entityField>#ENTITY</entityField>
-      <view>AttributeRelationTree_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeRelationTreeDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Attributes</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>fda0b0db-8bb8-4d61-99e0-715717885740</name>
+      <entityField>#ENTITY</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod b/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod
index 08416feb076e503124b8e5a94f0f3f8d3dbfb463..08148e0ea4fa4e5fbafc9c91b5f3a4e257d84597 100644
--- a/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod
+++ b/neonView/AttributeRelationTreeEdit_view/AttributeRelationTreeEdit_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeRelationTreeEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>e5635cd6-1a95-455a-af89-5baf4259caa0</name>
-          <entityField>AB_ATTRIBUTE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>abec86c9-3d77-4129-b34b-d30da0526572</name>
-          <entityField>VALUE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeRelationTreeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>e5635cd6-1a95-455a-af89-5baf4259caa0</name>
+          <entityField>AB_ATTRIBUTE_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>abec86c9-3d77-4129-b34b-d30da0526572</name>
+          <entityField>VALUE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod
index 1eee2f28de6b9b5b3cc9b459b211176b261aa5ef..d1f2b822f70a3264240b93863b6e9f5dcb795688 100644
--- a/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod
+++ b/neonView/AttributeRelationTree_view/AttributeRelationTree_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributeRelationTree_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AttributeTree_view/AttributeTree_view.aod b/neonView/AttributeTree_view/AttributeTree_view.aod
index cfb114ace2b0093fc55048a869412d7dca7610e2..724e8b8dd6891e9db5f63dfbacefd5eb2f47d2fc 100644
--- a/neonView/AttributeTree_view/AttributeTree_view.aod
+++ b/neonView/AttributeTree_view/AttributeTree_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeTree_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>Attributes</name>
-      <parentField>ATTRIBUTE_PARENT_ID</parentField>
-      <titleField>ATTRIBUTE_NAME</titleField>
-      <descriptionField>ATTRIBUTE_TYPE</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeTree_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>Attributes</name>
+      <parentField>ATTRIBUTE_PARENT_ID</parentField>
+      <titleField>ATTRIBUTE_NAME</titleField>
+      <descriptionField>ATTRIBUTE_TYPE</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </treeViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
index 07afdd399df8714a887c1b4e89c3c0f021f2907d..4b7f4fd56e2776b57a0a209a799df59a721c605e 100644
--- a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
+++ b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributeUsageFilter_view</name>
   <description>View for listing all contexts where a attribute can be used in the attribute entity</description>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -11,8 +11,8 @@
   <children>
     <tableViewTemplate>
       <name>Usages</name>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>ba8d5468-4e59-4ab8-8174-afcca1ae0d9e</name>
diff --git a/neonView/AttributeUsageList_view/AttributeUsageList_view.aod b/neonView/AttributeUsageList_view/AttributeUsageList_view.aod
index 28c3220ed6d40db3c0130f07e46d12c38443d3bb..d3c0a04654a9d9270f1c8831be4ff74da15294b1 100644
--- a/neonView/AttributeUsageList_view/AttributeUsageList_view.aod
+++ b/neonView/AttributeUsageList_view/AttributeUsageList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>AttributeUsageList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
index eb4159e1a9171bd511e1c18b88f13ccf214fb94e..47f1138702041af203f4caba72c401316af1bd64 100644
--- a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
+++ b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>AttributeUsageMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>a2efb4ca-4e8d-4e90-9870-2cebf338d95f</name>
-          <entityField>OBJECT_TYPE</entityField>
-          <width v="75" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4eb1b225-5856-4585-b6dd-401d1334d8ba</name>
-          <entityField>MIN_COUNT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>16bd5079-6496-4c5f-a821-ae145e1bc981</name>
-          <entityField>MAX_COUNT</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>AttributeUsageMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>a2efb4ca-4e8d-4e90-9870-2cebf338d95f</name>
+          <entityField>OBJECT_TYPE</entityField>
+          <width v="75" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4eb1b225-5856-4585-b6dd-401d1334d8ba</name>
+          <entityField>MIN_COUNT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>16bd5079-6496-4c5f-a821-ae145e1bc981</name>
+          <entityField>MAX_COUNT</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/BulkMailAddRecipientsEdit_view/BulkMailAddRecipientsEdit_view.aod b/neonView/BulkMailAddRecipientsEdit_view/BulkMailAddRecipientsEdit_view.aod
index e8b7469a6fc7e2208409757a38a938ce83efbe2d..1c0ee2072310c6a88930df49ada135a3a38bf75d 100644
--- a/neonView/BulkMailAddRecipientsEdit_view/BulkMailAddRecipientsEdit_view.aod
+++ b/neonView/BulkMailAddRecipientsEdit_view/BulkMailAddRecipientsEdit_view.aod
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>BulkMailAddRecipientsEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>96932894-43f2-471f-b511-3b38bd5f93cb</name>
-          <entityField>BULKMAIL_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Message</name>
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>e29ba637-3638-4c72-bdb7-65034636a882</name>
-          <entityField>recipientCountMessage</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>BulkMailAddRecipientsEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>96932894-43f2-471f-b511-3b38bd5f93cb</name>
+          <entityField>BULKMAIL_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Message</name>
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>e29ba637-3638-4c72-bdb7-65034636a882</name>
+          <entityField>recipientCountMessage</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/BulkMailContent_view/BulkMailContent_view.aod b/neonView/BulkMailContent_view/BulkMailContent_view.aod
index 43b3a83deac1f10a78b02010622d17bd77c92eb3..83d2fdaa7b9013c602ed68d980cab7a13e1cd1c3 100644
--- a/neonView/BulkMailContent_view/BulkMailContent_view.aod
+++ b/neonView/BulkMailContent_view/BulkMailContent_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailContent_view</name>
   <title>Content</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/BulkMailEdit_view/BulkMailEdit_view.aod b/neonView/BulkMailEdit_view/BulkMailEdit_view.aod
index 6f3346a08a1be5d5ebcb37146c2554d55f385a3c..a827d94cd307211099ee8fab33220fd2a878760a 100644
--- a/neonView/BulkMailEdit_view/BulkMailEdit_view.aod
+++ b/neonView/BulkMailEdit_view/BulkMailEdit_view.aod
@@ -1,47 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>BulkMailEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>BulkMail</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>b68c65de-4ecd-4a23-9242-f85e7b708b1e</name>
-          <entityField>DOCUMENTTEMPLATE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f040d032-823c-4199-8314-01d784fdc167</name>
-          <entityField>BINDATA</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e363bda2-d8bf-456e-bcae-d1870408022a</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>06f08869-5a81-41cb-8c7e-51be6a7041a7</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c73d0fb7-b740-48ac-8f3e-fd4199f169da</name>
-          <entityField>SUBJECT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e4ec09c2-3815-4a3b-bce8-c12d5b919b04</name>
-          <entityField>SENDER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0a67f430-dbcd-4605-b626-ee6d715ab248</name>
-          <entityField>content</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>BulkMailEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>BulkMail</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>b68c65de-4ecd-4a23-9242-f85e7b708b1e</name>
+          <entityField>DOCUMENTTEMPLATE_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f040d032-823c-4199-8314-01d784fdc167</name>
+          <entityField>BINDATA</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e363bda2-d8bf-456e-bcae-d1870408022a</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>06f08869-5a81-41cb-8c7e-51be6a7041a7</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c73d0fb7-b740-48ac-8f3e-fd4199f169da</name>
+          <entityField>SUBJECT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e4ec09c2-3815-4a3b-bce8-c12d5b919b04</name>
+          <entityField>SENDER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0a67f430-dbcd-4605-b626-ee6d715ab248</name>
+          <entityField>content</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/BulkMailFilter_view/BulkMailFilter_view.aod b/neonView/BulkMailFilter_view/BulkMailFilter_view.aod
index 6746a2fed510afe0ac14e515dc6d8aea1a8e59bd..619e5a065cd6e9e9714589cdd1b17f2dd77730f7 100644
--- a/neonView/BulkMailFilter_view/BulkMailFilter_view.aod
+++ b/neonView/BulkMailFilter_view/BulkMailFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/BulkMailMain_view/BulkMailMain_view.aod b/neonView/BulkMailMain_view/BulkMailMain_view.aod
index 128f5bdff472e2ac37fefca22c182bb0b5ec5382..0f6a248d7ebcb16708fb96898fab4572dfd5fcc3 100644
--- a/neonView/BulkMailMain_view/BulkMailMain_view.aod
+++ b/neonView/BulkMailMain_view/BulkMailMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -24,5 +24,10 @@
       <entityField>#ENTITY</entityField>
       <view>BulkMailContent_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>49eb2dd2-0df9-4b58-bdae-f941200be8d9</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
index d04a9df95690a3a24933127b028b23fdc96bcbe4..f6f68c3a24cb687ac356f5612219f51a9e7b07af 100644
--- a/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
+++ b/neonView/BulkMailPreview_view/BulkMailPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/BulkMailRecipientEdit_view/BulkMailRecipientEdit_view.aod b/neonView/BulkMailRecipientEdit_view/BulkMailRecipientEdit_view.aod
index bbb1b90f1c9bf7719ea982819ce95d0b70018c81..248bc5e21988bd2ae822830c4f51ffbcd83fc0d9 100644
--- a/neonView/BulkMailRecipientEdit_view/BulkMailRecipientEdit_view.aod
+++ b/neonView/BulkMailRecipientEdit_view/BulkMailRecipientEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailRecipientEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod b/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
index b3fc090ed4a5ab98f97d2045f4f615e5bdb72c05..d6fd01553888e1d1fabcec2592f0c586b8c1adbf 100644
--- a/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
+++ b/neonView/BulkMailRecipientFilter_view/BulkMailRecipientFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>BulkMailRecipientFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -13,8 +13,8 @@
       <name>Table</name>
       <favoriteActionGroup1>recipientActions</favoriteActionGroup1>
       <inlineEdit v="true" />
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>eadd8b00-f4a8-4634-bcc7-9bd5c6dbc876</name>
diff --git a/neonView/CampaignAddParticipantsEdit_view/CampaignAddParticipantsEdit_view.aod b/neonView/CampaignAddParticipantsEdit_view/CampaignAddParticipantsEdit_view.aod
index 1577d06375511b599aa881c366c6db0249450921..d56695737a4891ee948b5cd8ab04ad132efeda45 100644
--- a/neonView/CampaignAddParticipantsEdit_view/CampaignAddParticipantsEdit_view.aod
+++ b/neonView/CampaignAddParticipantsEdit_view/CampaignAddParticipantsEdit_view.aod
@@ -1,48 +1,48 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignAddParticipantsEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>SelectedCampaignInfosScore</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>SelectedCampaignInfosScore</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>5fb2164c-9433-480a-9d55-726a2b05a549</name>
-          <entityField>campaignStepCurrentParticipantCount</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d0820091-352f-431f-8d7a-71cb5b576853</name>
-          <entityField>campaignStepMaxParticipantCount</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-    <genericViewTemplate>
-      <name>campaignDetail</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>4968ad35-3651-4654-a1b0-0e3d0fc6165d</name>
-          <entityField>CAMPAIGN_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b9016725-1345-4526-88eb-2b05fb4089c8</name>
-          <entityField>CAMPAIGNSTEP_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>1bfb0564-f81f-4c60-ae5b-1d9778a519ab</name>
-      <entityField>#ENTITY</entityField>
-      <view>campaignParticipantMessage_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignAddParticipantsEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>SelectedCampaignInfosScore</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>SelectedCampaignInfosScore</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>5fb2164c-9433-480a-9d55-726a2b05a549</name>
+          <entityField>campaignStepCurrentParticipantCount</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d0820091-352f-431f-8d7a-71cb5b576853</name>
+          <entityField>campaignStepMaxParticipantCount</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+    <genericViewTemplate>
+      <name>campaignDetail</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>4968ad35-3651-4654-a1b0-0e3d0fc6165d</name>
+          <entityField>CAMPAIGN_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b9016725-1345-4526-88eb-2b05fb4089c8</name>
+          <entityField>CAMPAIGNSTEP_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>1bfb0564-f81f-4c60-ae5b-1d9778a519ab</name>
+      <entityField>#ENTITY</entityField>
+      <view>campaignParticipantMessage_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCharts_view/CampaignCharts_view.aod b/neonView/CampaignCharts_view/CampaignCharts_view.aod
index e93aca4026168b6225645dc279f78111dc5ff765..d9f3ce742ad12da260a8bdc6d72824e6fc170a39 100644
--- a/neonView/CampaignCharts_view/CampaignCharts_view.aod
+++ b/neonView/CampaignCharts_view/CampaignCharts_view.aod
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCharts_view</name>
-  <title>Overview</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>e6d6c775-3d85-4a59-8df0-d57e7174ed90</name>
-      <entityField>CampaignParticipantsChart</entityField>
-      <view>CampaignParticipantChart_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e96b6827-e47e-4d85-a1fd-b1b52f36fe31</name>
-      <entityField>CampaignCostsChart</entityField>
-      <view>CampaignCostChart_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCharts_view</name>
+  <title>Overview</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>e6d6c775-3d85-4a59-8df0-d57e7174ed90</name>
+      <entityField>CampaignParticipantsChart</entityField>
+      <view>CampaignParticipantChart_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>e96b6827-e47e-4d85-a1fd-b1b52f36fe31</name>
+      <entityField>CampaignCostsChart</entityField>
+      <view>CampaignCostChart_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostAnalysis_view/CampaignCostAnalysis_view.aod b/neonView/CampaignCostAnalysis_view/CampaignCostAnalysis_view.aod
index 64d2f73d9c3ac84dd68990f49a56cb38a6696334..0222238846a9f72c534d94ad94f8a03540c1f761 100644
--- a/neonView/CampaignCostAnalysis_view/CampaignCostAnalysis_view.aod
+++ b/neonView/CampaignCostAnalysis_view/CampaignCostAnalysis_view.aod
@@ -1,36 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostAnalysis_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Costs</name>
-      <showDrawer v="true" />
-      <drawerCaption>Total costs</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>ba901147-ca1d-46b2-b205-30a373a4b69a</name>
-          <entityField>VariableCosts</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>12b8c4a6-ce84-4d76-83e3-69787564eb09</name>
-          <entityField>FixCosts</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>24466175-5f18-44ab-9bc3-73f1cf1a46bc</name>
-          <entityField>TotalCosts</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5620b48f-348a-4032-bc03-284d0580a9f0</name>
-          <entityField>CostsPerParticipant</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostAnalysis_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Total costs</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Costs</name>
+      <showDrawer v="false" />
+      <drawerCaption>Total costs</drawerCaption>
+      <fixedDrawer v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>ba901147-ca1d-46b2-b205-30a373a4b69a</name>
+          <entityField>VariableCosts</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>12b8c4a6-ce84-4d76-83e3-69787564eb09</name>
+          <entityField>FixCosts</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>24466175-5f18-44ab-9bc3-73f1cf1a46bc</name>
+          <entityField>TotalCosts</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5620b48f-348a-4032-bc03-284d0580a9f0</name>
+          <entityField>CostsPerParticipant</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostChart_view/CampaignCostChart_view.aod b/neonView/CampaignCostChart_view/CampaignCostChart_view.aod
index e308338e19643a241decc8b546f51ca6bfb4d68c..d9d2fb05939a6e40a84b2b31b35d3e269d9068b9 100644
--- a/neonView/CampaignCostChart_view/CampaignCostChart_view.aod
+++ b/neonView/CampaignCostChart_view/CampaignCostChart_view.aod
@@ -1,21 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostChart_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <singleDataChartViewTemplate>
-      <name>SingleDataChart</name>
-      <chartTitle>Cost</chartTitle>
-      <chartType>DONUT</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <entityField>#ENTITY</entityField>
-    </singleDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostChart_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>CampaignCostsChart</name>
+      <title>Campaign costs</title>
+      <description>Shows campaing costs graphically processed</description>
+      <fragment>Campaign/full</fragment>
+      <singleton v="true" />
+      <icon>VAADIN:MONEY</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>marketing</name>
+          <title>Marketing</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>campaignmanagement</name>
+          <title>Campaign management</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <singleDataChartViewTemplate>
+      <name>SingleDataChart</name>
+      <chartType>DONUT</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <entityField>#ENTITY</entityField>
+    </singleDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostEdit_view/CampaignCostEdit_view.aod b/neonView/CampaignCostEdit_view/CampaignCostEdit_view.aod
index ec20764a7b3f8d89b9117fd4d9743e133d388c2a..4dfe04775a38b79d2d07d74f248b7956e2a67db2 100644
--- a/neonView/CampaignCostEdit_view/CampaignCostEdit_view.aod
+++ b/neonView/CampaignCostEdit_view/CampaignCostEdit_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>EditFields</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>2937d501-ee30-4535-870b-1d5d4ccc21ba</name>
-          <entityField>CAMPAIGNSTEP_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>bb0e5fb9-e82c-47f7-b6fa-f3e5d4c36649</name>
-          <entityField>CATEGORY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>23f1ec3b-91b3-44b6-bf2b-a976da6e3778</name>
-          <entityField>NET</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>EditFields</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>2937d501-ee30-4535-870b-1d5d4ccc21ba</name>
+          <entityField>CAMPAIGNSTEP_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>bb0e5fb9-e82c-47f7-b6fa-f3e5d4c36649</name>
+          <entityField>CATEGORY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>23f1ec3b-91b3-44b6-bf2b-a976da6e3778</name>
+          <entityField>NET</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostExtendedFilter_view/CampaignCostExtendedFilter_view.aod b/neonView/CampaignCostExtendedFilter_view/CampaignCostExtendedFilter_view.aod
index 22255e2bacd85a61dda98a6b09953e4ff8e92e70..548e0c8b0f95f6e4b7ba3fe8e9aebfca8609654a 100644
--- a/neonView/CampaignCostExtendedFilter_view/CampaignCostExtendedFilter_view.aod
+++ b/neonView/CampaignCostExtendedFilter_view/CampaignCostExtendedFilter_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostExtendedFilter_view</name>
-  <title>Stop costs</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>CampaignCost</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>5202d410-fc4d-4109-93b1-8743954a25e2</name>
-          <entityField>CATEGORY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b3c90c61-9f12-4b1c-9e27-b88abe77fd4e</name>
-          <entityField>NET</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>3dc61836-42a2-4cd9-b87f-14381d72d01a</name>
-          <entityField>netPerParticipant</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0f42e172-f2d0-45de-8a39-d0e4609b3393</name>
-          <entityField>countParticipants</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostExtendedFilter_view</name>
+  <title>Stop costs</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>CampaignCost</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>5202d410-fc4d-4109-93b1-8743954a25e2</name>
+          <entityField>CATEGORY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b3c90c61-9f12-4b1c-9e27-b88abe77fd4e</name>
+          <entityField>NET</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>3dc61836-42a2-4cd9-b87f-14381d72d01a</name>
+          <entityField>netPerParticipant</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0f42e172-f2d0-45de-8a39-d0e4609b3393</name>
+          <entityField>countParticipants</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
index c8076b48e2fbb0d7d4be508fa67ce69ef04f3763..4652a9ade7b0d0303f0040ebb874895b67d0ba20 100644
--- a/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
+++ b/neonView/CampaignCostFilter_view/CampaignCostFilter_view.aod
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="false" />
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Fix costs</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>CampaignCost</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>651c5bd4-8f87-40d4-9d1f-38549b1e5fdf</name>
-          <entityField>CATEGORY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ee4676af-5bb6-4805-99cb-954ef3b178f0</name>
-          <entityField>NET</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="false" />
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Fix costs</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>CampaignCost</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>651c5bd4-8f87-40d4-9d1f-38549b1e5fdf</name>
+          <entityField>CATEGORY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ee4676af-5bb6-4805-99cb-954ef3b178f0</name>
+          <entityField>NET</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostFix_view/CampaignCostFix_view.aod b/neonView/CampaignCostFix_view/CampaignCostFix_view.aod
index d819fc9fc084d30fcf06b3d29da614b1201a5f98..0d05d7d962cf6a1f1c7b0225d73dd982caf6c421 100644
--- a/neonView/CampaignCostFix_view/CampaignCostFix_view.aod
+++ b/neonView/CampaignCostFix_view/CampaignCostFix_view.aod
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostFix_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>127a0cab-ec21-47e6-ba6c-c091cb31c794</name>
-      <entityField>CampaignCosts</entityField>
-      <view>CampaignCostFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostFix_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>127a0cab-ec21-47e6-ba6c-c091cb31c794</name>
+      <entityField>CampaignCosts</entityField>
+      <view>CampaignCostFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
index 5e1c2b411058a17fe71bcf7e6cdc83742309fa67..1576291debdee13ceb2ba6da3d79906edbfbc716 100644
--- a/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
+++ b/neonView/CampaignCostVariable_view/CampaignCostVariable_view.aod
@@ -1,42 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCostVariable_view</name>
-  <title>Step costs</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="false" />
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Variable costs</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <treeTableViewTemplate>
-      <name>CostTreeTable</name>
-      <favoriteActionGroup1>alter</favoriteActionGroup1>
-      <defaultGroupFields>
-        <element>CAMPAIGNSTEP_ID</element>
-      </defaultGroupFields>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>457caff8-0403-425f-839c-62e5d05fe3a1</name>
-          <entityField>CATEGORY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>2adbd887-f1df-43ff-bde9-12c8273af7a9</name>
-          <entityField>NET</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f8c6439c-9536-477b-af19-26719902e12e</name>
-          <entityField>netPerParticipant</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>8239e81b-d69c-4ea9-b55d-83e79d1693cf</name>
-          <entityField>countParticipants</entityField>
-        </neonTableColumn>
-      </columns>
-    </treeTableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCostVariable_view</name>
+  <title>Step costs</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="false" />
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Variable costs</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <treeTableViewTemplate>
+      <name>CostTreeTable</name>
+      <favoriteActionGroup1>alter</favoriteActionGroup1>
+      <defaultGroupFields>
+        <element>CAMPAIGNSTEP_ID</element>
+      </defaultGroupFields>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>457caff8-0403-425f-839c-62e5d05fe3a1</name>
+          <entityField>CATEGORY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2adbd887-f1df-43ff-bde9-12c8273af7a9</name>
+          <entityField>NET</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f8c6439c-9536-477b-af19-26719902e12e</name>
+          <entityField>netPerParticipant</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>8239e81b-d69c-4ea9-b55d-83e79d1693cf</name>
+          <entityField>countParticipants</entityField>
+        </neonTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignCost_view/CampaignCost_view.aod b/neonView/CampaignCost_view/CampaignCost_view.aod
index 7501fe6b691a55fec7d1810ed9230d6d39672901..eb804851d761b54a64113e6108f63e4560d16cf4 100644
--- a/neonView/CampaignCost_view/CampaignCost_view.aod
+++ b/neonView/CampaignCost_view/CampaignCost_view.aod
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignCost_view</name>
-  <title>Cost</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>5830d1ed-c118-4a37-ab65-4727e8312c0a</name>
-      <entityField>CampaignStepCosts</entityField>
-      <view>CampaignCostVariable_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>c4476130-ca57-4707-9448-266138c09880</name>
-      <entityField>#ENTITY</entityField>
-      <view>CampaignCostFix_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>4f5b74d6-cbae-458d-811e-4f83a65d43ad</name>
-      <entityField>CampaignCostsChart</entityField>
-      <view>CampaignCostChart_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>5d65fb20-7704-45a0-93c8-513c7b2e3f5f</name>
-      <entityField>CampaignAnalysisConsumer</entityField>
-      <view>CampaignCostAnalysis_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignCost_view</name>
+  <title>Cost</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>5830d1ed-c118-4a37-ab65-4727e8312c0a</name>
+      <entityField>CampaignStepCosts</entityField>
+      <view>CampaignCostVariable_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>c4476130-ca57-4707-9448-266138c09880</name>
+      <entityField>#ENTITY</entityField>
+      <view>CampaignCostFix_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>4f5b74d6-cbae-458d-811e-4f83a65d43ad</name>
+      <entityField>CampaignCostsChart</entityField>
+      <view>CampaignCostChart_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>5d65fb20-7704-45a0-93c8-513c7b2e3f5f</name>
+      <entityField>CampaignAnalysisConsumer</entityField>
+      <view>CampaignCostAnalysis_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignEdit_view/CampaignEdit_view.aod b/neonView/CampaignEdit_view/CampaignEdit_view.aod
index a76bdf6ad70d7e76f7bbf5768f9d406bc069a5a9..751828e39b362d14374f2d7dcdf4bf6417f2168c 100644
--- a/neonView/CampaignEdit_view/CampaignEdit_view.aod
+++ b/neonView/CampaignEdit_view/CampaignEdit_view.aod
@@ -1,46 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignEdit_view</name>
-  <title>Campaign</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:GROUP</icon>
-  <isSmall v="true" />
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <showDrawer v="false" />
-      <drawerCaption></drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <title>Neue Kampagne</title>
-      <fields>
-        <entityFieldLink>
-          <name>df6356cf-e0bd-4947-8163-736301e622cf</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>57992f29-2e55-4f1f-8652-c2817a3b257e</name>
-          <entityField>EMPLOYEE_CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8372cca8-be9f-4910-bebd-64bd41cc7083</name>
-          <entityField>STATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>114121d3-093a-40e7-9e0e-f187c9eaa5f1</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>58b76841-24df-4fce-a05b-580712e8ecdc</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignEdit_view</name>
+  <title>Campaign</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:GROUP</icon>
+  <isSmall v="true" />
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <showDrawer v="false" />
+      <drawerCaption></drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <title>Neue Kampagne</title>
+      <fields>
+        <entityFieldLink>
+          <name>df6356cf-e0bd-4947-8163-736301e622cf</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>57992f29-2e55-4f1f-8652-c2817a3b257e</name>
+          <entityField>EMPLOYEE_CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>88f13d08-d164-4bac-95fb-713d47ba255b</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>114121d3-093a-40e7-9e0e-f187c9eaa5f1</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>58b76841-24df-4fce-a05b-580712e8ecdc</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignFilter_view/CampaignFilter_view.aod b/neonView/CampaignFilter_view/CampaignFilter_view.aod
index 3d850abf8d2a02023b2b8d392e5f0f17a6478d20..10ec1fbfe7d56ef510e8d2ad0730b11e0cbf1841 100644
--- a/neonView/CampaignFilter_view/CampaignFilter_view.aod
+++ b/neonView/CampaignFilter_view/CampaignFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignFilter_view</name>
   <title>Campaign</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -15,12 +15,12 @@
       <icon>NEON:GROUP_APPOINTMENT</icon>
       <categories>
         <neonDashletCategory>
-          <name>marketingcampaign</name>
-          <title>MarketingCampaign</title>
+          <name>marketing</name>
+          <title>Marketing</title>
         </neonDashletCategory>
         <neonDashletCategory>
           <name>campaignmanagement</name>
-          <title>CampaignManagement</title>
+          <title>Campaign management</title>
         </neonDashletCategory>
       </categories>
       <parameters>
@@ -30,6 +30,24 @@
         </neonDashletParameter>
       </parameters>
     </neonDashletConfiguration>
+    <neonDashletConfiguration>
+      <name>AllCampaigns</name>
+      <title>Campaigns</title>
+      <description>Shows all campaigns</description>
+      <fragment>Campaign/filter</fragment>
+      <singleton v="true" />
+      <icon>NEON:GROUP_APPOINTMENT</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>marketing</name>
+          <title>Marketing</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>campaignmanagement</name>
+          <title>Campaign management</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
   </dashletConfigurations>
   <layout>
     <boxLayout>
@@ -67,7 +85,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>3f075c57-e61a-4db2-a402-141da6bbf29d</name>
-          <entityField>STATE</entityField>
+          <entityField>STATUS</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>f5fc40b2-c6d3-4f03-9ffa-b7e269323b4d</name>
diff --git a/neonView/CampaignMain_view/CampaignMain_view.aod b/neonView/CampaignMain_view/CampaignMain_view.aod
index e7d4c8acfc62f35b324af45d46c8fe27664550b7..16172228e5472ce346a1aa44447649a81d534111 100644
--- a/neonView/CampaignMain_view/CampaignMain_view.aod
+++ b/neonView/CampaignMain_view/CampaignMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignMain_view</name>
   <title>Campaign</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -52,8 +52,13 @@
       <view>TaskFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>c6237b30-d638-43e3-93c5-fc3abbb87443</name>
-      <entityField>Attributes</entityField>
+      <name>3b87a113-aa39-4d20-8902-ad2a9f6aba5f</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>de47ab41-231f-48dc-a15b-fcd3fc740373</name>
+      <entityField>AttributeTree</entityField>
       <view>AttributeRelationTree_view</view>
     </neonViewReference>
   </children>
diff --git a/neonView/CampaignOverview_view/CampaignOverview_view.aod b/neonView/CampaignOverview_view/CampaignOverview_view.aod
index d540b5fe674fdb46bcfac1687e48dc3494f75a1e..8a10709c69edd582646d6b89cbe7cae5262535fd 100644
--- a/neonView/CampaignOverview_view/CampaignOverview_view.aod
+++ b/neonView/CampaignOverview_view/CampaignOverview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignOverview_view</name>
   <title>Overview</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/CampaignParticipantChart_view/CampaignParticipantChart_view.aod b/neonView/CampaignParticipantChart_view/CampaignParticipantChart_view.aod
index 0f372508781e98a757a5ecf703291735e3395a14..6f7bebc0991f02153cd3e10d3954279211722f88 100644
--- a/neonView/CampaignParticipantChart_view/CampaignParticipantChart_view.aod
+++ b/neonView/CampaignParticipantChart_view/CampaignParticipantChart_view.aod
@@ -1,21 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignParticipantChart_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <multiDataChartViewTemplate>
-      <name>MultiDataChart</name>
-      <chartTitle>Participants</chartTitle>
-      <chartType>BAR</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignParticipantChart_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>MultiDataChart</name>
+      <chartType>BAR</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod b/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod
index 59f3b234669e61ada873b2ef8deb02685945a561..9013912a6d7dbddba7c1c5adac1820503a084efb 100644
--- a/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod
+++ b/neonView/CampaignParticipantEdit_view/CampaignParticipantEdit_view.aod
@@ -1,49 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignParticipantEdit_view</name>
-  <title>Add participant to Campaign</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>CampaignStepInfos_Score</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>CampaignStepInfos_Score</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>22e3fc0a-a3cb-4de0-92a6-9797bf2fafea</name>
-          <entityField>campaignStepCurrentParticipantCount</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>2bbf0c7e-6a47-4c5a-a2ae-b2ee1ee17d50</name>
-          <entityField>campaignStepMaxParticipantCount</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <title></title>
-      <fields>
-        <entityFieldLink>
-          <name>f578bf25-4903-40a9-95c4-5ef673e57f47</name>
-          <entityField>CAMPAIGN_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3d03bc59-f0d1-458e-9453-33c00f10c7ce</name>
-          <entityField>CAMPAIGNSTEP_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>94aa9a4d-e2e5-4a1b-b6f8-4d5aed87fe53</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignParticipantEdit_view</name>
+  <title>Add participant to Campaign</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>CampaignStepInfos_Score</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>CampaignStepInfos_Score</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>22e3fc0a-a3cb-4de0-92a6-9797bf2fafea</name>
+          <entityField>campaignStepCurrentParticipantCount</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2bbf0c7e-6a47-4c5a-a2ae-b2ee1ee17d50</name>
+          <entityField>campaignStepMaxParticipantCount</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <title></title>
+      <fields>
+        <entityFieldLink>
+          <name>f578bf25-4903-40a9-95c4-5ef673e57f47</name>
+          <entityField>CAMPAIGN_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3d03bc59-f0d1-458e-9453-33c00f10c7ce</name>
+          <entityField>CAMPAIGNSTEP_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>94aa9a4d-e2e5-4a1b-b6f8-4d5aed87fe53</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
index 4730eea4782c4d0a0e44841f9d7642b8a16c3d57..240d2d812b910bde5bb2e70c29991a2bca51e819 100644
--- a/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
+++ b/neonView/CampaignParticipantFilter_view/CampaignParticipantFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignParticipantFilter_view</name>
   <title></title>
   <description></description>
diff --git a/neonView/CampaignParticipantPreview_view/CampaignParticipantPreview_view.aod b/neonView/CampaignParticipantPreview_view/CampaignParticipantPreview_view.aod
index e7105c39be1581067334d94ef1a560e2da9d4b17..e69cbbc6188566a46c0a81df6225c9efe63d8a85 100644
--- a/neonView/CampaignParticipantPreview_view/CampaignParticipantPreview_view.aod
+++ b/neonView/CampaignParticipantPreview_view/CampaignParticipantPreview_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignParticipantPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>012e9f6b-2507-4977-a43d-84aa54be7f6c</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1db0779f-5e93-4d80-baad-26c3128f9f5e</name>
-          <entityField>CONTACTCONTEXT</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignParticipantPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>012e9f6b-2507-4977-a43d-84aa54be7f6c</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1db0779f-5e93-4d80-baad-26c3128f9f5e</name>
+          <entityField>CONTACTCONTEXT</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignPlanning_view/CampaignPlanning_view.aod b/neonView/CampaignPlanning_view/CampaignPlanning_view.aod
index f08a06250f41c5cc447ac2787e3d6e3052d8dd5c..e737c3c8f298d5c9d30c541057c690abca804cbf 100644
--- a/neonView/CampaignPlanning_view/CampaignPlanning_view.aod
+++ b/neonView/CampaignPlanning_view/CampaignPlanning_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignPlanning_view</name>
   <title>Campaign planning</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/CampaignPreview_view/CampaignPreview_view.aod b/neonView/CampaignPreview_view/CampaignPreview_view.aod
index 5ddb4b29f66085f9ce9aec7f625da5776ad194f1..3ed1410f3b2246bcc7f3460c017b934b0560478c 100644
--- a/neonView/CampaignPreview_view/CampaignPreview_view.aod
+++ b/neonView/CampaignPreview_view/CampaignPreview_view.aod
@@ -1,79 +1,79 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignPreview_view</name>
-  <title>Campaign</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:GROUP</icon>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-      <footer>ScoreCard</footer>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>#IMAGE</iconField>
-      <titleField>NAME</titleField>
-      <subtitleField>STATE</subtitleField>
-      <descriptionField>EMPLOYEE_CONTACT_ID</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>TimespanGeneric</name>
-      <showDrawer v="true" />
-      <drawerCaption>Campaign Period</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <title>Kampagnenzeitraum</title>
-      <fields>
-        <entityFieldLink>
-          <name>1cf03051-be32-4ff8-9788-6dbc024f086f</name>
-          <entityField>DATE_START</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a52607c9-da9c-4894-acc6-f31024510d6d</name>
-          <entityField>DATE_END</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>4ae0c7d5-8573-4e4d-a047-2944d82aebe0</name>
-      <entityField>CampaignStepsReadonly</entityField>
-      <view>CampaignStepParticipnatsPerStep_view</view>
-    </neonViewReference>
-    <genericViewTemplate>
-      <name>Description</name>
-      <showDrawer v="true" />
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <title>Beschreibung</title>
-      <fields>
-        <entityFieldLink>
-          <name>d7c993ff-9696-4de8-9ba5-fc7c92a1a22b</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <scoreCardViewTemplate>
-      <name>ScoreCard</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>df1b29fd-0d20-4be0-b6a3-785dadb8a35b</name>
-          <entityField>COST</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>53123640-7524-426a-bb5c-16dab64cef76</name>
-          <entityField>remainingRuntime</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b689668f-1d48-4ff1-95d9-2e217547c853</name>
-          <entityField>stepCount</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignPreview_view</name>
+  <title>Campaign</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:GROUP</icon>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+      <footer>ScoreCard</footer>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>#IMAGE</iconField>
+      <titleField>NAME</titleField>
+      <subtitleField>STATUS</subtitleField>
+      <descriptionField>EMPLOYEE_CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>TimespanGeneric</name>
+      <showDrawer v="true" />
+      <drawerCaption>Campaign Period</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <title>Kampagnenzeitraum</title>
+      <fields>
+        <entityFieldLink>
+          <name>1cf03051-be32-4ff8-9788-6dbc024f086f</name>
+          <entityField>DATE_START</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a52607c9-da9c-4894-acc6-f31024510d6d</name>
+          <entityField>DATE_END</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>4ae0c7d5-8573-4e4d-a047-2944d82aebe0</name>
+      <entityField>CampaignStepsReadonly</entityField>
+      <view>CampaignStepParticipnatsPerStep_view</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Description</name>
+      <showDrawer v="true" />
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <title>Beschreibung</title>
+      <fields>
+        <entityFieldLink>
+          <name>d7c993ff-9696-4de8-9ba5-fc7c92a1a22b</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <scoreCardViewTemplate>
+      <name>ScoreCard</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>df1b29fd-0d20-4be0-b6a3-785dadb8a35b</name>
+          <entityField>COST</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>53123640-7524-426a-bb5c-16dab64cef76</name>
+          <entityField>remainingRuntime</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b689668f-1d48-4ff1-95d9-2e217547c853</name>
+          <entityField>stepCount</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepAddParticipants_view/CampaignStepAddParticipants_view.aod b/neonView/CampaignStepAddParticipants_view/CampaignStepAddParticipants_view.aod
index 988f0cb63ac3c30f9249706112421624c4175067..018200e733a08dc87525e25f47be87e55f9d5249 100644
--- a/neonView/CampaignStepAddParticipants_view/CampaignStepAddParticipants_view.aod
+++ b/neonView/CampaignStepAddParticipants_view/CampaignStepAddParticipants_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignStepAddParticipants_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>CampaignAndStepSelectionGeneric</name>
-      <editMode v="true" />
-      <showDrawer v="false" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>038b2969-8fe9-469f-b823-e7f356b103cd</name>
-          <entityField>CAMPAIGN_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>62805d6e-3b77-4af3-b282-13720dd615df</name>
-          <entityField>CAMPAIGNSTEPID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6c1ec68e-64fd-4eaf-8d74-047e9a8703fa</name>
-          <entityField>ADDPARTICIPANTSMESSAGE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignStepAddParticipants_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>CampaignAndStepSelectionGeneric</name>
+      <editMode v="true" />
+      <showDrawer v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>038b2969-8fe9-469f-b823-e7f356b103cd</name>
+          <entityField>CAMPAIGN_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>62805d6e-3b77-4af3-b282-13720dd615df</name>
+          <entityField>CAMPAIGNSTEPID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6c1ec68e-64fd-4eaf-8d74-047e9a8703fa</name>
+          <entityField>ADDPARTICIPANTSMESSAGE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepAnalysis_view/CampaignStepAnalysis_view.aod b/neonView/CampaignStepAnalysis_view/CampaignStepAnalysis_view.aod
index 1d5a9c34dc195da52d32a5e9af8b747920cb45ee..88ab9c66af5b8681496beefd212e9981296a0ccf 100644
--- a/neonView/CampaignStepAnalysis_view/CampaignStepAnalysis_view.aod
+++ b/neonView/CampaignStepAnalysis_view/CampaignStepAnalysis_view.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignStepAnalysis_view</name>
-  <title>Auswertung</title>
-  <description>Charts als Ãœbersicht der Kosten des Kampagnenschrittes</description>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>54</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>79aa1ec7-815a-4494-9d1c-c8116ea8d952</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignStepAnalysis_view</name>
+  <title>Auswertung</title>
+  <description>Charts als Ãœbersicht der Kosten des Kampagnenschrittes</description>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>54</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>79aa1ec7-815a-4494-9d1c-c8116ea8d952</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
index 8a28ba66da04b305a7ebb7b592cf5c1fca840f22..95d644bcf631decdfb1ce86be555a3b1e15bf0d4 100644
--- a/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
+++ b/neonView/CampaignStepEdit_view/CampaignStepEdit_view.aod
@@ -1,62 +1,62 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignStepEdit_view</name>
-  <title>Neuer Kampagnenschritt</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>StepGeneric</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <title>New campaign step</title>
-      <fields>
-        <entityFieldLink>
-          <name>7b7f8cf2-9c60-4d4f-986f-a541ec559bf3</name>
-          <entityField>CAMPAIGN_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>db2e792a-b224-4c93-99ef-96c54c5c703f</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e16e3f66-7e80-4796-acca-6018e86e1b88</name>
-          <entityField>EMPLOYEE_CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ea21096b-5885-4f5e-8bd6-c45275b25036</name>
-          <entityField>DATE_START</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>95e538ba-686b-4791-87f0-cd569b8cb456</name>
-          <entityField>DATE_END</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>80c1df2f-2458-4e4c-a6da-9ce56b17bbf0</name>
-          <entityField>STATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>2447348f-4ed9-4b8c-8b0e-94e663fd781d</name>
-          <entityField>MAXPARTICIPANTS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>981cf207-6e9b-428e-bd81-0d76b4b2f180</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>568fd355-f13f-4b40-801e-614790091fc5</name>
-          <entityField>PREDECESSORSTEP_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>eff370e3-6805-46ad-ab7f-03d8a6392420</name>
-          <entityField>STEPMEDIUM</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignStepEdit_view</name>
+  <title>Neuer Kampagnenschritt</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>StepGeneric</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <title>New campaign step</title>
+      <fields>
+        <entityFieldLink>
+          <name>7b7f8cf2-9c60-4d4f-986f-a541ec559bf3</name>
+          <entityField>CAMPAIGN_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>db2e792a-b224-4c93-99ef-96c54c5c703f</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e16e3f66-7e80-4796-acca-6018e86e1b88</name>
+          <entityField>EMPLOYEE_CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ea21096b-5885-4f5e-8bd6-c45275b25036</name>
+          <entityField>DATE_START</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>95e538ba-686b-4791-87f0-cd569b8cb456</name>
+          <entityField>DATE_END</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2d851503-c699-44cc-9528-e3828aeb548f</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2447348f-4ed9-4b8c-8b0e-94e663fd781d</name>
+          <entityField>MAXPARTICIPANTS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>981cf207-6e9b-428e-bd81-0d76b4b2f180</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>568fd355-f13f-4b40-801e-614790091fc5</name>
+          <entityField>PREDECESSORSTEP_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>eff370e3-6805-46ad-ab7f-03d8a6392420</name>
+          <entityField>STEPMEDIUM</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod b/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
index d2f6d66110fe64c6c53a0fc886eb1760e1a21141..7f2a355e8a0b79e84e296b9072c8f78b22e41b67 100644
--- a/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
+++ b/neonView/CampaignStepFilter_view/CampaignStepFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignStepFilter_view</name>
   <title>Kampagnenschritte</title>
   <description></description>
@@ -14,9 +14,9 @@
     <tableViewTemplate>
       <name>StepsTable</name>
       <inlineEdit v="true" />
+      <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <isEditable v="true" />
-      <autoNewRow v="true" />
       <columns>
         <neonTableColumn>
           <name>5fea2adf-3005-4af0-b83a-a1c932f33a64</name>
@@ -48,7 +48,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>9fa9d9f4-5851-4125-ba59-09aa2fb07f89</name>
-          <entityField>STATE</entityField>
+          <entityField>STATUS</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>aa317ce2-058b-4956-9bbc-ce5477436e2d</name>
diff --git a/neonView/CampaignStepLookup_view/CampaignStepLookup_view.aod b/neonView/CampaignStepLookup_view/CampaignStepLookup_view.aod
index 64c052e0eb7ec35d2191ad82e3293be8851e71e3..b6e331db086495ea0eeb6204a02cde755993fc13 100644
--- a/neonView/CampaignStepLookup_view/CampaignStepLookup_view.aod
+++ b/neonView/CampaignStepLookup_view/CampaignStepLookup_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignStepLookup_view</name>
   <title>Kampagnenschritte</title>
   <description></description>
@@ -12,8 +12,8 @@
   <children>
     <tableViewTemplate>
       <name>StepsTable</name>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <title></title>
       <columns>
         <neonTableColumn>
@@ -43,7 +43,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>9fa9d9f4-5851-4125-ba59-09aa2fb07f89</name>
-          <entityField>STATE</entityField>
+          <entityField>STATUS</entityField>
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
diff --git a/neonView/CampaignStepMain_view/CampaignStepMain_view.aod b/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
index b20d1e30be0a43b54d914ed7866fae28b2d4138d..0f963078b5e4a412b84e2f722414fc4b9beeaa05 100644
--- a/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
+++ b/neonView/CampaignStepMain_view/CampaignStepMain_view.aod
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignStepMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>3dfd5e35-275b-412f-8729-2a59e3a2c025</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>3dfd5e35-275b-412f-8729-2a59e3a2c025</name>
-      <entityField>#ENTITY</entityField>
-      <view>CampaignStepPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>f1a098ae-1516-49bc-9982-8f96ec0dbe2b</name>
-      <entityField>CampaignParticipantsConsumer</entityField>
-      <view>CampaignParticipantFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>dd0cb348-669f-431a-ba71-65e9a651c922</name>
-      <entityField>#ENTITY</entityField>
-      <view>CampaignStepAnalysis_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a5a2f431-9c55-45d7-8765-100e2d5dbb81</name>
-      <entityField>CampaignStepCosts</entityField>
-      <view>CampaignCostExtendedFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>d99ab70c-2a08-408e-a665-1ef566c75650</name>
-      <entityField>Activities</entityField>
-      <view>ActivityFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>4fd5e3cc-0696-4fc4-877b-440c0b6c2472</name>
-      <entityField>Tasks</entityField>
-      <view>TaskFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignStepMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>3dfd5e35-275b-412f-8729-2a59e3a2c025</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>3dfd5e35-275b-412f-8729-2a59e3a2c025</name>
+      <entityField>#ENTITY</entityField>
+      <view>CampaignStepPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f1a098ae-1516-49bc-9982-8f96ec0dbe2b</name>
+      <entityField>CampaignParticipantsConsumer</entityField>
+      <view>CampaignParticipantFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>dd0cb348-669f-431a-ba71-65e9a651c922</name>
+      <entityField>#ENTITY</entityField>
+      <view>CampaignStepAnalysis_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a5a2f431-9c55-45d7-8765-100e2d5dbb81</name>
+      <entityField>CampaignStepCosts</entityField>
+      <view>CampaignCostExtendedFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>d99ab70c-2a08-408e-a665-1ef566c75650</name>
+      <entityField>Activities</entityField>
+      <view>ActivityFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>4fd5e3cc-0696-4fc4-877b-440c0b6c2472</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepMembers_view/CampaignStepMembers_view.aod b/neonView/CampaignStepMembers_view/CampaignStepMembers_view.aod
index ab5fdf05b541893a29ac5c8a85e22fc48d1c0bb9..d2d958865011ed5bbd3ad63187b66140b8f2986d 100644
--- a/neonView/CampaignStepMembers_view/CampaignStepMembers_view.aod
+++ b/neonView/CampaignStepMembers_view/CampaignStepMembers_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignStepMembers_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
 </neonView>
diff --git a/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod b/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod
index 74297deddc10c4fbc976750537d2f7f3ba761762..6d408e9dd5c4860956b9a9b9eb9022610acacc24 100644
--- a/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod
+++ b/neonView/CampaignStepParticipnatsPerStep_view/CampaignStepParticipnatsPerStep_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignStepParticipnatsPerStep_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod b/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
index 954ceb7e62276948b0af394d2ee7507a67ad086d..637f7bb35008b9f6e8d4c8728d8daca490942a02 100644
--- a/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
+++ b/neonView/CampaignStepPreview_view/CampaignStepPreview_view.aod
@@ -1,92 +1,92 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CampaignStepPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>CampaignStepCard</header>
-      <footer>KeyScoreInfos</footer>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>CampaignStepCard</name>
-      <iconField>#IMAGE</iconField>
-      <titleField>NAME</titleField>
-      <subtitleField>STATE</subtitleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>CampaignStepInfosGeneric</name>
-      <editMode v="false" />
-      <showDrawer v="true" />
-      <drawerCaption>Runtime</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>4cbf0232-1dab-47f9-b62a-b539d5035c53</name>
-          <entityField>DATE_START</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>677875bc-6b50-4dd8-b8bf-eba5c0e94c56</name>
-          <entityField>DATE_END</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Predecessor</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c5c7eff5-da6d-4664-9bdc-1cae9dcec461</name>
-          <entityField>PREDECESSORSTEP_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>CampaignId</name>
-      <editMode v="false" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>cee78c4b-bbac-458a-ab1c-53734ea8c7f0</name>
-          <entityField>CAMPAIGN_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0bffa6f8-cb18-47f8-a8f4-08cf9d718114</name>
-          <entityField>CampaignStatus</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Medium</name>
-      <editMode v="true" />
-      <showDrawer v="false" />
-      <drawerCaption></drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>723c67c3-d92e-424e-9350-3caa881a5ef0</name>
-          <entityField>STEPMEDIUM</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <scoreCardViewTemplate>
-      <name>KeyScoreInfos</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>0af45fb6-7ce8-493e-bdd8-17c4a06aa4f7</name>
-          <entityField>COST</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>dc39a199-a5c1-4a8e-81cc-a85bfca63a9f</name>
-          <entityField>CurrentMaxParticipantsInfo</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CampaignStepPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>CampaignStepCard</header>
+      <footer>KeyScoreInfos</footer>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>CampaignStepCard</name>
+      <iconField>#IMAGE</iconField>
+      <titleField>NAME</titleField>
+      <subtitleField>STATUS</subtitleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>CampaignStepInfosGeneric</name>
+      <editMode v="false" />
+      <showDrawer v="true" />
+      <drawerCaption>Runtime</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>4cbf0232-1dab-47f9-b62a-b539d5035c53</name>
+          <entityField>DATE_START</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>677875bc-6b50-4dd8-b8bf-eba5c0e94c56</name>
+          <entityField>DATE_END</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Predecessor</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c5c7eff5-da6d-4664-9bdc-1cae9dcec461</name>
+          <entityField>PREDECESSORSTEP_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>CampaignId</name>
+      <editMode v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>cee78c4b-bbac-458a-ab1c-53734ea8c7f0</name>
+          <entityField>CAMPAIGN_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0bffa6f8-cb18-47f8-a8f4-08cf9d718114</name>
+          <entityField>CampaignStatus</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Medium</name>
+      <editMode v="false" />
+      <showDrawer v="false" />
+      <drawerCaption></drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>723c67c3-d92e-424e-9350-3caa881a5ef0</name>
+          <entityField>STEPMEDIUM</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <scoreCardViewTemplate>
+      <name>KeyScoreInfos</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>0af45fb6-7ce8-493e-bdd8-17c4a06aa4f7</name>
+          <entityField>COST</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>dc39a199-a5c1-4a8e-81cc-a85bfca63a9f</name>
+          <entityField>CurrentMaxParticipantsInfo</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
index 50876f5dd023bc69466837446f364285378271f9..ae7e0a7ba249f551d14fbcb8f95da2e16c129fb2 100644
--- a/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
+++ b/neonView/CampaignStepsGantt_view/CampaignStepsGantt_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CampaignStepsGantt_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/ClassificationAdminEdit_view/ClassificationAdminEdit_view.aod b/neonView/ClassificationAdminEdit_view/ClassificationAdminEdit_view.aod
index 53328524303e9441160cc934d26ed485b6672964..a3372e8524ae1a22f3cef546a6c13283d8f82d47 100644
--- a/neonView/ClassificationAdminEdit_view/ClassificationAdminEdit_view.aod
+++ b/neonView/ClassificationAdminEdit_view/ClassificationAdminEdit_view.aod
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationAdminEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <autoHeight v="true" />
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>classification</name>
-      <editMode v="true" />
-      <showDrawer v="true" />
-      <drawerCaption>Classification</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c702f17c-af6c-4674-bbef-9586adfa3f3b</name>
-          <entityField>CLASSIFICATIONTYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>66ce2c02-1cd3-4867-91a6-825655d6d16a</name>
-          <entityField>CLASSIFICATIONGROUP</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>85cf625b-8ea4-4e6f-8b21-2e42314b46d6</name>
-          <entityField>SCORETYPE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>cedafb39-a59c-480f-aeff-e6276ea4fb9e</name>
-      <entityField>ClassificationScores</entityField>
-      <view>ClassificationScoreMultipleEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationAdminEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <autoHeight v="true" />
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>classification</name>
+      <editMode v="true" />
+      <showDrawer v="true" />
+      <drawerCaption>Classification</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c702f17c-af6c-4674-bbef-9586adfa3f3b</name>
+          <entityField>CLASSIFICATIONTYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>66ce2c02-1cd3-4867-91a6-825655d6d16a</name>
+          <entityField>CLASSIFICATIONGROUP</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>85cf625b-8ea4-4e6f-8b21-2e42314b46d6</name>
+          <entityField>SCORETYPE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>cedafb39-a59c-480f-aeff-e6276ea4fb9e</name>
+      <entityField>ClassificationScores</entityField>
+      <view>ClassificationScoreMultipleEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod b/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
index 7e6cf61319d5cc133f3f5c24a50b6ebac4806e27..a58acdb61e72e544f2585564ab38c346ddadb7fd 100644
--- a/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
+++ b/neonView/ClassificationAdminTree_view/ClassificationAdminTree_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationAdminTree_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>classificationTree</name>
-      <titleField>SCORETYPE</titleField>
-      <defaultGroupFields>
-        <element>CLASSIFICATIONTYPE</element>
-        <element>CLASSIFICATIONGROUP</element>
-      </defaultGroupFields>
-      <showChildrenCount v="false" />
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationAdminTree_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>classificationTree</name>
+      <titleField>SCORETYPE</titleField>
+      <defaultGroupFields>
+        <element>CLASSIFICATIONTYPE</element>
+        <element>CLASSIFICATIONGROUP</element>
+      </defaultGroupFields>
+      <showChildrenCount v="false" />
+      <entityField>#ENTITY</entityField>
+    </treeViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ClassificationChart_view/ClassificationChart_view.aod b/neonView/ClassificationChart_view/ClassificationChart_view.aod
index 048007391b3dabb4836b1f45fc65b1a2d4038967..9d9249462b7df9c1f2c459a86e65f72eb8f50dac 100644
--- a/neonView/ClassificationChart_view/ClassificationChart_view.aod
+++ b/neonView/ClassificationChart_view/ClassificationChart_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ClassificationChart_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod b/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod
index bf5c00139312d39c09ff953040f9051d947b06a4..90710b2efb2eb43c17638b311184718ef2291512 100644
--- a/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod
+++ b/neonView/ClassificationDrawer_view/ClassificationDrawer_view.aod
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Classification</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>ddde18ed-2617-4f7e-9a6b-71e4625e2cdc</name>
-      <entityField>#ENTITY</entityField>
-      <view>ClassificationTree_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Classification</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>ddde18ed-2617-4f7e-9a6b-71e4625e2cdc</name>
+      <entityField>#ENTITY</entityField>
+      <view>ClassificationTree_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ClassificationGroupAnalysesChart_view/ClassificationGroupAnalysesChart_view.aod b/neonView/ClassificationGroupAnalysesChart_view/ClassificationGroupAnalysesChart_view.aod
index 95f4188f0918981eca03fd55dd8280e47269dd27..fe6a231aa86e86a3970d109fef171aee79c61738 100644
--- a/neonView/ClassificationGroupAnalysesChart_view/ClassificationGroupAnalysesChart_view.aod
+++ b/neonView/ClassificationGroupAnalysesChart_view/ClassificationGroupAnalysesChart_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ClassificationGroupAnalysesChart_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ClassificationPreview_view/ClassificationPreview_view.aod b/neonView/ClassificationPreview_view/ClassificationPreview_view.aod
index c6695b0ad5550b72680ae0497bc33f93b1d83222..209d89765bc9f1213b54391dafc0b998d791e189 100644
--- a/neonView/ClassificationPreview_view/ClassificationPreview_view.aod
+++ b/neonView/ClassificationPreview_view/ClassificationPreview_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Info</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>51712a19-9a8c-4967-bd15-a448b5bffb77</name>
-          <entityField>CLASSNAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c3621e4e-53b0-4932-b943-e1c07fe16a24</name>
-          <entityField>POINTS</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>c6c26fdd-3812-495f-bd30-d3a6cdcd4eb0</name>
-      <entityField>SalesprojectClassificationEntries</entityField>
-      <view>SalesprojectClassificationEntryPreview_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Info</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>51712a19-9a8c-4967-bd15-a448b5bffb77</name>
+          <entityField>CLASSNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c3621e4e-53b0-4932-b943-e1c07fe16a24</name>
+          <entityField>POINTS</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>c6c26fdd-3812-495f-bd30-d3a6cdcd4eb0</name>
+      <entityField>SalesprojectClassificationEntries</entityField>
+      <view>SalesprojectClassificationEntryPreview_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod b/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
index d351bb3f94da8ce2600ca5a10f58afb076f00ad8..705ae9de21c6d87f26ca42f506b9ab079b34a5fa 100644
--- a/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
+++ b/neonView/ClassificationScoreMultipleEdit_view/ClassificationScoreMultipleEdit_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationScoreMultipleEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Possible Values</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>scores</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>7d49c1b4-3525-410c-92d2-b21a69fd8dec</name>
-          <entityField>TITLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>db21eec0-16c6-4267-a785-cb63f15e43b3</name>
-          <entityField>SCORE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>38641e7a-a8fe-4ad4-af63-efde73d66a9a</name>
-          <entityField>SORT</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationScoreMultipleEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Possible Values</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>scores</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>7d49c1b4-3525-410c-92d2-b21a69fd8dec</name>
+          <entityField>TITLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>db21eec0-16c6-4267-a785-cb63f15e43b3</name>
+          <entityField>SCORE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>38641e7a-a8fe-4ad4-af63-efde73d66a9a</name>
+          <entityField>SORT</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ClassificationScoreMultiplePreview_view/ClassificationScoreMultiplePreview_view.aod b/neonView/ClassificationScoreMultiplePreview_view/ClassificationScoreMultiplePreview_view.aod
index ad96eb917cf4fc648e67549ca213e0f9035dd427..cffb4cb5824dba9448a1eb9066924c4f1b94d27b 100644
--- a/neonView/ClassificationScoreMultiplePreview_view/ClassificationScoreMultiplePreview_view.aod
+++ b/neonView/ClassificationScoreMultiplePreview_view/ClassificationScoreMultiplePreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ClassificationScoreMultiplePreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="false" />
diff --git a/neonView/ClassificationTree_view/ClassificationTree_view.aod b/neonView/ClassificationTree_view/ClassificationTree_view.aod
index cc1d33e8d451be7c66c2ac7d3c0c4ec7e1f21efa..a3dfd9fad44925071639641cb994cdd8abd389df 100644
--- a/neonView/ClassificationTree_view/ClassificationTree_view.aod
+++ b/neonView/ClassificationTree_view/ClassificationTree_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificationTree_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <treeTableViewTemplate>
-      <name>ClassificationTreeTable</name>
-      <defaultGroupFields>
-        <element>CLASSIFICATIONGROUP</element>
-      </defaultGroupFields>
-      <hideActions v="true" />
-      <showChildrenCount v="false" />
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>246c0212-dadb-4d71-9567-ceab37e9ef10</name>
-          <entityField>SCORETYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9a62baa4-71cf-4b9d-8cd6-883b233a9b84</name>
-          <entityField>CLASSIFICATIONSCORE_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </treeTableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificationTree_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <treeTableViewTemplate>
+      <name>ClassificationTreeTable</name>
+      <defaultGroupFields>
+        <element>CLASSIFICATIONGROUP</element>
+      </defaultGroupFields>
+      <hideActions v="true" />
+      <showChildrenCount v="false" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>246c0212-dadb-4d71-9567-ceab37e9ef10</name>
+          <entityField>SCORETYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>9a62baa4-71cf-4b9d-8cd6-883b233a9b84</name>
+          <entityField>CLASSIFICATIONSCORE_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ClassificatonAdminPreview_view/ClassificatonAdminPreview_view.aod b/neonView/ClassificatonAdminPreview_view/ClassificatonAdminPreview_view.aod
index 3564f1f58cc7681e2aa65c9f20c04de81c4ecd81..797999aff39c4c6ec16c8b26d8bac344005a66b8 100644
--- a/neonView/ClassificatonAdminPreview_view/ClassificatonAdminPreview_view.aod
+++ b/neonView/ClassificatonAdminPreview_view/ClassificatonAdminPreview_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificatonAdminPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <autoHeight v="true" />
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>classification</name>
-      <showDrawer v="true" />
-      <drawerCaption>Classification</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>31662c73-7352-4eb2-889d-3f63bff25686</name>
-          <entityField>CLASSIFICATIONTYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7fddc4d4-6bdc-4c7a-9d69-bba4a9506707</name>
-          <entityField>CLASSIFICATIONGROUP</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>cb6e8f64-b2a4-4cc4-88b7-2f64f56b83dc</name>
-          <entityField>SCORETYPE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>214fbe22-378d-404e-99f8-f175e037f196</name>
-      <entityField>ClassificationScores</entityField>
-      <view>ClassificationScoreMultiplePreview_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificatonAdminPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <autoHeight v="true" />
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>classification</name>
+      <showDrawer v="true" />
+      <drawerCaption>Classification</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>31662c73-7352-4eb2-889d-3f63bff25686</name>
+          <entityField>CLASSIFICATIONTYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7fddc4d4-6bdc-4c7a-9d69-bba4a9506707</name>
+          <entityField>CLASSIFICATIONGROUP</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cb6e8f64-b2a4-4cc4-88b7-2f64f56b83dc</name>
+          <entityField>SCORETYPE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>214fbe22-378d-404e-99f8-f175e037f196</name>
+      <entityField>ClassificationScores</entityField>
+      <view>ClassificationScoreMultiplePreview_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ClassificatonPreview_view/ClassificatonPreview_view.aod b/neonView/ClassificatonPreview_view/ClassificatonPreview_view.aod
index 129c70f0c1413d082656f687ed6592fc768f6f4f..4b717a8dd06c6aa13c685bad5459ebfcc657ece1 100644
--- a/neonView/ClassificatonPreview_view/ClassificatonPreview_view.aod
+++ b/neonView/ClassificatonPreview_view/ClassificatonPreview_view.aod
@@ -1,37 +1,37 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ClassificatonPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <autoHeight v="true" />
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>classification</name>
-      <showDrawer v="true" />
-      <drawerCaption>Classification</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>dfdbc6f4-4859-495b-96e7-0853bdbc611f</name>
-          <entityField>CLASSIFICATIONSCORE_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>info</name>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-      <fields>
-        <entityFieldLink>
-          <name>2d1fae5e-1b2b-4e29-9bcb-646db9fd9653</name>
-          <entityField>Info</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ClassificatonPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <autoHeight v="true" />
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>classification</name>
+      <showDrawer v="true" />
+      <drawerCaption>Classification</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>dfdbc6f4-4859-495b-96e7-0853bdbc611f</name>
+          <entityField>CLASSIFICATIONSCORE_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>info</name>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+      <fields>
+        <entityFieldLink>
+          <name>2d1fae5e-1b2b-4e29-9bcb-646db9fd9653</name>
+          <entityField>Info</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommRestrictionDrawer_view/CommRestrictionDrawer_view.aod b/neonView/CommRestrictionDrawer_view/CommRestrictionDrawer_view.aod
index 613e5c7aa4bbe912193d28c49a833965a1be48eb..b4fc14a8478e8fdb03ff851774552be2ff970553 100644
--- a/neonView/CommRestrictionDrawer_view/CommRestrictionDrawer_view.aod
+++ b/neonView/CommRestrictionDrawer_view/CommRestrictionDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommRestrictionDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Advertising bans</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>fba5fb33-43d4-4885-84ed-9fe5cc367566</name>
-      <entityField>#ENTITY</entityField>
-      <view>CommRestrictionFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommRestrictionDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Advertising bans</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>fba5fb33-43d4-4885-84ed-9fe5cc367566</name>
+      <entityField>#ENTITY</entityField>
+      <view>CommRestrictionFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod b/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod
index 24de7ce4fbf7b428903a17047f86487df4bbb425..09d10de199ad6ebbcdcca8c639191cd3a6721ec7 100644
--- a/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod
+++ b/neonView/CommRestrictionFilter_view/CommRestrictionFilter_view.aod
@@ -1,42 +1,42 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommRestrictionFilter_view</name>
-  <title>Restrictions</title>
-  <description>Restrictions</description>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>CommRestrictions</name>
-      <entityField>#ENTITY</entityField>
-      <title>Restrictions</title>
-      <columns>
-        <neonTableColumn>
-          <name>3d47a693-e589-413c-8b0c-30399b074f14</name>
-          <entityField>ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f3d79ce8-2518-4515-9d9d-6642b763a045</name>
-          <entityField>MEDIUM</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b34ef3a6-ae5d-4610-bc29-0f6e1b6fe9c8</name>
-          <entityField>STARTDATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ddcf9043-75aa-4685-965e-7b0a9ab818b3</name>
-          <entityField>EMPLOYEE_INVOLVED</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>307fb85b-8626-4754-b6d1-a2f713856361</name>
-          <entityField>REASON</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommRestrictionFilter_view</name>
+  <title>Restrictions</title>
+  <description>Restrictions</description>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>CommRestrictions</name>
+      <entityField>#ENTITY</entityField>
+      <title>Restrictions</title>
+      <columns>
+        <neonTableColumn>
+          <name>3d47a693-e589-413c-8b0c-30399b074f14</name>
+          <entityField>ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f3d79ce8-2518-4515-9d9d-6642b763a045</name>
+          <entityField>MEDIUM</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b34ef3a6-ae5d-4610-bc29-0f6e1b6fe9c8</name>
+          <entityField>STARTDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ddcf9043-75aa-4685-965e-7b0a9ab818b3</name>
+          <entityField>EMPLOYEE_INVOLVED</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>307fb85b-8626-4754-b6d1-a2f713856361</name>
+          <entityField>REASON</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod b/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod
index e9990acb9b83de1dcc59b11b8cda78d7f36848b9..fd50cfa41af03d11ef9fe8e100c080601492cdb1 100644
--- a/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod
+++ b/neonView/CommRestrictionPreview_view/CommRestrictionPreview_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommRestrictionPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>ICON</iconField>
-      <titleField>MEDIUM</titleField>
-      <subtitleField>EMPLOYEE_INVOLVED</subtitleField>
-      <entityField>#ENTITY</entityField>
-      <informationField></informationField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="false" />
-      <drawerCaption></drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>d55f5122-0987-4c47-a586-9fa2fe6eb0ee</name>
-          <entityField>STARTDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>bd1adc73-5e86-4fed-aa4a-2436405cba09</name>
-          <entityField>REASON</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommRestrictionPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>ICON</iconField>
+      <titleField>MEDIUM</titleField>
+      <subtitleField>EMPLOYEE_INVOLVED</subtitleField>
+      <entityField>#ENTITY</entityField>
+      <informationField></informationField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="false" />
+      <drawerCaption></drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>d55f5122-0987-4c47-a586-9fa2fe6eb0ee</name>
+          <entityField>STARTDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>bd1adc73-5e86-4fed-aa4a-2436405cba09</name>
+          <entityField>REASON</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod b/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod
index ec3f3f60e2f71b6a728e92aaafb45523baf8c34e..727ba7514b080f21700c40e9290a7f505d191cea 100644
--- a/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod
+++ b/neonView/CommRestrictionSmallEdit_view/CommRestrictionSmallEdit_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommRestrictionSmallEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>fd6609a0-1437-4c2a-b3a5-69affe1c35c7</name>
-          <entityField>MEDIUM</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c1fbcb41-30c9-4221-b187-7abbb7bb9a88</name>
-          <entityField>STARTDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c0ad0471-85a8-40fa-82ce-61ea43678291</name>
-          <entityField>EMPLOYEE_INVOLVED</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c537286d-1ed5-44cf-99cd-d513f154169d</name>
-          <entityField>REASON</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommRestrictionSmallEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>fd6609a0-1437-4c2a-b3a5-69affe1c35c7</name>
+          <entityField>MEDIUM</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c1fbcb41-30c9-4221-b187-7abbb7bb9a88</name>
+          <entityField>STARTDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c0ad0471-85a8-40fa-82ce-61ea43678291</name>
+          <entityField>EMPLOYEE_INVOLVED</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c537286d-1ed5-44cf-99cd-d513f154169d</name>
+          <entityField>REASON</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommunicationEdit_view/CommunicationEdit_view.aod b/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
index 21b8cf54ef2118d0881ddfbcc3bc848d88d47032..1225816308d822fd99ff2e8d3c64bac7dc049266 100644
--- a/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
+++ b/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommunicationEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>baa7e569-6ee2-4c42-aaee-975d3cfb5977</name>
-          <entityField>MEDIUM_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6003ad0c-5e9d-4a56-a0a0-19f9a597a702</name>
-          <entityField>ADDR</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommunicationEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>baa7e569-6ee2-4c42-aaee-975d3cfb5977</name>
+          <entityField>MEDIUM_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6003ad0c-5e9d-4a56-a0a0-19f9a597a702</name>
+          <entityField>ADDR</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommunicationFilter_view/CommunicationFilter_view.aod b/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
index 95e878c1f74cfc81373d93684ec2aab62b5aaca1..9ed44e9aa87d789a6ef9b069c4c50e40bb925a93 100644
--- a/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
+++ b/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
@@ -1,27 +1,27 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommunicationFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Communications</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>8a7d17a8-e6b9-430e-90ea-4a50daa97cba</name>
-          <entityField>MEDIUM_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1f8b562b-142d-4fdc-82d0-2d0cc855cdd5</name>
-          <entityField>ADDR</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommunicationFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Communications</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>8a7d17a8-e6b9-430e-90ea-4a50daa97cba</name>
+          <entityField>MEDIUM_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1f8b562b-142d-4fdc-82d0-2d0cc855cdd5</name>
+          <entityField>ADDR</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CommunicationList_view/CommunicationList_view.aod b/neonView/CommunicationList_view/CommunicationList_view.aod
index 6c84467a0517097d20e6d7935b5e383cabb062bf..cfebd795d7942d1190744aa0d03d4ef3fd8fdb04 100644
--- a/neonView/CommunicationList_view/CommunicationList_view.aod
+++ b/neonView/CommunicationList_view/CommunicationList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>CommunicationList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod b/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
index 68d633623084f52676fef1bc3cb91ba15dbe1904..1d041929fa52e4bfe84702934384e9556f12e0e4 100644
--- a/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
+++ b/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CommunicationMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>b210222e-dfd3-4cec-bc2e-84b72aebb2b6</name>
-          <entityField>MEDIUM_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c20668f3-6722-4a38-86d6-0d29be06dbe1</name>
-          <entityField>ADDR</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CommunicationMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>b210222e-dfd3-4cec-bc2e-84b72aebb2b6</name>
+          <entityField>MEDIUM_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c20668f3-6722-4a38-86d6-0d29be06dbe1</name>
+          <entityField>ADDR</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
index 25d1fed0d9ade297137b539faca321823955b3c1..9e4a4ddcb70a4cabc28b691810d9eb29e573448c 100644
--- a/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
+++ b/neonView/CompetitionDrawer_view/CompetitionDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CompetitionDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Competitors</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>539e86b4-19da-4e25-a2fd-ee41cda09273</name>
-      <entityField>#ENTITY</entityField>
-      <view>CompetitionFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CompetitionDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Competitors</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>539e86b4-19da-4e25-a2fd-ee41cda09273</name>
+      <entityField>#ENTITY</entityField>
+      <view>CompetitionFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/CompetitionEdit_view/CompetitionEdit_view.aod b/neonView/CompetitionEdit_view/CompetitionEdit_view.aod
index 244b0fd00ef45090ed8cdebc794480ba390d65f8..aece184f0dddd39274df2ca01c0d1d4c3f1ef59d 100644
--- a/neonView/CompetitionEdit_view/CompetitionEdit_view.aod
+++ b/neonView/CompetitionEdit_view/CompetitionEdit_view.aod
@@ -1,56 +1,56 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CompetitionEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>8b4c3245-7b3a-4cd0-90f0-09631e2dbde8</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d6e1eaf9-3269-4350-a1a8-3f6517a167cf</name>
-          <entityField>PHASE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>cdbba6a7-59d1-4831-b098-98a82ad46444</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>256f0a57-5336-4877-a6d5-96c19f924047</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b0f6a089-a131-4148-acec-818779669d86</name>
-          <entityField>DATE_CANCELLED</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>087036b6-4b07-4f7e-90fe-b35c5ceb6dd9</name>
-          <entityField>REASON</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>cb795feb-20f0-48d8-a147-5edb6a911d19</name>
-          <entityField>PRICE_POLITICS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>755e1dc3-08f6-4a03-a572-3bb84ec73b05</name>
-          <entityField>STRENGTH</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e14f29e5-36ff-4740-ae72-854d713c3f8f</name>
-          <entityField>WEAKNESS</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CompetitionEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>8b4c3245-7b3a-4cd0-90f0-09631e2dbde8</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d6e1eaf9-3269-4350-a1a8-3f6517a167cf</name>
+          <entityField>PHASE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cdbba6a7-59d1-4831-b098-98a82ad46444</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>256f0a57-5336-4877-a6d5-96c19f924047</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b0f6a089-a131-4148-acec-818779669d86</name>
+          <entityField>DATE_CANCELLED</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>087036b6-4b07-4f7e-90fe-b35c5ceb6dd9</name>
+          <entityField>REASON</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cb795feb-20f0-48d8-a147-5edb6a911d19</name>
+          <entityField>PRICE_POLITICS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>755e1dc3-08f6-4a03-a572-3bb84ec73b05</name>
+          <entityField>STRENGTH</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e14f29e5-36ff-4740-ae72-854d713c3f8f</name>
+          <entityField>WEAKNESS</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CompetitionFilter_view/CompetitionFilter_view.aod b/neonView/CompetitionFilter_view/CompetitionFilter_view.aod
index 0312f3994247110f84cd9d0b67844ce453c175b2..002d8f84a7e442ce72e9672bdafefb7648defda5 100644
--- a/neonView/CompetitionFilter_view/CompetitionFilter_view.aod
+++ b/neonView/CompetitionFilter_view/CompetitionFilter_view.aod
@@ -1,52 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CompetitionFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Competitions</name>
-      <iconField>IMAGE</iconField>
-      <titleField>CONTACT_ID</titleField>
-      <subtitleField>STATUS</subtitleField>
-      <descriptionField>PHASE</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <autoNewRow v="true" />
-      <columns>
-        <neonTableColumn>
-          <name>dd971a3f-297e-4055-9961-77faea60236e</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>47821fb3-d178-4a54-9ec4-d78232e9b4de</name>
-          <entityField>CONTACT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>994c203b-f3df-4ea9-8c77-207c738e068a</name>
-          <entityField>PHASE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f2635d81-d079-486b-9b32-7980d36d2930</name>
-          <entityField>STATUS</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>785e5e08-9761-467b-864d-81ff5cc40729</name>
-          <entityField>DATE_CANCELLED</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>65daffc5-c8ba-46c0-baef-2ad105566941</name>
-          <entityField>REASON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>31bf73c0-fd3b-474b-bae5-cddfc0a16d65</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CompetitionFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Competitions</name>
+      <iconField>IMAGE</iconField>
+      <titleField>CONTACT_ID</titleField>
+      <subtitleField>STATUS</subtitleField>
+      <descriptionField>PHASE</descriptionField>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>dd971a3f-297e-4055-9961-77faea60236e</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>47821fb3-d178-4a54-9ec4-d78232e9b4de</name>
+          <entityField>CONTACT_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>994c203b-f3df-4ea9-8c77-207c738e068a</name>
+          <entityField>PHASE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f2635d81-d079-486b-9b32-7980d36d2930</name>
+          <entityField>STATUS</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>785e5e08-9761-467b-864d-81ff5cc40729</name>
+          <entityField>DATE_CANCELLED</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>65daffc5-c8ba-46c0-baef-2ad105566941</name>
+          <entityField>REASON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>31bf73c0-fd3b-474b-bae5-cddfc0a16d65</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CompetitionPreview_view/CompetitionPreview_view.aod b/neonView/CompetitionPreview_view/CompetitionPreview_view.aod
index 76ab0ea75d85921c0b9026cb3ce11abab3d67cda..7a01284196933be13af87b17debd3a458c385327 100644
--- a/neonView/CompetitionPreview_view/CompetitionPreview_view.aod
+++ b/neonView/CompetitionPreview_view/CompetitionPreview_view.aod
@@ -1,49 +1,49 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CompetitionPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>IMAGE</iconField>
-      <titleField>CONTACT_ID</titleField>
-      <descriptionField>INFO</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <drawerCaption>Details</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>b8f0210d-21fe-4ee8-9364-06f7369a0ef9</name>
-          <entityField>PHASE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>33d74022-ccf9-47e7-8e24-6a1cedb1274e</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0519da18-4079-422a-9b65-9ab6dff01f1a</name>
-          <entityField>DATE_CANCELLED</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1c73d653-0734-4fc7-9965-5b4f35288e02</name>
-          <entityField>REASON</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>a0ff837d-f2f8-4e14-8246-3acdd6653be0</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationPreviewList</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CompetitionPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>IMAGE</iconField>
+      <titleField>CONTACT_ID</titleField>
+      <descriptionField>INFO</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <drawerCaption>Details</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>b8f0210d-21fe-4ee8-9364-06f7369a0ef9</name>
+          <entityField>PHASE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>33d74022-ccf9-47e7-8e24-6a1cedb1274e</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0519da18-4079-422a-9b65-9ab6dff01f1a</name>
+          <entityField>DATE_CANCELLED</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1c73d653-0734-4fc7-9965-5b4f35288e02</name>
+          <entityField>REASON</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>a0ff837d-f2f8-4e14-8246-3acdd6653be0</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationPreviewList</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ContactEdit_view/ContactEdit_view.aod b/neonView/ContactEdit_view/ContactEdit_view.aod
index 87804b22391a2e98c37c4055abb1f60c1776f0b4..9eb6099fa1931c5f8ba2578562a9101383a2eddd 100644
--- a/neonView/ContactEdit_view/ContactEdit_view.aod
+++ b/neonView/ContactEdit_view/ContactEdit_view.aod
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ContactEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>35e8b7a8-30b0-4c6f-921d-c199158aa294</name>
-          <entityField>PERSON_TITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>40d2367e-c197-424c-8442-9b04c7369e3a</name>
-          <entityField>ORGANISATION_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>847e9231-d6df-4ead-903d-b70dbcd69333</name>
-          <entityField>DEPARTMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>74e712fb-595f-4f96-9ecb-bd6a99948dce</name>
-          <entityField>CONTACTROLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e7c57e62-ff21-4ccd-8458-55d2fcca7b97</name>
-          <entityField>POSITION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3028e060-b360-4584-96e6-4cf17ef94b07</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>2912698f-2123-4c4f-b277-b7aa16b1c5e0</name>
-      <entityField>Communications</entityField>
-      <view>CommunicationMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>3e90f469-405f-46e4-9fed-ce017dc0c222</name>
-      <entityField>ContactAddresses</entityField>
-      <view>AdressMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ContactEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>35e8b7a8-30b0-4c6f-921d-c199158aa294</name>
+          <entityField>PERSON_TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>40d2367e-c197-424c-8442-9b04c7369e3a</name>
+          <entityField>ORGANISATION_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>847e9231-d6df-4ead-903d-b70dbcd69333</name>
+          <entityField>DEPARTMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>74e712fb-595f-4f96-9ecb-bd6a99948dce</name>
+          <entityField>CONTACTROLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e7c57e62-ff21-4ccd-8458-55d2fcca7b97</name>
+          <entityField>POSITION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3028e060-b360-4584-96e6-4cf17ef94b07</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>2912698f-2123-4c4f-b277-b7aa16b1c5e0</name>
+      <entityField>Communications</entityField>
+      <view>CommunicationMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>3e90f469-405f-46e4-9fed-ce017dc0c222</name>
+      <entityField>ContactAddresses</entityField>
+      <view>AdressMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ContactList_view/ContactList_view.aod b/neonView/ContactList_view/ContactList_view.aod
index 4de98afe0450d5977cbe6fa1acd11aa8bfa44a72..5aa047e4afc7dea067e45a03a1b780e7ef0182b1 100644
--- a/neonView/ContactList_view/ContactList_view.aod
+++ b/neonView/ContactList_view/ContactList_view.aod
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ContactList_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Contacts</name>
-      <hideContentSearch v="true" />
-      <entityField>#ENTITY</entityField>
-      <isEditable v="false" />
-      <columns>
-        <neonTableColumn>
-          <name>ef71b5ad-8581-4845-ae66-7df17d1459e0</name>
-          <entityField>ORGANISATION_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a3f3a2b8-1f7a-4783-b080-1853df3d1613</name>
-          <entityField>CONTACTROLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a8f4283d-7a40-4ee9-ae34-e4d424a9342a</name>
-          <entityField>DEPARTMENT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>13b085a4-9ee7-418b-b3a9-acaf053c44f1</name>
-          <entityField>POSITION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1daa17e8-0e8d-4760-b229-651ae9a121d3</name>
-          <entityField>STATUS</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ContactList_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Contacts</name>
+      <hideContentSearch v="true" />
+      <entityField>#ENTITY</entityField>
+      <isEditable v="false" />
+      <columns>
+        <neonTableColumn>
+          <name>ef71b5ad-8581-4845-ae66-7df17d1459e0</name>
+          <entityField>ORGANISATION_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a3f3a2b8-1f7a-4783-b080-1853df3d1613</name>
+          <entityField>CONTACTROLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a8f4283d-7a40-4ee9-ae34-e4d424a9342a</name>
+          <entityField>DEPARTMENT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>13b085a4-9ee7-418b-b3a9-acaf053c44f1</name>
+          <entityField>POSITION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1daa17e8-0e8d-4760-b229-651ae9a121d3</name>
+          <entityField>STATUS</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ContractEdit_view/ContractEdit_view.aod b/neonView/ContractEdit_view/ContractEdit_view.aod
index 305051621158363a459290695f4bccb398ec38e1..fab7ead3e9325a00f094cac30c5c04b4bedd84fe 100644
--- a/neonView/ContractEdit_view/ContractEdit_view.aod
+++ b/neonView/ContractEdit_view/ContractEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ContractEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ContractFilter_view/ContractFilter_view.aod b/neonView/ContractFilter_view/ContractFilter_view.aod
index f9ffc609531044510cb621f55ee52db2df9283ad..f8809576951a467c00e7825be45fbc407c8bc36f 100644
--- a/neonView/ContractFilter_view/ContractFilter_view.aod
+++ b/neonView/ContractFilter_view/ContractFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ContractFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/ContractMain_view/ContractMain_view.aod b/neonView/ContractMain_view/ContractMain_view.aod
index 4cac7d6468bfde4a139feb873ee4f1592ca41b88..d1d09d06557e5d923eb1606171d78f7da97db26d 100644
--- a/neonView/ContractMain_view/ContractMain_view.aod
+++ b/neonView/ContractMain_view/ContractMain_view.aod
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ContractMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>50a9de9b-1b4d-4dbd-a2f0-51b376df5b55</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>50a9de9b-1b4d-4dbd-a2f0-51b376df5b55</name>
-      <entityField>#ENTITY</entityField>
-      <view>ContractPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>8c6be607-ccce-4ad7-8dba-875b24d821e7</name>
-      <entityField>Activities</entityField>
-      <view>ActivityFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>24fb8357-a6f7-425c-a579-a9251913c8d7</name>
-      <entityField>Tasks</entityField>
-      <view>TaskFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>1bf6faf5-9a22-4900-a497-54b6c225584b</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>940f0dca-aee3-4af6-ae50-9334964ce414</name>
-      <entityField>AttributeTree</entityField>
-      <view>AttributeRelationTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>fa15c239-7bf6-4ec6-8f62-49e83d7f2d2c</name>
-      <entityField>LogHistoryConsumer</entityField>
-      <view>LogHistoryFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ContractMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>50a9de9b-1b4d-4dbd-a2f0-51b376df5b55</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>50a9de9b-1b4d-4dbd-a2f0-51b376df5b55</name>
+      <entityField>#ENTITY</entityField>
+      <view>ContractPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>8c6be607-ccce-4ad7-8dba-875b24d821e7</name>
+      <entityField>Activities</entityField>
+      <view>ActivityFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>24fb8357-a6f7-425c-a579-a9251913c8d7</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>1bf6faf5-9a22-4900-a497-54b6c225584b</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>940f0dca-aee3-4af6-ae50-9334964ce414</name>
+      <entityField>AttributeTree</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>fa15c239-7bf6-4ec6-8f62-49e83d7f2d2c</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ContractPreview_view/ContractPreview_view.aod b/neonView/ContractPreview_view/ContractPreview_view.aod
index a286355326691c6a522cb28046eafed94fb0e90b..fea7eb5c3c0550ba2dcbd07a142a6b9b00e32cf4 100644
--- a/neonView/ContractPreview_view/ContractPreview_view.aod
+++ b/neonView/ContractPreview_view/ContractPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ContractPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/CountriesPreview_view/CountriesPreview_view.aod b/neonView/CountriesPreview_view/CountriesPreview_view.aod
index c2d913dc585d81a30e81569bde580971e53215d7..7f29f375c46f2179c98a85262b46068be4ce42c5 100644
--- a/neonView/CountriesPreview_view/CountriesPreview_view.aod
+++ b/neonView/CountriesPreview_view/CountriesPreview_view.aod
@@ -1,43 +1,43 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CountriesPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>FLAG</iconField>
-      <titleField>NAME_TRANSLATED</titleField>
-      <descriptionField>ISO2</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <editMode v="false" />
-      <showDrawer v="false" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>b1172810-a6f9-4dd7-b9fd-669333a04e0e</name>
-          <entityField>ISO2</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>33def870-bc1d-4ed8-85e5-80bbc70c8f45</name>
-          <entityField>ISO3</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f93ab4d2-26f0-4de5-9c8d-a2e2f985218e</name>
-          <entityField>NAME_ORIGIN</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>98128115-da62-4bfb-9ca3-9465a024f56c</name>
-          <entityField>NAME_TRANSLATED</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CountriesPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>FLAG</iconField>
+      <titleField>NAME_TRANSLATED</titleField>
+      <descriptionField>ISO2</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <editMode v="false" />
+      <showDrawer v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>b1172810-a6f9-4dd7-b9fd-669333a04e0e</name>
+          <entityField>ISO2</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>33def870-bc1d-4ed8-85e5-80bbc70c8f45</name>
+          <entityField>ISO3</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f93ab4d2-26f0-4de5-9c8d-a2e2f985218e</name>
+          <entityField>NAME_ORIGIN</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>98128115-da62-4bfb-9ca3-9465a024f56c</name>
+          <entityField>NAME_TRANSLATED</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/CountriesTable_view/CountriesTable_view.aod b/neonView/CountriesTable_view/CountriesTable_view.aod
index 8f8e935aeb265b1dcee0242946a6c2c4a86decab..11a8a88e0ec2c1a05749ba8e24ca8b34ea81c9a8 100644
--- a/neonView/CountriesTable_view/CountriesTable_view.aod
+++ b/neonView/CountriesTable_view/CountriesTable_view.aod
@@ -1,48 +1,48 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>CountriesTable_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Countries</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>34fb0f82-8052-418e-a1c7-2c538c7f74d4</name>
-          <entityField>FLAG</entityField>
-          <width v="50" />
-          <expandRatio v="0" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>fbe22eec-3856-4f6a-bf75-a7da6b32b1f0</name>
-          <entityField>ISO2</entityField>
-          <width v="50" />
-          <expandRatio v="0" />
-          <collapse v="true" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>00a6a60e-2d6f-44c2-bcf0-74545ec423b8</name>
-          <entityField>ISO3</entityField>
-          <width v="50" />
-          <expandRatio v="0" />
-          <collapse v="true" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0afbb69c-3ea1-4168-b581-bbc2540acf6d</name>
-          <entityField>NAME_ORIGIN</entityField>
-          <width v="200" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6120eed0-2d3c-4956-a9ba-d089f19e03ea</name>
-          <entityField>NAME_TRANSLATED</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>CountriesTable_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Countries</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>34fb0f82-8052-418e-a1c7-2c538c7f74d4</name>
+          <entityField>FLAG</entityField>
+          <width v="50" />
+          <expandRatio v="0" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>fbe22eec-3856-4f6a-bf75-a7da6b32b1f0</name>
+          <entityField>ISO2</entityField>
+          <width v="50" />
+          <expandRatio v="0" />
+          <collapse v="true" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>00a6a60e-2d6f-44c2-bcf0-74545ec423b8</name>
+          <entityField>ISO3</entityField>
+          <width v="50" />
+          <expandRatio v="0" />
+          <collapse v="true" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0afbb69c-3ea1-4168-b581-bbc2540acf6d</name>
+          <entityField>NAME_ORIGIN</entityField>
+          <width v="200" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6120eed0-2d3c-4956-a9ba-d089f19e03ea</name>
+          <entityField>NAME_TRANSLATED</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DSGVODrawer_view/DSGVODrawer_view.aod b/neonView/DSGVODrawer_view/DSGVODrawer_view.aod
index 4cbd306684c1fe78b6f0be6c71b876d568addce1..f496bc78bcd5659a8f48402b5abc50f8e7c8a924 100644
--- a/neonView/DSGVODrawer_view/DSGVODrawer_view.aod
+++ b/neonView/DSGVODrawer_view/DSGVODrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DSGVODrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Data privacy entries</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>61142c4e-e82d-451e-a491-9a71ac0ec5c0</name>
-      <entityField>#ENTITY</entityField>
-      <view>DSGVOFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DSGVODrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Data privacy entries</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>61142c4e-e82d-451e-a491-9a71ac0ec5c0</name>
+      <entityField>#ENTITY</entityField>
+      <view>DSGVOFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod
index f7dfd445c86ddd8752503796da75b6590c05cee1..d770c6d416195a1d10eb34266224168a363fdba3 100644
--- a/neonView/DSGVOEdit_view/DSGVOEdit_view.aod
+++ b/neonView/DSGVOEdit_view/DSGVOEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DSGVOEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/DSGVOFilter_view/DSGVOFilter_view.aod b/neonView/DSGVOFilter_view/DSGVOFilter_view.aod
index cbf7906a101dc094904b7b1d329b97a78491062e..0eca797bfdef74a2d4a56a3edafe163967bc54ee 100644
--- a/neonView/DSGVOFilter_view/DSGVOFilter_view.aod
+++ b/neonView/DSGVOFilter_view/DSGVOFilter_view.aod
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DSGVOFilter_view</name>
+  <title>Data Privacy</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
   <layout>
diff --git a/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod b/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod
index 990c3ea22a7de41dde152fc78236d03c7f606561..05c2c866faad6a080b68504dd3322ea2d0b05629 100644
--- a/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod
+++ b/neonView/DSGVOInfoEdit_view/DSGVOInfoEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DSGVOInfoEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/DSGVOPreviewAnonym_view/DSGVOPreviewAnonym_view.aod b/neonView/DSGVOPreviewAnonym_view/DSGVOPreviewAnonym_view.aod
index b390eb562804071c7e62edf838e08b37bea1601d..4b8b2571ed922bcf520e53c239ffbaf50ba134eb 100644
--- a/neonView/DSGVOPreviewAnonym_view/DSGVOPreviewAnonym_view.aod
+++ b/neonView/DSGVOPreviewAnonym_view/DSGVOPreviewAnonym_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DSGVOPreviewAnonym_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/DSGVOPreview_view/DSGVOPreview_view.aod b/neonView/DSGVOPreview_view/DSGVOPreview_view.aod
index 9613b8764a3760a9b31121ce8bbcc41067ddcd13..8f90a845cab4553cc7caecc4ea589f99519ce030 100644
--- a/neonView/DSGVOPreview_view/DSGVOPreview_view.aod
+++ b/neonView/DSGVOPreview_view/DSGVOPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DSGVOPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/DefaultAdminView_view/DefaultAdminView_view.aod b/neonView/DefaultAdminView_view/DefaultAdminView_view.aod
index 157109c00c4788f8d41428305e05987cbf8eb94e..85359638effded1dddcc902f9c320f5bec463763 100644
--- a/neonView/DefaultAdminView_view/DefaultAdminView_view.aod
+++ b/neonView/DefaultAdminView_view/DefaultAdminView_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DefaultAdminView_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/DefaultLookup_view/DefaultLookup_view.aod b/neonView/DefaultLookup_view/DefaultLookup_view.aod
index ace992440583670fe49d0c3119f7e791e8d7d654..d584bf1694a36a9de57406237ba109d57960accb 100644
--- a/neonView/DefaultLookup_view/DefaultLookup_view.aod
+++ b/neonView/DefaultLookup_view/DefaultLookup_view.aod
@@ -1,16 +1,16 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DefaultLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <listViewTemplate>
-      <name>DefaultList</name>
-      <entityField>#ENTITY</entityField>
-    </listViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DefaultLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <listViewTemplate>
+      <name>DefaultList</name>
+      <entityField>#ENTITY</entityField>
+    </listViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod b/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod
index 44fba1be91feaba1ce899969b851edad69e5ed85..7235fa18901f6afc1cefe16d8a7c342a49202850 100644
--- a/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod
+++ b/neonView/DescriptionTranslationEdit_view/DescriptionTranslationEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DescriptionTranslationEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod
index 043efc0bd39b67534eb63122bcf14f71c6a5e293..ba7532ceaa1b6035463333e10de5fee33cefe39d 100644
--- a/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod
+++ b/neonView/DescriptionTranslationFilter_view/DescriptionTranslationFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DescriptionTranslationFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod b/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod
index 439e733d6646895528b2d49ca5c8bbb3b29c015a..a521eaee129442c91d5b4ce5f516eb9a6d643877 100644
--- a/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod
+++ b/neonView/DescriptionTranslationPreview_view/DescriptionTranslationPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DescriptionTranslationPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/DocumentDrawer_view/DocumentDrawer_view.aod b/neonView/DocumentDrawer_view/DocumentDrawer_view.aod
index 147cf88d5a2c83708bbc1ebe09a36b6bf3727ec0..b30ff4943b0e8b85743e46593c123418dce66869 100644
--- a/neonView/DocumentDrawer_view/DocumentDrawer_view.aod
+++ b/neonView/DocumentDrawer_view/DocumentDrawer_view.aod
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Documents</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>10ff8c81-9280-4f65-856b-3fc9b56df818</name>
-      <entityField>#ENTITY</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Documents</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>10ff8c81-9280-4f65-856b-3fc9b56df818</name>
+      <entityField>#ENTITY</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/DocumentEdit_view/DocumentEdit_view.aod b/neonView/DocumentEdit_view/DocumentEdit_view.aod
index 5379b2e206ace4d99bf654ef5cf6760456983e0f..6edcc2fa339c571f629eca56b6055ef840c7a7f5 100644
--- a/neonView/DocumentEdit_view/DocumentEdit_view.aod
+++ b/neonView/DocumentEdit_view/DocumentEdit_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>7d74c495-1af7-4e00-8a78-5787e544e101</name>
-          <entityField>BINDATA_UPLOAD</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>91d96ac4-d838-4f92-90e7-954166b57288</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>253b8716-bdec-4e24-8540-7513d934693b</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d3265f22-18dd-468b-8316-6a11fab662c3</name>
-          <entityField>IS_MAIN_DOCUMENT</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>7d74c495-1af7-4e00-8a78-5787e544e101</name>
+          <entityField>BINDATA_UPLOAD</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>91d96ac4-d838-4f92-90e7-954166b57288</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>253b8716-bdec-4e24-8540-7513d934693b</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d3265f22-18dd-468b-8316-6a11fab662c3</name>
+          <entityField>IS_MAIN_DOCUMENT</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentFilter_view/DocumentFilter_view.aod b/neonView/DocumentFilter_view/DocumentFilter_view.aod
index b8e880df87c4a780eff737be96013366c4c1921f..58aab76281dab99c02c286bc9104913cb3a61e8d 100644
--- a/neonView/DocumentFilter_view/DocumentFilter_view.aod
+++ b/neonView/DocumentFilter_view/DocumentFilter_view.aod
@@ -1,52 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Documents</name>
-      <favoriteActionGroup1>Document_actions</favoriteActionGroup1>
-      <iconField>PREVIEW_IMAGE</iconField>
-      <titleField>NAME</titleField>
-      <subtitleField>TYPE</subtitleField>
-      <descriptionField>SIZE</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>1ecb7858-44ab-42de-abb8-d8c74afa30d0</name>
-          <entityField>NAME</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>455a5afa-82f0-42d0-aba4-46ff1196234f</name>
-          <entityField>TYPE</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>000be993-3d70-4511-add9-8590b4d3c8ef</name>
-          <entityField>SIZE</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a533d8a1-ae5e-434d-8254-415586af26ed</name>
-          <entityField>DATE_EDIT</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0f7279fa-612b-4f2b-90aa-9de8efd1d3fb</name>
-          <entityField>IS_MAIN_DOCUMENT</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Documents</name>
+      <favoriteActionGroup1>Document_actions</favoriteActionGroup1>
+      <iconField>PREVIEW_IMAGE</iconField>
+      <titleField>NAME</titleField>
+      <subtitleField>TYPE</subtitleField>
+      <descriptionField>SIZE</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>1ecb7858-44ab-42de-abb8-d8c74afa30d0</name>
+          <entityField>NAME</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>455a5afa-82f0-42d0-aba4-46ff1196234f</name>
+          <entityField>TYPE</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>000be993-3d70-4511-add9-8590b4d3c8ef</name>
+          <entityField>SIZE</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a533d8a1-ae5e-434d-8254-415586af26ed</name>
+          <entityField>DATE_EDIT</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0f7279fa-612b-4f2b-90aa-9de8efd1d3fb</name>
+          <entityField>IS_MAIN_DOCUMENT</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentList_view/DocumentList_view.aod b/neonView/DocumentList_view/DocumentList_view.aod
index 2c74f41abfaccacca16bccb71b1957e1471a0c6c..e19f105bd33f2e4e80617b054beef4ed3be5fc0a 100644
--- a/neonView/DocumentList_view/DocumentList_view.aod
+++ b/neonView/DocumentList_view/DocumentList_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentList_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Maindocuments</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <actionListViewTemplate>
-      <name>Actions</name>
-      <titleField>NAME</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <iconField>ICON</iconField>
-      <entryAction>downloadSingleFileAction</entryAction>
-      <entityField>#ENTITY</entityField>
-      <title>Documents</title>
-    </actionListViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentList_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Maindocuments</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <actionListViewTemplate>
+      <name>Actions</name>
+      <titleField>NAME</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <iconField>ICON</iconField>
+      <entryAction>downloadSingleFileAction</entryAction>
+      <entityField>#ENTITY</entityField>
+      <title>Documents</title>
+    </actionListViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentPreview_view/DocumentPreview_view.aod b/neonView/DocumentPreview_view/DocumentPreview_view.aod
index 3b0aef5d27cba6490563b7f2216452191a0e9bd0..b5b3dd21e8435d1346cffb94ec76e4fe973a7e5f 100644
--- a/neonView/DocumentPreview_view/DocumentPreview_view.aod
+++ b/neonView/DocumentPreview_view/DocumentPreview_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Head</name>
-      <iconField>PREVIEW_IMAGE</iconField>
-      <titleField>NAME</titleField>
-      <subtitleField>TYPE</subtitleField>
-      <descriptionField>SIZE</descriptionField>
-      <favoriteAction1>downloadSingleFileAction</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Details</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>85eba544-ca8f-40aa-ba01-9311f8861033</name>
-          <entityField>IS_MAIN_DOCUMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4a89e2f0-1b61-432f-9560-b5f171f7e06d</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Head</name>
+      <iconField>PREVIEW_IMAGE</iconField>
+      <titleField>NAME</titleField>
+      <subtitleField>TYPE</subtitleField>
+      <descriptionField>SIZE</descriptionField>
+      <favoriteAction1>downloadSingleFileAction</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Details</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>85eba544-ca8f-40aa-ba01-9311f8861033</name>
+          <entityField>IS_MAIN_DOCUMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>4a89e2f0-1b61-432f-9560-b5f171f7e06d</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
index ad738a576609563eb392edc278d57c7a74b8e725..18bd93259a91fa60dc8bcc49f008223c641a9664 100644
--- a/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
+++ b/neonView/DocumentTemplateEdit_view/DocumentTemplateEdit_view.aod
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentTemplateEdit_view</name>
-  <title>Document Template</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:FILE_FONT</icon>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Details</name>
-      <editMode v="true" />
-      <showDrawer v="false" />
-      <entityField>#ENTITY</entityField>
-      <title></title>
-      <fields>
-        <entityFieldLink>
-          <name>63388992-5b40-4f1e-a2be-aa35bedbfd2e</name>
-          <entityField>BINDATA</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5e68bfdb-b5c9-4ea0-8f5d-152e36262401</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e3940793-c511-4fb1-93e7-68fb9f614b32</name>
-          <entityField>TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>de86d66c-8281-4050-946b-a6b35bb01db8</name>
-          <entityField>CLASSIFICATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c25464a6-1111-4f9f-a834-92015c2d87bc</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>bf313ea8-821a-4693-8ba2-4246ad8a4f62</name>
-          <entityField>texText</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0fed8c5c-1be5-4599-938d-31241c4c9395</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>2e118acd-473a-4587-9945-a0ca59012f40</name>
-      <entityField>Links</entityField>
-      <view>DocumentTemplateLinkMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>8111a7d1-efc0-4588-a5a7-d798b0a8c7bb</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentTemplateEdit_view</name>
+  <title>Document Template</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:FILE_FONT</icon>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Details</name>
+      <editMode v="true" />
+      <showDrawer v="false" />
+      <entityField>#ENTITY</entityField>
+      <title></title>
+      <fields>
+        <entityFieldLink>
+          <name>63388992-5b40-4f1e-a2be-aa35bedbfd2e</name>
+          <entityField>BINDATA</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5e68bfdb-b5c9-4ea0-8f5d-152e36262401</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>50b5fd96-ef75-41a6-90e8-d928d5cbd6fd</name>
+          <entityField>KIND</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>de86d66c-8281-4050-946b-a6b35bb01db8</name>
+          <entityField>CLASSIFICATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>49d5c94c-f2ba-42a5-aab7-82fecc649dea</name>
+          <entityField>ISOLANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>bf313ea8-821a-4693-8ba2-4246ad8a4f62</name>
+          <entityField>texText</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0fed8c5c-1be5-4599-938d-31241c4c9395</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>2e118acd-473a-4587-9945-a0ca59012f40</name>
+      <entityField>Links</entityField>
+      <view>DocumentTemplateLinkMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>8111a7d1-efc0-4588-a5a7-d798b0a8c7bb</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/DocumentTemplateFilterSmall_view/DocumentTemplateFilterSmall_view.aod b/neonView/DocumentTemplateFilterSmall_view/DocumentTemplateFilterSmall_view.aod
index 3626b2055112bb805d70d6f31deccdaf1ef7507a..a7d619353a353c4515eb6cd90506bf29ce27c516 100644
--- a/neonView/DocumentTemplateFilterSmall_view/DocumentTemplateFilterSmall_view.aod
+++ b/neonView/DocumentTemplateFilterSmall_view/DocumentTemplateFilterSmall_view.aod
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentTemplateFilterSmall_view</name>
-  <title>Document Template</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Search</name>
-      <entityField>#ENTITY</entityField>
-      <title>Document Template</title>
-      <columns>
-        <neonTableColumn>
-          <name>4d73c680-ebf6-4225-a6b3-d30ad0082ef4</name>
-          <entityField>NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>cd4067b5-befe-459a-8a41-043eb884caff</name>
-          <entityField>LANGUAGE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentTemplateFilterSmall_view</name>
+  <title>Document Template</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Search</name>
+      <entityField>#ENTITY</entityField>
+      <title>Document Template</title>
+      <columns>
+        <neonTableColumn>
+          <name>4d73c680-ebf6-4225-a6b3-d30ad0082ef4</name>
+          <entityField>NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>cd4067b5-befe-459a-8a41-043eb884caff</name>
+          <entityField>ISOLANGUAGE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod b/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
index d55b29e18fd2fce54954a7d6ff8e24a0c83d0bfb..9a9e593a2f186b5e266e5483d307a3b1b2f332af 100644
--- a/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
+++ b/neonView/DocumentTemplateFilter_view/DocumentTemplateFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DocumentTemplateFilter_view</name>
   <title>Document Template</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -14,9 +14,9 @@
   <children>
     <treeTableViewTemplate>
       <name>SearchTree</name>
-      <parentField>TYPE</parentField>
+      <parentField>KIND</parentField>
       <defaultGroupFields>
-        <element>TYPE</element>
+        <element>KIND</element>
       </defaultGroupFields>
       <entityField>#ENTITY</entityField>
       <columns>
@@ -26,7 +26,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>f163cdaa-ed96-431a-a648-1823b2a8ded6</name>
-          <entityField>TYPE</entityField>
+          <entityField>KIND</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>7554151d-a099-4573-89c7-2f2b3070bff6</name>
@@ -34,7 +34,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>65c98ef0-a3cc-4153-a58d-db4776e33532</name>
-          <entityField>LANGUAGE</entityField>
+          <entityField>ISOLANGUAGE</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>0cb3d1b9-40af-4b0c-9fc0-14ab33e4967a</name>
diff --git a/neonView/DocumentTemplateLinkList_view/DocumentTemplateLinkList_view.aod b/neonView/DocumentTemplateLinkList_view/DocumentTemplateLinkList_view.aod
index 4195ff1ec8beefed2dcaa146a2feded9be1a835c..89ce11e69501341f68d3ea470db594194f1102b6 100644
--- a/neonView/DocumentTemplateLinkList_view/DocumentTemplateLinkList_view.aod
+++ b/neonView/DocumentTemplateLinkList_view/DocumentTemplateLinkList_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentTemplateLinkList_view</name>
-  <title>Attachments</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Attachments</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <actionListViewTemplate>
-      <name>ActionList</name>
-      <titleField>DOCUMENTTEMPLATE_ID_CHILD</titleField>
-      <descriptionField></descriptionField>
-      <iconField>ICON</iconField>
-      <entryAction>OpenDocument</entryAction>
-      <entityField>#ENTITY</entityField>
-      <title>Attachments</title>
-    </actionListViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentTemplateLinkList_view</name>
+  <title>Attachments</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Attachments</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <actionListViewTemplate>
+      <name>ActionList</name>
+      <titleField>DOCUMENTTEMPLATE_ID_CHILD</titleField>
+      <descriptionField></descriptionField>
+      <iconField>ICON</iconField>
+      <entryAction>OpenDocument</entryAction>
+      <entityField>#ENTITY</entityField>
+      <title>Attachments</title>
+    </actionListViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentTemplateLinkMultiEdit_view/DocumentTemplateLinkMultiEdit_view.aod b/neonView/DocumentTemplateLinkMultiEdit_view/DocumentTemplateLinkMultiEdit_view.aod
index df6a9f255f9fbe87b43403143a748014e494ddd8..514bf23d9cefba7a6ab3c95bd8fd1d03dc60c3d0 100644
--- a/neonView/DocumentTemplateLinkMultiEdit_view/DocumentTemplateLinkMultiEdit_view.aod
+++ b/neonView/DocumentTemplateLinkMultiEdit_view/DocumentTemplateLinkMultiEdit_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>DocumentTemplateLinkMultiEdit_view</name>
-  <title>Attachments</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>c379aae6-f79e-424c-b379-d7393e63bc4e</name>
-          <entityField>DOCUMENTTEMPLATE_ID_CHILD</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>DocumentTemplateLinkMultiEdit_view</name>
+  <title>Attachments</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>c379aae6-f79e-424c-b379-d7393e63bc4e</name>
+          <entityField>DOCUMENTTEMPLATE_ID_CHILD</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/DocumentTemplatePreview_view/DocumentTemplatePreview_view.aod b/neonView/DocumentTemplatePreview_view/DocumentTemplatePreview_view.aod
index b0c18503c24be6b00a512b6a6a6f9124c4f09f36..1c05831b09bd65f8631a61924b6b4e75b98f2b31 100644
--- a/neonView/DocumentTemplatePreview_view/DocumentTemplatePreview_view.aod
+++ b/neonView/DocumentTemplatePreview_view/DocumentTemplatePreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DocumentTemplatePreview_view</name>
   <title>Document Template</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -13,7 +13,7 @@
     <cardViewTemplate>
       <name>Card</name>
       <titleField>NAME</titleField>
-      <subtitleField>TYPE</subtitleField>
+      <subtitleField>KIND</subtitleField>
       <descriptionField>CLASSIFICATION</descriptionField>
       <entityField>#ENTITY</entityField>
       <title>Document Template</title>
diff --git a/neonView/DuplicateEdit_view/DuplicateEdit_view.aod b/neonView/DuplicateEdit_view/DuplicateEdit_view.aod
index f413f58f3dfd75061ec485ace94c66c4558d58ea..97f2d38ee36fc4145f71cdd64148447414943777 100644
--- a/neonView/DuplicateEdit_view/DuplicateEdit_view.aod
+++ b/neonView/DuplicateEdit_view/DuplicateEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DuplicateEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="false" />
diff --git a/neonView/DuplicateScanEdit_view/DuplicateScanEdit_view.aod b/neonView/DuplicateScanEdit_view/DuplicateScanEdit_view.aod
index 15941c27a9b20741e7829966f8cd716b9d4283ba..915d080318012f4d26122fafb4b5dba032ef66dc 100644
--- a/neonView/DuplicateScanEdit_view/DuplicateScanEdit_view.aod
+++ b/neonView/DuplicateScanEdit_view/DuplicateScanEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DuplicateScanEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/DuplicateScanFilter_view/DuplicateScanFilter_view.aod b/neonView/DuplicateScanFilter_view/DuplicateScanFilter_view.aod
index 2fd76a6a7d998c8dcae8eb9ce391740e70739e42..28724f129dd4db4cfd4a1a87d0955c7a78cdc917 100644
--- a/neonView/DuplicateScanFilter_view/DuplicateScanFilter_view.aod
+++ b/neonView/DuplicateScanFilter_view/DuplicateScanFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DuplicateScanFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/DuplicateScanPreview_view/DuplicateScanPreview_view.aod b/neonView/DuplicateScanPreview_view/DuplicateScanPreview_view.aod
index 363d42b115fd87a7eeee583583181f060bcdb753..e8e37d35af2650aff62544efb02cac69ad58af1f 100644
--- a/neonView/DuplicateScanPreview_view/DuplicateScanPreview_view.aod
+++ b/neonView/DuplicateScanPreview_view/DuplicateScanPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>DuplicateScanPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/EmailEdit_view/EmailEdit_view.aod b/neonView/EmailEdit_view/EmailEdit_view.aod
index cd8e000e993edf8e77e39739352fb51355c50e69..5e0296930ba444e2d699ef64f7a12eeaa0905c33 100644
--- a/neonView/EmailEdit_view/EmailEdit_view.aod
+++ b/neonView/EmailEdit_view/EmailEdit_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmailEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>bfcf8766-7e6d-4240-9cbd-54abfc5a1883</name>
-          <entityField>RECIPIENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>72441756-f00d-42a7-bd3f-a6f7964891bc</name>
-          <entityField>DOCUMENT_TEMPLATE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmailEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>bfcf8766-7e6d-4240-9cbd-54abfc5a1883</name>
+          <entityField>RECIPIENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>72441756-f00d-42a7-bd3f-a6f7964891bc</name>
+          <entityField>DOCUMENT_TEMPLATE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/EmployeeEdit_view/EmployeeEdit_view.aod b/neonView/EmployeeEdit_view/EmployeeEdit_view.aod
index b6c1c838d9e000f72fc61f0c7175f27f763487d9..35b078fa6edfca2fdcf66b2d08487f6076dbe7d7 100644
--- a/neonView/EmployeeEdit_view/EmployeeEdit_view.aod
+++ b/neonView/EmployeeEdit_view/EmployeeEdit_view.aod
@@ -1,69 +1,69 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeeEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>1925ef51-54a8-41e2-aa78-6d95d1ee4b99</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>9170856b-45c2-4d8a-864d-4db36bfe4a8c</name>
-          <entityField>ISACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7d36467f-8b79-4647-b8e5-5759bdbf37a7</name>
-          <entityField>FIRSTNAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>00a2dedb-67f5-4662-b053-bf841b30e365</name>
-          <entityField>LASTNAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>9c030b62-bf17-4be1-bcc6-87b304a618c0</name>
-          <entityField>TITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6155e6b7-ee2c-45b4-87f5-9e506ffc5775</name>
-          <entityField>EMAIL_ADDRESS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6abf045b-88f9-40c9-a009-f85538d6fe23</name>
-          <entityField>DEPARTMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8cffaf75-f2dc-42c5-95d7-1ce1e4927d8a</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4ad9c1aa-37a9-46f9-a566-94e5be5c2a7f</name>
-          <entityField>PASSWORD</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5381db3a-762d-439a-b41b-e4e67edc2099</name>
-          <entityField>CONFIRM_PASSWORD</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>af8112a3-78d3-436f-b665-ebce595a7c24</name>
-      <entityField>EmployeeRoles</entityField>
-      <view>EmployeeRoleEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>07e77840-e140-4ba0-ac09-d8e10e7d88a2</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>1925ef51-54a8-41e2-aa78-6d95d1ee4b99</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>9170856b-45c2-4d8a-864d-4db36bfe4a8c</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7d36467f-8b79-4647-b8e5-5759bdbf37a7</name>
+          <entityField>FIRSTNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>00a2dedb-67f5-4662-b053-bf841b30e365</name>
+          <entityField>LASTNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>9c030b62-bf17-4be1-bcc6-87b304a618c0</name>
+          <entityField>TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6155e6b7-ee2c-45b4-87f5-9e506ffc5775</name>
+          <entityField>EMAIL_ADDRESS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6abf045b-88f9-40c9-a009-f85538d6fe23</name>
+          <entityField>DEPARTMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8cffaf75-f2dc-42c5-95d7-1ce1e4927d8a</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>4ad9c1aa-37a9-46f9-a566-94e5be5c2a7f</name>
+          <entityField>PASSWORD</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5381db3a-762d-439a-b41b-e4e67edc2099</name>
+          <entityField>CONFIRM_PASSWORD</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>af8112a3-78d3-436f-b665-ebce595a7c24</name>
+      <entityField>EmployeeRoles</entityField>
+      <view>EmployeeRoleEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>07e77840-e140-4ba0-ac09-d8e10e7d88a2</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/EmployeeFilter_view/EmployeeFilter_view.aod b/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
index cfedcb3e10c32e38e91969d60988e842b68003e3..421579e94e2c6fa2b761cad33ec66099ea58d6ee 100644
--- a/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
+++ b/neonView/EmployeeFilter_view/EmployeeFilter_view.aod
@@ -1,59 +1,59 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeeFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Employees</name>
-      <iconField>IMAGE</iconField>
-      <titleField>NAME_fieldGroup</titleField>
-      <subtitleField>TITLE</subtitleField>
-      <descriptionField>EMAIL_ADDRESS</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>15185ef0-5402-43c4-b5c9-1e0e836ef1c3</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>3e3552f9-9591-45ae-a0bb-a85210c2b382</name>
-          <entityField>TITLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>307dfdad-a0b2-436f-b8a1-9825821dba0c</name>
-          <entityField>ISACTIVE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>18b974f1-81ea-4ca0-83bf-a1505f763446</name>
-          <entityField>FIRSTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>27c4199c-157a-4c3e-a851-01aa1d82dfd2</name>
-          <entityField>LASTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>dd2d35d1-b418-4ee5-ba37-85d22f574ee7</name>
-          <entityField>CONTACT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f14b2144-bfd4-4016-a6e8-e7a7c7668d6f</name>
-          <entityField>DEPARTMENT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>acf1037c-e198-4b2d-9c7f-a2438fa70089</name>
-          <entityField>EMAIL_ADDRESS</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>5acac530-7ff7-4fd1-ac48-4a9c441a8b13</name>
-          <entityField>DESCRIPTION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeeFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Employees</name>
+      <iconField>IMAGE</iconField>
+      <titleField>NAME_fieldGroup</titleField>
+      <subtitleField>TITLE</subtitleField>
+      <descriptionField>EMAIL_ADDRESS</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>15185ef0-5402-43c4-b5c9-1e0e836ef1c3</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>3e3552f9-9591-45ae-a0bb-a85210c2b382</name>
+          <entityField>TITLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>307dfdad-a0b2-436f-b8a1-9825821dba0c</name>
+          <entityField>ISACTIVE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>18b974f1-81ea-4ca0-83bf-a1505f763446</name>
+          <entityField>FIRSTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>27c4199c-157a-4c3e-a851-01aa1d82dfd2</name>
+          <entityField>LASTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>dd2d35d1-b418-4ee5-ba37-85d22f574ee7</name>
+          <entityField>CONTACT_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f14b2144-bfd4-4016-a6e8-e7a7c7668d6f</name>
+          <entityField>DEPARTMENT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>acf1037c-e198-4b2d-9c7f-a2438fa70089</name>
+          <entityField>EMAIL_ADDRESS</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>5acac530-7ff7-4fd1-ac48-4a9c441a8b13</name>
+          <entityField>DESCRIPTION</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/EmployeeLookup_view/EmployeeLookup_view.aod b/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
index 5a7bd7234fa8b505d54cf5800c7bbd121fa95037..b9f0e84df867d4fe2a194a991de1bb1df14fce28 100644
--- a/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
+++ b/neonView/EmployeeLookup_view/EmployeeLookup_view.aod
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeeLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>e37a558f-1936-4e23-aac5-11c23028c1d5</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b7eb1603-f9eb-46ae-8096-cfecaee359d5</name>
-          <entityField>FIRSTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>7c1a3e27-e7da-4e50-bef0-e987d9e1c4c8</name>
-          <entityField>LASTNAME</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeeLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>e37a558f-1936-4e23-aac5-11c23028c1d5</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b7eb1603-f9eb-46ae-8096-cfecaee359d5</name>
+          <entityField>FIRSTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7c1a3e27-e7da-4e50-bef0-e987d9e1c4c8</name>
+          <entityField>LASTNAME</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/EmployeeMain_view/EmployeeMain_view.aod b/neonView/EmployeeMain_view/EmployeeMain_view.aod
index 540dcb8de17ed3d9789dffeee31229519c8c2266..9e75dfd140aa1c5485ddcb758f84ba62b64c09c3 100644
--- a/neonView/EmployeeMain_view/EmployeeMain_view.aod
+++ b/neonView/EmployeeMain_view/EmployeeMain_view.aod
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeeMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>f9ae631b-48ad-4d7c-a3a1-6cb00230e5c7</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>f9ae631b-48ad-4d7c-a3a1-6cb00230e5c7</name>
-      <entityField>#ENTITY</entityField>
-      <view>EmployeePreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>79a01c28-1eaa-4974-babd-fb6e4d59471b</name>
-      <entityField>EmployeeRoles</entityField>
-      <view>EmployeeRoleFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>68e54801-e68f-4797-97d2-368b4b82a7e4</name>
-      <entityField>AttributeTree</entityField>
-      <view>AttributeRelationTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>169d3ae7-d688-42fd-9097-77bbd9bfb81f</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeeMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>f9ae631b-48ad-4d7c-a3a1-6cb00230e5c7</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>f9ae631b-48ad-4d7c-a3a1-6cb00230e5c7</name>
+      <entityField>#ENTITY</entityField>
+      <view>EmployeePreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>79a01c28-1eaa-4974-babd-fb6e4d59471b</name>
+      <entityField>EmployeeRoles</entityField>
+      <view>EmployeeRoleFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>68e54801-e68f-4797-97d2-368b4b82a7e4</name>
+      <entityField>AttributeTree</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>169d3ae7-d688-42fd-9097-77bbd9bfb81f</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/EmployeePassword_view/EmployeePassword_view.aod b/neonView/EmployeePassword_view/EmployeePassword_view.aod
index 0b4703f5f217db66452a41336612317320174629..1ed7829f89f536bb4a3bc83c7b47e5595500992b 100644
--- a/neonView/EmployeePassword_view/EmployeePassword_view.aod
+++ b/neonView/EmployeePassword_view/EmployeePassword_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeePassword_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Password</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>632294e8-f9ec-4bd1-afe4-87e3b5fc84c4</name>
-          <entityField>PASSWORD</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>66a7726a-c226-4d74-95a4-ea88950920bf</name>
-          <entityField>CONFIRM_PASSWORD</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeePassword_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Password</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>632294e8-f9ec-4bd1-afe4-87e3b5fc84c4</name>
+          <entityField>PASSWORD</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>66a7726a-c226-4d74-95a4-ea88950920bf</name>
+          <entityField>CONFIRM_PASSWORD</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/EmployeePreview_view/EmployeePreview_view.aod b/neonView/EmployeePreview_view/EmployeePreview_view.aod
index dd211a4a4d9abd37c866e3600aec45ce6ab5ef1a..5fcae1c40feedefb6d64f301557f5158079fa923 100644
--- a/neonView/EmployeePreview_view/EmployeePreview_view.aod
+++ b/neonView/EmployeePreview_view/EmployeePreview_view.aod
@@ -1,47 +1,47 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>EmployeePreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>IMAGE</iconField>
-      <titleField>NAME_fieldGroup</titleField>
-      <subtitleField>TITLE</subtitleField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>68755289-a351-4915-8626-52f023e237f8</name>
-          <entityField>ISACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a5f8b519-26d8-4824-b9cf-9119c03b1bd8</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0bda9209-1437-49eb-98b7-6edea9c6836a</name>
-          <entityField>DEPARTMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d9786e3d-5364-4075-a08d-0d4ea91c4728</name>
-          <entityField>EMAIL_ADDRESS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>79cd6a97-6caf-4acb-81af-028b94f33e8f</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>EmployeePreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>IMAGE</iconField>
+      <titleField>NAME_fieldGroup</titleField>
+      <subtitleField>TITLE</subtitleField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>68755289-a351-4915-8626-52f023e237f8</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a5f8b519-26d8-4824-b9cf-9119c03b1bd8</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0bda9209-1437-49eb-98b7-6edea9c6836a</name>
+          <entityField>DEPARTMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d9786e3d-5364-4075-a08d-0d4ea91c4728</name>
+          <entityField>EMAIL_ADDRESS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>79cd6a97-6caf-4acb-81af-028b94f33e8f</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod b/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
index 85b3dee4acf69d91dd6d2459d301f6916fef4d62..586529a69f2d583f1c45bd848d2d79cfbc78e959 100644
--- a/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
+++ b/neonView/EmployeeRoleEdit_view/EmployeeRoleEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>EmployeeRoleEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/EmployeeRoleFilter_view/EmployeeRoleFilter_view.aod b/neonView/EmployeeRoleFilter_view/EmployeeRoleFilter_view.aod
index 6d4701c12f4572be1d59097a376f5ef67eecbb62..519646c2f348118991e7a9be370a65bdf2fb13be 100644
--- a/neonView/EmployeeRoleFilter_view/EmployeeRoleFilter_view.aod
+++ b/neonView/EmployeeRoleFilter_view/EmployeeRoleFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>EmployeeRoleFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -11,8 +11,8 @@
     <tableViewTemplate>
       <name>Table</name>
       <inlineEdit v="true" />
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>ab1c8d39-fc29-42e8-8b8e-3557d544b272</name>
diff --git a/neonView/FacebookTimeline_view/FacebookTimeline_view.aod b/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
index 5a85a8d9298ee07abf0185b837cffb146d67142c..3ff241f4d71f3a49858dce7fb0b14b03f1c63046 100644
--- a/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
+++ b/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
@@ -1,68 +1,68 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>FacebookTimeline_view</name>
-  <title>Facebook</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AditoFacebookDashlet</name>
-      <title>ADITO Facebook Feed</title>
-      <description>Show all Facebook posts of ADITO</description>
-      <fragment>Social/full</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:facebook_square</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>social</name>
-          <title>Social Media</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>facebook</name>
-          <title>Facebook</title>
-        </neonDashletCategory>
-      </categories>
-      <parameters>
-        <neonDashletParameter>
-          <name>Account_param</name>
-          <value>adito.crm</value>
-        </neonDashletParameter>
-      </parameters>
-    </neonDashletConfiguration>
-    <neonDashletConfiguration>
-      <name>FacebookDashletConfig</name>
-      <title>Facebook Feed</title>
-      <description>Show all Facebook posts of a user</description>
-      <fragment>Social/full</fragment>
-      <requiresConfiguration v="true" />
-      <icon>vaadin:facebook_square</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>social</name>
-          <title>Social Media</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>facebook</name>
-          <title>Facebook</title>
-        </neonDashletCategory>
-      </categories>
-      <parameters>
-        <neonDashletParameter>
-          <name>Account_param</name>
-          <value></value>
-        </neonDashletParameter>
-      </parameters>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <webContentViewTemplate>
-      <name>Timeline</name>
-      <entityField>FACEBOOK_TIMELINE</entityField>
-    </webContentViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>FacebookTimeline_view</name>
+  <title>Facebook</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AditoFacebookDashlet</name>
+      <title>ADITO Facebook Feed</title>
+      <description>Show all Facebook posts of ADITO</description>
+      <fragment>Social/full</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:facebook_square</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>social</name>
+          <title>Social Media</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>facebook</name>
+          <title>Facebook</title>
+        </neonDashletCategory>
+      </categories>
+      <parameters>
+        <neonDashletParameter>
+          <name>Account_param</name>
+          <value>adito.crm</value>
+        </neonDashletParameter>
+      </parameters>
+    </neonDashletConfiguration>
+    <neonDashletConfiguration>
+      <name>FacebookDashletConfig</name>
+      <title>Facebook Feed</title>
+      <description>Show all Facebook posts of a user</description>
+      <fragment>Social/full</fragment>
+      <requiresConfiguration v="true" />
+      <icon>vaadin:facebook_square</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>social</name>
+          <title>Social Media</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>facebook</name>
+          <title>Facebook</title>
+        </neonDashletCategory>
+      </categories>
+      <parameters>
+        <neonDashletParameter>
+          <name>Account_param</name>
+          <value></value>
+        </neonDashletParameter>
+      </parameters>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <webContentViewTemplate>
+      <name>Timeline</name>
+      <entityField>FACEBOOK_TIMELINE</entityField>
+    </webContentViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ForecastDrawer_view/ForecastDrawer_view.aod b/neonView/ForecastDrawer_view/ForecastDrawer_view.aod
index c6b7af5d814bd26d1f64e0644e23b339f67d9a98..1b0b5440b7adf39395a3b6d3da74b2e4a324fa3c 100644
--- a/neonView/ForecastDrawer_view/ForecastDrawer_view.aod
+++ b/neonView/ForecastDrawer_view/ForecastDrawer_view.aod
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ForecastDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Forecast</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>2d256ab5-1496-437a-abcb-20900cf3cc37</name>
-      <entityField>#ENTITY</entityField>
-      <view>ForecastFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ForecastDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Forecast</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>2d256ab5-1496-437a-abcb-20900cf3cc37</name>
+      <entityField>#ENTITY</entityField>
+      <view>ForecastFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/ForecastEdit_view/ForecastEdit_view.aod b/neonView/ForecastEdit_view/ForecastEdit_view.aod
index 3a70c55d767e5edce33846c5e36373b1bcfc1684..652cb3db1fc8ce3a09b3388d4d566182e8b1a005 100644
--- a/neonView/ForecastEdit_view/ForecastEdit_view.aod
+++ b/neonView/ForecastEdit_view/ForecastEdit_view.aod
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ForecastEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>8c7e16f6-222d-4f8a-9cc6-74de1a0ee481</name>
-          <entityField>GROUPCODE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fefae7ed-072c-4c48-92fd-d3fa6ccd0711</name>
-          <entityField>DATE_START</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7bf22970-1a62-4d8f-b40a-b2d4e5fc4dd8</name>
-          <entityField>VOLUME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f5e95dd2-c853-48be-ad18-e5fdbe714873</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>382caf7e-d3db-4bac-af99-a95d62504da7</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ForecastEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>8c7e16f6-222d-4f8a-9cc6-74de1a0ee481</name>
+          <entityField>GROUPCODE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fefae7ed-072c-4c48-92fd-d3fa6ccd0711</name>
+          <entityField>DATE_START</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7bf22970-1a62-4d8f-b40a-b2d4e5fc4dd8</name>
+          <entityField>VOLUME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f5e95dd2-c853-48be-ad18-e5fdbe714873</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>382caf7e-d3db-4bac-af99-a95d62504da7</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ForecastFilter_view/ForecastFilter_view.aod b/neonView/ForecastFilter_view/ForecastFilter_view.aod
index 3021e134325d90f2fbc58f619f7bf81820bad79d..e4d758a5e81dbb55e9374567c72ec269181f9b8a 100644
--- a/neonView/ForecastFilter_view/ForecastFilter_view.aod
+++ b/neonView/ForecastFilter_view/ForecastFilter_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ForecastFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Forecasts</name>
-      <iconField>#ICON</iconField>
-      <titleField>GROUPCODE</titleField>
-      <subtitleField>VOLUME</subtitleField>
-      <descriptionField>TYPE</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>323f26d7-4ac2-4ff9-91d1-7459cc7e3469</name>
-          <entityField>GROUPCODE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c5422952-0a36-4963-a755-d513b4c8b23f</name>
-          <entityField>DATE_START</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>24ecfbc3-5f8a-4ce1-b21b-663385845ff6</name>
-          <entityField>VOLUME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>305d0254-a1ea-4733-87a7-a4d85fc78b7e</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ForecastFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Forecasts</name>
+      <iconField>#ICON</iconField>
+      <titleField>GROUPCODE</titleField>
+      <subtitleField>VOLUME</subtitleField>
+      <descriptionField>TYPE</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>323f26d7-4ac2-4ff9-91d1-7459cc7e3469</name>
+          <entityField>GROUPCODE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c5422952-0a36-4963-a755-d513b4c8b23f</name>
+          <entityField>DATE_START</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>24ecfbc3-5f8a-4ce1-b21b-663385845ff6</name>
+          <entityField>VOLUME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>305d0254-a1ea-4733-87a7-a4d85fc78b7e</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ForecastPreview_view/ForecastPreview_view.aod b/neonView/ForecastPreview_view/ForecastPreview_view.aod
index 15dd0b69ad006af106d3ecc1b99c97559e07ee96..2f6c92108ebfe6405801aee28c9d13c5c6d60a4a 100644
--- a/neonView/ForecastPreview_view/ForecastPreview_view.aod
+++ b/neonView/ForecastPreview_view/ForecastPreview_view.aod
@@ -1,51 +1,51 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ForecastPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <titleField>GROUPCODE</titleField>
-      <descriptionField>DATE_START</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Detail</name>
-      <showDrawer v="true" />
-      <drawerCaption>Details</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>796d2325-8684-4723-b376-262074268f4c</name>
-          <entityField>VOLUME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7261d58e-7534-4877-b5cd-f05201823711</name>
-          <entityField>OBJECT_TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>af76713a-9f84-4f5c-965f-eba5c5ca3abc</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <drawerCaption>Description</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c2c10cf6-0ae8-4895-8160-766a845b5d17</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ForecastPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <titleField>GROUPCODE</titleField>
+      <descriptionField>DATE_START</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Detail</name>
+      <showDrawer v="true" />
+      <drawerCaption>Details</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>796d2325-8684-4723-b376-262074268f4c</name>
+          <entityField>VOLUME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7261d58e-7534-4877-b5cd-f05201823711</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>af76713a-9f84-4f5c-965f-eba5c5ca3abc</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <drawerCaption>Description</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c2c10cf6-0ae8-4895-8160-766a845b5d17</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/IndexSearchView/IndexSearchView.aod b/neonView/IndexSearchView/IndexSearchView.aod
index af3752d7ebb8427027337664be5b2836baf1563f..8b6e7d2403cbe2a65d83667c15ac9350208b0e8b 100644
--- a/neonView/IndexSearchView/IndexSearchView.aod
+++ b/neonView/IndexSearchView/IndexSearchView.aod
@@ -1,32 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>IndexSearchView</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>IndexSearchDashlet</name>
-      <title>Indexsearch</title>
-      <fragment>IndexSearchContext/full</fragment>
-      <storeRoles />
-      <icon>VAADIN:SEARCH</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>indexsearch</name>
-          <title>Indexsearch</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <indexSearchViewTemplate>
-      <name>IndexSearchTemplate</name>
-      <entityField>INDEXSEARCHFIELD</entityField>
-      <title></title>
-    </indexSearchViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>IndexSearchView</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>IndexSearchDashlet</name>
+      <title>Indexsearch</title>
+      <description>Possibility to search for terms</description>
+      <fragment>IndexSearchContext/full</fragment>
+      <storeRoles />
+      <icon>VAADIN:SEARCH</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>indexsearch</name>
+          <title>Indexsearch</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <indexSearchViewTemplate>
+      <name>IndexSearchTemplate</name>
+      <entityField>INDEXSEARCHFIELD</entityField>
+      <title></title>
+    </indexSearchViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod b/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
index 729d4013d6616185f87f1942e960acbe00aa7467..02a426be0a5eaf1ad6cd59a7c39f4db289e18b63 100644
--- a/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
+++ b/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordAttributeEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>88fcd6c8-8dfc-4a1d-96d9-33412768feb9</name>
-          <entityField>CONTAINER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4e120b1d-1016-41a1-abe7-9d28f8053380</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>245c3f6f-3874-46d6-a24d-72cb9abb2e16</name>
-          <entityField>TYPE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordAttributeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>88fcd6c8-8dfc-4a1d-96d9-33412768feb9</name>
+          <entityField>CONTAINER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>4e120b1d-1016-41a1-abe7-9d28f8053380</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>245c3f6f-3874-46d6-a24d-72cb9abb2e16</name>
+          <entityField>TYPE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
index 506a3df8165d9c4cbe1ef5f8c2bc550f17caae6b..e7e3fd49469f54bb81093c5eca8f6b72dfbc94e6 100644
--- a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
+++ b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordAttributeFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Attributes</name>
-      <titleField>NAME</titleField>
-      <subtitleField>CONTAINER</subtitleField>
-      <descriptionField>TYPE</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <autoNewRow v="true" />
-      <columns>
-        <neonTableColumn>
-          <name>94fdd272-46f0-415e-aff8-76789a215921</name>
-          <entityField>#ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>7efe2ae9-8b76-439f-95cb-547f7dec9057</name>
-          <entityField>CONTAINER</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>682fd08f-b121-469c-b86e-afdf013dbc7b</name>
-          <entityField>NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>8d142e4d-c15d-409a-9a2c-251192e3e98e</name>
-          <entityField>TYPE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordAttributeFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Attributes</name>
+      <titleField>NAME</titleField>
+      <subtitleField>CONTAINER</subtitleField>
+      <descriptionField>TYPE</descriptionField>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>94fdd272-46f0-415e-aff8-76789a215921</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7efe2ae9-8b76-439f-95cb-547f7dec9057</name>
+          <entityField>CONTAINER</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>682fd08f-b121-469c-b86e-afdf013dbc7b</name>
+          <entityField>NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>8d142e4d-c15d-409a-9a2c-251192e3e98e</name>
+          <entityField>TYPE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod b/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
index 7aa4b59a15df35c82cde285f6b5bb3fd05b3b4c9..a7e57aded0debb62f153e6622346c45dad612e37 100644
--- a/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
+++ b/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>KeywordAttributeRelationRows_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="false" />
@@ -12,8 +12,8 @@
     <tableViewTemplate>
       <name>Relations</name>
       <inlineEdit v="true" />
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>f0eec86d-a223-4208-9e9d-6a6bda1969c8</name>
diff --git a/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod b/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
index 470f1f193c930b75a48dd927379475e3a4dffa1d..989a2b619b68274e09270a54382fdad3d67c68ad 100644
--- a/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
+++ b/neonView/KeywordAttriubteRelationTitled_view/KeywordAttriubteRelationTitled_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>KeywordAttriubteRelationTitled_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
index cc854e71df72b620f16fcb30b6c29d21bcc51488..7bced9fe8356c499440b72ae5bc3474c7e4c8a35 100644
--- a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
+++ b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordEntryEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>236c9d71-a619-47b5-b5a0-8d4e5bc45903</name>
-          <entityField>CONTAINER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f7f66b08-521c-46bf-b6e9-3c3f130648bc</name>
-          <entityField>TITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3fb4b999-853a-407e-b928-8f5e633c1dc5</name>
-          <entityField>ISACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fc93fdff-860e-4593-8355-9c2677877964</name>
-          <entityField>KEYID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordEntryEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>236c9d71-a619-47b5-b5a0-8d4e5bc45903</name>
+          <entityField>CONTAINER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f7f66b08-521c-46bf-b6e9-3c3f130648bc</name>
+          <entityField>TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3fb4b999-853a-407e-b928-8f5e633c1dc5</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fc93fdff-860e-4593-8355-9c2677877964</name>
+          <entityField>KEYID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
index 42ce96c036bb893eb6e2785ccdb8e59908ba0752..e5c7a8248303559a27683d6eae98d238a7ec7384 100644
--- a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
+++ b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>KeywordEntryFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod b/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod
index 4748a8aa330c6b693b228cbac8b223bcf32cb8ab..ba521d29a3bd0a5fd1c27d972ffa3e69c0095ad9 100644
--- a/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod
+++ b/neonView/KeywordEntryMainSide_view/KeywordEntryMainSide_view.aod
@@ -1,37 +1,37 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordEntryMainSide_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <titleField>TITLE</titleField>
-      <subtitleField>CONTAINER</subtitleField>
-      <descriptionField>KEYID</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>12e16874-32ee-47d7-b9d7-acaa32ca0402</name>
-          <entityField>ISACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>74f8f491-43e2-4de5-b1c6-c83055b4ffa1</name>
-          <entityField>ISESSENTIAL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5608493f-90b5-4baf-9114-63cb6a2e85bf</name>
-          <entityField>SORTING</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordEntryMainSide_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <titleField>TITLE</titleField>
+      <subtitleField>CONTAINER</subtitleField>
+      <descriptionField>KEYID</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>12e16874-32ee-47d7-b9d7-acaa32ca0402</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>74f8f491-43e2-4de5-b1c6-c83055b4ffa1</name>
+          <entityField>ISESSENTIAL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5608493f-90b5-4baf-9114-63cb6a2e85bf</name>
+          <entityField>SORTING</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod b/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
index 462bdd5f5abd831bac793c0b989376171c410686..b69aaabd14c5ec792cc4d698b6f2413432182448 100644
--- a/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
+++ b/neonView/KeywordEntryMain_view/KeywordEntryMain_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordEntryMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>267eb426-08d6-4699-9b9f-743c9c071463</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>267eb426-08d6-4699-9b9f-743c9c071463</name>
-      <entityField>#ENTITY</entityField>
-      <view>KeywordEntryMainSide_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e722eb4b-5737-4801-b6e4-550fca43963a</name>
-      <entityField>KeywordAttributeRelations</entityField>
-      <view>KeywordAttributeRelationRows_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordEntryMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>267eb426-08d6-4699-9b9f-743c9c071463</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>267eb426-08d6-4699-9b9f-743c9c071463</name>
+      <entityField>#ENTITY</entityField>
+      <view>KeywordEntryMainSide_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>e722eb4b-5737-4801-b6e4-550fca43963a</name>
+      <entityField>KeywordAttributeRelations</entityField>
+      <view>KeywordAttributeRelationRows_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
index c69424ff7cfa78592ebf50d5d5088022fecfee25..d37f7f0daca3b999173c7031e7da6278adb5d688 100644
--- a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
+++ b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
@@ -1,45 +1,45 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>KeywordEntryPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <titleField>TITLE</titleField>
-      <subtitleField>CONTAINER</subtitleField>
-      <descriptionField>KEYID</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <title></title>
-      <fields>
-        <entityFieldLink>
-          <name>8455ebce-3bc2-4b0c-8e80-ec3795202d0e</name>
-          <entityField>ISACTIVE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4b0bb3a6-5457-4eee-b0d8-6ec4b23c0aa7</name>
-          <entityField>ISESSENTIAL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>30d80ba1-235e-4b4a-9e9c-2b63f70f87b5</name>
-          <entityField>SORTING</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>31f3e341-19b3-452e-a381-942c9860f696</name>
-      <entityField>KeywordAttributeRelationsReadOnly</entityField>
-      <view>KeywordAttriubteRelationTitled_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>KeywordEntryPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <titleField>TITLE</titleField>
+      <subtitleField>CONTAINER</subtitleField>
+      <descriptionField>KEYID</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <title></title>
+      <fields>
+        <entityFieldLink>
+          <name>8455ebce-3bc2-4b0c-8e80-ec3795202d0e</name>
+          <entityField>ISACTIVE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>4b0bb3a6-5457-4eee-b0d8-6ec4b23c0aa7</name>
+          <entityField>ISESSENTIAL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>30d80ba1-235e-4b4a-9e9c-2b63f70f87b5</name>
+          <entityField>SORTING</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>31f3e341-19b3-452e-a381-942c9860f696</name>
+      <entityField>KeywordAttributeRelationsReadOnly</entityField>
+      <view>KeywordAttriubteRelationTitled_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/LetterEdit_view/LetterEdit_view.aod b/neonView/LetterEdit_view/LetterEdit_view.aod
index 83dbc1d58395a5fc0a0fba051852f5a5e7791e25..d163e35ed729703c51fbd156f6369999715d5d78 100644
--- a/neonView/LetterEdit_view/LetterEdit_view.aod
+++ b/neonView/LetterEdit_view/LetterEdit_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>LetterEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Template</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name>
-          <entityField>DOCUMENT_TEMPLATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1b614c44-29b5-4557-8ce6-9ef533a55c65</name>
-          <entityField>CREATEACTIVITY</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>LetterEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Template</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>5919fb0b-13d8-4cd3-8110-89722d97f4e1</name>
+          <entityField>DOCUMENT_TEMPLATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1b614c44-29b5-4557-8ce6-9ef533a55c65</name>
+          <entityField>CREATEACTIVITY</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/LetterRecipientFilter_view/LetterRecipientFilter_view.aod b/neonView/LetterRecipientFilter_view/LetterRecipientFilter_view.aod
index 9e21aa63f16647f3f4ee1787e646790e2824c44a..3a4c82e844a79145303b58c6ab4b98548d22bb4b 100644
--- a/neonView/LetterRecipientFilter_view/LetterRecipientFilter_view.aod
+++ b/neonView/LetterRecipientFilter_view/LetterRecipientFilter_view.aod
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>LetterRecipientFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <favoriteActionGroup1>recipientActions</favoriteActionGroup1>
-      <inlineEdit v="true" />
-      <entityField>#ENTITY</entityField>
-      <autoNewRow v="true" />
-      <columns>
-        <neonTableColumn>
-          <name>780af131-1a5e-48f2-b97f-2613295f2373</name>
-          <entityField>ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>037e6bac-1e49-4c89-ae72-a5c64b9261d0</name>
-          <entityField>CONTACT_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>LetterRecipientFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <favoriteActionGroup1>recipientActions</favoriteActionGroup1>
+      <inlineEdit v="true" />
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>780af131-1a5e-48f2-b97f-2613295f2373</name>
+          <entityField>ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>037e6bac-1e49-4c89-ae72-a5c64b9261d0</name>
+          <entityField>CONTACT_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/LogHistoryFilter_view/LogHistoryFilter_view.aod b/neonView/LogHistoryFilter_view/LogHistoryFilter_view.aod
index 426b9b4e1cd16796e0ba681af799235035afaa10..9010f50c5b35a4fab957afff0bfcd158ea957941 100644
--- a/neonView/LogHistoryFilter_view/LogHistoryFilter_view.aod
+++ b/neonView/LogHistoryFilter_view/LogHistoryFilter_view.aod
@@ -1,48 +1,48 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>LogHistoryFilter_view</name>
-  <title>Log</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <timelineViewTemplate>
-      <name>LogHistoryTimeLine</name>
-      <favoriteActionGroup1>Reloading_actionGroup</favoriteActionGroup1>
-      <dateField>DATE_NEW</dateField>
-      <titleField>USER_NEW</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <iconIdField>#IMAGE</iconIdField>
-      <entityField>#ENTITY</entityField>
-    </timelineViewTemplate>
-    <tableViewTemplate>
-      <name>LogHistoryTable</name>
-      <favoriteActionGroup1>Reloading_actionGroup</favoriteActionGroup1>
-      <hideContentSearch v="true" />
-      <iconField>#IMAGE</iconField>
-      <titleField>DATE_NEW</titleField>
-      <subtitleField>USER_NEW</subtitleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <isEditable v="false" />
-      <columns>
-        <neonTableColumn>
-          <name>97886728-fbfe-4d32-b5b4-7dce443e1e2c</name>
-          <entityField>DATE_NEW</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>2647a81d-2a50-433a-8dc9-f701a60e10e8</name>
-          <entityField>USER_NEW</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>02a31f8a-2f91-4364-9d2a-898c4b587afa</name>
-          <entityField>DESCRIPTION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>LogHistoryFilter_view</name>
+  <title>Log</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <timelineViewTemplate>
+      <name>LogHistoryTimeLine</name>
+      <favoriteActionGroup1>Reloading_actionGroup</favoriteActionGroup1>
+      <dateField>DATE_NEW</dateField>
+      <titleField>USER_NEW</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <iconIdField>#IMAGE</iconIdField>
+      <entityField>#ENTITY</entityField>
+    </timelineViewTemplate>
+    <tableViewTemplate>
+      <name>LogHistoryTable</name>
+      <favoriteActionGroup1>Reloading_actionGroup</favoriteActionGroup1>
+      <hideContentSearch v="true" />
+      <iconField>#IMAGE</iconField>
+      <titleField>DATE_NEW</titleField>
+      <subtitleField>USER_NEW</subtitleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <isEditable v="false" />
+      <columns>
+        <neonTableColumn>
+          <name>97886728-fbfe-4d32-b5b4-7dce443e1e2c</name>
+          <entityField>DATE_NEW</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2647a81d-2a50-433a-8dc9-f701a60e10e8</name>
+          <entityField>USER_NEW</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>02a31f8a-2f91-4364-9d2a-898c4b587afa</name>
+          <entityField>DESCRIPTION</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/LogHistoryPreview_view/LogHistoryPreview_view.aod b/neonView/LogHistoryPreview_view/LogHistoryPreview_view.aod
index 1c14760344406b1c63eb0a3f1a19a9d7f0f80efc..71a5f0fb6360a68102654932c13ed34b96dd6186 100644
--- a/neonView/LogHistoryPreview_view/LogHistoryPreview_view.aod
+++ b/neonView/LogHistoryPreview_view/LogHistoryPreview_view.aod
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>LogHistoryPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>head</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>head</name>
-      <subtitleField>DATE_NEW</subtitleField>
-      <descriptionField>USER_NEW</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>text</name>
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>f8d426d2-6e87-4c8c-90c1-8af65b24a90f</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>LogHistoryPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>head</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>head</name>
+      <subtitleField>DATE_NEW</subtitleField>
+      <descriptionField>USER_NEW</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>text</name>
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>f8d426d2-6e87-4c8c-90c1-8af65b24a90f</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/MemberDrawer_view/MemberDrawer_view.aod b/neonView/MemberDrawer_view/MemberDrawer_view.aod
index 778c5da8d501f1b2f02c99f0aab351052d91a38f..bef8ea0211d515b669951320479eb145b1591acc 100644
--- a/neonView/MemberDrawer_view/MemberDrawer_view.aod
+++ b/neonView/MemberDrawer_view/MemberDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>MemberDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Salesproject member</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>9210dae5-1587-43f2-875b-5136bf5976bf</name>
-      <entityField>#ENTITY</entityField>
-      <view>MemberFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>MemberDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Salesproject member</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>9210dae5-1587-43f2-875b-5136bf5976bf</name>
+      <entityField>#ENTITY</entityField>
+      <view>MemberFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/MemberEdit_view/MemberEdit_view.aod b/neonView/MemberEdit_view/MemberEdit_view.aod
index bd5630c0211b9a72fa7ab3a21f01710118527dc6..c554f106c0421f3d4fed136ae8c3c7be32e9aede 100644
--- a/neonView/MemberEdit_view/MemberEdit_view.aod
+++ b/neonView/MemberEdit_view/MemberEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>MemberEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/MemberFilter_view/MemberFilter_view.aod b/neonView/MemberFilter_view/MemberFilter_view.aod
index 2af4c69dc135cdc5ee4f1ee6c0749cb8f7c3dc05..18e6d52f90fd557224d7ad11850d88e04403f1a7 100644
--- a/neonView/MemberFilter_view/MemberFilter_view.aod
+++ b/neonView/MemberFilter_view/MemberFilter_view.aod
@@ -1,55 +1,55 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>MemberFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Members</name>
-      <iconField>IMAGE</iconField>
-      <titleField>PERSON_FULL_NAME</titleField>
-      <subtitleField>CONTACTROLE</subtitleField>
-      <descriptionField>ORGANISATION_NAME</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>8b6b6eeb-6246-414f-95f6-453b71e4a9db</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>59e6aea1-9752-48b5-9d91-43edd0c1d670</name>
-          <entityField>PERSON_FULL_NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>27e658bc-c134-4fef-a3a5-b172852d606e</name>
-          <entityField>ORGANISATION_NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>bea82980-0639-405a-ab3f-92e45f97090e</name>
-          <entityField>ROLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a30a083a-be66-4690-a7b6-19860a9bc72e</name>
-          <entityField>DEPARTMENT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f02ac764-56a9-4f96-816e-37caa7854ac2</name>
-          <entityField>CONTACTROLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c23f4e8b-87a1-4535-b2d1-f6c97d6bfe0b</name>
-          <entityField>POSITION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ade2cdae-ad07-4797-9440-00eddda68ee5</name>
-          <entityField>DECIDER</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>MemberFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Members</name>
+      <iconField>IMAGE</iconField>
+      <titleField>PERSON_FULL_NAME</titleField>
+      <subtitleField>CONTACTROLE</subtitleField>
+      <descriptionField>ORGANISATION_NAME</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>8b6b6eeb-6246-414f-95f6-453b71e4a9db</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>59e6aea1-9752-48b5-9d91-43edd0c1d670</name>
+          <entityField>PERSON_FULL_NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>27e658bc-c134-4fef-a3a5-b172852d606e</name>
+          <entityField>ORGANISATION_NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>bea82980-0639-405a-ab3f-92e45f97090e</name>
+          <entityField>ROLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a30a083a-be66-4690-a7b6-19860a9bc72e</name>
+          <entityField>DEPARTMENT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f02ac764-56a9-4f96-816e-37caa7854ac2</name>
+          <entityField>CONTACTROLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c23f4e8b-87a1-4535-b2d1-f6c97d6bfe0b</name>
+          <entityField>POSITION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ade2cdae-ad07-4797-9440-00eddda68ee5</name>
+          <entityField>DECIDER</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ModuleTree_view/ModuleTree_view.aod b/neonView/ModuleTree_view/ModuleTree_view.aod
index 512bfdabb016e8bc048d67350e1467d4f9de281b..4dc1d356752c2d0be1b6a5574b22954239e2c162 100644
--- a/neonView/ModuleTree_view/ModuleTree_view.aod
+++ b/neonView/ModuleTree_view/ModuleTree_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ModuleTree_view</name>
-  <title>Tree</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>Modules</name>
-      <parentField>PARENT_ID</parentField>
-      <favoriteActionGroup3></favoriteActionGroup3>
-      <titleField>TITLE</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <iconField>ICON</iconField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </treeViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ModuleTree_view</name>
+  <title>Tree</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>Modules</name>
+      <parentField>PARENT_ID</parentField>
+      <favoriteActionGroup3></favoriteActionGroup3>
+      <titleField>TITLE</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <iconField>ICON</iconField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </treeViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod b/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod
index c15aaf566d3fe38066e7678e0115869500adc16e..b1e060e24f903f0c7cc13acc7dfb94ea20f63374 100644
--- a/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod
+++ b/neonView/MyDashboardScoreCard_view/MyDashboardScoreCard_view.aod
@@ -1,53 +1,55 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>MyDashboardScoreCard_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>Information</name>
-      <title>To-Do</title>
-      <fragment>Analyses/full</fragment>
-      <singleton v="true" />
-      <icon>VAADIN:CLIPBOARD_CHECK</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>tasks</name>
-          <title>Tasks</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>calendar</name>
-          <title>Calendar</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>Scorecard</name>
-      <fieldActions>
-        <element>openOverdueTasks</element>
-        <element>openNewTasks</element>
-      </fieldActions>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>158d3dd5-4de6-470b-b61d-6de1e9907264</name>
-          <entityField>OVERDUE_TASKS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5bbd7580-6fdd-4134-b33a-1082f4891c7c</name>
-          <entityField>NEW_TASKS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3631eda6-dfda-4c75-9caa-8b2c2e7c39e4</name>
-          <entityField>IMMINENT_APPOINTMENTS</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>MyDashboardScoreCard_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>Information</name>
+      <title>To-Do</title>
+      <description>Remaining tasks and appointments</description>
+      <fragment>Analyses/full</fragment>
+      <singleton v="true" />
+      <icon>VAADIN:CLIPBOARD_CHECK</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>tasks</name>
+          <title>Tasks</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>calendar</name>
+          <title>Calendar</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>Scorecard</name>
+      <fieldActions>
+        <element>openOverdueTasks</element>
+        <element>openNewTasks</element>
+        <element>openCalendar</element>
+      </fieldActions>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>158d3dd5-4de6-470b-b61d-6de1e9907264</name>
+          <entityField>OVERDUE_TASKS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5bbd7580-6fdd-4134-b33a-1082f4891c7c</name>
+          <entityField>NEW_TASKS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3631eda6-dfda-4c75-9caa-8b2c2e7c39e4</name>
+          <entityField>IMMINENT_APPOINTMENTS</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/NotificationFilter_view/NotificationFilter_view.aod b/neonView/NotificationFilter_view/NotificationFilter_view.aod
index 7ae4d72c342da7a14921a3eb9bdb3e7d222ddb51..8971c73ee26bfcfea2222a4e49b060e75aa85525 100644
--- a/neonView/NotificationFilter_view/NotificationFilter_view.aod
+++ b/neonView/NotificationFilter_view/NotificationFilter_view.aod
@@ -1,69 +1,70 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>NotificationFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>neonDashletConfiguration</name>
-      <title>New Notifications</title>
-      <fragment>Notification/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6Ik9SIiwiY2hpbGRzIjpbeyJ0eXBlIjoicm93IiwibmFtZSI6IlNUQVRFIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiVU5TRUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwia2V5IjoiVU5TRUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudHR5cGUiOiJVTktOT1dOIn0seyJ0eXBlIjoicm93IiwibmFtZSI6IlNUQVRFIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiU0VFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwia2V5IjoiU0VFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudHR5cGUiOiJVTktOT1dOIn1dfQ%253D%253D</fragment>
-      <singleton v="true" />
-      <storeRoles />
-      <icon>VAADIN:BELL</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>Notifications</name>
-          <title>Notifications</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <favoriteActionGroup1>setNotificationState</favoriteActionGroup1>
-      <inlineEdit v="true" />
-      <entryAction>rowClickAction</entryAction>
-      <iconField>ICON</iconField>
-      <titleField>CAPTION</titleField>
-      <subtitleField>RESOLVEDPRIORITY</subtitleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <isEditable v="false" />
-      <showHeader v="true" />
-      <isSaveable v="false" />
-      <columns>
-        <neonTableColumn>
-          <name>1cff3be1-523d-4a5a-b7d1-389d7cbb726f</name>
-          <entityField>ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ebf8b6d5-1057-425d-a57b-d02e25dbd2a4</name>
-          <entityField>TYPECODE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0ed20b46-be6a-424c-a583-a3f7496ec3f9</name>
-          <entityField>CREATIONDATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>3bf425ed-227c-4768-b339-4794aa0d6063</name>
-          <entityField>CAPTION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ff33a6c1-7ac6-4acd-a083-e56a36f89977</name>
-          <entityField>DESCRIPTION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>5cb09de4-4413-41e5-8a7c-4970a3cf6a62</name>
-          <entityField>STATE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>NotificationFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>NotificationDashletConfiguration</name>
+      <title>New Notifications</title>
+      <description>Shows unread notifications about different content, e.g. Appointments, serial mails, ...</description>
+      <fragment>Notification/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6Ik9SIiwiY2hpbGRzIjpbeyJ0eXBlIjoicm93IiwibmFtZSI6IlNUQVRFIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiVU5TRUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwia2V5IjoiVU5TRUVOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudHR5cGUiOiJVTktOT1dOIn0seyJ0eXBlIjoicm93IiwibmFtZSI6IlNUQVRFIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiU0VFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwia2V5IjoiU0VFTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudHR5cGUiOiJVTktOT1dOIn1dfQ%253D%253D</fragment>
+      <singleton v="true" />
+      <storeRoles />
+      <icon>VAADIN:BELL</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>Notifications</name>
+          <title>Notifications</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <favoriteActionGroup1>setNotificationState</favoriteActionGroup1>
+      <inlineEdit v="true" />
+      <entryAction>rowClickAction</entryAction>
+      <iconField>ICON</iconField>
+      <titleField>CAPTION</titleField>
+      <subtitleField>RESOLVEDPRIORITY</subtitleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <isEditable v="false" />
+      <showHeader v="true" />
+      <isSaveable v="false" />
+      <columns>
+        <neonTableColumn>
+          <name>1cff3be1-523d-4a5a-b7d1-389d7cbb726f</name>
+          <entityField>ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ebf8b6d5-1057-425d-a57b-d02e25dbd2a4</name>
+          <entityField>TYPECODE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0ed20b46-be6a-424c-a583-a3f7496ec3f9</name>
+          <entityField>CREATIONDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>3bf425ed-227c-4768-b339-4794aa0d6063</name>
+          <entityField>CAPTION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ff33a6c1-7ac6-4acd-a083-e56a36f89977</name>
+          <entityField>DESCRIPTION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>5cb09de4-4413-41e5-8a7c-4970a3cf6a62</name>
+          <entityField>STATE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/NotificationPreview_view/NotificationPreview_view.aod b/neonView/NotificationPreview_view/NotificationPreview_view.aod
index 1a0970fb25aa8c09a593356ba9105a4f634857bc..3781e3cc4010956a10b8eae646179e3fd32c997d 100644
--- a/neonView/NotificationPreview_view/NotificationPreview_view.aod
+++ b/neonView/NotificationPreview_view/NotificationPreview_view.aod
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>NotificationPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="false" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>#ICON</iconField>
-      <titleField>CAPTION</titleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>NotificationPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="false" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Card</name>
+      <iconField>#ICON</iconField>
+      <titleField>CAPTION</titleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ObjectRelationTypeEdit_view/ObjectRelationTypeEdit_view.aod b/neonView/ObjectRelationTypeEdit_view/ObjectRelationTypeEdit_view.aod
index a026bc8f3e1d9da1d7762ace7a52f87bdc06d062..633c40b7e63cc3b959582a79a2f8fb9518380140 100644
--- a/neonView/ObjectRelationTypeEdit_view/ObjectRelationTypeEdit_view.aod
+++ b/neonView/ObjectRelationTypeEdit_view/ObjectRelationTypeEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ObjectRelationTypeEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/ObjectRelationTypeFilter_view/ObjectRelationTypeFilter_view.aod b/neonView/ObjectRelationTypeFilter_view/ObjectRelationTypeFilter_view.aod
index f9d064304ce0fe2611aaa1d99b665b3a7183be02..2fbd96bac1c5c17a0d7e1a70a867efe6ea6c702c 100644
--- a/neonView/ObjectRelationTypeFilter_view/ObjectRelationTypeFilter_view.aod
+++ b/neonView/ObjectRelationTypeFilter_view/ObjectRelationTypeFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ObjectRelationTypeFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ObjectTreeEdit_view/ObjectTreeEdit_view.aod b/neonView/ObjectTreeEdit_view/ObjectTreeEdit_view.aod
index e20758a078855451fc99e2e590ddb3bc747cfed5..dc2a3077ab363d45ff989686ff328f8a96ab4431 100644
--- a/neonView/ObjectTreeEdit_view/ObjectTreeEdit_view.aod
+++ b/neonView/ObjectTreeEdit_view/ObjectTreeEdit_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ObjectTreeEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>fd656c16-ef80-479f-a106-4741fb86c95f</name>
-          <entityField>OBJECTRELATIONTYPEID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>81ec0bf6-132c-4046-b770-f65da3cd4b6e</name>
-          <entityField>TARGET_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>04579da5-0609-4a43-97dd-9e773ec1a29b</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ObjectTreeEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>fd656c16-ef80-479f-a106-4741fb86c95f</name>
+          <entityField>OBJECTRELATIONTYPEID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>81ec0bf6-132c-4046-b770-f65da3cd4b6e</name>
+          <entityField>TARGET_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>04579da5-0609-4a43-97dd-9e773ec1a29b</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ObjectTreeFilter_view/ObjectTreeFilter_view.aod b/neonView/ObjectTreeFilter_view/ObjectTreeFilter_view.aod
index ed8d4002c00dea70ad6c07ad55d6acd2d4419491..30c8f600b3428ca7f92aec1cb9c6e94141b8998a 100644
--- a/neonView/ObjectTreeFilter_view/ObjectTreeFilter_view.aod
+++ b/neonView/ObjectTreeFilter_view/ObjectTreeFilter_view.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ObjectTreeFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>ObjectRelations</name>
-      <parentField>PARENT_ID</parentField>
-      <favoriteActionGroup1>alter</favoriteActionGroup1>
-      <nodeExpandedField>EXPANDED</nodeExpandedField>
-      <titleField>TITLE</titleField>
-      <descriptionField>INFO</descriptionField>
-      <iconField>ICON</iconField>
-      <hideContentSearch v="true" />
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ObjectTreeFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>ObjectRelations</name>
+      <parentField>PARENT_ID</parentField>
+      <favoriteActionGroup1>alter</favoriteActionGroup1>
+      <nodeExpandedField>EXPANDED</nodeExpandedField>
+      <titleField>TITLE</titleField>
+      <descriptionField>INFO</descriptionField>
+      <iconField>ICON</iconField>
+      <hideContentSearch v="true" />
+      <entityField>#ENTITY</entityField>
+    </treeViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OfferCoverLetter_view/OfferCoverLetter_view.aod b/neonView/OfferCoverLetter_view/OfferCoverLetter_view.aod
index a2f745cf473bb46657565aca058de8903dae3ce8..82ca323abbdfdaa920823baf76cab3420358fd2e 100644
--- a/neonView/OfferCoverLetter_view/OfferCoverLetter_view.aod
+++ b/neonView/OfferCoverLetter_view/OfferCoverLetter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OfferCoverLetter_view</name>
   <title>Cover letter</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/OfferDrawer_view/OfferDrawer_view.aod b/neonView/OfferDrawer_view/OfferDrawer_view.aod
index 137b782513eeb20135d5a4de9055c150ddbe8b34..10960997ed3f98e7d8a419640f76c6e41075e56b 100644
--- a/neonView/OfferDrawer_view/OfferDrawer_view.aod
+++ b/neonView/OfferDrawer_view/OfferDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OfferDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Offers</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>9ace1633-8aec-4bd7-a4e2-9bd7ef6b0d5a</name>
-      <entityField>#ENTITY</entityField>
-      <view>OfferFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OfferDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Offers</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>9ace1633-8aec-4bd7-a4e2-9bd7ef6b0d5a</name>
+      <entityField>#ENTITY</entityField>
+      <view>OfferFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod
index 4547df91430efbc6037af889bddf1c79cc695e1c..4e071cdc1b0c8f39df12fa1c7b7ab43aea74ce8d 100644
--- a/neonView/OfferEdit_view/OfferEdit_view.aod
+++ b/neonView/OfferEdit_view/OfferEdit_view.aod
@@ -1,99 +1,99 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OfferEdit_view</name>
-  <title>Offer</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:CART</icon>
-  <quickEntry v="2" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>1b323e80-820d-402a-98d2-f3649ec8e91f</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c96356b6-d18f-4944-af5b-a646faed33c9</name>
-          <entityField>OBJECT_TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ff271393-be47-446c-b6b3-6c84dfa881e5</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>767a9e6e-596b-4903-aa86-7bc0f66cd037</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>768683f3-08c8-4e85-bb4c-7e5c74a8dec0</name>
-          <entityField>OFFERDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>64cb7376-3a7c-4ce9-99e8-e70bc91b41d0</name>
-          <entityField>CURRENCY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ce72d9f3-66ce-4a5e-a5af-c3a82520141d</name>
-          <entityField>PROBABILITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7a9b0943-eb06-4b44-a111-ed4e2749da6a</name>
-          <entityField>DELIVERYTERMS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1e98fe37-8d52-4eef-8825-8ea14e7e20b5</name>
-          <entityField>PAYMENTTERMS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>45ddf7c2-531b-4e18-826d-9c652ecc4d01</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a6a1a0d6-eefd-45f7-8c1c-af8f673793e7</name>
-          <entityField>LETTERSALUTATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5a864380-5c23-45a3-8fb8-88a2d2abdf04</name>
-          <entityField>ChoosenTEXHeader</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ed71986f-303c-4118-a895-51ec31ba8775</name>
-          <entityField>HEADER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6fa2c13e-e3e6-4c27-9d62-bfb2faa61a03</name>
-          <entityField>ChoosenTEXFooter</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>9954516a-3fc3-48b5-8fe9-9dfc74f021e8</name>
-          <entityField>FOOTER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>833e6193-fde6-4990-8a26-eaeb0f60de48</name>
-          <entityField>ChosenAddress</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>930dc6e3-a19f-4780-9553-9cfd4a158fd5</name>
-          <entityField>ADDRESS</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>52f93604-4ec3-427f-b220-27ab63a30560</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OfferEdit_view</name>
+  <title>Offer</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:CART</icon>
+  <quickEntry v="2" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>1b323e80-820d-402a-98d2-f3649ec8e91f</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c96356b6-d18f-4944-af5b-a646faed33c9</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ff271393-be47-446c-b6b3-6c84dfa881e5</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>767a9e6e-596b-4903-aa86-7bc0f66cd037</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>768683f3-08c8-4e85-bb4c-7e5c74a8dec0</name>
+          <entityField>OFFERDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>64cb7376-3a7c-4ce9-99e8-e70bc91b41d0</name>
+          <entityField>CURRENCY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ce72d9f3-66ce-4a5e-a5af-c3a82520141d</name>
+          <entityField>PROBABILITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7ab3eb65-b713-4251-9eb1-3119432565f5</name>
+          <entityField>ISOLANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7a9b0943-eb06-4b44-a111-ed4e2749da6a</name>
+          <entityField>DELIVERYTERMS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1e98fe37-8d52-4eef-8825-8ea14e7e20b5</name>
+          <entityField>PAYMENTTERMS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>45ddf7c2-531b-4e18-826d-9c652ecc4d01</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a6a1a0d6-eefd-45f7-8c1c-af8f673793e7</name>
+          <entityField>LETTERSALUTATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5a864380-5c23-45a3-8fb8-88a2d2abdf04</name>
+          <entityField>ChoosenTEXHeader</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ed71986f-303c-4118-a895-51ec31ba8775</name>
+          <entityField>HEADER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6fa2c13e-e3e6-4c27-9d62-bfb2faa61a03</name>
+          <entityField>ChoosenTEXFooter</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>9954516a-3fc3-48b5-8fe9-9dfc74f021e8</name>
+          <entityField>FOOTER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>833e6193-fde6-4990-8a26-eaeb0f60de48</name>
+          <entityField>ChosenAddress</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>930dc6e3-a19f-4780-9553-9cfd4a158fd5</name>
+          <entityField>ADDRESS</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>52f93604-4ec3-427f-b220-27ab63a30560</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod
index e2091daf45773117e12db74bcfdd6a1b0a6e03d1..73222a07c2c85e2ac82cd14482dd8654496c4cb3 100644
--- a/neonView/OfferFilter_view/OfferFilter_view.aod
+++ b/neonView/OfferFilter_view/OfferFilter_view.aod
@@ -1,97 +1,97 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OfferFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AllOffersDashlet</name>
-      <title>Offers</title>
-      <description>Show all offers</description>
-      <fragment>Offer/filter</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:cart</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>sales</name>
-          <title>Sales</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>offer</name>
-          <title>Offer</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-    <neonDashletConfiguration>
-      <name>SendOffersDashlet</name>
-      <title>Sent offers</title>
-      <description>Show all sent offers</description>
-      <fragment>Offer/filter?search=W3sibmFtZSI6IlNUQVRVUyIsIm9wZXJhdG9yIjoiRVFVQUwiLCJ2YWx1ZSI6ImU1ZDZiNWE0LTc1NzYtNDQwZi04MzMyLWJjNDAxNDdjMDMzNSIsImNvbnRlbnRUeXBlIjoiVEVYVCJ9XQ%253D%253D</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:cart</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>sales</name>
-          <title>Sales</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>offer</name>
-          <title>Offer</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Offers</name>
-      <iconField>IMAGE</iconField>
-      <titleField>FullOfferCode</titleField>
-      <subtitleField>STATUS</subtitleField>
-      <descriptionField>NET</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>5755c4a7-0ec4-4ba8-9fa8-a64c440042f8</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4d40cee3-bcb1-4e67-8c1d-d5fc2e49cc11</name>
-          <entityField>FullOfferCode</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>780087e7-ff3c-4592-90be-607357168295</name>
-          <entityField>CONTACT_ORG_ID</entityField>
-          <width v="75" />
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1556a6e6-f147-4573-82da-7a59f39a81e5</name>
-          <entityField>CONTACT_PERSON_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c5780864-ac2c-4650-8630-2690a9a074ea</name>
-          <entityField>STATUS</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>443c8480-5676-43a3-9617-f86dae39c960</name>
-          <entityField>OFFERDATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6f55da1e-281c-44ba-ab97-729b75516c32</name>
-          <entityField>NET</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>24440d2f-cb7a-4a5f-9d54-b1cd130908c8</name>
-          <entityField>PROBABILITY</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OfferFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AllOffersDashlet</name>
+      <title>Offers</title>
+      <description>Show all offers</description>
+      <fragment>Offer/filter</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:cart</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>sales</name>
+          <title>Sales</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>offer</name>
+          <title>Offer</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+    <neonDashletConfiguration>
+      <name>SendOffersDashlet</name>
+      <title>Sent offers</title>
+      <description>Show all sent offers</description>
+      <fragment>Offer/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJTVEFUVVMiLCJvcGVyYXRvciI6IkVRVUFMIiwidmFsdWUiOiJWZXJzZW5kZXQiLCJrZXkiOiJPRkZFUlNUQVRTRU5UICAgICAgICAgICAgICAgICAgICAgICAiLCJjb250ZW50dHlwZSI6IlRFWFQifV19</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:cart</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>sales</name>
+          <title>Sales</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>offer</name>
+          <title>Offer</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Offers</name>
+      <iconField>IMAGE</iconField>
+      <titleField>FullOfferCode</titleField>
+      <subtitleField>STATUS</subtitleField>
+      <descriptionField>NET</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>5755c4a7-0ec4-4ba8-9fa8-a64c440042f8</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4d40cee3-bcb1-4e67-8c1d-d5fc2e49cc11</name>
+          <entityField>FullOfferCode</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>780087e7-ff3c-4592-90be-607357168295</name>
+          <entityField>CONTACT_ORG_ID</entityField>
+          <width v="75" />
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1556a6e6-f147-4573-82da-7a59f39a81e5</name>
+          <entityField>CONTACT_PERSON_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c5780864-ac2c-4650-8630-2690a9a074ea</name>
+          <entityField>STATUS</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>443c8480-5676-43a3-9617-f86dae39c960</name>
+          <entityField>OFFERDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6f55da1e-281c-44ba-ab97-729b75516c32</name>
+          <entityField>NET</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>24440d2f-cb7a-4a5f-9d54-b1cd130908c8</name>
+          <entityField>PROBABILITY</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OfferMain_view/OfferMain_view.aod b/neonView/OfferMain_view/OfferMain_view.aod
index aaa0230453511a4057c980b40f617cedf7441494..d1013b397acce962033a27e6ece7eba3e3ac00da 100644
--- a/neonView/OfferMain_view/OfferMain_view.aod
+++ b/neonView/OfferMain_view/OfferMain_view.aod
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OfferMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>5b93621b-c597-4ee8-88d5-3075e3890eb5</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>5b93621b-c597-4ee8-88d5-3075e3890eb5</name>
-      <entityField>#ENTITY</entityField>
-      <view>OfferPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>da7c8cef-a4f0-4614-a330-d81221abe566</name>
-      <entityField>Offeritems</entityField>
-      <view>OfferitemFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e6b12eed-d67e-467c-9302-f6340f901235</name>
-      <entityField>#ENTITY</entityField>
-      <view>OfferCoverLetter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a3702740-418d-40d5-9415-788542c14abb</name>
-      <entityField>Activities</entityField>
-      <view>ActivityFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>f6cbee03-396f-40b5-8022-e5e8cefbb410</name>
-      <entityField>Tasks</entityField>
-      <view>TaskFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>e96f2fec-1a98-4380-895a-82ab78ba408a</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>1e993b34-a5ce-4fe5-a299-9963fe5f1085</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>d79a0304-4106-4749-b2e1-c5ba005b4448</name>
-      <entityField>LogHistoryConsumer</entityField>
-      <view>LogHistoryFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OfferMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>5b93621b-c597-4ee8-88d5-3075e3890eb5</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>5b93621b-c597-4ee8-88d5-3075e3890eb5</name>
+      <entityField>#ENTITY</entityField>
+      <view>OfferPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>da7c8cef-a4f0-4614-a330-d81221abe566</name>
+      <entityField>Offeritems</entityField>
+      <view>OfferitemFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>e6b12eed-d67e-467c-9302-f6340f901235</name>
+      <entityField>#ENTITY</entityField>
+      <view>OfferCoverLetter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a3702740-418d-40d5-9415-788542c14abb</name>
+      <entityField>Activities</entityField>
+      <view>ActivityFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f6cbee03-396f-40b5-8022-e5e8cefbb410</name>
+      <entityField>Tasks</entityField>
+      <view>TaskFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>e96f2fec-1a98-4380-895a-82ab78ba408a</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>1e993b34-a5ce-4fe5-a299-9963fe5f1085</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>d79a0304-4106-4749-b2e1-c5ba005b4448</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OfferPreview_view/OfferPreview_view.aod b/neonView/OfferPreview_view/OfferPreview_view.aod
index 10639d0d01f1a6c06ad0660b82871c33cb3ee1d5..86e7f53c67c6c9437724342b79c6ae067d451dcc 100644
--- a/neonView/OfferPreview_view/OfferPreview_view.aod
+++ b/neonView/OfferPreview_view/OfferPreview_view.aod
@@ -1,98 +1,98 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OfferPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>IMAGE</iconField>
-      <titleField>OfferCode_VersNr_fieldgroup</titleField>
-      <descriptionField>CONTACT_ID</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Details</name>
-      <editMode v="false" />
-      <showDrawer v="true" />
-      <drawerCaption>Details</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>8d780ff6-9ca0-4067-b2b1-6e092c62253e</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>df5f1901-d397-42cf-8187-c1435bd1bd88</name>
-          <entityField>OFFERDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>49e446b5-015e-45ad-9417-c5c50f9756f1</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ce062531-603e-4c33-8a6b-935d2f07f516</name>
-          <entityField>ChosenAddress</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>447f5c6e-3653-49dd-ba8b-18c21a9bd6f9</name>
-          <entityField>ADDRESS</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Prices</name>
-      <showDrawer v="true" />
-      <drawerCaption>Prices</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>d7ca2b66-5e7a-4951-a89b-fbeab0f4f798</name>
-          <entityField>NET</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c50dec3f-5468-4196-be88-a413ae3947de</name>
-          <entityField>VAT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>43972a26-67f7-4fb5-9107-111731d326af</name>
-          <entityField>TotalGross</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>037889c4-136c-4e9e-b8e2-ff4f13af13c1</name>
-          <entityField>PROBABILITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3317b73e-68e8-41a8-a678-89c7c7c8513e</name>
-          <entityField>SALESPROJECT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>59daee43-0e79-49d8-a36a-5ce4c491def9</name>
-          <entityField>PAYMENTTERMS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a3a9ee30-bdd2-4907-b215-d4b4adcc0f1d</name>
-          <entityField>DELIVERYTERMS</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>b5e6c1b7-8a34-45a5-b4b6-9f61bda485fd</name>
-      <entityField>MainDocuments</entityField>
-      <view>DocumentList_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OfferPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>IMAGE</iconField>
+      <titleField>OfferCode_VersNr_fieldgroup</titleField>
+      <descriptionField>CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Details</name>
+      <editMode v="false" />
+      <showDrawer v="true" />
+      <drawerCaption>Details</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>8d780ff6-9ca0-4067-b2b1-6e092c62253e</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>df5f1901-d397-42cf-8187-c1435bd1bd88</name>
+          <entityField>OFFERDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>49e446b5-015e-45ad-9417-c5c50f9756f1</name>
+          <entityField>ISOLANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ce062531-603e-4c33-8a6b-935d2f07f516</name>
+          <entityField>ChosenAddress</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>447f5c6e-3653-49dd-ba8b-18c21a9bd6f9</name>
+          <entityField>ADDRESS</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Prices</name>
+      <showDrawer v="true" />
+      <drawerCaption>Prices</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>d7ca2b66-5e7a-4951-a89b-fbeab0f4f798</name>
+          <entityField>NET</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c50dec3f-5468-4196-be88-a413ae3947de</name>
+          <entityField>VAT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>43972a26-67f7-4fb5-9107-111731d326af</name>
+          <entityField>TotalGross</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>037889c4-136c-4e9e-b8e2-ff4f13af13c1</name>
+          <entityField>PROBABILITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3317b73e-68e8-41a8-a678-89c7c7c8513e</name>
+          <entityField>SALESPROJECT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>59daee43-0e79-49d8-a36a-5ce4c491def9</name>
+          <entityField>PAYMENTTERMS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a3a9ee30-bdd2-4907-b215-d4b4adcc0f1d</name>
+          <entityField>DELIVERYTERMS</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>b5e6c1b7-8a34-45a5-b4b6-9f61bda485fd</name>
+      <entityField>MainDocuments</entityField>
+      <view>DocumentList_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OfferitemEdit_view/OfferitemEdit_view.aod b/neonView/OfferitemEdit_view/OfferitemEdit_view.aod
index 54feea80331a65d38dee0445dc9b21e127a4cf91..7358e62a152027b4dfa5f8a934e9541a76a5506b 100644
--- a/neonView/OfferitemEdit_view/OfferitemEdit_view.aod
+++ b/neonView/OfferitemEdit_view/OfferitemEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OfferitemEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
index fdf2fa96d0ce9d09e6de8208301314332eeffb66..d561a5406ff4be35fe27cec439723eb7d3ea7a30 100644
--- a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
+++ b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OfferitemFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod b/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
index 2cf49b5c5406fa1e744607e12108a097c808b9a2..5bbec42ac0f5f723819a600052a9de54c1ef8604 100644
--- a/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
+++ b/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OfferitemMultiEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
index 875769e7069ca4ae4d4dae694d544094dec0f25f..f141fcbe9564af6abf518b8aa88fbf8e476cb680 100644
--- a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
+++ b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OfferitemPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/Options1_View/Options1_View.aod b/neonView/Options1_View/Options1_View.aod
index 0dbf0b3d310ed13cb4e966e1feca1c3c9a318d36..f6f42b8a2e0ee30d1f23e86d92bfe50729d30aab 100644
--- a/neonView/Options1_View/Options1_View.aod
+++ b/neonView/Options1_View/Options1_View.aod
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>Options1_View</name>
-  <title>Group1</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Options</name>
-      <showDrawer v="true" />
-      <drawerCaption></drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>fccab195-3408-4119-ab40-598125af4e2c</name>
-          <entityField>Option1</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3eea0976-79bf-41f2-aeeb-57607f92a902</name>
-          <entityField>Option2</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>Options1_View</name>
+  <title>Group1</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Options</name>
+      <showDrawer v="true" />
+      <drawerCaption></drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>fccab195-3408-4119-ab40-598125af4e2c</name>
+          <entityField>Option1</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3eea0976-79bf-41f2-aeeb-57607f92a902</name>
+          <entityField>Option2</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/Options2_View/Options2_View.aod b/neonView/Options2_View/Options2_View.aod
index 9ec3572f41814c3d1e5b8e69685bd0a676349be9..09ce6d62190add831a0f83435a89aaf8ab18c52f 100644
--- a/neonView/Options2_View/Options2_View.aod
+++ b/neonView/Options2_View/Options2_View.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>Options2_View</name>
-  <title>Group2</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Options</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>a53a3fab-877d-4402-8daf-1205be48b2ae</name>
-          <entityField>Option3</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>4197c1ba-3520-4c2a-bd8e-85e08c9bb478</name>
-          <entityField>Option4</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>Options2_View</name>
+  <title>Group2</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Options</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>a53a3fab-877d-4402-8daf-1205be48b2ae</name>
+          <entityField>Option3</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>4197c1ba-3520-4c2a-bd8e-85e08c9bb478</name>
+          <entityField>Option4</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/Options_View/Options_View.aod b/neonView/Options_View/Options_View.aod
index 129b10215d36311f41735cb1bf49795693dc9f04..8f2abdb773302d7467ce9f300ebd12b2e7e1cc7a 100644
--- a/neonView/Options_View/Options_View.aod
+++ b/neonView/Options_View/Options_View.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>Options_View</name>
-  <title>Options</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>Group1</name>
-      <entityField>#ENTITY</entityField>
-      <view>Options1_View</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>Group2</name>
-      <entityField>#ENTITY</entityField>
-      <view>Options2_View</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>Options_View</name>
+  <title>Options</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>Group1</name>
+      <entityField>#ENTITY</entityField>
+      <view>Options1_View</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>Group2</name>
+      <entityField>#ENTITY</entityField>
+      <view>Options2_View</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OrderMain_view/OrderMain_view.aod b/neonView/OrderMain_view/OrderMain_view.aod
index 81dd7971b36af9358418a1d87f2f384c504bde92..0573784b4dfc67febbf7cd9cd0078653f4ee75bc 100644
--- a/neonView/OrderMain_view/OrderMain_view.aod
+++ b/neonView/OrderMain_view/OrderMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OrderMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -46,7 +46,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>b0dea506-7dd9-4de9-9ebe-ecad9965c300</name>
-      <entityField>LogHistoryConsumer</entityField>
+      <entityField>LogHistories</entityField>
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
     <neonViewReference>
diff --git a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
index f8ec384be68f94ddbb16a2511544dca8f58a1d9c..0f9871a9219c6be0e5682b147301e3390e096acf 100644
--- a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
+++ b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OrderitemFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -12,8 +12,8 @@
     <tableViewTemplate>
       <name>Orderitems</name>
       <inlineEdit v="true" />
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>8c74810d-d127-4e64-8fbf-1b3db1835232</name>
diff --git a/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod b/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
index 783351091f308e6da05114587b972d51c9db4a31..3ba364d1f399f63b8e668b06054fbc595da588a6 100644
--- a/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
+++ b/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
@@ -1,55 +1,55 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrderitemMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <autoNewRow v="true" />
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>12f27f34-ab2d-4025-99ec-5377ff392466</name>
-          <entityField>ITEMPOSITION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ba428fc1-4f38-4888-b48d-35ef4cec5b7c</name>
-          <entityField>PRODUCT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6f4713ef-5642-4d2f-8ac1-eb315ca27fed</name>
-          <entityField>QUANTITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9aeb9256-a31a-4a96-bae7-d9a007191254</name>
-          <entityField>UNIT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d97355ec-c266-4ef3-ac3a-dae3507c3a85</name>
-          <entityField>PRICE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>78f80e28-dfd1-44d5-8d7a-c45c63aa89e8</name>
-          <entityField>DISCOUNT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d0255477-0e96-48eb-9596-c5ab523a2622</name>
-          <entityField>VAT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c60f6315-5b63-4c4a-96fa-eaa99b94646e</name>
-          <entityField>OPTIONAL</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>96f0b5bd-6187-44ad-aac0-15ac262e30a2</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrderitemMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>12f27f34-ab2d-4025-99ec-5377ff392466</name>
+          <entityField>ITEMPOSITION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ba428fc1-4f38-4888-b48d-35ef4cec5b7c</name>
+          <entityField>PRODUCT_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6f4713ef-5642-4d2f-8ac1-eb315ca27fed</name>
+          <entityField>QUANTITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>9aeb9256-a31a-4a96-bae7-d9a007191254</name>
+          <entityField>UNIT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d97355ec-c266-4ef3-ac3a-dae3507c3a85</name>
+          <entityField>PRICE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>78f80e28-dfd1-44d5-8d7a-c45c63aa89e8</name>
+          <entityField>DISCOUNT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d0255477-0e96-48eb-9596-c5ab523a2622</name>
+          <entityField>VAT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c60f6315-5b63-4c4a-96fa-eaa99b94646e</name>
+          <entityField>OPTIONAL</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>96f0b5bd-6187-44ad-aac0-15ac262e30a2</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
index cfe31daf6b6f985a6f99916002e333df985d215c..7e1aa2891f4c2a1d5d681d3d1d03f99c7ccecd68 100644
--- a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
+++ b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrderitemPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>IMAGE</iconField>
-      <titleField>ITEMNAME</titleField>
-      <descriptionField>INFO</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>9868560c-41c7-4641-b0f1-627a61b796b3</name>
-          <entityField>TotalPrice</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c0c04d1c-90a7-4c0b-9323-1f0783757987</name>
-          <entityField>GROUPCODEID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e25386dc-a740-4f93-a1f0-32317cf5a36a</name>
-          <entityField>OPTIONAL</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrderitemPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>IMAGE</iconField>
+      <titleField>ITEMNAME</titleField>
+      <descriptionField>INFO</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>9868560c-41c7-4641-b0f1-627a61b796b3</name>
+          <entityField>TotalPrice</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c0c04d1c-90a7-4c0b-9323-1f0783757987</name>
+          <entityField>GROUPCODEID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e25386dc-a740-4f93-a1f0-32317cf5a36a</name>
+          <entityField>OPTIONAL</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod b/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod
index 5e7c7b5040514661643a920198e6e6f919eac095..b46f48aac73e57823b6f9af069a9360658fd52cc 100644
--- a/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod
+++ b/neonView/OrganisationConditionPricelist_view/OrganisationConditionPricelist_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationConditionPricelist_view</name>
-  <title>Conditions</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>4ac57eb5-8011-4e32-b3c1-0c48bebd35a4</name>
-      <entityField>#ENTITY</entityField>
-      <view>OrganisationCondition_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>16260b28-b350-4bc2-b29a-23b632969070</name>
-      <entityField>Productprices</entityField>
-      <view>ProductpriceRelation_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationConditionPricelist_view</name>
+  <title>Conditions</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>4ac57eb5-8011-4e32-b3c1-0c48bebd35a4</name>
+      <entityField>#ENTITY</entityField>
+      <view>OrganisationCondition_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>16260b28-b350-4bc2-b29a-23b632969070</name>
+      <entityField>Productprices</entityField>
+      <view>ProductpriceRelation_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationCondition_view/OrganisationCondition_view.aod b/neonView/OrganisationCondition_view/OrganisationCondition_view.aod
index 551bdaa1facc542448219e9e16db17339cd30c15..392c3d55a089114cef2351242f3819bbbe4dc60c 100644
--- a/neonView/OrganisationCondition_view/OrganisationCondition_view.aod
+++ b/neonView/OrganisationCondition_view/OrganisationCondition_view.aod
@@ -1,34 +1,34 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationCondition_view</name>
-  <title>Conditions</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-      <autoHeight v="true" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>a81eca8c-e22e-43f2-8f23-1d63eff36ffd</name>
-      <entityField>AttributeConditions</entityField>
-      <view>AttributeRelationPreviewList</view>
-    </neonViewReference>
-    <genericViewTemplate>
-      <name>Information</name>
-      <showDrawer v="true" />
-      <drawerCaption>Information</drawerCaption>
-      <fixedDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>d867f7c4-221a-43cc-8ffb-f2838239fab3</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationCondition_view</name>
+  <title>Conditions</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+      <autoHeight v="true" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>a81eca8c-e22e-43f2-8f23-1d63eff36ffd</name>
+      <entityField>AttributeConditions</entityField>
+      <view>AttributeRelationPreviewList</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Information</name>
+      <showDrawer v="true" />
+      <drawerCaption>Information</drawerCaption>
+      <fixedDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>d867f7c4-221a-43cc-8ffb-f2838239fab3</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod b/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
index 79be40269e322482eed1c023b080094ee1d70336..9fa0f7d194c7ec8af51eb518a8e5b2b6d1b1d4ef 100644
--- a/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
+++ b/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationEditDefaults_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>ccc421c9-3943-4668-a6c7-960753c38562</name>
-          <entityField>ADDRESS_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8625fb63-550c-4ad3-9b39-3091762e3f29</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a984c913-54e8-492e-928a-3553a1e76726</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationEditDefaults_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>ccc421c9-3943-4668-a6c7-960753c38562</name>
+          <entityField>ADDRESS_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8625fb63-550c-4ad3-9b39-3091762e3f29</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a984c913-54e8-492e-928a-3553a1e76726</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationEdit_view/OrganisationEdit_view.aod b/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
index c76664fb8d6a2c5648a8ee58f7c6201a780dbb56..2efdd5acf67112db049d395d84aae6284bf8087f 100644
--- a/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
+++ b/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationEdit_view</name>
-  <title>Company</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:BUILDING</icon>
-  <quickEntry v="1" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>05ea829a-07b1-418a-b634-01fbf8bcfcf5</name>
-          <entityField>NAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1208d378-8992-42d8-a919-81ff5c0985d2</name>
-          <entityField>CUSTOMERCODE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1af0f937-298b-411d-be16-7ca49446e780</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>6009a1a1-0cec-4dc8-b646-99b594dee765</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>2e4b0273-a02a-4afa-9de2-bab48a7af12a</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>edecd4d4-dece-42a6-b25c-c4c4ccb0dd8f</name>
-          <entityField>TYPE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>148e3a6c-d30b-470c-84e5-273293348611</name>
-      <entityField>Addresses</entityField>
-      <view>AdressMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>6355808f-ee94-4caf-95b1-3848e81c75b7</name>
-      <entityField>Communications</entityField>
-      <view>CommunicationMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>2114d459-851a-4ead-b3ec-a81ec78af607</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationEdit_view</name>
+  <title>Company</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:BUILDING</icon>
+  <quickEntry v="1" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>05ea829a-07b1-418a-b634-01fbf8bcfcf5</name>
+          <entityField>NAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1208d378-8992-42d8-a919-81ff5c0985d2</name>
+          <entityField>CUSTOMERCODE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1af0f937-298b-411d-be16-7ca49446e780</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>6009a1a1-0cec-4dc8-b646-99b594dee765</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2e4b0273-a02a-4afa-9de2-bab48a7af12a</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>edecd4d4-dece-42a6-b25c-c4c4ccb0dd8f</name>
+          <entityField>TYPE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>148e3a6c-d30b-470c-84e5-273293348611</name>
+      <entityField>Addresses</entityField>
+      <view>AdressMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>6355808f-ee94-4caf-95b1-3848e81c75b7</name>
+      <entityField>Communications</entityField>
+      <view>CommunicationMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>2114d459-851a-4ead-b3ec-a81ec78af607</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
index 3ea9a4f03ab65cc803c2e97346ded82920726f79..68f25862f2745179150af77398976599c2f9e9fe 100644
--- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
+++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
@@ -1,75 +1,75 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AllOrgsDashlet</name>
-      <title>Companies</title>
-      <description>Show all companies</description>
-      <fragment>Organisation/filter</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:building</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>contactmanagement</name>
-          <title>Contactmanagement</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>org</name>
-          <title>Company</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Organisations</name>
-      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
-      <subtitleField>CUSTOMERCODE_DISPLAY_fieldGroup</subtitleField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>2008e7ac-9e6a-4104-9d5b-da60a10a1c02</name>
-          <entityField>#IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a290a2ca-3236-4eb0-bf51-99f99d8414d6</name>
-          <entityField>NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f94d2ffe-4fa7-489b-9e94-08f15dbd0a41</name>
-          <entityField>CUSTOMERCODE</entityField>
-          <expandRatio v="100" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>b09730e2-5d7d-4b88-aeb9-45fbea6e86c1</name>
-          <entityField>LANGUAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1908e7ac-9e6a-4104-9d5b-da60a10a1c02</name>
-          <entityField>STATUS</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>2a82ed1e-05bf-408a-82e0-4de6195dad49</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>213d7434-cac6-42d8-aa3a-d893dc77b7b3</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>067eeef9-9a98-483b-9b4f-67bcc46eca3a</name>
-          <entityField>ADDRESS_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AllOrgsDashlet</name>
+      <title>Companies</title>
+      <description>Show all companies</description>
+      <fragment>Organisation/filter</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:building</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>contactmanagement</name>
+          <title>Contactmanagement</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>org</name>
+          <title>Company</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Organisations</name>
+      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
+      <subtitleField>CUSTOMERCODE_DISPLAY_fieldGroup</subtitleField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>2008e7ac-9e6a-4104-9d5b-da60a10a1c02</name>
+          <entityField>#IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a290a2ca-3236-4eb0-bf51-99f99d8414d6</name>
+          <entityField>NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f94d2ffe-4fa7-489b-9e94-08f15dbd0a41</name>
+          <entityField>CUSTOMERCODE</entityField>
+          <expandRatio v="100" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>b09730e2-5d7d-4b88-aeb9-45fbea6e86c1</name>
+          <entityField>LANGUAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1908e7ac-9e6a-4104-9d5b-da60a10a1c02</name>
+          <entityField>STATUS</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2a82ed1e-05bf-408a-82e0-4de6195dad49</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>213d7434-cac6-42d8-aa3a-d893dc77b7b3</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>067eeef9-9a98-483b-9b4f-67bcc46eca3a</name>
+          <entityField>ADDRESS_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
index 735b49420282c81b68ce49bbf8236420c607bb4b..489fa46c7bfc02662a3f370a18bd8f8efc003a8c 100644
--- a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
+++ b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
@@ -1,38 +1,38 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Organisations</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>8c14a108-c672-4b48-bd10-b5ca2e777168</name>
-          <entityField>#IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c2b34d5e-cefa-4bea-88bb-b62874956c19</name>
-          <entityField>NAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>61a8f2be-98d3-4bfc-84c2-35b60aa0e2d6</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>44f2a229-3288-448e-9f74-b29751ab3c49</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6e0191b5-468b-41f6-b87e-732bb1c0ded8</name>
-          <entityField>ADDRESS_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Organisations</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>8c14a108-c672-4b48-bd10-b5ca2e777168</name>
+          <entityField>#IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c2b34d5e-cefa-4bea-88bb-b62874956c19</name>
+          <entityField>NAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>61a8f2be-98d3-4bfc-84c2-35b60aa0e2d6</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>44f2a229-3288-448e-9f74-b29751ab3c49</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6e0191b5-468b-41f6-b87e-732bb1c0ded8</name>
+          <entityField>ADDRESS_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod
index 02cd976b495963ecbced53bf9bca6b0da3e04b07..f871a1b4f7ff086880a3a21aebeccb2c2b1daf43 100644
--- a/neonView/OrganisationMain_view/OrganisationMain_view.aod
+++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OrganisationMain_view</name>
   <title>Attribute</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
@@ -57,7 +57,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>0686ad7e-8dc7-4b10-9df2-bf066ae3a310</name>
-      <entityField>LogHistoryConsumer</entityField>
+      <entityField>LogHistories</entityField>
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
   </children>
diff --git a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
index 2b02edb17989e14ce99df03ceff2f19cc74e3bd1..086e32cacebfc76fd231bafc2150c8b6c88be799 100644
--- a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
+++ b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
@@ -1,54 +1,91 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>OrganisationPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>PICTURE</iconField>
-      <titleField>NAME</titleField>
-      <descriptionField>CUSTOMERCODE_DISPLAY_fieldGroup</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <neonViewReference>
-      <name>2cb11b4e-dd8e-419b-8fff-ef0852ef2641</name>
-      <entityField>Communications</entityField>
-      <view>CommunicationList_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>df605bb6-5d18-4233-abc0-1da82e4910ca</name>
-      <entityField>Addresses</entityField>
-      <view>AddressList_view</view>
-    </neonViewReference>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>4bad7219-1a3a-4e6e-ae5a-533d3acb6845</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5a397737-2768-4e16-8c58-890b8a26b4a2</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>89e9aa74-1568-4f74-b42a-a02b13752802</name>
-          <entityField>TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>180e8467-4eb2-4f89-a59f-ff76b8810925</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>OrganisationPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+      <footer>OrganistaionInformation</footer>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>PICTURE</iconField>
+      <titleField>NAME</titleField>
+      <descriptionField>CUSTOMERCODE_DISPLAY_fieldGroup</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <neonViewReference>
+      <name>2cb11b4e-dd8e-419b-8fff-ef0852ef2641</name>
+      <entityField>Communications</entityField>
+      <view>CommunicationList_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>df605bb6-5d18-4233-abc0-1da82e4910ca</name>
+      <entityField>Addresses</entityField>
+      <view>AddressList_view</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Turnover</name>
+      <showDrawer v="true" />
+      <drawerCaption>Turnover</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <title>Turnover</title>
+      <devices />
+      <fields>
+        <entityFieldLink>
+          <name>1998bb83-a6c3-4bfb-9372-d592379591da</name>
+          <entityField>TurnoverCurrentYear</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>894a32ef-84cb-4331-a215-616b7402521d</name>
+          <entityField>TurnoverLastYear</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>4bad7219-1a3a-4e6e-ae5a-533d3acb6845</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5a397737-2768-4e16-8c58-890b8a26b4a2</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>89e9aa74-1568-4f74-b42a-a02b13752802</name>
+          <entityField>TYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>180e8467-4eb2-4f89-a59f-ff76b8810925</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <scoreCardViewTemplate>
+      <name>OrganistaionInformation</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>66f460bd-164c-4c8f-a129-49a6626a3696</name>
+          <entityField>TurnoverPercentDiff</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e1d7710b-f696-434d-b3e4-5b31f847a916</name>
+          <entityField>LastActivity</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>cc143e94-006f-4059-925a-212e91c1ece7</name>
+          <entityField>CountActivity</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/OrganisationTaskAppointment_view/OrganisationTaskAppointment_view.aod b/neonView/OrganisationTaskAppointment_view/OrganisationTaskAppointment_view.aod
index 56c1e5fa1880abee928e24d741a83c477c2361d5..8400d84b94b1aaf938d07ef806c6f85cfbcf18e4 100644
--- a/neonView/OrganisationTaskAppointment_view/OrganisationTaskAppointment_view.aod
+++ b/neonView/OrganisationTaskAppointment_view/OrganisationTaskAppointment_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>OrganisationTaskAppointment_view</name>
   <title>Tasks</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/PermissionDetailEdit_view/PermissionDetailEdit_view.aod b/neonView/PermissionDetailEdit_view/PermissionDetailEdit_view.aod
index e08ef01d524c65426f152a1f66d26975f8ff1ae1..8ef8579b7a1540329efda5245002705fd31b22ff 100644
--- a/neonView/PermissionDetailEdit_view/PermissionDetailEdit_view.aod
+++ b/neonView/PermissionDetailEdit_view/PermissionDetailEdit_view.aod
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionDetailEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>5f97e770-491f-4d47-b996-98af9d6b3d6c</name>
-          <entityField>ROLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7a2448aa-4e33-43e9-96f0-ccbdda7bce59</name>
-          <entityField>ENTITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>33be5e6a-aad9-46ca-81e3-55cb6aba5602</name>
-          <entityField>FIELD</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>340d1206-e5fb-4337-b298-b44286461f8b</name>
-          <entityField>ACCESSTYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c5629444-0aba-4880-a4d8-6352aa4d12e5</name>
-          <entityField>CONDITION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>71e01140-6581-4b5a-8c2c-e8eebe489f38</name>
-          <entityField>ACTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionDetailEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>5f97e770-491f-4d47-b996-98af9d6b3d6c</name>
+          <entityField>ROLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7a2448aa-4e33-43e9-96f0-ccbdda7bce59</name>
+          <entityField>ENTITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>33be5e6a-aad9-46ca-81e3-55cb6aba5602</name>
+          <entityField>FIELD</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>340d1206-e5fb-4337-b298-b44286461f8b</name>
+          <entityField>ACCESSTYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c5629444-0aba-4880-a4d8-6352aa4d12e5</name>
+          <entityField>CONDITION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>71e01140-6581-4b5a-8c2c-e8eebe489f38</name>
+          <entityField>ACTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PermissionDetailFilter_view/PermissionDetailFilter_view.aod b/neonView/PermissionDetailFilter_view/PermissionDetailFilter_view.aod
index 427042b353b771c4c5ffcc0201bc19cb3a8ebc11..4c33b73eeca82801cc5cf7979016fd865e8a1fbb 100644
--- a/neonView/PermissionDetailFilter_view/PermissionDetailFilter_view.aod
+++ b/neonView/PermissionDetailFilter_view/PermissionDetailFilter_view.aod
@@ -1,65 +1,65 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionDetailFilter_view</name>
-  <title>Permission Detail</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <treeViewTemplate>
-      <name>Treetable</name>
-      <parentField>PARENT</parentField>
-      <titleField>#CONTENTTITLE</titleField>
-      <descriptionField>ACTION</descriptionField>
-      <iconField>#ICON</iconField>
-      <hideContentSearch v="true" />
-      <entityField>#ENTITY</entityField>
-    </treeViewTemplate>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>4c37b7f1-5bd3-48a8-afe3-100f8442f2b5</name>
-          <entityField>#ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>82658f11-fff7-45f9-9f2d-a7953cc524e1</name>
-          <entityField>ROLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>50210d1a-bc46-4c0c-805e-5e92dc961843</name>
-          <entityField>ENTITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a1a5e4d1-3fb9-45dc-a59f-22a39cb0786a</name>
-          <entityField>FIELD</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>cb792440-9d70-4e3a-9591-c9a2947a2834</name>
-          <entityField>ACTION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9ac7ecfd-a4d5-4fba-b931-7f35c9006330</name>
-          <entityField>CONDITION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6083181d-f20e-46a6-9fff-390fce058023</name>
-          <entityField>ACCESSTYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>5ab9440e-0384-4e1f-b931-7a22f4dd5ba6</name>
-          <entityField>UID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>61d9c9b4-6d4f-4f94-9f39-4fd8ecdb46d5</name>
-          <entityField>PARENT</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionDetailFilter_view</name>
+  <title>Permission Detail</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <treeViewTemplate>
+      <name>Treetable</name>
+      <parentField>PARENT</parentField>
+      <titleField>#CONTENTTITLE</titleField>
+      <descriptionField>ACTION</descriptionField>
+      <iconField>#ICON</iconField>
+      <hideContentSearch v="true" />
+      <entityField>#ENTITY</entityField>
+    </treeViewTemplate>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>4c37b7f1-5bd3-48a8-afe3-100f8442f2b5</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>82658f11-fff7-45f9-9f2d-a7953cc524e1</name>
+          <entityField>ROLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>50210d1a-bc46-4c0c-805e-5e92dc961843</name>
+          <entityField>ENTITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a1a5e4d1-3fb9-45dc-a59f-22a39cb0786a</name>
+          <entityField>FIELD</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>cb792440-9d70-4e3a-9591-c9a2947a2834</name>
+          <entityField>ACTION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>9ac7ecfd-a4d5-4fba-b931-7f35c9006330</name>
+          <entityField>CONDITION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6083181d-f20e-46a6-9fff-390fce058023</name>
+          <entityField>ACCESSTYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>5ab9440e-0384-4e1f-b931-7a22f4dd5ba6</name>
+          <entityField>UID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>61d9c9b4-6d4f-4f94-9f39-4fd8ecdb46d5</name>
+          <entityField>PARENT</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PermissionDetailPreview_view/PermissionDetailPreview_view.aod b/neonView/PermissionDetailPreview_view/PermissionDetailPreview_view.aod
index e6db91d75ca21de791e1f8d3b2a297c8368e58f6..5ebbf66f77e25fcb516748764f0e687e3f9cd596 100644
--- a/neonView/PermissionDetailPreview_view/PermissionDetailPreview_view.aod
+++ b/neonView/PermissionDetailPreview_view/PermissionDetailPreview_view.aod
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionDetailPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>#ICON</iconField>
-      <titleField>#CONTENTTITLE</titleField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>dd33df7a-82e6-49a8-b35f-99d0187970e3</name>
-          <entityField>CONDITION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d113c6e9-cb6e-4873-85c8-528de4da4bb7</name>
-          <entityField>ACTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionDetailPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Card</name>
+      <iconField>#ICON</iconField>
+      <titleField>#CONTENTTITLE</titleField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>dd33df7a-82e6-49a8-b35f-99d0187970e3</name>
+          <entityField>CONDITION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d113c6e9-cb6e-4873-85c8-528de4da4bb7</name>
+          <entityField>ACTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod b/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
index 4277245e38f0be366595f6b8eaba03de5a1b6b3f..4be9ed00c1fcbe48a47fd5060715f978046fb9e7 100644
--- a/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
+++ b/neonView/PermissionMetaDataFilter_view/PermissionMetaDataFilter_view.aod
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionMetaDataFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>7323f0a6-a8d9-477e-9fdf-fd0eb2710f32</name>
-          <entityField>#ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>fe1de1ae-9479-47e2-b14f-81777a5c119e</name>
-          <entityField>UID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>6ea976c5-e6be-47fa-869d-03a489f11f20</name>
-          <entityField>TITLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ebc611c2-7413-483e-9194-4303e9ae9b17</name>
-          <entityField>DESCRIPTION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionMetaDataFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>7323f0a6-a8d9-477e-9fdf-fd0eb2710f32</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>fe1de1ae-9479-47e2-b14f-81777a5c119e</name>
+          <entityField>UID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>6ea976c5-e6be-47fa-869d-03a489f11f20</name>
+          <entityField>TITLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ebc611c2-7413-483e-9194-4303e9ae9b17</name>
+          <entityField>DESCRIPTION</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PermissionMetaDataMain_view/PermissionMetaDataMain_view.aod b/neonView/PermissionMetaDataMain_view/PermissionMetaDataMain_view.aod
index 0a1255ea85f6e8d5de520dbe9945562dba4d4609..67cca32def950fc06f231eb181db089b9aa71905 100644
--- a/neonView/PermissionMetaDataMain_view/PermissionMetaDataMain_view.aod
+++ b/neonView/PermissionMetaDataMain_view/PermissionMetaDataMain_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionMetaDataMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>97d01b0c-a5a7-4d1f-8cab-de93552feee5</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>97d01b0c-a5a7-4d1f-8cab-de93552feee5</name>
-      <entityField>#ENTITY</entityField>
-      <view>PermissionMetaDataPreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>25bb7e77-1fac-49d9-840a-8b524aac0d89</name>
-      <entityField>PermissionOverviews</entityField>
-      <view>PermissionOverviewFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a36d53a8-d10a-433c-8386-b354ad8bbbad</name>
-      <entityField>PermissionDetails</entityField>
-      <view>PermissionDetailFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionMetaDataMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>97d01b0c-a5a7-4d1f-8cab-de93552feee5</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>97d01b0c-a5a7-4d1f-8cab-de93552feee5</name>
+      <entityField>#ENTITY</entityField>
+      <view>PermissionMetaDataPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>25bb7e77-1fac-49d9-840a-8b524aac0d89</name>
+      <entityField>PermissionOverviews</entityField>
+      <view>PermissionOverviewFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a36d53a8-d10a-433c-8386-b354ad8bbbad</name>
+      <entityField>PermissionDetails</entityField>
+      <view>PermissionDetailFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/PermissionMetaDataPreview_view/PermissionMetaDataPreview_view.aod b/neonView/PermissionMetaDataPreview_view/PermissionMetaDataPreview_view.aod
index 8c308d8a9c9dd9511661bbece2cc2f882d69106f..469c85d55382197864f0287453d38b158b173a4c 100644
--- a/neonView/PermissionMetaDataPreview_view/PermissionMetaDataPreview_view.aod
+++ b/neonView/PermissionMetaDataPreview_view/PermissionMetaDataPreview_view.aod
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionMetaDataPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>#ICON</iconField>
-      <titleField>UID</titleField>
-      <subtitleField>TITLE</subtitleField>
-      <descriptionField>DESCRIPTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionMetaDataPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Card</name>
+      <iconField>#ICON</iconField>
+      <titleField>UID</titleField>
+      <subtitleField>TITLE</subtitleField>
+      <descriptionField>DESCRIPTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod b/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
index 5e112e110016594b899c2171de401138bcb7089e..ddb1a45e3736c6ee6da8fca6fcba6cb67b88da1f 100644
--- a/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
+++ b/neonView/PermissionOverviewFilter_view/PermissionOverviewFilter_view.aod
@@ -1,50 +1,50 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PermissionOverviewFilter_view</name>
-  <title>Permission  Overview</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <iconField>#ICON</iconField>
-      <titleField>ENTITY</titleField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>2d83af69-cafe-471c-92de-0e6e66ba51aa</name>
-          <entityField>#ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>16c4d649-ec91-415d-9768-78d0581ad44a</name>
-          <entityField>ENTITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f3e96f53-fb65-4b98-a189-cead544c17d8</name>
-          <entityField>ACTION_VIEW</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d21161a7-51e8-4c83-9c92-b6a0d24ddc62</name>
-          <entityField>ACTION_CREATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>c5679586-7f99-4ea5-99f4-94422e70c999</name>
-          <entityField>ACTION_READ</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0699fd7b-d4ac-4ef8-ac19-1cd249ce3251</name>
-          <entityField>ACTION_UPDATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>f7c3479e-e635-44f1-afc0-45570c4fffe9</name>
-          <entityField>ACTION_DELETE</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PermissionOverviewFilter_view</name>
+  <title>Permission  Overview</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <iconField>#ICON</iconField>
+      <titleField>ENTITY</titleField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>2d83af69-cafe-471c-92de-0e6e66ba51aa</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>16c4d649-ec91-415d-9768-78d0581ad44a</name>
+          <entityField>ENTITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f3e96f53-fb65-4b98-a189-cead544c17d8</name>
+          <entityField>ACTION_VIEW</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d21161a7-51e8-4c83-9c92-b6a0d24ddc62</name>
+          <entityField>ACTION_CREATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>c5679586-7f99-4ea5-99f4-94422e70c999</name>
+          <entityField>ACTION_READ</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0699fd7b-d4ac-4ef8-ac19-1cd249ce3251</name>
+          <entityField>ACTION_UPDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>f7c3479e-e635-44f1-afc0-45570c4fffe9</name>
+          <entityField>ACTION_DELETE</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonDSGVORestriction_view/PersonDSGVORestriction_view.aod b/neonView/PersonAttributeRestriction_view/PersonAttributeRestriction_view.aod
similarity index 64%
rename from neonView/PersonDSGVORestriction_view/PersonDSGVORestriction_view.aod
rename to neonView/PersonAttributeRestriction_view/PersonAttributeRestriction_view.aod
index ba8c4846f3577209970fff50c6cc87e9984d3d11..4ae99a71b66ac2d4b044a16890773c5b2783ef47 100644
--- a/neonView/PersonDSGVORestriction_view/PersonDSGVORestriction_view.aod
+++ b/neonView/PersonAttributeRestriction_view/PersonAttributeRestriction_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonDSGVORestriction_view</name>
-  <title>Data Privacy</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>e9af5716-946a-4d29-86e3-06c5231838f9</name>
-      <entityField>DSGVOEntries</entityField>
-      <view>DSGVODrawer_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>38199f7b-af85-4576-a6ee-3add0e6761aa</name>
-      <entityField>CommRestrictions</entityField>
-      <view>CommRestrictionDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonAttributeRestriction_view</name>
+  <title>Attributes</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>0398cc40-98f9-42a5-a2ed-938a5e8945e0</name>
+      <entityField>AttributeTree</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>38199f7b-af85-4576-a6ee-3add0e6761aa</name>
+      <entityField>CommRestrictions</entityField>
+      <view>CommRestrictionDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/PersonDetail_view/PersonDetail_view.aod b/neonView/PersonDetail_view/PersonDetail_view.aod
index 8f093cb6094fda2662e09b20261105b0d488b25a..7e3af7954ba7d81135173732b750307c826c5ab4 100644
--- a/neonView/PersonDetail_view/PersonDetail_view.aod
+++ b/neonView/PersonDetail_view/PersonDetail_view.aod
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonDetail_view</name>
-  <title>Details</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Details</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c08b6952-9825-42fa-9b42-7a20a376fec7</name>
-          <entityField>FULL_NAME_fieldGroup</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>bfd5e2d2-d89d-4c90-a8e2-f85fb2cc48f3</name>
-          <entityField>GENDER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>39ca0ab2-b2d5-4d56-9ded-f8df1ae4dd0a</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>86e3b7c4-44ee-4fd4-83f1-2842a0eabda7</name>
-          <entityField>ORGNAME</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonDetail_view</name>
+  <title>Details</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Details</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c08b6952-9825-42fa-9b42-7a20a376fec7</name>
+          <entityField>FULL_NAME_fieldGroup</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>bfd5e2d2-d89d-4c90-a8e2-f85fb2cc48f3</name>
+          <entityField>GENDER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>39ca0ab2-b2d5-4d56-9ded-f8df1ae4dd0a</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>86e3b7c4-44ee-4fd4-83f1-2842a0eabda7</name>
+          <entityField>ORGNAME</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod b/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
index 5b52a8e61550748e3605679e9412fabe2fc844fa..ea6022eaac1b8d781b5a4f6993ac17eb5979d8c5 100644
--- a/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
+++ b/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonEditDefaults_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c28f9bd4-5ed4-43cb-a431-3164d862f3e6</name>
-          <entityField>ADDRESS_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b3451cde-029d-4339-8b07-8549c06b6796</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ca07d91a-a673-438a-8590-874392993efb</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonEditDefaults_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c28f9bd4-5ed4-43cb-a431-3164d862f3e6</name>
+          <entityField>ADDRESS_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b3451cde-029d-4339-8b07-8549c06b6796</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ca07d91a-a673-438a-8590-874392993efb</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonEdit_view/PersonEdit_view.aod b/neonView/PersonEdit_view/PersonEdit_view.aod
index 8c7af6436279d7ecfcb8e2200f24d6cd7dc67a94..af2f533b0e3987a37f84a93f8786868ed34cfd1d 100644
--- a/neonView/PersonEdit_view/PersonEdit_view.aod
+++ b/neonView/PersonEdit_view/PersonEdit_view.aod
@@ -1,90 +1,90 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonEdit_view</name>
-  <title>Contact</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:USERS</icon>
-  <quickEntry v="0" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <showDrawer v="false" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>7a647c90-3a1c-4f8d-9ecd-6bdf35ab2f80</name>
-          <entityField>ORGANISATION_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8f7b95e8-e15e-4d9b-960a-ecd142c71c9e</name>
-          <entityField>SALUTATION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>413db0e9-00e8-4fd0-9bdc-8100509e622f</name>
-          <entityField>TITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ac32ab06-5b8f-460d-b136-384e879dd5c1</name>
-          <entityField>FIRSTNAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7222d731-80e0-4ef1-9761-e31dce4ed782</name>
-          <entityField>MIDDLENAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a5ad1cc7-8e97-4828-8eaa-02d0876af35b</name>
-          <entityField>LASTNAME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>35861eb9-59c3-4317-8164-ee7c53ce397e</name>
-          <entityField>GENDER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>74de507e-75e0-4957-a4fb-7070fa3c5a4a</name>
-          <entityField>DATEOFBIRTH</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d8d04e36-de46-48a3-994a-fa72d1f2ea89</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f8ec0e41-7ead-4c80-878c-df75ce5fce34</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>16b3b029-eed3-45b7-94b0-446c89d70594</name>
-          <entityField>DEPARTMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>720ba110-faa2-4c64-823b-82a2089f337c</name>
-          <entityField>CONTACTROLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7bad6e30-fda3-4ee4-858c-712a60437397</name>
-          <entityField>POSITION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>78dcb8dc-61c3-4cf9-a37b-28dbeeb27001</name>
-      <entityField>PersAddresses</entityField>
-      <view>AdressMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>fc64789f-b4c6-401e-86e3-f484451c7689</name>
-      <entityField>Communications</entityField>
-      <view>CommunicationMultiEdit_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>520f3056-2a24-4469-a86f-76ba80090829</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonEdit_view</name>
+  <title>Contact</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:USERS</icon>
+  <quickEntry v="0" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <showDrawer v="false" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>7a647c90-3a1c-4f8d-9ecd-6bdf35ab2f80</name>
+          <entityField>ORGANISATION_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8f7b95e8-e15e-4d9b-960a-ecd142c71c9e</name>
+          <entityField>SALUTATION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>413db0e9-00e8-4fd0-9bdc-8100509e622f</name>
+          <entityField>TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ac32ab06-5b8f-460d-b136-384e879dd5c1</name>
+          <entityField>FIRSTNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7222d731-80e0-4ef1-9761-e31dce4ed782</name>
+          <entityField>MIDDLENAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a5ad1cc7-8e97-4828-8eaa-02d0876af35b</name>
+          <entityField>LASTNAME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>35861eb9-59c3-4317-8164-ee7c53ce397e</name>
+          <entityField>GENDER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>74de507e-75e0-4957-a4fb-7070fa3c5a4a</name>
+          <entityField>DATEOFBIRTH</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d8d04e36-de46-48a3-994a-fa72d1f2ea89</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f8ec0e41-7ead-4c80-878c-df75ce5fce34</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>16b3b029-eed3-45b7-94b0-446c89d70594</name>
+          <entityField>DEPARTMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>720ba110-faa2-4c64-823b-82a2089f337c</name>
+          <entityField>CONTACTROLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7bad6e30-fda3-4ee4-858c-712a60437397</name>
+          <entityField>POSITION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>78dcb8dc-61c3-4cf9-a37b-28dbeeb27001</name>
+      <entityField>PersAddresses</entityField>
+      <view>AdressMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>fc64789f-b4c6-401e-86e3-f484451c7689</name>
+      <entityField>Communications</entityField>
+      <view>CommunicationMultiEdit_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>520f3056-2a24-4469-a86f-76ba80090829</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/PersonFilter_view/PersonFilter_view.aod b/neonView/PersonFilter_view/PersonFilter_view.aod
index 4389832df3e36162468717773386bb9b120528b2..56d6a1daf958e2239af04517475f6ecf3cbc40df 100644
--- a/neonView/PersonFilter_view/PersonFilter_view.aod
+++ b/neonView/PersonFilter_view/PersonFilter_view.aod
@@ -1,86 +1,86 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AllContactsDashlet</name>
-      <title>Contacts</title>
-      <description>Show all contacts</description>
-      <fragment>Person/filter</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:users</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>contactmanagement</name>
-          <title>Contactmanagement</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>person</name>
-          <title>Contact</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Persons</name>
-      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
-      <hideActions v="false" />
-      <iconField>PICTURE</iconField>
-      <titleField>NAME_fieldGroup</titleField>
-      <subtitleField>LANGUAGE</subtitleField>
-      <descriptionField>ORGANISATION_ID</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <showHeader v="true" />
-      <columns>
-        <neonTableColumn>
-          <name>210cc6ab-5123-4d8a-8f2e-a6cd91d494ef</name>
-          <entityField>PICTURE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>125d04cc-5c7a-4c38-bd0f-b5d02d21067d</name>
-          <entityField>SALUTATION</entityField>
-          <collapse v="false" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>2cdfaf73-d3ee-4ad8-83ea-f50acba0335a</name>
-          <entityField>TITLE</entityField>
-          <collapse v="true" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>210cc6ab-5023-4d8a-8f2e-a6cd91d994ef</name>
-          <entityField>FIRSTNAME</entityField>
-          <collapse v="true" />
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>187bcb25-db19-4e35-8723-34764166b7bd</name>
-          <entityField>LASTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>125d04cc-5c7a-4c38-bd3f-b5d02d21067d</name>
-          <entityField>ORGANISATION_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>0a4cc9be-3946-4863-b3a6-a798ff801c83</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1b99eaf7-7ce7-4b7d-bb71-f21e6cae4417</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4e9d69fc-a072-41b9-a089-0a9c5c1e37c2</name>
-          <entityField>ADDRESS_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AllContactsDashlet</name>
+      <title>Contacts</title>
+      <description>Show all contacts</description>
+      <fragment>Person/filter</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:users</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>contactmanagement</name>
+          <title>Contactmanagement</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>person</name>
+          <title>Contact</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Persons</name>
+      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
+      <hideActions v="false" />
+      <iconField>PICTURE</iconField>
+      <titleField>NAME_fieldGroup</titleField>
+      <subtitleField>LANGUAGE</subtitleField>
+      <descriptionField>ORGANISATION_ID</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <showHeader v="true" />
+      <columns>
+        <neonTableColumn>
+          <name>210cc6ab-5123-4d8a-8f2e-a6cd91d494ef</name>
+          <entityField>PICTURE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>125d04cc-5c7a-4c38-bd0f-b5d02d21067d</name>
+          <entityField>SALUTATION</entityField>
+          <collapse v="false" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>2cdfaf73-d3ee-4ad8-83ea-f50acba0335a</name>
+          <entityField>TITLE</entityField>
+          <collapse v="true" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>210cc6ab-5023-4d8a-8f2e-a6cd91d994ef</name>
+          <entityField>FIRSTNAME</entityField>
+          <collapse v="true" />
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>187bcb25-db19-4e35-8723-34764166b7bd</name>
+          <entityField>LASTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>125d04cc-5c7a-4c38-bd3f-b5d02d21067d</name>
+          <entityField>ORGANISATION_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>0a4cc9be-3946-4863-b3a6-a798ff801c83</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1b99eaf7-7ce7-4b7d-bb71-f21e6cae4417</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4e9d69fc-a072-41b9-a089-0a9c5c1e37c2</name>
+          <entityField>ADDRESS_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonLookup_view/PersonLookup_view.aod b/neonView/PersonLookup_view/PersonLookup_view.aod
index 9231d1b29870b4400b260f2752f1bdd4dc48bb53..b8da1508e862b5975fe77fa05a010d699f1f8542 100644
--- a/neonView/PersonLookup_view/PersonLookup_view.aod
+++ b/neonView/PersonLookup_view/PersonLookup_view.aod
@@ -1,46 +1,46 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonLookup_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Persons</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>9541c336-10e9-4767-b6e5-52b6108d967a</name>
-          <entityField>#IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>876baf47-81c8-477a-951c-18df2dd4d972</name>
-          <entityField>FIRSTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>fb150402-a576-4e21-855c-91dd7574f353</name>
-          <entityField>LASTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>9760f1eb-8296-4d29-9afc-45c7440a0dc5</name>
-          <entityField>ORGANISATION_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>768f2294-2c4e-4c71-9992-ee9cea299041</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>eb778e57-1f2d-436e-b22a-e92f7a190606</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>27d03313-3ec6-438f-b79b-724369316ef3</name>
-          <entityField>ADDRESS_ID</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonLookup_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Persons</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>9541c336-10e9-4767-b6e5-52b6108d967a</name>
+          <entityField>#IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>876baf47-81c8-477a-951c-18df2dd4d972</name>
+          <entityField>FIRSTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>fb150402-a576-4e21-855c-91dd7574f353</name>
+          <entityField>LASTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>9760f1eb-8296-4d29-9afc-45c7440a0dc5</name>
+          <entityField>ORGANISATION_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>768f2294-2c4e-4c71-9992-ee9cea299041</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>eb778e57-1f2d-436e-b22a-e92f7a190606</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>27d03313-3ec6-438f-b79b-724369316ef3</name>
+          <entityField>ADDRESS_ID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonMain_view/PersonMain_view.aod b/neonView/PersonMain_view/PersonMain_view.aod
index 8d0e2c2199b0a60ac43de76991b5ce64d84fa78f..4ae33c830ebaa29c581161bacbcfbb4a5fd77671 100644
--- a/neonView/PersonMain_view/PersonMain_view.aod
+++ b/neonView/PersonMain_view/PersonMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>PersonMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -40,14 +40,14 @@
       <view>PersonTaskAppointment_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>c6dad062-2708-4329-bb60-90f8ab482a6c</name>
-      <entityField>#ENTITY</entityField>
-      <view>PersonDSGVORestriction_view</view>
+      <name>05846541-3e37-43f8-ab39-017b947d40dc</name>
+      <entityField>DSGVOEntries</entityField>
+      <view>DSGVOFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>cf989bf6-3e49-44fc-ba98-322aae377da3</name>
-      <entityField>AttributeTree</entityField>
-      <view>AttributeRelationTree_view</view>
+      <name>0470a456-1132-4802-ba69-4a1b562b8f14</name>
+      <entityField>#ENTITY</entityField>
+      <view>PersonAttributeRestriction_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>4b50b784-484f-4cdf-a705-4c356da763fa</name>
@@ -56,7 +56,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>5754fc3a-c81c-42ba-90ea-2859b10bb391</name>
-      <entityField>LogHistoryConsumer</entityField>
+      <entityField>LogHistories</entityField>
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
   </children>
diff --git a/neonView/PersonPreview_view/PersonPreview_view.aod b/neonView/PersonPreview_view/PersonPreview_view.aod
index 0129686652cafc5ad7de028c01d3d22f01f0e776..43d0a9c2871ca2023a2ba81888fd694d9665b920 100644
--- a/neonView/PersonPreview_view/PersonPreview_view.aod
+++ b/neonView/PersonPreview_view/PersonPreview_view.aod
@@ -1,71 +1,71 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <iconField>PICTURE</iconField>
-      <titleField>FULL_NAME_fieldGroup</titleField>
-      <descriptionField>ORGANISATION_ID</descriptionField>
-      <favoriteAction1>newActivity</favoriteAction1>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <neonViewReference>
-      <name>5a1b7683-2fec-4763-9b45-e4c7a18d70fd</name>
-      <entityField>Communications</entityField>
-      <view>CommunicationList_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>4c4b1e66-fdc2-469c-a553-244b6dbffbe0</name>
-      <entityField>PersAddresses</entityField>
-      <view>AddressList_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>38bd1cc7-8b75-4755-8bb2-0177f02bbef5</name>
-      <entityField>OrgAddresses</entityField>
-      <view>AddressList_view</view>
-    </neonViewReference>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>f9875d78-3d72-47d3-b729-9cf80d236f6e</name>
-          <entityField>GENDER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5d4e0828-b7fe-4f54-a47a-f9b5838fb1ae</name>
-          <entityField>DATEOFBIRTH</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3aa3e89b-91ce-4607-8d76-53ee309a688f</name>
-          <entityField>LANGUAGE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>278c4e64-6f0f-4ea9-b683-75f272a6c088</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8ca0067d-4bfa-45b6-89e8-5c58c4e0d6ec</name>
-          <entityField>DEPARTMENT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>99904332-fa07-411f-b9e8-7d0ae6918aa6</name>
-          <entityField>CONTACTROLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d5cc98c9-9483-4c2d-b0f3-69e25a0474f3</name>
-          <entityField>POSITION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <iconField>PICTURE</iconField>
+      <titleField>FULL_NAME_fieldGroup</titleField>
+      <descriptionField>ORGANISATION_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <neonViewReference>
+      <name>5a1b7683-2fec-4763-9b45-e4c7a18d70fd</name>
+      <entityField>Communications</entityField>
+      <view>CommunicationList_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>4c4b1e66-fdc2-469c-a553-244b6dbffbe0</name>
+      <entityField>PersAddresses</entityField>
+      <view>AddressList_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>38bd1cc7-8b75-4755-8bb2-0177f02bbef5</name>
+      <entityField>OrgAddresses</entityField>
+      <view>AddressList_view</view>
+    </neonViewReference>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>f9875d78-3d72-47d3-b729-9cf80d236f6e</name>
+          <entityField>GENDER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5d4e0828-b7fe-4f54-a47a-f9b5838fb1ae</name>
+          <entityField>DATEOFBIRTH</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3aa3e89b-91ce-4607-8d76-53ee309a688f</name>
+          <entityField>LANGUAGE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>278c4e64-6f0f-4ea9-b683-75f272a6c088</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8ca0067d-4bfa-45b6-89e8-5c58c4e0d6ec</name>
+          <entityField>DEPARTMENT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>99904332-fa07-411f-b9e8-7d0ae6918aa6</name>
+          <entityField>CONTACTROLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d5cc98c9-9483-4c2d-b0f3-69e25a0474f3</name>
+          <entityField>POSITION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
index 716ce311e64542a10ee5e836f1554808b0c31df6..cb5d4798dc7ea26426387fd7ffbed1dea0bac76e 100644
--- a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
+++ b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
@@ -1,52 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>PersonSimpleList_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Persons</name>
-      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
-      <iconField>PICTURE</iconField>
-      <titleField>NAME_fieldGroup</titleField>
-      <subtitleField>LANGUAGE</subtitleField>
-      <descriptionField>DEPARTMENT</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>d6207ade-29e7-4af0-ba5f-e9ddd799de7b</name>
-          <entityField>#IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>1053d3a7-c5ee-4260-86f6-54e820f53e9f</name>
-          <entityField>SALUTATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>a7eb48e2-d2a0-4ddb-b197-74ee77896960</name>
-          <entityField>TITLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>302d875b-644d-4f75-b8c2-f99bab8ae88d</name>
-          <entityField>FIRSTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>eacb1707-191c-4f09-b213-fbe87988c523</name>
-          <entityField>LASTNAME</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>38e8ea31-060d-4a4c-aa70-a6752019dcff</name>
-          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>60cb743a-7a1f-4faa-92d6-780bd2ad0564</name>
-          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>PersonSimpleList_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Persons</name>
+      <favoriteActionGroup1>campaignActionGroup</favoriteActionGroup1>
+      <iconField>PICTURE</iconField>
+      <titleField>NAME_fieldGroup</titleField>
+      <subtitleField>LANGUAGE</subtitleField>
+      <descriptionField>DEPARTMENT</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>d6207ade-29e7-4af0-ba5f-e9ddd799de7b</name>
+          <entityField>#IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>1053d3a7-c5ee-4260-86f6-54e820f53e9f</name>
+          <entityField>SALUTATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>a7eb48e2-d2a0-4ddb-b197-74ee77896960</name>
+          <entityField>TITLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>302d875b-644d-4f75-b8c2-f99bab8ae88d</name>
+          <entityField>FIRSTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>eacb1707-191c-4f09-b213-fbe87988c523</name>
+          <entityField>LASTNAME</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>38e8ea31-060d-4a4c-aa70-a6752019dcff</name>
+          <entityField>STANDARD_EMAIL_COMMUNICATION</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>60cb743a-7a1f-4faa-92d6-780bd2ad0564</name>
+          <entityField>STANDARD_PHONE_COMMUNICATION</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/PersonTaskAppointment_view/PersonTaskAppointment_view.aod b/neonView/PersonTaskAppointment_view/PersonTaskAppointment_view.aod
index 92d3e6fad9bca6817e892ce32b61afd396714ef8..4444d7e5756e894c3db74932dacf79ff26f1ad5b 100644
--- a/neonView/PersonTaskAppointment_view/PersonTaskAppointment_view.aod
+++ b/neonView/PersonTaskAppointment_view/PersonTaskAppointment_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>PersonTaskAppointment_view</name>
   <title>Tasks</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod b/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod
index 64c811afd8e155050255bdfec9f8cfd9391a3f6a..828d73c8a0b339580121251de5b51c3beb8be268 100644
--- a/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod
+++ b/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>Prod2ProdEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>a522d552-60cd-4b79-827f-64bb9b551f57</name>
-          <entityField>SOURCE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>868f8e9b-c863-4515-8aec-0b3d8c7657b5</name>
-          <entityField>QUANTITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>79c10c6e-d84e-4147-b4a6-fb283cc3521e</name>
-          <entityField>OPTIONAL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>7fb15e31-bb91-47a8-9ae4-15cc1734d7ee</name>
-          <entityField>TAKEPRICE</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>Prod2ProdEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>a522d552-60cd-4b79-827f-64bb9b551f57</name>
+          <entityField>SOURCE_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>868f8e9b-c863-4515-8aec-0b3d8c7657b5</name>
+          <entityField>QUANTITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>79c10c6e-d84e-4147-b4a6-fb283cc3521e</name>
+          <entityField>OPTIONAL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>7fb15e31-bb91-47a8-9ae4-15cc1734d7ee</name>
+          <entityField>TAKEPRICE</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod b/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod
index 8a462a1a27f19908da799b03cc9d5abaf81776ff..c996cb4839d02f49ba1761371edb4b226df47adf 100644
--- a/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod
+++ b/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>Prod2prodFilter_view</name>
+  <title>Parts list</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <boxLayout>
@@ -13,6 +14,8 @@
       <parentField>DEST_ID</parentField>
       <favoriteActionGroup1>alter</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
+      <devices />
+      <title>Parts list</title>
       <columns>
         <neonTableColumn>
           <name>43d3c9b0-21ab-4996-8d24-af74a5ee1e1a</name>
diff --git a/neonView/ProductEdit_view/ProductEdit_view.aod b/neonView/ProductEdit_view/ProductEdit_view.aod
index d4a5ea781da01966d342115ef24990cb144f8485..44af966a006bcff5fe510c2e2c0c795569006df6 100644
--- a/neonView/ProductEdit_view/ProductEdit_view.aod
+++ b/neonView/ProductEdit_view/ProductEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ProductEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ProductFilter_view/ProductFilter_view.aod b/neonView/ProductFilter_view/ProductFilter_view.aod
index 040e29d62f3c5a87281fe8ffa3fb5fe2627d306e..872dbd01f7f90b1a0c153b3cc967425c5b9647a3 100644
--- a/neonView/ProductFilter_view/ProductFilter_view.aod
+++ b/neonView/ProductFilter_view/ProductFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ProductFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/ProductMain_view/ProductMain_view.aod b/neonView/ProductMain_view/ProductMain_view.aod
index 170b358c21eb28a731ed5f1b6cded2ffc0b8d475..ba7678cf434ca2dd7a5cfc4d885fa1ebc74f7e49 100644
--- a/neonView/ProductMain_view/ProductMain_view.aod
+++ b/neonView/ProductMain_view/ProductMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ProductMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -51,7 +51,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>0faf6a9e-b1f3-452d-b7fd-d0c9e3fc25f8</name>
-      <entityField>LogHistoryConsumer</entityField>
+      <entityField>LogHistories</entityField>
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
   </children>
diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod
index 620131972723f1dfc41577e57143c09846aa22e8..c79ad05a028b2771b28ae47fc51182c030299102 100644
--- a/neonView/ProductPreview_view/ProductPreview_view.aod
+++ b/neonView/ProductPreview_view/ProductPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ProductPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod b/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
index 1e03e13850a41a952d37f22ec4b1b9e38d89fb5d..705a27d90d275046f9442f521f82c4871af8c5b3 100644
--- a/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
+++ b/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
@@ -1,57 +1,57 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ProductpriceEdit_view</name>
-  <title>Price list</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>e2afee84-173b-430a-8e29-1fd16d33dd69</name>
-          <entityField>PRICELIST</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>21c8be49-ee64-4d9c-a8b0-eb44575cfd01</name>
-          <entityField>PRODUCT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fa21fa53-ac64-44b1-a5d1-8a1af16590fe</name>
-          <entityField>VALID_FROM</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>62012f94-6139-4419-9124-12c6f6720a71</name>
-          <entityField>VALID_TO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>e82da6cf-63f2-4d52-a7e5-38e775b4c123</name>
-          <entityField>PRICE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3685f50e-e21c-4091-9246-d042cf1e0fa9</name>
-          <entityField>BUYSELL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3a9e1f32-2c7e-42ab-8ffb-7e4e32c40bd6</name>
-          <entityField>FROMQUANTITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>562e1b29-ba29-4eae-b8f0-473935ea62a3</name>
-          <entityField>VAT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ca06ebcb-abf5-4606-98cd-fd54dccce6d0</name>
-          <entityField>CURRENCY</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ProductpriceEdit_view</name>
+  <title>Price list</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>e2afee84-173b-430a-8e29-1fd16d33dd69</name>
+          <entityField>PRICELIST</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>21c8be49-ee64-4d9c-a8b0-eb44575cfd01</name>
+          <entityField>PRODUCT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fa21fa53-ac64-44b1-a5d1-8a1af16590fe</name>
+          <entityField>VALID_FROM</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>62012f94-6139-4419-9124-12c6f6720a71</name>
+          <entityField>VALID_TO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>e82da6cf-63f2-4d52-a7e5-38e775b4c123</name>
+          <entityField>PRICE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3685f50e-e21c-4091-9246-d042cf1e0fa9</name>
+          <entityField>BUYSELL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3a9e1f32-2c7e-42ab-8ffb-7e4e32c40bd6</name>
+          <entityField>FROMQUANTITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>562e1b29-ba29-4eae-b8f0-473935ea62a3</name>
+          <entityField>VAT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ca06ebcb-abf5-4606-98cd-fd54dccce6d0</name>
+          <entityField>CURRENCY</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod b/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
index 0ea384be52447172587efbf94eee3a212af5db7d..dfbf07b3a8b7c4983f20aba29880854e5c266158 100644
--- a/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
+++ b/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
@@ -1,55 +1,55 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ProductpriceFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Prices</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>44311686-a24a-4cf0-87a0-6e354b3f457a</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>695ce7be-d738-48a9-833d-e8815c6eff74</name>
-          <entityField>PRICELIST</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>472a96ca-10ff-49c7-b2ae-6550e04c4e6f</name>
-          <entityField>VALID_FROM</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>56b22986-0b94-4e7f-a0e8-c2a0a7281088</name>
-          <entityField>VALID_TO</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>56902ebb-b48b-42f9-b867-fb2b07527461</name>
-          <entityField>PRICE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>8879e46d-fa53-4769-8bcf-15b65fdf9967</name>
-          <entityField>CURRENCY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>15a669d9-b089-4134-89a0-129de6e1e68c</name>
-          <entityField>BUYSELL</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e27ad433-ca4f-4a54-8722-75c9055a202b</name>
-          <entityField>FROMQUANTITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>981f29b1-b4c5-4591-8064-21a72f339179</name>
-          <entityField>VAT</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ProductpriceFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Prices</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>44311686-a24a-4cf0-87a0-6e354b3f457a</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>695ce7be-d738-48a9-833d-e8815c6eff74</name>
+          <entityField>PRICELIST</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>472a96ca-10ff-49c7-b2ae-6550e04c4e6f</name>
+          <entityField>VALID_FROM</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>56b22986-0b94-4e7f-a0e8-c2a0a7281088</name>
+          <entityField>VALID_TO</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>56902ebb-b48b-42f9-b867-fb2b07527461</name>
+          <entityField>PRICE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>8879e46d-fa53-4769-8bcf-15b65fdf9967</name>
+          <entityField>CURRENCY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>15a669d9-b089-4134-89a0-129de6e1e68c</name>
+          <entityField>BUYSELL</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e27ad433-ca4f-4a54-8722-75c9055a202b</name>
+          <entityField>FROMQUANTITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>981f29b1-b4c5-4591-8064-21a72f339179</name>
+          <entityField>VAT</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/ProductpricePreview_view/ProductpricePreview_view.aod b/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
index 333a0598599facdc33b839ae9ca86bd7cb3916af..d1b78476afeb57aa906210ff9c35195e0fd14bde 100644
--- a/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
+++ b/neonView/ProductpricePreview_view/ProductpricePreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>ProductpricePreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
index ca9c03ed9740ce66eb5fd66ac643ff044ceeb300..69ad7deaeb912918bb2b159206872decc6b713f9 100644
--- a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
+++ b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
@@ -1,60 +1,60 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>ProductpriceRelation_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Price Condition</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>PriceRelations</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>44311686-a24a-4cf0-87a0-6e354b3f457a</name>
-          <entityField>IMAGE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>695ce7be-d738-48a9-833d-e8815c6eff74</name>
-          <entityField>PRODUCT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>472a96ca-10ff-49c7-b2ae-6550e04c4e6f</name>
-          <entityField>VALID_FROM</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>56b22986-0b94-4e7f-a0e8-c2a0a7281088</name>
-          <entityField>VALID_TO</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>56902ebb-b48b-42f9-b867-fb2b07527461</name>
-          <entityField>PRICE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>8879e46d-fa53-4769-8bcf-15b65fdf9967</name>
-          <entityField>CURRENCY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>15a669d9-b089-4134-89a0-129de6e1e68c</name>
-          <entityField>BUYSELL</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e27ad433-ca4f-4a54-8722-75c9055a202b</name>
-          <entityField>FROMQUANTITY</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>981f29b1-b4c5-4591-8064-21a72f339179</name>
-          <entityField>VAT</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>51a923d8-3893-409b-869e-a4ad9704aa03</name>
-          <entityField>PRICELIST</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>ProductpriceRelation_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Price Condition</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>PriceRelations</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>44311686-a24a-4cf0-87a0-6e354b3f457a</name>
+          <entityField>IMAGE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>695ce7be-d738-48a9-833d-e8815c6eff74</name>
+          <entityField>PRODUCT_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>472a96ca-10ff-49c7-b2ae-6550e04c4e6f</name>
+          <entityField>VALID_FROM</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>56b22986-0b94-4e7f-a0e8-c2a0a7281088</name>
+          <entityField>VALID_TO</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>56902ebb-b48b-42f9-b867-fb2b07527461</name>
+          <entityField>PRICE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>8879e46d-fa53-4769-8bcf-15b65fdf9967</name>
+          <entityField>CURRENCY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>15a669d9-b089-4134-89a0-129de6e1e68c</name>
+          <entityField>BUYSELL</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e27ad433-ca4f-4a54-8722-75c9055a202b</name>
+          <entityField>FROMQUANTITY</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>981f29b1-b4c5-4591-8064-21a72f339179</name>
+          <entityField>VAT</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>51a923d8-3893-409b-869e-a4ad9704aa03</name>
+          <entityField>PRICELIST</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/RoleEdit_view/RoleEdit_view.aod b/neonView/RoleEdit_view/RoleEdit_view.aod
index 1a7a3e91b8eb726b78230ae25baa444a5e3f7630..c70d16c26d2930815d3bce3e9e5060a4316ece56 100644
--- a/neonView/RoleEdit_view/RoleEdit_view.aod
+++ b/neonView/RoleEdit_view/RoleEdit_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>RoleEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>13372a89-9e3c-441f-a80a-2ebb2dd0d54d</name>
-          <entityField>ROLETITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>2818c096-b602-406d-8765-ec85356da84c</name>
-          <entityField>ROLETYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c1008a40-23d4-43f9-a5f4-e96b9ad4e480</name>
-          <entityField>ROLEDESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>RoleEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>13372a89-9e3c-441f-a80a-2ebb2dd0d54d</name>
+          <entityField>ROLETITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2818c096-b602-406d-8765-ec85356da84c</name>
+          <entityField>ROLETYPE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c1008a40-23d4-43f9-a5f4-e96b9ad4e480</name>
+          <entityField>ROLEDESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/RoleFilter_view/RoleFilter_view.aod b/neonView/RoleFilter_view/RoleFilter_view.aod
index 790cf6e397f9bcf00b35453b7cd1eec57ba1a5b7..f5396f9f83717fcb1f2697210d2a6954bf88c7d8 100644
--- a/neonView/RoleFilter_view/RoleFilter_view.aod
+++ b/neonView/RoleFilter_view/RoleFilter_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>RoleFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Table</name>
-      <iconField>#ICON</iconField>
-      <titleField>ROLETITLE</titleField>
-      <subtitleField>ROLETYPE</subtitleField>
-      <descriptionField>ROLEDESCRIPTION</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>29a4128c-c677-4b16-a167-febb20277a23</name>
-          <entityField>#ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e6d9050e-3139-48cc-b186-085dab1cec89</name>
-          <entityField>ROLETITLE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>01743397-32b2-4c8a-b947-ba077baf311d</name>
-          <entityField>ROLETYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>7b269530-309a-4599-a392-f6e2651ccb65</name>
-          <entityField>ROLEDESCRIPTION</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>RoleFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <iconField>#ICON</iconField>
+      <titleField>ROLETITLE</titleField>
+      <subtitleField>ROLETYPE</subtitleField>
+      <descriptionField>ROLEDESCRIPTION</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>29a4128c-c677-4b16-a167-febb20277a23</name>
+          <entityField>#ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e6d9050e-3139-48cc-b186-085dab1cec89</name>
+          <entityField>ROLETITLE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>01743397-32b2-4c8a-b947-ba077baf311d</name>
+          <entityField>ROLETYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7b269530-309a-4599-a392-f6e2651ccb65</name>
+          <entityField>ROLEDESCRIPTION</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/RoleMain_view/RoleMain_view.aod b/neonView/RoleMain_view/RoleMain_view.aod
index 3bb133b9f0d0af21545266166b64a43e176e4c78..06297edde0f6976dae44aa0a1a022d67ecc77ff7 100644
--- a/neonView/RoleMain_view/RoleMain_view.aod
+++ b/neonView/RoleMain_view/RoleMain_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>RoleMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>f848bd88-b7b0-46c1-948b-0db0d287ed2a</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>f848bd88-b7b0-46c1-948b-0db0d287ed2a</name>
-      <entityField>#ENTITY</entityField>
-      <view>RolePreview_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>58377137-b4fa-40db-8b73-fb14ad4a35b8</name>
-      <entityField>PermissionOverviews</entityField>
-      <view>PermissionOverviewFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>269c93e8-4bfd-4470-82a6-cf70d417c5d1</name>
-      <entityField>Permissions</entityField>
-      <view>PermissionDetailFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>RoleMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>f848bd88-b7b0-46c1-948b-0db0d287ed2a</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>f848bd88-b7b0-46c1-948b-0db0d287ed2a</name>
+      <entityField>#ENTITY</entityField>
+      <view>RolePreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>58377137-b4fa-40db-8b73-fb14ad4a35b8</name>
+      <entityField>PermissionOverviews</entityField>
+      <view>PermissionOverviewFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>269c93e8-4bfd-4470-82a6-cf70d417c5d1</name>
+      <entityField>Permissions</entityField>
+      <view>PermissionDetailFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/RolePreview_view/RolePreview_view.aod b/neonView/RolePreview_view/RolePreview_view.aod
index 520e945404f54891c74746ccf1eb3d87a33a802c..15c30da71b4b9cd0390f00483db6c549b204ab91 100644
--- a/neonView/RolePreview_view/RolePreview_view.aod
+++ b/neonView/RolePreview_view/RolePreview_view.aod
@@ -1,29 +1,29 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>RolePreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>#ICON</iconField>
-      <titleField>ROLETITLE</titleField>
-      <subtitleField>USERCOUNT</subtitleField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>2530297a-bcf1-4743-8089-9b1ac411299a</name>
-          <entityField>ROLEDESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>RolePreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Card</name>
+      <iconField>#ICON</iconField>
+      <titleField>ROLETITLE</titleField>
+      <subtitleField>USERCOUNT</subtitleField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>2530297a-bcf1-4743-8089-9b1ac411299a</name>
+          <entityField>ROLEDESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SaleprojectOverviewCharts_view/SaleprojectOverviewCharts_view.aod b/neonView/SaleprojectOverviewCharts_view/SaleprojectOverviewCharts_view.aod
index 009b76b70df024412713574572bacf86c74c8f91..62cfb752480e0f5fc862b1b676335be149600795 100644
--- a/neonView/SaleprojectOverviewCharts_view/SaleprojectOverviewCharts_view.aod
+++ b/neonView/SaleprojectOverviewCharts_view/SaleprojectOverviewCharts_view.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SaleprojectOverviewCharts_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="3" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>4191cb26-76aa-4094-8ff4-b0cfc17bda2c</name>
-      <entityField>ClassificationGroups</entityField>
-      <view>ClassificationGroupAnalysesChart_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>a5583507-7e5a-40dd-9af8-a227b6be5af3</name>
-      <entityField>SalesprojectForecastCharts</entityField>
-      <view>TurnoverChartForcastDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SaleprojectOverviewCharts_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="3" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>4191cb26-76aa-4094-8ff4-b0cfc17bda2c</name>
+      <entityField>ClassificationGroups</entityField>
+      <view>ClassificationGroupAnalysesChart_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a5583507-7e5a-40dd-9af8-a227b6be5af3</name>
+      <entityField>SalesprojectForecastCharts</entityField>
+      <view>TurnoverChartForcastDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectClassificationAndChart_view/SalesprojectClassificationAndChart_view.aod b/neonView/SalesprojectClassificationAndChart_view/SalesprojectClassificationAndChart_view.aod
index 5e697d1cc59bd998ebffa273865be89022733ebe..5d599512025e4ac03beda8efbce54f458119e025 100644
--- a/neonView/SalesprojectClassificationAndChart_view/SalesprojectClassificationAndChart_view.aod
+++ b/neonView/SalesprojectClassificationAndChart_view/SalesprojectClassificationAndChart_view.aod
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectClassificationAndChart_view</name>
-  <title></title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>b2bbddb9-1a44-4926-9707-7052f96e5963</name>
-      <entityField>Classifications</entityField>
-      <view>ClassificationTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>0442c345-d0a3-4778-a906-c5ef86dacd16</name>
-      <entityField>Classifications</entityField>
-      <view>ClassificationChart_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectClassificationAndChart_view</name>
+  <title></title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>b2bbddb9-1a44-4926-9707-7052f96e5963</name>
+      <entityField>Classifications</entityField>
+      <view>ClassificationTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>0442c345-d0a3-4778-a906-c5ef86dacd16</name>
+      <entityField>Classifications</entityField>
+      <view>ClassificationChart_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod b/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod
index 9c6d7cfa968fc53f2725950335b488b12b9ef85f..6fcb299d56a503d8d2284141fa716b9a3a453721 100644
--- a/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod
+++ b/neonView/SalesprojectClassificationAttribute_view/SalesprojectClassificationAttribute_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectClassificationAttribute_view</name>
   <title>Categorization</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/SalesprojectClassificationDrawer_view/SalesprojectClassificationDrawer_view.aod b/neonView/SalesprojectClassificationDrawer_view/SalesprojectClassificationDrawer_view.aod
index ef8deec39c98aad8f31b69b94cc2e2c5920db0f9..7b27a7db771933874c5657e0a0104f2f0bb932fe 100644
--- a/neonView/SalesprojectClassificationDrawer_view/SalesprojectClassificationDrawer_view.aod
+++ b/neonView/SalesprojectClassificationDrawer_view/SalesprojectClassificationDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectClassificationDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Classification</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>8cec9c22-7304-47f3-9d46-909dec12ca2a</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectClassificationAndChart_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectClassificationDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Classification</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>8cec9c22-7304-47f3-9d46-909dec12ca2a</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectClassificationAndChart_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectClassification_view/SalesprojectClassification_view.aod b/neonView/SalesprojectClassification_view/SalesprojectClassification_view.aod
index 1208d43ac5f2fd31ff0e3939f62ad9b251991e63..8f936b4c0bdeed6c02900e8db6f44ec4a0144cdd 100644
--- a/neonView/SalesprojectClassification_view/SalesprojectClassification_view.aod
+++ b/neonView/SalesprojectClassification_view/SalesprojectClassification_view.aod
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectClassification_view</name>
-  <title>Classifications</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>ClassificationResult</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>c9fef1fc-21d2-4b6d-913f-a4507fde4dcb</name>
-          <entityField>ClassificationResult</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-    <neonViewReference>
-      <name>e8de8288-df16-4deb-9ce0-6554a669724f</name>
-      <entityField>Classifications</entityField>
-      <view>ClassificationTree_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectClassification_view</name>
+  <title>Classifications</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>ClassificationResult</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>c9fef1fc-21d2-4b6d-913f-a4507fde4dcb</name>
+          <entityField>ClassificationResult</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+    <neonViewReference>
+      <name>e8de8288-df16-4deb-9ce0-6554a669724f</name>
+      <entityField>Classifications</entityField>
+      <view>ClassificationTree_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
index b961c8e1c49243aa5c53a7ff62016f631a4b2653..9fb14e2e65bef8e739f6539187aa4900ea1ecbe6 100644
--- a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
+++ b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
@@ -1,71 +1,71 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectEdit_view</name>
-  <title>Salesproject</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <icon>VAADIN:FILTER</icon>
-  <quickEntry v="4" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>2bc931ef-03f4-4812-b75f-70070c3dc849</name>
-          <entityField>PROJECTTITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>a68c2b51-4b0d-46b0-b97e-dc87d168cf0a</name>
-          <entityField>PROJECTCODE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d0a2027b-1796-4c5c-82f5-6fdb8f178ab5</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ceaa6824-a100-4552-a3a7-50a84faadaf9</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>426a20c1-5d79-417b-bab1-d3100fabb25b</name>
-          <entityField>STATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>373ba27b-5f27-4c5d-865e-da50447124fa</name>
-          <entityField>REASONS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c00b2121-c44d-41a1-8c32-e2339b4dd234</name>
-          <entityField>PHASE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>13ad6d3f-3a5d-4385-aae6-c454ab7531f4</name>
-          <entityField>STARTDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ed4308b5-dd5a-49a1-b748-9a2980291d56</name>
-          <entityField>ENDDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5b3c3dc2-4ca5-45c5-96e5-7196a99dcdce</name>
-          <entityField>VOLUME</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3836ef6b-64c4-4e0e-8cd6-88f784275b2f</name>
-          <entityField>PROBABILITY</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>fc97f8c8-ffd0-4d67-b331-eab37ef1dc2b</name>
-      <entityField>Attributes</entityField>
-      <view>AttributeRelationMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectEdit_view</name>
+  <title>Salesproject</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <icon>VAADIN:FILTER</icon>
+  <quickEntry v="4" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>2bc931ef-03f4-4812-b75f-70070c3dc849</name>
+          <entityField>PROJECTTITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>a68c2b51-4b0d-46b0-b97e-dc87d168cf0a</name>
+          <entityField>PROJECTCODE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d0a2027b-1796-4c5c-82f5-6fdb8f178ab5</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ceaa6824-a100-4552-a3a7-50a84faadaf9</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>07581a02-dc4d-4eaf-835d-b7990bf105f9</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>373ba27b-5f27-4c5d-865e-da50447124fa</name>
+          <entityField>REASONS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c00b2121-c44d-41a1-8c32-e2339b4dd234</name>
+          <entityField>PHASE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>13ad6d3f-3a5d-4385-aae6-c454ab7531f4</name>
+          <entityField>STARTDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ed4308b5-dd5a-49a1-b748-9a2980291d56</name>
+          <entityField>ENDDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5b3c3dc2-4ca5-45c5-96e5-7196a99dcdce</name>
+          <entityField>VOLUME</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>3836ef6b-64c4-4e0e-8cd6-88f784275b2f</name>
+          <entityField>PROBABILITY</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>fc97f8c8-ffd0-4d67-b331-eab37ef1dc2b</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
index 986fca34ddcfc7e50ce749029d10dae78f939f19..964dfa8a660128becca63d07a0ecf027fff3e4c4 100644
--- a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
+++ b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -27,7 +27,7 @@
       <name>OpenSalesprojectsDashlet</name>
       <title>Open salesprojects</title>
       <description>Show open salesprojects</description>
-      <fragment>Salesproject/filter?search=W3sibmFtZSI6IlNUQVRFIiwib3BlcmF0b3IiOiJFUVVBTCIsInZhbHVlIjoiU0FMUFJPSlNUQVRPUEVOICAgICAgICAgICAgICAgICAgICAgIiwiY29udGVudFR5cGUiOiJURVhUIn1d</fragment>
+      <fragment>Salesproject/filter?search=eyJ0eXBlIjoiZ3JvdXAiLCJvcGVyYXRvciI6IkFORCIsImNoaWxkcyI6W3sidHlwZSI6InJvdyIsIm5hbWUiOiJTVEFUVVMiLCJvcGVyYXRvciI6IkVRVUFMIiwidmFsdWUiOiJPZmZlbiIsImtleSI6IlNBTFBST0pTVEFUT1BFTiAgICAgICAgICAgICAgICAgICAgICIsImNvbnRlbnR0eXBlIjoiVEVYVCJ9XX0%253D</fragment>
       <singleton v="true" />
       <requiresConfiguration v="false" />
       <icon>vaadin:filter</icon>
@@ -88,7 +88,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>52a851b0-9059-4d57-8ff5-335c819359e8</name>
-          <entityField>STATE</entityField>
+          <entityField>STATUS</entityField>
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
diff --git a/neonView/SalesprojectForecastDrawer_view/SalesprojectForecastDrawer_view.aod b/neonView/SalesprojectForecastDrawer_view/SalesprojectForecastDrawer_view.aod
index fdb3fc8a71cf94bc4ec56bc27a9a703a01458178..ec4ceb7e8927f70e4b4983d688454b698b99787c 100644
--- a/neonView/SalesprojectForecastDrawer_view/SalesprojectForecastDrawer_view.aod
+++ b/neonView/SalesprojectForecastDrawer_view/SalesprojectForecastDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectForecastDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Forecast</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>427414e0-f179-48cc-ae21-dc7a9d66d7b2</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectOfferForecast_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectForecastDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Forecast</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>427414e0-f179-48cc-ae21-dc7a9d66d7b2</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectOfferForecast_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod b/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod
index b23e3bfd1d4659454c56cc97bde3e8d5b5fd2fd9..2a2f8536aa080e4b2a0154e333ecb5d25f8724ca 100644
--- a/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod
+++ b/neonView/SalesprojectFurtherInfo_view/SalesprojectFurtherInfo_view.aod
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectFurtherInfo_view</name>
-  <title>Further informations</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>VERTICAL</direction>
-      <maxDirectionElements v="0" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>0e085746-ca89-4afa-b83a-30af959d7ddb</name>
-      <entityField>Timetrackings</entityField>
-      <view>TimetrackingDrawer_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>4dcc3fdd-6683-435c-95c1-a59597fc3e71</name>
-      <entityField>Competitions</entityField>
-      <view>CompetitionDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectFurtherInfo_view</name>
+  <title>Further informations</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>VERTICAL</direction>
+      <maxDirectionElements v="0" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>0e085746-ca89-4afa-b83a-30af959d7ddb</name>
+      <entityField>Timetrackings</entityField>
+      <view>TimetrackingDrawer_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>4dcc3fdd-6683-435c-95c1-a59597fc3e71</name>
+      <entityField>Competitions</entityField>
+      <view>CompetitionDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
index 3556ac02e1adc5008be50897861c8fac15a5235e..97e6cc9f7ab759e338db9bda85f8e52de23fa2f9 100644
--- a/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
+++ b/neonView/SalesprojectMain_view/SalesprojectMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -57,7 +57,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>6ed5fc92-1056-418f-a0b7-3d55414efe3a</name>
-      <entityField>LogHistoryConsumer</entityField>
+      <entityField>LogHistories</entityField>
       <view>LogHistoryFilter_view</view>
     </neonViewReference>
   </children>
diff --git a/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod b/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod
index c91774551d5570d94bbbbe4404bed538cd7b22cd..0be7b3c915d9a1e9e204a58aa3217b00eaa75e93 100644
--- a/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod
+++ b/neonView/SalesprojectMemberActivity_view/SalesprojectMemberActivity_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectMemberActivity_view</name>
-  <title>Project</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>VERTICAL</direction>
-      <maxDirectionElements v="0" />
-      <autoHeight v="false" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>ebf752f4-653d-4de3-9c81-c3e6ef692c48</name>
-      <entityField>Members</entityField>
-      <view>MemberDrawer_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>5e9b2286-227e-494d-a252-be29a50a093a</name>
-      <entityField>Activities</entityField>
-      <view>ActivityDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectMemberActivity_view</name>
+  <title>Project</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>VERTICAL</direction>
+      <maxDirectionElements v="0" />
+      <autoHeight v="false" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>ebf752f4-653d-4de3-9c81-c3e6ef692c48</name>
+      <entityField>Members</entityField>
+      <view>MemberDrawer_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>5e9b2286-227e-494d-a252-be29a50a093a</name>
+      <entityField>Activities</entityField>
+      <view>ActivityDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectMilestoneChartPhase_view/SalesprojectMilestoneChartPhase_view.aod b/neonView/SalesprojectMilestoneChartPhase_view/SalesprojectMilestoneChartPhase_view.aod
index ec1d4cfa00df68b8124169a9dc1f9832cceb47e2..61a5467d847ad84f6acea38007724fd0ae7a8896 100644
--- a/neonView/SalesprojectMilestoneChartPhase_view/SalesprojectMilestoneChartPhase_view.aod
+++ b/neonView/SalesprojectMilestoneChartPhase_view/SalesprojectMilestoneChartPhase_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectMilestoneChartPhase_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Milestones Phase</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <multiDataChartViewTemplate>
-      <name>MilestoneChart</name>
-      <chartType>COLUMN</chartType>
-      <xAxis>VALUE</xAxis>
-      <yAxis>DaysCount</yAxis>
-      <categoryField>TYPE</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectMilestoneChartPhase_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Milestones Phase</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>MilestoneChart</name>
+      <chartType>COLUMN</chartType>
+      <xAxis>VALUE</xAxis>
+      <yAxis>DaysCount</yAxis>
+      <categoryField>TYPE</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectMilestoneChartState_view/SalesprojectMilestoneChartState_view.aod b/neonView/SalesprojectMilestoneChartState_view/SalesprojectMilestoneChartState_view.aod
index af089d692fe52a512cdd86f5dcc34435704bee55..e1d34f9cad28326fb273d2915714764331311413 100644
--- a/neonView/SalesprojectMilestoneChartState_view/SalesprojectMilestoneChartState_view.aod
+++ b/neonView/SalesprojectMilestoneChartState_view/SalesprojectMilestoneChartState_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectMilestoneChartState_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Milestones Status</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <multiDataChartViewTemplate>
-      <name>MilestoneChart</name>
-      <chartType>COLUMN</chartType>
-      <xAxis>VALUE</xAxis>
-      <yAxis>DaysCount</yAxis>
-      <categoryField>TYPE</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectMilestoneChartState_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Milestones Status</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>MilestoneChart</name>
+      <chartType>COLUMN</chartType>
+      <xAxis>VALUE</xAxis>
+      <yAxis>DaysCount</yAxis>
+      <categoryField>TYPE</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod b/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod
index 192485975be58409b80a293c373915122e616223..1e7e965614451dc3c5f002e9ac67483d24ae180d 100644
--- a/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod
+++ b/neonView/SalesprojectMilestoneSource_view/SalesprojectMilestoneSource_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectMilestoneSource_view</name>
-  <title>Occurrences</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>4f6c1764-1a86-45c7-aa70-c109d20f0fb2</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectMilestone_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>7126a87f-4a78-462b-ac35-a3fb68afedcd</name>
-      <entityField>SalesprojectSources</entityField>
-      <view>SalesprojectSourceDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectMilestoneSource_view</name>
+  <title>Occurrences</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>4f6c1764-1a86-45c7-aa70-c109d20f0fb2</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectMilestone_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>7126a87f-4a78-462b-ac35-a3fb68afedcd</name>
+      <entityField>SalesprojectSources</entityField>
+      <view>SalesprojectSourceDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod b/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod
index d86c5a012ca6a2ea12864108adb5b031b3187d0f..66d7c646f842bb0e94b1070d2bc74826a71271a2 100644
--- a/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod
+++ b/neonView/SalesprojectMilestone_view/SalesprojectMilestone_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectMilestone_view</name>
   <title></title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod b/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod
index 0dc7789a13cc70c95f5d55ba2f7e531fadcc47f5..805a9133c8c3c4006b4fe2356053913f7958e6ae 100644
--- a/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod
+++ b/neonView/SalesprojectOfferForecastChart_view/SalesprojectOfferForecastChart_view.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectOfferForecastChart_view</name>
-  <title>Prognose</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>VERTICAL</direction>
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>03ee8624-3c62-40e4-90ff-f47e10ce1189</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectForecastDrawer_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>72e09476-f603-4bc8-ae97-4525c44fab3c</name>
-      <entityField>Offers</entityField>
-      <view>OfferDrawer_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectOfferForecastChart_view</name>
+  <title>Prognose</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>VERTICAL</direction>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>03ee8624-3c62-40e4-90ff-f47e10ce1189</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectForecastDrawer_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>72e09476-f603-4bc8-ae97-4525c44fab3c</name>
+      <entityField>Offers</entityField>
+      <view>OfferDrawer_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod b/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod
index f334d45c0d38156cbfeefacb588bc576845c951d..d74dad860cdd08e05a017bc146f469e08c8335d5 100644
--- a/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod
+++ b/neonView/SalesprojectOfferForecast_view/SalesprojectOfferForecast_view.aod
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectOfferForecast_view</name>
-  <title></title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>e192d0d6-8d36-437a-a9cf-775c811c2761</name>
-      <entityField>Forecasts</entityField>
-      <view>ForecastFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ca2581ac-0987-4fa4-a45a-c33ea4cd61e1</name>
-      <entityField>SalesprojectForecastCharts</entityField>
-      <view>TurnoverChartForecast_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectOfferForecast_view</name>
+  <title></title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>e192d0d6-8d36-437a-a9cf-775c811c2761</name>
+      <entityField>Forecasts</entityField>
+      <view>ForecastFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ca2581ac-0987-4fa4-a45a-c33ea4cd61e1</name>
+      <entityField>SalesprojectForecastCharts</entityField>
+      <view>TurnoverChartForecast_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectOverview_view/SalesprojectOverview_view.aod b/neonView/SalesprojectOverview_view/SalesprojectOverview_view.aod
index 9e2af6aeda280eeddbf1e5ad9e6820794976c45d..ae189403921db23b4884f81874cb9742cdac534e 100644
--- a/neonView/SalesprojectOverview_view/SalesprojectOverview_view.aod
+++ b/neonView/SalesprojectOverview_view/SalesprojectOverview_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectOverview_view</name>
-  <title>Overview</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>f6c52412-4d1f-4d57-95af-e8f65f0b735e</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectPhase_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>7c365878-0f88-4bc3-aed4-0667951e70af</name>
-      <entityField>SalesprojectPhaseMilestones</entityField>
-      <view>SalesprojectMilestoneInfo_view</view>
-      <devices>
-        <element>TABLET</element>
-        <element>DESKTOP</element>
-      </devices>
-    </neonViewReference>
-    <neonViewReference>
-      <name>dd0dd64f-1135-46c5-82d7-9d1e67cf4810</name>
-      <entityField>#ENTITY</entityField>
-      <view>SaleprojectOverviewCharts_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectOverview_view</name>
+  <title>Overview</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>f6c52412-4d1f-4d57-95af-e8f65f0b735e</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectPhase_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>7c365878-0f88-4bc3-aed4-0667951e70af</name>
+      <entityField>SalesprojectPhaseMilestones</entityField>
+      <view>SalesprojectMilestoneInfo_view</view>
+      <devices>
+        <element>TABLET</element>
+        <element>DESKTOP</element>
+      </devices>
+    </neonViewReference>
+    <neonViewReference>
+      <name>dd0dd64f-1135-46c5-82d7-9d1e67cf4810</name>
+      <entityField>#ENTITY</entityField>
+      <view>SaleprojectOverviewCharts_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectPhaseStep_view/SalesprojectPhaseStep_view.aod b/neonView/SalesprojectPhaseStep_view/SalesprojectPhaseStep_view.aod
index 08638092fd114f45bccefde343d905542045cb8e..66b1c15eb9b4d1ccb76e8f1f17b97555ab459804 100644
--- a/neonView/SalesprojectPhaseStep_view/SalesprojectPhaseStep_view.aod
+++ b/neonView/SalesprojectPhaseStep_view/SalesprojectPhaseStep_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectPhaseStep_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/SalesprojectPhase_view/SalesprojectPhase_view.aod b/neonView/SalesprojectPhase_view/SalesprojectPhase_view.aod
index 526b1638b7669a4b65ee70983df7732839a65f7b..8a6eb39daf5c422eb518ba02d973d456387a1a78 100644
--- a/neonView/SalesprojectPhase_view/SalesprojectPhase_view.aod
+++ b/neonView/SalesprojectPhase_view/SalesprojectPhase_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectPhase_view</name>
   <title>Phase</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod b/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod
index d902ff8f1ef411a43224704c8c994ca5281d57b4..6eba3c2afc9b288b28ba1d7813b259fe1ecce4de 100644
--- a/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod
+++ b/neonView/SalesprojectPhases_view/SalesprojectPhases_view.aod
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectPhases_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <dashletConfigurations>
     <neonDashletConfiguration>
       <name>SalesprojectPhases</name>
       <title>Salesproject phases</title>
-      <description>Zeigt wie viele Vertriebsprojekte in den einzelnen Vertriebsphasen sind. </description>
+      <description>Shows how many sales projects are in the various sales phases</description>
       <fragment>SalesprojectAnalyses/full</fragment>
       <singleton v="true" />
       <icon>VAADIN:FUNNEL</icon>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index 096c7e442c82af77762354acd8a1dceb02b6168f..03dbb600f57c8e99a44c21eed5907409a95b6ec5 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalesprojectPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -30,8 +30,8 @@
           <entityField>RELATION_ID</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>4e3d7a37-f55b-4c18-9ba1-ab4ab0bbb442</name>
-          <entityField>STATE</entityField>
+          <name>b3e902de-072f-4a41-8562-f4d30ad9a564</name>
+          <entityField>STATUS</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>2867e662-b824-4bbf-8eaf-bbd34f44598e</name>
diff --git a/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod
index 70df58282a0c2c6a7395d606ce4cc0600ba4e92c..bded03bc2d9c6983dd512a6ea7ca2d629a30e452 100644
--- a/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod
+++ b/neonView/SalesprojectScoreCard_view/SalesprojectScoreCard_view.aod
@@ -1,50 +1,56 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectScoreCard_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>KeyFigures</name>
-      <title>Key figures</title>
-      <description>Wichtigste Kennzahlen zu den Vertriebsprojekten.</description>
-      <fragment>SalesprojectAnalyses/full</fragment>
-      <singleton v="true" />
-      <icon>VAADIN:GRID_BIG</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>salesproject</name>
-          <title>Salesproject</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>KeyFigures</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>44449f24-ed9d-4053-8202-db4b43032067</name>
-          <entityField>OVERALL_TURNOVER</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>3377fe1b-1f29-4c49-88c8-7a1b1ee6d0ce</name>
-          <entityField>OVERALL_FORECAST</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>2ba5a5e7-0ae6-4001-84a6-9444730d6611</name>
-          <entityField>OPEN_SALESPROJECTS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f98b6e67-7337-45ac-b9e6-9d36241ae828</name>
-          <entityField>SENT_OFFERS</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectScoreCard_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>KeyFigures</name>
+      <title>Key figures</title>
+      <description>Most important salse key figures</description>
+      <fragment>SalesprojectAnalyses/full</fragment>
+      <singleton v="true" />
+      <icon>VAADIN:GRID_BIG</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>salesproject</name>
+          <title>Salesproject</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>KeyFigures</name>
+      <fieldActions>
+        <element>openForecast</element>
+        <element>openTurnover</element>
+        <element>openSalesprojects</element>
+        <element>sentOffers</element>
+      </fieldActions>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>3377fe1b-1f29-4c49-88c8-7a1b1ee6d0ce</name>
+          <entityField>OVERALL_FORECAST</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>44449f24-ed9d-4053-8202-db4b43032067</name>
+          <entityField>OVERALL_TURNOVER</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>2ba5a5e7-0ae6-4001-84a6-9444730d6611</name>
+          <entityField>OPEN_SALESPROJECTS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f98b6e67-7337-45ac-b9e6-9d36241ae828</name>
+          <entityField>SENT_OFFERS</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectSourceDrawer_view/SalesprojectSourceDrawer_view.aod b/neonView/SalesprojectSourceDrawer_view/SalesprojectSourceDrawer_view.aod
index 281cae0b0b9508390a1e34f39b46e82db0501a0d..45280e92e5d21b25e310458416002006f7247f6f 100644
--- a/neonView/SalesprojectSourceDrawer_view/SalesprojectSourceDrawer_view.aod
+++ b/neonView/SalesprojectSourceDrawer_view/SalesprojectSourceDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectSourceDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Touchpoints</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>48334450-993a-4922-b314-271a98d85abe</name>
-      <entityField>#ENTITY</entityField>
-      <view>SalesprojectSourceFilter_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectSourceDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Touchpoints</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>48334450-993a-4922-b314-271a98d85abe</name>
+      <entityField>#ENTITY</entityField>
+      <view>SalesprojectSourceFilter_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod b/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
index 7dfd25bd034303c35c363015bfe0e4dc5d3e0573..cda0efb18582d7cffb57d707d990fe6b5f4e457c 100644
--- a/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
+++ b/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectSourceEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>9b5f8ee4-9950-43d8-902f-552e57bbc45e</name>
-          <entityField>ENTRYDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>594e9e35-cf0c-45b6-a32c-885d442adad4</name>
-          <entityField>SOURCE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>f97539fd-70ec-44a0-9d49-01fe829f8d81</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectSourceEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>9b5f8ee4-9950-43d8-902f-552e57bbc45e</name>
+          <entityField>ENTRYDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>594e9e35-cf0c-45b6-a32c-885d442adad4</name>
+          <entityField>SOURCE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>f97539fd-70ec-44a0-9d49-01fe829f8d81</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
index c109e457c8b58e761a0a5e987ccaace5eb6a983a..60ad7534c6f7fb9eb093ad4ac2b20bb65521f8b1 100644
--- a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
+++ b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectSourceFilter_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Entries</name>
-      <iconField>#ICON</iconField>
-      <titleField>SOURCE</titleField>
-      <subtitleField>ENTRYDATE</subtitleField>
-      <descriptionField>INFO</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <autoNewRow v="true" />
-      <columns>
-        <neonTableColumn>
-          <name>03bb4d6e-0371-4175-aaa2-43d43bd4ff60</name>
-          <entityField>ICON</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>4931127b-117d-4b1c-81ba-81ac2162f1b7</name>
-          <entityField>ENTRYDATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>5e672c0f-af11-46e2-8c25-8c9bd3f153f1</name>
-          <entityField>SOURCE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>304ed9dd-0f3d-45b2-9195-cc145775f16d</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectSourceFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Entries</name>
+      <iconField>#ICON</iconField>
+      <titleField>SOURCE</titleField>
+      <subtitleField>ENTRYDATE</subtitleField>
+      <descriptionField>INFO</descriptionField>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>03bb4d6e-0371-4175-aaa2-43d43bd4ff60</name>
+          <entityField>ICON</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>4931127b-117d-4b1c-81ba-81ac2162f1b7</name>
+          <entityField>ENTRYDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>5e672c0f-af11-46e2-8c25-8c9bd3f153f1</name>
+          <entityField>SOURCE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>304ed9dd-0f3d-45b2-9195-cc145775f16d</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod b/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
index b66ef9b3fd6ae3f9f9ef50b23630e3bf97f4701d..a79542f89b7ba9b58447f5c27724dddb531a137f 100644
--- a/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
+++ b/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SalesprojectSourcePreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-      <header>Header</header>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Header</name>
-      <titleField>SOURCE</titleField>
-      <descriptionField>ENTRYDATE</descriptionField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <drawerCaption>Description</drawerCaption>
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>06422231-b584-4573-a9b4-eb42f8500aca</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SalesprojectSourcePreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+      <header>Header</header>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Header</name>
+      <titleField>SOURCE</titleField>
+      <descriptionField>ENTRYDATE</descriptionField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <drawerCaption>Description</drawerCaption>
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>06422231-b584-4573-a9b4-eb42f8500aca</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SalutationFilter_view/SalutationFilter_view.aod b/neonView/SalutationFilter_view/SalutationFilter_view.aod
index 62681de4158683b14f33d9a52795b97667b365e2..91b1391c8975592e16dd4ab5fa718834b61d9c54 100644
--- a/neonView/SalutationFilter_view/SalutationFilter_view.aod
+++ b/neonView/SalutationFilter_view/SalutationFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SalutationFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -13,12 +13,12 @@
       <name>Salutations</name>
       <titleField>SALUTATION_TEXT</titleField>
       <subtitleField>TITLE</subtitleField>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>32e3fa28-1749-45a2-ae77-27ddfb221dba</name>
-          <entityField>LANGUAGE</entityField>
+          <entityField>ISOLANGUAGE</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>9cccf3a4-bbe7-453a-955c-246691c27dba</name>
diff --git a/neonView/SerialLetterAddRecipientsEdit_view/SerialLetterAddRecipientsEdit_view.aod b/neonView/SerialLetterAddRecipientsEdit_view/SerialLetterAddRecipientsEdit_view.aod
index a165f4557ebc987c79368e2cdc9e37e8d8d41a08..2dfe5193f0ac620c96632bb309995def4334d13e 100644
--- a/neonView/SerialLetterAddRecipientsEdit_view/SerialLetterAddRecipientsEdit_view.aod
+++ b/neonView/SerialLetterAddRecipientsEdit_view/SerialLetterAddRecipientsEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SerialLetterAddRecipientsEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="true" />
diff --git a/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod b/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod
index 5318cffd25c56cf26cf8668762f62e640da915ca..f7bf2864dc6d72759bacd29410927303b0349ce8 100644
--- a/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod
+++ b/neonView/SerialLetterEdit_view/SerialLetterEdit_view.aod
@@ -1,31 +1,31 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SerialLetterEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>b33a8886-75b0-4644-890d-97a8133079ea</name>
-          <entityField>TITLE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>98b1c32e-8f7e-45f9-bbc8-048851133048</name>
-          <entityField>DOCUMENTTEMPLATE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>1845ae78-7132-4efc-aba0-737dc4d7fc9b</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SerialLetterEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>b33a8886-75b0-4644-890d-97a8133079ea</name>
+          <entityField>TITLE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>98b1c32e-8f7e-45f9-bbc8-048851133048</name>
+          <entityField>DOCUMENTTEMPLATE_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>1845ae78-7132-4efc-aba0-737dc4d7fc9b</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod b/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod
index e0a43c700d8549a1df76718f7e90ea96ffe6b8d1..3ee26598c9baaca8a82da78bae9f75edeb09f97f 100644
--- a/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod
+++ b/neonView/SerialLetterFilter_view/SerialLetterFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SerialLetterFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/SerialLetterMain_view/SerialLetterMain_view.aod b/neonView/SerialLetterMain_view/SerialLetterMain_view.aod
index bec3518caca0a065dab92efa92f49655a9cac5d2..94126a57ef4924dbed94a213990b156e3153784f 100644
--- a/neonView/SerialLetterMain_view/SerialLetterMain_view.aod
+++ b/neonView/SerialLetterMain_view/SerialLetterMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SerialLetterMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -19,5 +19,10 @@
       <entityField>Recipients</entityField>
       <view>LetterRecipientFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>5cba2de9-e00b-4548-8477-5fc76b1e3cb6</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod b/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod
index 440e53f8ef0734dffa4c2218df7e34c97d9c807c..e291066149d3ca8e5e8461c3b523fe823d50f895 100644
--- a/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod
+++ b/neonView/SerialLetterPreview_view/SerialLetterPreview_view.aod
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>SerialLetterPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <cardViewTemplate>
-      <name>Card</name>
-      <iconField>ICON</iconField>
-      <titleField>TITLE</titleField>
-      <entityField>#ENTITY</entityField>
-    </cardViewTemplate>
-    <genericViewTemplate>
-      <name>Generic</name>
-      <showDrawer v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>b66a9401-6218-4b64-b233-06c878d86b21</name>
-          <entityField>DOCUMENTTEMPLATE_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>c8702eb8-3638-47a6-acf7-402c88c529cd</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>SerialLetterPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <cardViewTemplate>
+      <name>Card</name>
+      <iconField>ICON</iconField>
+      <titleField>TITLE</titleField>
+      <entityField>#ENTITY</entityField>
+    </cardViewTemplate>
+    <genericViewTemplate>
+      <name>Generic</name>
+      <showDrawer v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>b66a9401-6218-4b64-b233-06c878d86b21</name>
+          <entityField>DOCUMENTTEMPLATE_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c8702eb8-3638-47a6-acf7-402c88c529cd</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/StockCount_view/StockCount_view.aod b/neonView/StockCount_view/StockCount_view.aod
index ac1bb7b0bc36e5c89cc0e59544c420a6b3982c75..b23ac28ae89a14d8dbfd8843ce4f39f4dbaefec7 100644
--- a/neonView/StockCount_view/StockCount_view.aod
+++ b/neonView/StockCount_view/StockCount_view.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>StockCount_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Stocks</name>
-      <showDrawer v="true" />
-      <drawerCaption>Stock</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>fe1e5348-0579-4e2c-8d80-2594db6cfb22</name>
-          <entityField>STOCKCOUNT</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>StockCount_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Stocks</name>
+      <showDrawer v="true" />
+      <drawerCaption>Stock</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>fe1e5348-0579-4e2c-8d80-2594db6cfb22</name>
+          <entityField>STOCKCOUNT</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/StockEdit_view/StockEdit_view.aod b/neonView/StockEdit_view/StockEdit_view.aod
index 2fd6d93ec7a3da8bb5b4b1d4839a7839df2c00af..cd984a86fb27933e225ac4613e72aab42754acd5 100644
--- a/neonView/StockEdit_view/StockEdit_view.aod
+++ b/neonView/StockEdit_view/StockEdit_view.aod
@@ -1,39 +1,39 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>StockEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>4c474e8e-ad47-484a-91fb-a8bd6390e0af</name>
-          <entityField>WAREHOUSE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>588e46dd-4761-47cb-87c3-a483f69fecae</name>
-          <entityField>ENTRYDATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>9f8426c6-84d6-4065-880a-805ebecb6638</name>
-          <entityField>IN_OUT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8004c2e8-5ef1-480c-9381-dad3cd574dca</name>
-          <entityField>QUANTITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>591e6fbd-d392-458e-a79a-d20e9cb845d3</name>
-          <entityField>REFNUMBER</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>StockEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>4c474e8e-ad47-484a-91fb-a8bd6390e0af</name>
+          <entityField>WAREHOUSE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>588e46dd-4761-47cb-87c3-a483f69fecae</name>
+          <entityField>ENTRYDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>9f8426c6-84d6-4065-880a-805ebecb6638</name>
+          <entityField>IN_OUT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8004c2e8-5ef1-480c-9381-dad3cd574dca</name>
+          <entityField>QUANTITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>591e6fbd-d392-458e-a79a-d20e9cb845d3</name>
+          <entityField>REFNUMBER</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/StockFilter_view/StockFilter_view.aod b/neonView/StockFilter_view/StockFilter_view.aod
index e1a67b7c8a8766cdbc25227aa7bf4474dfdc1b32..8ca79b7c26d2882c09f749e494d93c43453c824a 100644
--- a/neonView/StockFilter_view/StockFilter_view.aod
+++ b/neonView/StockFilter_view/StockFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>StockFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -11,8 +11,8 @@
   <children>
     <tableViewTemplate>
       <name>Stocks</name>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>c57eed89-267a-4df6-9ac9-e9b5c5e49794</name>
diff --git a/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod b/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
index d6bfd4e83d8571abeb2f1f52e739c5c7fbc8548f..3fd462970eeffdc9f4c03ffe22ba0705a8384a49 100644
--- a/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
+++ b/neonView/SupportTicketEdit_view/SupportTicketEdit_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SupportTicketEdit_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
index a49cf96bd1f937203c5696074fed44af7a07a716..5da2ae37fa8cbbd720f2d70837fcb69b2567d1b1 100644
--- a/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
+++ b/neonView/SupportTicketFilter_view/SupportTicketFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SupportTicketFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
diff --git a/neonView/SupportTicketMain_view/SupportTicketMain_view.aod b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod
index 1628c81ae4b6e56cfad711019fe5609bff3b449b..a5685bb9a64689d21769a95e39b762704addaf68 100644
--- a/neonView/SupportTicketMain_view/SupportTicketMain_view.aod
+++ b/neonView/SupportTicketMain_view/SupportTicketMain_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SupportTicketMain_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod b/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
index 0d2560de1fa46660d94bd137fe7f67dbe9e85709..638242895cde2ec0c46d8583103eb64c36bba52f 100644
--- a/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
+++ b/neonView/SupportTicketPreview_view/SupportTicketPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>SupportTicketPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/TaskEdit_view/TaskEdit_view.aod b/neonView/TaskEdit_view/TaskEdit_view.aod
index 11e5be41cb21ff7d265807345517101cf5124fb2..5cbae862b608e7543e2bc8a2ec75d43c22c06659 100644
--- a/neonView/TaskEdit_view/TaskEdit_view.aod
+++ b/neonView/TaskEdit_view/TaskEdit_view.aod
@@ -1,64 +1,64 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TaskEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>fb5768fe-2dd2-45cd-8d21-f20af279f409</name>
-          <entityField>SUBJECT</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b31bb2ab-22a6-4bc6-8b6c-d73a1c43283f</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>b5d6e9ea-355f-49f8-bcc2-f3efd44adb19</name>
-          <entityField>START_DATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>511acbd5-4ab6-44a9-932d-df4f201896a5</name>
-          <entityField>MATURITY_DATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>05c54fab-56b8-4cea-8b66-ba26e5dd16cd</name>
-          <entityField>STATUS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>5fd464a1-d394-4f83-ba6a-386984a5df49</name>
-          <entityField>PROGRESS</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>0f600024-eb83-445c-8eb9-62bcf9e95313</name>
-          <entityField>PRIORITY</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>71d2b122-1687-454a-ae60-7e68aa83106c</name>
-          <entityField>PROTECTIONLEVEL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fd41b0ee-cae4-40b5-8aad-45740f4d6268</name>
-          <entityField>REQUESTOR_CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8428cbf6-7df0-4f7e-b6d6-5ab17e266028</name>
-          <entityField>EDITOR_CONTACT_ID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>ee35d86f-aef9-4ebd-b90a-d31b32cc3d5f</name>
-      <entityField>Links</entityField>
-      <view>TaskLinkMultiEdit_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TaskEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>fb5768fe-2dd2-45cd-8d21-f20af279f409</name>
+          <entityField>SUBJECT</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b31bb2ab-22a6-4bc6-8b6c-d73a1c43283f</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>b5d6e9ea-355f-49f8-bcc2-f3efd44adb19</name>
+          <entityField>START_DATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>511acbd5-4ab6-44a9-932d-df4f201896a5</name>
+          <entityField>MATURITY_DATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>05c54fab-56b8-4cea-8b66-ba26e5dd16cd</name>
+          <entityField>STATUS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>5fd464a1-d394-4f83-ba6a-386984a5df49</name>
+          <entityField>PROGRESS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>0f600024-eb83-445c-8eb9-62bcf9e95313</name>
+          <entityField>PRIORITY</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>71d2b122-1687-454a-ae60-7e68aa83106c</name>
+          <entityField>PROTECTIONLEVEL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fd41b0ee-cae4-40b5-8aad-45740f4d6268</name>
+          <entityField>REQUESTOR_CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8428cbf6-7df0-4f7e-b6d6-5ab17e266028</name>
+          <entityField>EDITOR_CONTACT_ID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>ee35d86f-aef9-4ebd-b90a-d31b32cc3d5f</name>
+      <entityField>Links</entityField>
+      <view>TaskLinkMultiEdit_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TaskFilter_view/TaskFilter_view.aod b/neonView/TaskFilter_view/TaskFilter_view.aod
index 1b6c1bb6f9c7f77deddffc59234a0d88bc7d6e0f..7c22a4b14a667499f619bfbbfb65ba6ec8900ab9 100644
--- a/neonView/TaskFilter_view/TaskFilter_view.aod
+++ b/neonView/TaskFilter_view/TaskFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>TaskFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterable v="true" />
@@ -7,7 +7,7 @@
     <neonDashletConfiguration>
       <name>mytasks</name>
       <title>My tasks</title>
-      <description>Show tasks where I am editor</description>
+      <description>Tasks for which I am responsible</description>
       <fragment>Task/filter</fragment>
       <singleton v="true" />
       <requiresConfiguration v="false" />
diff --git a/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod b/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod
index 0ac9ab120210d1ccf0a3697b1c7e14b5e6ce5556..af603c57fe9b7a183fd89ffd8dcb03007804cde6 100644
--- a/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod
+++ b/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>TaskLinkFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
@@ -10,8 +10,8 @@
   <children>
     <tableViewTemplate>
       <name>TaskLinks</name>
-      <entityField>#ENTITY</entityField>
       <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>4d2b280c-adb2-4977-b70a-ba07959e44c2</name>
diff --git a/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod
index 0b9c9864f2b5007e217888dc5a50601fefde5fc6..63a3b60ae6001ac9a7fa77f6cf3438183051b3ad 100644
--- a/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod
+++ b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod
@@ -1,26 +1,26 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TaskLinkMultiEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericMultipleViewTemplate>
-      <name>MultipleEdit</name>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>4f3bde0b-cdd7-46a3-b0fc-24eba3ff9b92</name>
-          <entityField>OBJECT_TYPE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>ef83bb53-da75-498c-8ad5-4927c83243e4</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </neonTableColumn>
-      </columns>
-    </genericMultipleViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TaskLinkMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>MultipleEdit</name>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>4f3bde0b-cdd7-46a3-b0fc-24eba3ff9b92</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>ef83bb53-da75-498c-8ad5-4927c83243e4</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </neonTableColumn>
+      </columns>
+    </genericMultipleViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TaskLinkPreviewList_view/TaskLinkPreviewList_view.aod b/neonView/TaskLinkPreviewList_view/TaskLinkPreviewList_view.aod
index 145523f77fc479ffc7ecf0a6cec99f8a17cea733..7eeee17d29a2f772e793dab9c87fdc61239ab8d9 100644
--- a/neonView/TaskLinkPreviewList_view/TaskLinkPreviewList_view.aod
+++ b/neonView/TaskLinkPreviewList_view/TaskLinkPreviewList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>TaskLinkPreviewList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
index e2161c0bf04cf51fe55bdbb117c7e29e2774fa9b..a1664b1196c2141178e1343c1dd1fdbf81f2a8b0 100644
--- a/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
+++ b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TaskLinkPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Info</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>9b0dacf0-a053-499d-b87a-22db6c3cb2f4</name>
-          <entityField>OBJECT_ROWID</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TaskLinkPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Info</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>9b0dacf0-a053-499d-b87a-22db6c3cb2f4</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TaskMain_view/TaskMain_view.aod b/neonView/TaskMain_view/TaskMain_view.aod
index b2e0db985e81ea32b4f9d7db2ac295cb11d11015..427bad3b2ac8c5cf047c720176287db54969dda9 100644
--- a/neonView/TaskMain_view/TaskMain_view.aod
+++ b/neonView/TaskMain_view/TaskMain_view.aod
@@ -1,52 +1,52 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TaskMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>bfecc398-890e-485f-afa0-74e24f41b019</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>details</name>
-      <showDrawer v="true" />
-      <drawerCaption></drawerCaption>
-      <fixedDrawer v="true" />
-      <hideLabels v="false" />
-      <entityField>#ENTITY</entityField>
-      <title>details</title>
-      <fields>
-        <entityFieldLink>
-          <name>e95918f5-d21e-4c99-8d05-d70811aa3d89</name>
-          <entityField>PROTECTIONLEVEL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fea59f13-750b-427d-bf33-cc1bead95446</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>6846f680-84ef-46da-a0ea-6797044cf693</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ffa776bd-013c-4d4d-aedd-490625ef0fe1</name>
-      <entityField>LogHistories</entityField>
-      <view>LogHistoryFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>bfecc398-890e-485f-afa0-74e24f41b019</name>
-      <entityField>#ENTITY</entityField>
-      <view>TaskPreview_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TaskMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>bfecc398-890e-485f-afa0-74e24f41b019</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>details</name>
+      <showDrawer v="true" />
+      <drawerCaption></drawerCaption>
+      <fixedDrawer v="true" />
+      <hideLabels v="false" />
+      <entityField>#ENTITY</entityField>
+      <title>details</title>
+      <fields>
+        <entityFieldLink>
+          <name>e95918f5-d21e-4c99-8d05-d70811aa3d89</name>
+          <entityField>PROTECTIONLEVEL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fea59f13-750b-427d-bf33-cc1bead95446</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>6846f680-84ef-46da-a0ea-6797044cf693</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ffa776bd-013c-4d4d-aedd-490625ef0fe1</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>bfecc398-890e-485f-afa0-74e24f41b019</name>
+      <entityField>#ENTITY</entityField>
+      <view>TaskPreview_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TaskPreview_view/TaskPreview_view.aod b/neonView/TaskPreview_view/TaskPreview_view.aod
index b6c57674524f7e9f54ea7ce4dcb492d46fde62b6..f4cc5cda26e7d1cb2b3f7aeafb6ed8d0a51cae70 100644
--- a/neonView/TaskPreview_view/TaskPreview_view.aod
+++ b/neonView/TaskPreview_view/TaskPreview_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>TaskPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod b/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod
index 54a798e53dfc64fbb47782b8b243471cef54a469..9cdbe29cf251fc4f8c0300192dbfba760caea80c 100644
--- a/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod
+++ b/neonView/TimetrackingAnalysesDrawer_view/TimetrackingAnalysesDrawer_view.aod
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingAnalysesDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Time</layoutCaption>
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>8b5f7d80-65fa-477c-bf74-65aae4befe96</name>
-      <entityField>#ENTITY</entityField>
-      <view>TimetrackingAnalyses_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingAnalysesDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Time</layoutCaption>
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>8b5f7d80-65fa-477c-bf74-65aae4befe96</name>
+      <entityField>#ENTITY</entityField>
+      <view>TimetrackingAnalyses_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod b/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod
index 6143767e824bf1a501b9263d6cd9bb458ec51ad6..f7b855ef24f1494195dc1752de15599e8457adef 100644
--- a/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod
+++ b/neonView/TimetrackingAnalyses_view/TimetrackingAnalyses_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingAnalyses_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <singleDataChartViewTemplate>
-      <name>Pie</name>
-      <chartType>PIE</chartType>
-      <xAxis>YEAR</xAxis>
-      <yAxis>MINUTES</yAxis>
-      <entityField>#ENTITY</entityField>
-    </singleDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingAnalyses_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <singleDataChartViewTemplate>
+      <name>Pie</name>
+      <chartType>PIE</chartType>
+      <xAxis>YEAR</xAxis>
+      <yAxis>MINUTES</yAxis>
+      <entityField>#ENTITY</entityField>
+    </singleDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingDrawer_view/TimetrackingDrawer_view.aod b/neonView/TimetrackingDrawer_view/TimetrackingDrawer_view.aod
index 3ef17f9a5138c2ad9a0c67c7401734d95f5c3340..23924e2e77b7f83bd2555ee97bb5f9a106389e6a 100644
--- a/neonView/TimetrackingDrawer_view/TimetrackingDrawer_view.aod
+++ b/neonView/TimetrackingDrawer_view/TimetrackingDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Timetracking</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>c6133a75-f87d-448f-bf52-e360373aa7f7</name>
-      <entityField>#ENTITY</entityField>
-      <view>TimetrackingFilterAnalyses</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Timetracking</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>c6133a75-f87d-448f-bf52-e360373aa7f7</name>
+      <entityField>#ENTITY</entityField>
+      <view>TimetrackingFilterAnalyses</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingEdit_view/TimetrackingEdit_view.aod b/neonView/TimetrackingEdit_view/TimetrackingEdit_view.aod
index 63d3d3f41e47c655531fdcba5676eabd42136e89..cef182c6f09c92cd24846875a4c740587b415326 100644
--- a/neonView/TimetrackingEdit_view/TimetrackingEdit_view.aod
+++ b/neonView/TimetrackingEdit_view/TimetrackingEdit_view.aod
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingEdit_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <isSmall v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Edit</name>
-      <editMode v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>8a0941a2-2c33-4a66-a460-5f2f7258e051</name>
-          <entityField>DATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>8c27f579-543a-484f-ba3d-ba0579e6db12</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>ef97d0da-a0d4-4147-b440-96d249ffec73</name>
-          <entityField>MINUTES</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>57370b00-130c-439e-9b70-fd56fc28c892</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <isSmall v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Edit</name>
+      <editMode v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>6bf1e6e0-6cf1-46e6-8fd1-e88dec5a83a7</name>
+          <entityField>TRACKINGDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>8c27f579-543a-484f-ba3d-ba0579e6db12</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>d485bdf8-5ebf-4bcc-b4ea-7423ea449206</name>
+          <entityField>TRACKINGMINUTES</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>57370b00-130c-439e-9b70-fd56fc28c892</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingFilterAnalyses/TimetrackingFilterAnalyses.aod b/neonView/TimetrackingFilterAnalyses/TimetrackingFilterAnalyses.aod
index 92aaadacea0dc78c08c08783d652724ecec3f439..c02789950f5a14d89b49f1775faf4bdfa742d71f 100644
--- a/neonView/TimetrackingFilterAnalyses/TimetrackingFilterAnalyses.aod
+++ b/neonView/TimetrackingFilterAnalyses/TimetrackingFilterAnalyses.aod
@@ -1,24 +1,24 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingFilterAnalyses</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-      <direction>HORIZONTAL</direction>
-      <maxDirectionElements v="2" />
-    </boxLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>373d9986-ad06-4a86-9f5d-801ecee6139c</name>
-      <entityField>#ENTITY</entityField>
-      <view>TimetrackingFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>9b1e339c-70aa-4841-8e8f-b66fd2e9f9f5</name>
-      <entityField>#ENTITY</entityField>
-      <view>TimetrackingAnalyses_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingFilterAnalyses</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+      <direction>HORIZONTAL</direction>
+      <maxDirectionElements v="2" />
+    </boxLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>373d9986-ad06-4a86-9f5d-801ecee6139c</name>
+      <entityField>#ENTITY</entityField>
+      <view>TimetrackingFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>9b1e339c-70aa-4841-8e8f-b66fd2e9f9f5</name>
+      <entityField>#ENTITY</entityField>
+      <view>TimetrackingAnalyses_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod b/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod
index 3325eefbfbf199ec16e627d3e8d44499c9838742..781a1c3906e608a9bca3ce9f743fbf63f72ad452 100644
--- a/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod
+++ b/neonView/TimetrackingFilter_view/TimetrackingFilter_view.aod
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingFilter_view</name>
-  <title>Timetracking</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <filterable v="true" />
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <tableViewTemplate>
-      <name>Timetrackings</name>
-      <iconField>#IMAGE</iconField>
-      <titleField>CONTACT_ID</titleField>
-      <subtitleField>MINUTES</subtitleField>
-      <descriptionField>DATE</descriptionField>
-      <entityField>#ENTITY</entityField>
-      <columns>
-        <neonTableColumn>
-          <name>fa423332-8987-4fc2-981c-66447678b922</name>
-          <entityField>DATE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>63068c6c-1508-47f2-ad2e-bbe66a448af1</name>
-          <entityField>CONTACT_ID</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>7e18967d-3c78-4f75-bc03-f6d925553484</name>
-          <entityField>MINUTES</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>e17a680c-5a05-42a1-ab34-067a97192690</name>
-          <entityField>INFO</entityField>
-        </neonTableColumn>
-      </columns>
-    </tableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingFilter_view</name>
+  <title>Timetracking</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <filterable v="true" />
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Timetrackings</name>
+      <iconField>#IMAGE</iconField>
+      <titleField>CONTACT_ID</titleField>
+      <subtitleField>MINUTES</subtitleField>
+      <descriptionField>DATE</descriptionField>
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>fa423332-8987-4fc2-981c-66447678b922</name>
+          <entityField>TRACKINGDATE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>63068c6c-1508-47f2-ad2e-bbe66a448af1</name>
+          <entityField>CONTACT_ID</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>7e18967d-3c78-4f75-bc03-f6d925553484</name>
+          <entityField>TRACKINGMINUTES</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>e17a680c-5a05-42a1-ab34-067a97192690</name>
+          <entityField>INFO</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod
index 1ef0b41db42040c914b5bfc041ba6878cdfe2399..c75b62ce11060564356d1fbe2b8eb1a34d14dae4 100644
--- a/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod
+++ b/neonView/TimetrackingPreview_view/TimetrackingPreview_view.aod
@@ -1,44 +1,44 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingPreview_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <headerFooterLayout>
-      <name>layout</name>
-    </headerFooterLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Details</name>
-      <showDrawer v="true" />
-      <drawerCaption>Details</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>835197c0-2e0c-4989-8d5b-80ccd064d55e</name>
-          <entityField>CONTACT_ID</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>64005996-e735-4c5d-bdb7-29aaf8851107</name>
-          <entityField>DATE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>25921a31-5563-4a74-aa7e-67d660c60f0b</name>
-          <entityField>MINUTES</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <genericViewTemplate>
-      <name>Info</name>
-      <showDrawer v="true" />
-      <drawerCaption>Description</drawerCaption>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>76a33027-65cc-4943-8e96-20b35880a3cd</name>
-          <entityField>INFO</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingPreview_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <headerFooterLayout>
+      <name>layout</name>
+    </headerFooterLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Details</name>
+      <showDrawer v="true" />
+      <drawerCaption>Details</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>835197c0-2e0c-4989-8d5b-80ccd064d55e</name>
+          <entityField>CONTACT_ID</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>ce7d8cc0-ac9c-4195-861f-23483db6cd91</name>
+          <entityField>TRACKINGDATE</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>45f4f97c-5fde-4c90-9dba-4e5b540328b3</name>
+          <entityField>TRACKINGMINUTES</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <genericViewTemplate>
+      <name>Info</name>
+      <showDrawer v="true" />
+      <drawerCaption>Description</drawerCaption>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>76a33027-65cc-4943-8e96-20b35880a3cd</name>
+          <entityField>INFO</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TimetrackingScore_view/TimetrackingScore_view.aod b/neonView/TimetrackingScore_view/TimetrackingScore_view.aod
index a52446d439af1b14db96512e2f345f23a968a2ca..0a4469023a1619ed69580dd7469190d5639e08df 100644
--- a/neonView/TimetrackingScore_view/TimetrackingScore_view.aod
+++ b/neonView/TimetrackingScore_view/TimetrackingScore_view.aod
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TimetrackingScore_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <scoreCardViewTemplate>
-      <name>time</name>
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>56f043bf-6ff2-45c0-af48-1c4bf16456cf</name>
-          <entityField>TOTALTIME</entityField>
-        </entityFieldLink>
-      </fields>
-    </scoreCardViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TimetrackingScore_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <scoreCardViewTemplate>
+      <name>time</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>56f043bf-6ff2-45c0-af48-1c4bf16456cf</name>
+          <entityField>TOTALTIME</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TurnoverChartForcastDrawer_view/TurnoverChartForcastDrawer_view.aod b/neonView/TurnoverChartForcastDrawer_view/TurnoverChartForcastDrawer_view.aod
index 02670304e59ea15fe904ab2e13582b77889280ad..9530478a02b1362f9b6c4453199d5808906fbda6 100644
--- a/neonView/TurnoverChartForcastDrawer_view/TurnoverChartForcastDrawer_view.aod
+++ b/neonView/TurnoverChartForcastDrawer_view/TurnoverChartForcastDrawer_view.aod
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TurnoverChartForcastDrawer_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <drawerLayout>
-      <name>layout</name>
-      <layoutCaption>Forecast</layoutCaption>
-      <fixedDrawer v="true" />
-    </drawerLayout>
-  </layout>
-  <children>
-    <neonViewReference>
-      <name>b7fd781d-9f52-413c-a993-20760985bc9c</name>
-      <entityField>#ENTITY</entityField>
-      <view>TurnoverChartForecast_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TurnoverChartForcastDrawer_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <drawerLayout>
+      <name>layout</name>
+      <layoutCaption>Forecast</layoutCaption>
+      <fixedDrawer v="true" />
+    </drawerLayout>
+  </layout>
+  <children>
+    <neonViewReference>
+      <name>b7fd781d-9f52-413c-a993-20760985bc9c</name>
+      <entityField>#ENTITY</entityField>
+      <view>TurnoverChartForecast_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod b/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod
index b9ec76fea9860442383b2ceaff6ba17bf83ed387..7b850debc51fbb5188d6446d5cc634c307060eb7 100644
--- a/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod
+++ b/neonView/TurnoverChartForecast_view/TurnoverChartForecast_view.aod
@@ -1,82 +1,83 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TurnoverChartForecast_view</name>
-  <title>Forecast</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>TurnoverDashlet</name>
-      <title>Turnover</title>
-      <fragment>Turnover/full</fragment>
-      <singleton v="true" />
-      <storeRoles>
-        <element>INTERNAL_ADMINISTRATOR</element>
-        <element>INTERNAL_DASHBOARDSTOREADMIN</element>
-      </storeRoles>
-      <icon>VAADIN:CHART</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>turnover</name>
-          <title>Turnover</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <multiDataChartViewTemplate>
-      <name>ColumnChart</name>
-      <chartType>COLUMN</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>LineChart</name>
-      <chartType>LINE</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>AreaChart</name>
-      <chartType>AREA</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>BarChart</name>
-      <chartType>BAR</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>SplineChart</name>
-      <chartType>SPLINE</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-      <title></title>
-    </multiDataChartViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TurnoverChartForecast_view</name>
+  <title>Forecast</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>TurnoverDashlet</name>
+      <title>Turnover</title>
+      <description>Shows the organisations turnover and forecast</description>
+      <fragment>Turnover/full</fragment>
+      <singleton v="true" />
+      <storeRoles>
+        <element>INTERNAL_ADMINISTRATOR</element>
+        <element>INTERNAL_DASHBOARDSTOREADMIN</element>
+      </storeRoles>
+      <icon>VAADIN:CHART</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>turnover</name>
+          <title>Turnover</title>
+        </neonDashletCategory>
+      </categories>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>ColumnChart</name>
+      <chartType>COLUMN</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>LineChart</name>
+      <chartType>LINE</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>AreaChart</name>
+      <chartType>AREA</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>BarChart</name>
+      <chartType>BAR</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>SplineChart</name>
+      <chartType>SPLINE</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+      <title></title>
+    </multiDataChartViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TurnoverChart_view/TurnoverChart_view.aod b/neonView/TurnoverChart_view/TurnoverChart_view.aod
index fd4a76dbc489917060ca85f84c3ad5ac4f2b88f3..7b52071ad41d330fe166fafdfab793e6d6b69e7a 100644
--- a/neonView/TurnoverChart_view/TurnoverChart_view.aod
+++ b/neonView/TurnoverChart_view/TurnoverChart_view.aod
@@ -1,82 +1,63 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TurnoverChart_view</name>
-  <title></title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>TurnoverDashlet</name>
-      <title>Turnover</title>
-      <fragment>Turnover/full</fragment>
-      <singleton v="true" />
-      <storeRoles>
-        <element>INTERNAL_ADMINISTRATOR</element>
-        <element>INTERNAL_DASHBOARDSTOREADMIN</element>
-      </storeRoles>
-      <icon>VAADIN:CHART</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>turnover</name>
-          <title>Turnover</title>
-        </neonDashletCategory>
-      </categories>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <groupLayout>
-      <name>layout</name>
-    </groupLayout>
-  </layout>
-  <children>
-    <multiDataChartViewTemplate>
-      <name>ColumnChart</name>
-      <chartType>COLUMN</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>LineChart</name>
-      <chartType>LINE</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>AreaChart</name>
-      <chartType>AREA</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>BarChart</name>
-      <chartType>BAR</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-    <multiDataChartViewTemplate>
-      <name>SplineChart</name>
-      <chartType>SPLINE</chartType>
-      <xAxis>X</xAxis>
-      <yAxis>Y</yAxis>
-      <parentField>PARENT</parentField>
-      <categoryField>CATEGORY</categoryField>
-      <entityField>#ENTITY</entityField>
-    </multiDataChartViewTemplate>
-    <neonViewReference>
-      <name>b0a9f719-3768-4ce5-9d32-e0f5fa5bf1eb</name>
-      <entityField>Turnover_tree</entityField>
-      <view>TurnoverTree_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TurnoverChart_view</name>
+  <title></title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <groupLayout>
+      <name>layout</name>
+    </groupLayout>
+  </layout>
+  <children>
+    <multiDataChartViewTemplate>
+      <name>ColumnChart</name>
+      <chartType>COLUMN</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>LineChart</name>
+      <chartType>LINE</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>AreaChart</name>
+      <chartType>AREA</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>BarChart</name>
+      <chartType>BAR</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+    <multiDataChartViewTemplate>
+      <name>SplineChart</name>
+      <chartType>SPLINE</chartType>
+      <xAxis>X</xAxis>
+      <yAxis>Y</yAxis>
+      <parentField>PARENT</parentField>
+      <categoryField>CATEGORY</categoryField>
+      <entityField>#ENTITY</entityField>
+    </multiDataChartViewTemplate>
+    <neonViewReference>
+      <name>d5e15acc-21a3-464f-aebc-6a11a969cf97</name>
+      <entityField>Turnover_tree</entityField>
+      <view>TurnoverTree_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TurnoverTree_view/TurnoverTree_view.aod b/neonView/TurnoverTree_view/TurnoverTree_view.aod
index 3c604de5df8861a74e8d06e19d5629713ad06659..23ffb81f1d8fa31882015a8aad4860276e5755f9 100644
--- a/neonView/TurnoverTree_view/TurnoverTree_view.aod
+++ b/neonView/TurnoverTree_view/TurnoverTree_view.aod
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TurnoverTree_view</name>
-  <title>Tree</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <treeTableViewTemplate>
-      <name>turnover</name>
-      <parentField>PARENT</parentField>
-      <entityField>#ENTITY</entityField>
-      <title>Tree</title>
-      <columns>
-        <neonTableColumn>
-          <name>3925d6aa-6a42-4cdc-84c3-e96ce2eff27b</name>
-          <entityField>GROUP</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>bc75d6a3-b226-4b28-8090-7142a264552a</name>
-          <entityField>FORECASTPRICE</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>d56ec015-556a-4fd6-bf43-c127b10b07bc</name>
-          <entityField>TURNOVERPRICE</entityField>
-        </neonTableColumn>
-      </columns>
-    </treeTableViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TurnoverTree_view</name>
+  <title>Tree</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <treeTableViewTemplate>
+      <name>turnover</name>
+      <parentField>PARENT</parentField>
+      <entityField>#ENTITY</entityField>
+      <title>Tree</title>
+      <columns>
+        <neonTableColumn>
+          <name>3925d6aa-6a42-4cdc-84c3-e96ce2eff27b</name>
+          <entityField>GROUP</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>bc75d6a3-b226-4b28-8090-7142a264552a</name>
+          <entityField>FORECASTPRICE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d56ec015-556a-4fd6-bf43-c127b10b07bc</name>
+          <entityField>TURNOVERPRICE</entityField>
+        </neonTableColumn>
+      </columns>
+    </treeTableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TwitterTimeline_view/TwitterTimeline_view.aod b/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
index 1af95adb16a04460d8d4ab5ef6b61d1aa2feba27..0af99bc565aed5d89a0d9b93568c25d386653b57 100644
--- a/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
+++ b/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
@@ -1,68 +1,68 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TwitterTimeline_view</name>
-  <title>Twitter</title>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <dashletConfigurations>
-    <neonDashletConfiguration>
-      <name>AditoTwitterDashlet</name>
-      <title>ADITO Twitter Feed</title>
-      <description>Show all tweets of ADITO</description>
-      <fragment>Social/full</fragment>
-      <singleton v="true" />
-      <requiresConfiguration v="false" />
-      <icon>vaadin:twitter_square</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>social</name>
-          <title>Social Media</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>twitter</name>
-          <title>Twitter</title>
-        </neonDashletCategory>
-      </categories>
-      <parameters>
-        <neonDashletParameter>
-          <name>Account_param</name>
-          <value>adito_software</value>
-        </neonDashletParameter>
-      </parameters>
-    </neonDashletConfiguration>
-    <neonDashletConfiguration>
-      <name>TwitterDashletConfig</name>
-      <title>Twitter Feed</title>
-      <description>Show all tweets of a user</description>
-      <fragment>Social/full</fragment>
-      <requiresConfiguration v="true" />
-      <icon>vaadin:twitter_square</icon>
-      <categories>
-        <neonDashletCategory>
-          <name>social</name>
-          <title>Social Media</title>
-        </neonDashletCategory>
-        <neonDashletCategory>
-          <name>twitter</name>
-          <title>Twitter</title>
-        </neonDashletCategory>
-      </categories>
-      <parameters>
-        <neonDashletParameter>
-          <name>Account_param</name>
-          <value></value>
-        </neonDashletParameter>
-      </parameters>
-    </neonDashletConfiguration>
-  </dashletConfigurations>
-  <layout>
-    <boxLayout>
-      <name>layout</name>
-    </boxLayout>
-  </layout>
-  <children>
-    <webContentViewTemplate>
-      <name>Timeline</name>
-      <entityField>TWITTER_TIMELINE</entityField>
-    </webContentViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>TwitterTimeline_view</name>
+  <title>Twitter</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <dashletConfigurations>
+    <neonDashletConfiguration>
+      <name>AditoTwitterDashlet</name>
+      <title>ADITO Twitter Feed</title>
+      <description>Show all tweets of ADITO</description>
+      <fragment>Social/full</fragment>
+      <singleton v="true" />
+      <requiresConfiguration v="false" />
+      <icon>vaadin:twitter_square</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>social</name>
+          <title>Social Media</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>twitter</name>
+          <title>Twitter</title>
+        </neonDashletCategory>
+      </categories>
+      <parameters>
+        <neonDashletParameter>
+          <name>Account_param</name>
+          <value>adito_software</value>
+        </neonDashletParameter>
+      </parameters>
+    </neonDashletConfiguration>
+    <neonDashletConfiguration>
+      <name>TwitterDashletConfig</name>
+      <title>Twitter Feed</title>
+      <description>Show all tweets of a user</description>
+      <fragment>Social/full</fragment>
+      <requiresConfiguration v="true" />
+      <icon>vaadin:twitter_square</icon>
+      <categories>
+        <neonDashletCategory>
+          <name>social</name>
+          <title>Social Media</title>
+        </neonDashletCategory>
+        <neonDashletCategory>
+          <name>twitter</name>
+          <title>Twitter</title>
+        </neonDashletCategory>
+      </categories>
+      <parameters>
+        <neonDashletParameter>
+          <name>Account_param</name>
+          <value></value>
+        </neonDashletParameter>
+      </parameters>
+    </neonDashletConfiguration>
+  </dashletConfigurations>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <webContentViewTemplate>
+      <name>Timeline</name>
+      <entityField>TWITTER_TIMELINE</entityField>
+    </webContentViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/UniversalFileProcessorDropzone_view/UniversalFileProcessorDropzone_view.aod b/neonView/UniversalFileProcessorDropzone_view/UniversalFileProcessorDropzone_view.aod
index 20c94d7921f374a39a33ec96b4d0a3857681e8c6..70fce04d5511956c50799407c8ff5fad3de03035 100644
--- a/neonView/UniversalFileProcessorDropzone_view/UniversalFileProcessorDropzone_view.aod
+++ b/neonView/UniversalFileProcessorDropzone_view/UniversalFileProcessorDropzone_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>UniversalFileProcessorDropzone_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <dashletConfigurations>
diff --git a/neonView/UnlinkedMailFilter_view/UnlinkedMailFilter_view.aod b/neonView/UnlinkedMailFilter_view/UnlinkedMailFilter_view.aod
index aada59be05c63dc036b22dd3353947811824e7b4..8cbfe491f461265f0f5dfd8185c8a7d0b49b250a 100644
--- a/neonView/UnlinkedMailFilter_view/UnlinkedMailFilter_view.aod
+++ b/neonView/UnlinkedMailFilter_view/UnlinkedMailFilter_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>UnlinkedMailFilter_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <isSmall v="false" />
diff --git a/neonView/UnlinkedMailMappingLinkList_view/UnlinkedMailMappingLinkList_view.aod b/neonView/UnlinkedMailMappingLinkList_view/UnlinkedMailMappingLinkList_view.aod
index 37dcfb4dc0563c7d97c21318490f3e5674d2d54f..0f84912c15741f9a6ef4f420ade85d92fefab85a 100644
--- a/neonView/UnlinkedMailMappingLinkList_view/UnlinkedMailMappingLinkList_view.aod
+++ b/neonView/UnlinkedMailMappingLinkList_view/UnlinkedMailMappingLinkList_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>UnlinkedMailMappingLinkList_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
diff --git a/neonView/UnlinkedMailMappingWrapperMapping_view/UnlinkedMailMappingWrapperMapping_view.aod b/neonView/UnlinkedMailMappingWrapperMapping_view/UnlinkedMailMappingWrapperMapping_view.aod
index 7cce6b8d744d27f349e35820e8953a38dac348b4..0686a25fef2c84db0a021eb2ebf559d682b3c20f 100644
--- a/neonView/UnlinkedMailMappingWrapperMapping_view/UnlinkedMailMappingWrapperMapping_view.aod
+++ b/neonView/UnlinkedMailMappingWrapperMapping_view/UnlinkedMailMappingWrapperMapping_view.aod
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
   <name>UnlinkedMailMappingWrapperMapping_view</name>
   <title>Link e-mail addresses to contacts</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
diff --git a/neonView/campaignParticipantMessage_view/campaignParticipantMessage_view.aod b/neonView/campaignParticipantMessage_view/campaignParticipantMessage_view.aod
index d572a2cda31b48dd8e7d6f26aba474aec5e5031b..22f190b0a927a81468e2d8f1ad8617d8d90dd077 100644
--- a/neonView/campaignParticipantMessage_view/campaignParticipantMessage_view.aod
+++ b/neonView/campaignParticipantMessage_view/campaignParticipantMessage_view.aod
@@ -1,23 +1,23 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>campaignParticipantMessage_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <noneLayout>
-      <name>layout</name>
-    </noneLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>Message_view</name>
-      <hideLabels v="true" />
-      <entityField>#ENTITY</entityField>
-      <fields>
-        <entityFieldLink>
-          <name>bc1db862-a448-47f6-b534-2ce28dc993a8</name>
-          <entityField>campaignParticipantMessage</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.2">
+  <name>campaignParticipantMessage_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <noneLayout>
+      <name>layout</name>
+    </noneLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Message_view</name>
+      <hideLabels v="true" />
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>bc1db862-a448-47f6-b534-2ce28dc993a8</name>
+          <entityField>campaignParticipantMessage</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+  </children>
+</neonView>
diff --git a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
index a50772588b32d1d7bff35d4f4dd6d20524853196..595e71e77c5cd9abb3be45cafa51024b1262a847 100644
--- a/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
+++ b/preferences/_____PREFERENCES_PROJECT/_____PREFERENCES_PROJECT.aod
@@ -81,7 +81,7 @@
     </customStringProperty>
     <customBooleanProperty>
       <name>dsgvo.active</name>
-      <property v="true" />
+      <property v="false" />
     </customBooleanProperty>
     <customDurationProperty>
       <name>dsgvo.deletionTimeDays</name>
@@ -93,7 +93,7 @@
     </customDurationProperty>
     <customBooleanProperty>
       <name>nominatim.enable</name>
-      <property v="true" />
+      <property v="false" />
     </customBooleanProperty>
     <customStringProperty>
       <name>nominatim.url</name>
diff --git a/process/ActivityTask_lib/process.js b/process/ActivityTask_lib/process.js
index a9abd6fc7fba12a3746c814f343853e349874422..75016636d736e311046824bb2dd988f7de58b6a9 100644
--- a/process/ActivityTask_lib/process.js
+++ b/process/ActivityTask_lib/process.js
@@ -250,12 +250,12 @@ _ActivityTaskUtils._createNew = function(pContext, pRowId, pAdditionalLinks, pPa
 {
     if (pAdditionalLinks == undefined)
         pAdditionalLinks = [];
-    
+       
     var params = {};
     
     if (pParams)
         params = pParams
-    
+     
     if (pRowId)
     {
         params["ObjectId_param"] = ContextUtils.getCurrentContextId();
@@ -274,7 +274,6 @@ _ActivityTaskUtils._createNew = function(pContext, pRowId, pAdditionalLinks, pPa
     
     if (pDocuments)
         params["PresetDocuments_param"] = JSON.stringify(pDocuments);
-
     neon.openContext(pContext, null, null, neon.OPERATINGSTATE_NEW, params);
 }
 
@@ -313,6 +312,11 @@ _ActivityTaskUtils._addLinkRecords = function(pObjectIdField, pRowIdField, pAddi
                              .andPrepare("TASKLINK.TASK_ID", vars.get(pParentIdField))
                              .buildSql("select OBJECT_TYPE, OBJECT_ROWID from TASKLINK", "1=2")));
                 break;
+            case "SupportTicket":
+                presetLinks = presetLinks.concat(db.table(SqlCondition.begin()
+                             .andPrepare("TICKET.TICKETID", vars.get(pParentIdField))
+                             .buildSql("select OBJECT_TYPE, OBJECT_ROWID from TICKET join TASKLINK on TASKLINK.TASK_ID = TICKET.TASK_ID", "1=2")));
+                break;
         }
         
     }
diff --git a/process/Address_lib/process.js b/process/Address_lib/process.js
index e757db22e913e3a90f058f33c0ac33e5386b4f9f..47eed7c45e736490630f4601165b32ab7de955ea 100644
--- a/process/Address_lib/process.js
+++ b/process/Address_lib/process.js
@@ -137,10 +137,10 @@ function fetchAddressData( pCondition, pConfig, AddressID, pPerson )
         var addrfields = [
             "case when CONTACT.PERSON_ID is null then 1 else case when " + SqlMaskingUtils.prototype.trim("CONTACT.ORGANISATION_ID") + " = '0' then 2 else 3 end end", //0
             "ADDRESS.ADDRESS", "ADDRESS.BUILDINGNO", "ADDRESS.ZIP", "ADDRESS.CITY", "ADDRESS.COUNTRY", "ADDRESS.ADDRESSADDITION",  // 1-6
-            "ADDRESS.ADDRIDENTIFIER", "ADDRESS.DISTRICT", "ADDRESS.REGION", "ADDRESS.STATE", "CONTACT.DEPARTMENT", "CONTACT.CONTACTROLE", // 7-12
-            "CONTACT.POSITION", "CONTACT.LETTERSALUTATION", "ORGANISATION.NAME", "PERSON.FIRSTNAME", "PERSON.MIDDLENAME", "PERSON.LASTNAME",  // 13-18
+            "ADDRESS.ADDRIDENTIFIER", "ADDRESS.DISTRICT", "ADDRESS.REGION", "ADDRESS.PROVINCE", "CONTACT.DEPARTMENT", "CONTACT.CONTACTROLE", // 7-12
+            "CONTACT.CONTACTPOSITION", "CONTACT.LETTERSALUTATION", "ORGANISATION.NAME", "PERSON.FIRSTNAME", "PERSON.MIDDLENAME", "PERSON.LASTNAME",  // 13-18
             "PERSON.SALUTATION", "PERSON.TITLE", "PERSON.TITLESUFFIX", // 19-21
-            "coalesce( CONTACT.LANGUAGE, (select C.LANGUAGE from CONTACT C where C.ORGANISATION_ID = CONTACT.ORGANISATION_ID and PERSON_ID is null))", // 22
+            "coalesce( CONTACT.ISOLANGUAGE, (select C.ISOLANGUAGE from CONTACT C where C.ORGANISATION_ID = CONTACT.ORGANISATION_ID and PERSON_ID is null))", // 22
             "''", "''", "''", "(select ADDR_FORMAT from AB_COUNTRYINFO where ISO2 = ADDRESS.COUNTRY)", "ADDRESS.ADDR_TYPE" // 23-27
         ];
 											
@@ -347,7 +347,7 @@ function _getSalutation( pSalutCode )
     }
     else
     {	
-        var list = db.table("select LANGUAGE, SALUTATION, TITLE, HEADLINE, LETTERSALUTATION from SALUTATION" );
+        var list = db.table("select ISOLANGUAGE, SALUTATION, TITLE, HEADLINE, LETTERSALUTATION from SALUTATION" );
         for ( var i = 0; i < list.length; i++ )	
         {   
             salut[list[i][0] + list[i][1] + list[i][2]] = [list[i][3], list[i][4]];
diff --git a/process/Appointment_lib/process.js b/process/Appointment_lib/process.js
index 592618f06a988d08923f2df8ed9c66aa8c1d7a1f..7f7dadbbc2485fc8e5f11dcbaf45f79e44a8db89 100644
--- a/process/Appointment_lib/process.js
+++ b/process/Appointment_lib/process.js
@@ -1,3 +1,6 @@
+import("system.vars");
+import("system.tools");
+import("Calendar_lib");
 import("system.calendars");
 import("system.neon");
 import("system.text");
@@ -90,8 +93,40 @@ AppointmentUtils.sendExchangedAction = function(event, newState)
     }
     
     
-    jsonEvent = JSON.parse(event);
+    var jsonEvent = JSON.parse(event);
     jsonEvent["X-ADITO-STATUSACTION"] = newState;    // "ACCEPT", "DECLINE", ""
     jsonEvent[calendars.AFFECTEDUSERS] = "";
     calendars.updateEntry(jsonEvent);
+}
+
+AppointmentUtils.setAppointmentLinkComponentState = function(pSysRecordstate, pAppointmentState, pAppointmentIdParam, pAppointmentIdFieldValue)
+{
+    var entry;
+    var newAppointment = false;
+    
+    if(pAppointmentState && pAppointmentState == neon.OPERATINGSTATE_NEW)
+        newAppointment = true;
+        
+    else if(pSysRecordstate == neon.OPERATINGSTATE_NEW && pAppointmentIdParam)
+        entry = calendars.getEntry(pAppointmentIdParam, null, null);
+
+    else if(pSysRecordstate == neon.OPERATINGSTATE_EDIT)
+        entry = calendars.getEntry(pAppointmentIdFieldValue, null, null);
+    
+    
+
+    if(entry)
+    {   
+        var currentUserId = CalendarUtil.getEffectiveCalendarIdFromUser(tools.getCurrentUser());
+        var organzierId = CalendarUtil.getEffectiveCalendarIdFromUser(tools.getUser(entry[calendars.ORGANIZER2]["cn"], tools.PROFILE_DEFAULT));
+
+        if(currentUserId && currentUserId == organzierId)
+            return neon.COMPONENTSTATE_EDITABLE;
+        else
+            return neon.COMPONENTSTATE_DISABLED;
+    }
+    else if(newAppointment)
+        return neon.COMPONENTSTATE_EDITABLE
+    else
+        return neon.COMPONENTSTATE_DISABLED;
 }
\ No newline at end of file
diff --git a/process/AttributeFilter_lib/AttributeFilter_lib.aod b/process/AttributeFilter_lib/AttributeFilter_lib.aod
new file mode 100644
index 0000000000000000000000000000000000000000..57e3edcba2b142a37bc925f7db45a4cbf4006464
--- /dev/null
+++ b/process/AttributeFilter_lib/AttributeFilter_lib.aod
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>AttributeFilter_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/AttributeFilter_lib/process.js</process>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
diff --git a/process/AttributeFilter_lib/process.js b/process/AttributeFilter_lib/process.js
new file mode 100644
index 0000000000000000000000000000000000000000..ed66d3825bb8cd716e99f87b0b8028b6fbf44239
--- /dev/null
+++ b/process/AttributeFilter_lib/process.js
@@ -0,0 +1,156 @@
+import("system.translate");
+import("Entity_lib");
+import("system.vars");
+import("Context_lib");
+import("system.db");
+import("Sql_lib");
+import("Attribute_lib");
+import("system.entities");
+import("system.util");
+
+//TODO: comment lib
+
+function AttributeSearchNameCoder(){}
+
+AttributeSearchNameCoder.encode = function (pUid, pAttributeType)
+{
+    var res = {
+        id: pUid, 
+        type: pAttributeType.trim()
+    };
+    res = JSON.stringify(res);
+    res = util.encodeBase64String(res);
+    return res
+};
+
+AttributeSearchNameCoder.decode = function (pEncodedString)
+{
+    var res = pEncodedString.substr(pEncodedString.lastIndexOf(".") + 1);
+    res = util.decodeBase64String(res);
+    res = JSON.parse(res);
+    return res
+};
+
+function AttributeFilterExtensionMaker() {}
+
+AttributeFilterExtensionMaker.getFilterFields = function(pObjectType) 
+{
+    var res = [];
+
+    var loadingConfig = entities.createConfigForLoadingRows().entity("Attribute_entity")
+        .provider("SpecificAttribute")
+        .fields(["UID", "FULL_ATTRIBUTE_NAME", "ATTRIBUTE_TYPE"])
+        .addParameter("ObjectType_param", pObjectType);
+
+    var attributeRows = entities.getRows(loadingConfig);
+    attributeRows.forEach(function(row){
+        var attributeType = row["ATTRIBUTE_TYPE"];
+        var contentType = AttributeTypeUtil.getContentType(attributeType);
+        
+        if (attributeType.trim() == $AttributeTypes.VOID.toString())
+        {
+            contentType = "BOOLEAN";
+        }
+
+        if (contentType)
+        {
+            var name = AttributeSearchNameCoder.encode(row["UID"], attributeType);
+            res.push({
+                name: name,
+                title: row["FULL_ATTRIBUTE_NAME"],
+                //workaround since we do not have a "UNKNOWN"-contentType in the filter-definition
+                contentType: contentType == "UNKNOWN" ? "TEXT" : contentType,
+                hasDropDownValues: contentType == "UNKNOWN" || contentType == "BOOLEAN" ? true : false//TODO: determine this somehow else
+            });
+        }
+    });
+
+    res = JSON.stringify(res);
+    return res;
+};
+
+AttributeFilterExtensionMaker.makeFilterFields = function()
+{
+    var objectType = ContextUtils.getCurrentContextId();
+    var res = AttributeFilterExtensionMaker.getFilterFields(objectType);
+    return res;
+};
+
+AttributeFilterExtensionMaker.getFilterValues = function(pFilter) 
+{
+    var filter = JSON.parse(pFilter);
+    var name =  AttributeSearchNameCoder.decode(filter.name);
+
+    var attributeId = name.id;
+    var attrType = name.type;
+    if (attrType == $AttributeTypes.VOID.toString())
+        attrType = $AttributeTypes.BOOLEAN.toString();
+    var res = AttributeUtil.getPossibleListValues(attributeId, attrType);
+    if (res == null)
+        res = [];
+    return res;
+};
+
+AttributeFilterExtensionMaker.makeFilterValues = function()
+{
+    var filter = vars.getString("$local.filter");
+    var res = AttributeFilterExtensionMaker.getFilterValues(filter);
+    return res;
+};
+
+AttributeFilterExtensionMaker.getFilterCondition = function(pObjectType, pFilterName, pCondition, pRawValue, pOperatorName, pIdTableName, pIdColumnName) 
+{
+    var resSql; 
+    var preparedValues = [];
+    var name = pFilterName;
+    name = AttributeSearchNameCoder.decode(name);
+    var attributeId = name.id;
+    var attributeType = name.type;
+    
+    if (attributeType == $AttributeTypes.VOID.toString())
+    {
+        preparedValues.push([pObjectType, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.OBJECT_TYPE")]);
+        preparedValues.push([attributeId, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")]);
+        
+        resSql = "(select count(*) \n\
+                    from AB_ATTRIBUTERELATION \n\
+                    where OBJECT_ROWID = " + pIdTableName + "." + pIdColumnName +" \n\
+                    and OBJECT_TYPE = ? \n\
+                    and AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = ?)";
+
+        if (pOperatorName == "IS NOT NULL" || pRawValue == "1" && pOperatorName == "LIKE" || pRawValue == "0" && pOperatorName == "NOT LIKE")
+            resSql += " > 0 ";
+        else
+            resSql += " = 0 ";
+    }
+    else
+    {
+        var dbField = AttributeTypeUtil.getDatabaseField(name.type);
+
+        var condition = pCondition;
+        condition = condition.replace("{'table.column'}", dbField, "g");
+        preparedValues.push([pObjectType, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.OBJECT_TYPE")]);
+        preparedValues.push([attributeId, SqlUtils.getSingleColumnType("AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID")]);
+
+        resSql = pIdTableName + "." + pIdColumnName + " in (select " + pIdTableName + "." + pIdColumnName + " \n\
+                             from " + pIdTableName + " \n\
+                             left join AB_ATTRIBUTERELATION on (AB_ATTRIBUTERELATION.OBJECT_ROWID = " + pIdTableName + "." + pIdColumnName + " \n\
+                                                                and AB_ATTRIBUTERELATION.OBJECT_TYPE = ? \n\
+                                                                and AB_ATTRIBUTERELATION.AB_ATTRIBUTE_ID = ?) \n\
+                             where " + condition + " )";
+    }
+    resSql = db.translateCondition([resSql, preparedValues]);
+    return resSql;
+};
+
+AttributeFilterExtensionMaker.makeFilterConditionSql = function()
+{
+    var objectType = ContextUtils.getCurrentContextId();
+    var filterName = vars.get("$local.name");
+    var filterCond = vars.get("$local.condition");
+    var filterRawValue = vars.get("$local.rawvalue");
+    var filterOpratorName = vars.get("$local.operator2").trim();
+    var uidInfo = EntityUtils.parseUidColumn(vars.get("$sys.uidcolumn"));
+    var res = AttributeFilterExtensionMaker.getFilterCondition(objectType, filterName, filterCond, filterRawValue, filterOpratorName, uidInfo.table, uidInfo.column);
+    return res;
+};
\ No newline at end of file
diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
index db9b5170bdb321aebfddd645328bee7173c811bf..3236ea76d543e02a6e4c148dca4b539816eb0b14 100644
--- a/process/Attribute_lib/process.js
+++ b/process/Attribute_lib/process.js
@@ -1,4 +1,5 @@
-import("system.logging");
+import("KeywordData_lib");
+import("KeywordData_lib");
 import("Context_lib");
 import("system.util");
 import("system.datetime");
@@ -38,7 +39,7 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
         + " join AB_ATTRIBUTEUSAGE  on AB_ATTRIBUTEID = AB_ATTRIBUTE_ID";
     var attrCond = SqlCondition.begin()
         .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
-        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, "# <> ?")
+        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, "# != ?")
         .and("ATTRIBUTE_ACTIVE = 1");
     
     if (pAttributeCount)
@@ -69,12 +70,78 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
     if (!pIncludeGroups)
         attrCond.andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP, "# != ?");
     
-    attrCond.andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, "# != ?");
     var attributes = db.array(db.COLUMN, attrCond.buildSql(attrSql));
     
     return attributes;
 }
 
+/**
+ * searches for possiblevalues for a atttribute and returns these. The values depend on the attributeType
+ * 
+ * @param {String} pAttributeId the id of the attribute
+ * @param {Boolean} pAttributeType type of the attribute that is specified with pAttributeId;
+ *                                 The type needs to be passed to the function for better performance 
+ *                                 (loading the type via attribute several times would be too slow)
+ * @param {Boolean} [pIncludeInactives=false] specifies if only active attributevalues or actives + inactives shall be returned, 
+ *                                            this is important when you want to search for attributevalues 
+ * 
+ * @return {Array} 2D-array with [ID, value] als elements if the given attributeType has possible items. if not null is returned
+ */
+AttributeUtil.getPossibleListValues = function (pAttributeId, pAttributeType, pIncludeInactives)
+{
+    var attributeId = pAttributeId;
+    var attrType = pAttributeType.trim();
+    var onlyActives = (pIncludeInactives == undefined ? false : pIncludeInactives);
+    if (attrType == $AttributeTypes.COMBO.toString())
+    {
+        var valueSql = SqlCondition.begin()
+            .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", attributeId)
+            .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE);
+        
+        if (onlyActives)
+            valueSql.andPrepare("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1");
+        
+        valueSql = valueSql.buildSql("select AB_ATTRIBUTEID, ATTRIBUTE_NAME from AB_ATTRIBUTE", "1=2", "order by SORTING asc");
+        var valueList = db.table(valueSql);
+        for (let i = 0; i < valueList.length; i++)
+        {
+            valueList[i][1] = translate.text(valueList[i][1]);
+        }
+        return valueList;
+    }
+    else if (attrType == $AttributeTypes.BOOLEAN.toString())
+    {
+        return [
+            ["1", translate.text("Yes")],
+            ["0", translate.text("No")]
+            ];
+    }
+    //TODO this is a workaround for keywords, when it's possible to use the consumer remove this
+    else if (attrType == $AttributeTypes.KEYWORD.toString())
+    {
+        var attrKeywordSelect = "select DROPDOWNDEFINITION from AB_ATTRIBUTE";
+        attrKeywordSelect = SqlCondition.begin()
+            .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", attributeId)
+            .buildSql(attrKeywordSelect);
+        var attrKeyword = db.cell(attrKeywordSelect);
+        var keywords = KeywordData.getSimpleData(attrKeyword, null, onlyActives);
+        return keywords;
+    }
+    else if (attrType == $AttributeTypes.OBJECTSELECTION)
+    {
+        var module = db.cell(SqlCondition.begin()
+            .andPrepare("AB_ATTRIBUTE.AB_ATTRIBUTEID", attributeId)
+            .buildSql("select DROPDOWNDEFINITION from AB_ATTRIBUTE")
+            );
+        var objects = [];
+        objects = db.table(ContextUtils.getContextDataSql(module));
+
+        return objects;
+    }
+    else
+        return null;
+}
+
 /**
  * returns the name of an attribute with all parent attribute names
  * 
@@ -209,6 +276,22 @@ AttributeUtil.getAttributeType = function (pAttributeId)
     return db.cell(attrTypeSelect).trim();
 }
 
+AttributeUtil.hasAttributes = function (pObjectType)
+{
+    if (!pObjectType)
+        return false;
+    return db.cell(SqlCondition.begin()
+        .andPrepare("AB_ATTRIBUTEUSAGE.OBJECT_TYPE", pObjectType)
+        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_ACTIVE", "1")
+        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.COMBOVALUE, "# != ?")
+        .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP, "# != ?")
+        .buildSql(
+            "select count(*) from AB_ATTRIBUTEUSAGE \n\
+            join AB_ATTRIBUTE on AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID = AB_ATTRIBUTE.AB_ATTRIBUTEID", "1=2"
+        )
+    ) != "0"; //TODO: is there a way exists could be used?
+}
+
 /*********************************************************************************************************************/
 
 /**
@@ -683,8 +766,13 @@ function AttributeTypeUtil () {}
  */
 AttributeTypeUtil.getContentType = function (pAttributeType)
 {
-    if (pAttributeType in $AttributeTypes)
-        return $AttributeTypes[pAttributeType].contentType;
+    if (pAttributeType)
+    {
+        pAttributeType = pAttributeType.trim();
+    
+        if (pAttributeType in $AttributeTypes)
+            return $AttributeTypes[pAttributeType].contentType;
+    }
     return null;
 }
 
@@ -697,8 +785,12 @@ AttributeTypeUtil.getContentType = function (pAttributeType)
  */
 AttributeTypeUtil.isGroupType = function (pAttributeType)
 {
-    if (pAttributeType in $AttributeTypes)
-        return $AttributeTypes[pAttributeType].isGroup || false;
+    if (pAttributeType)
+    {
+        pAttributeType = pAttributeType.trim();
+        if (pAttributeType in $AttributeTypes)
+            return $AttributeTypes[pAttributeType].isGroup || false;
+    }
     return null;
 }
 
@@ -711,8 +803,12 @@ AttributeTypeUtil.isGroupType = function (pAttributeType)
  */
 AttributeTypeUtil.getDatabaseField = function (pAttributeType)
 {
-    if (pAttributeType in $AttributeTypes)
-        return $AttributeTypes[pAttributeType].databaseField;
+    if (pAttributeType)
+    {
+        pAttributeType = pAttributeType.trim();
+        if (pAttributeType in $AttributeTypes)
+            return $AttributeTypes[pAttributeType].databaseField;
+    }
     return null;
 }
 
@@ -777,6 +873,8 @@ function AttributeUsageUtil () {}
  */
 AttributeUsageUtil.insertChildrenUsages = function (pAttributeId, pObjectType)
 {
+    if (!pAttributeId)
+        return;
     var table = "AB_ATTRIBUTEUSAGE";
     var columns = ["AB_ATTRIBUTEUSAGEID", "AB_ATTRIBUTE_ID", "OBJECT_TYPE"];
     var types = db.getColumnTypes(table, columns);
@@ -818,7 +916,7 @@ AttributeUsageUtil.insertChildrenUsages = function (pAttributeId, pObjectType)
  */
 AttributeUsageUtil.updateChildrenUsages = function (pAttributeId, pOldObjectType, pNewObjectType)
 {
-    if (!pNewObjectType)
+    if (!pNewObjectType || !pAttributeId)
         return;
     
     var table = "AB_ATTRIBUTEUSAGE";
@@ -855,7 +953,6 @@ AttributeUsageUtil.updateChildrenUsages = function (pAttributeId, pOldObjectType
             .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", pAttributeId);
         var query = sqlSelect.where(condition);
         var attributes = db.table(query.build());
-        logging.log(JSON.stringify(attributes, null, "\t"))
         
         attributes.forEach(function (row)
         {
diff --git a/process/Calendar_lib/process.js b/process/Calendar_lib/process.js
index 9e2f42f747062eecc0d1b07064c8236f92e3b185..5dad254dcf67ad94d1cf11c3a77e0bcadc2288b3 100644
--- a/process/Calendar_lib/process.js
+++ b/process/Calendar_lib/process.js
@@ -1,1907 +1,1934 @@
-import("system.neon");
-import("system.vars");
-import("system.db");
-import("system.translate");
-import("system.datetime");
-import("system.swing");
-import("system.eMath");
-import("system.calendars");
-import("system.logging");
-import("system.tools");
-import("system.text");
-import("system.question");
-import("system.SQLTYPES");
-import("system.result");
-import("Util_lib");
-import("system.util")
-
-
-/**
- *  @class
- **/
-function CalendarUtil(){}
-
-
-/*
- * Erzeugt und öffnet ein neues Aufgabenobjekt (mit einem Link).
- *
- * @param {String} pSummary opt die Zusammenfassung
- * @param {String} pDescription opt die Beschreibung
- * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
- * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
- *                                   pWithLink[1]: ID des angezeigten Datensatzes
- *                                   pWithLink[2]: Verknüpfungstitel
- * @param {String} pUser opt der Benutzer ( Login )
- * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
- * @param {date} pStart opt Beginn der Aufgabe
- * @param {date} pDuration opt Dauer
- * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
- * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
- * @param {Array{[]} pComps4Refresh opt die zu aktualisierenden Komponenten
- *
- * @return {void}
- */
-CalendarUtil.newTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh)
-{
-    var todo = createEntry( calendars.VTODO, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
-    var prompts = [];
-    prompts["comp4refresh"] = [];
-
-    if (pComps4Refresh == undefined)
-        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Aufgabe"];
-
-    for (var i = 0; i < pComps4Refresh.length; i++)
-    {
-        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
-    }
-    if(vars.getString("$sys.scope") == "vaadin")
-        neon.openCalendarEntry([todo], null, neon.OPERATINGSTATE_NEW, null)
-    else
-    {
-        if (vars.exists("$sys.currentwindow"))
-            prompts["window"] = vars.getString("$sys.currentwindow");
-        if (vars.exists("$sys.currentimage"))
-            prompts["image"] = vars.getString("$sys.currentimage");
-
-        swing.openCalendarEntry([todo], null, false, prompts);
-    }
-}
-
-/*
- * Erzeugt eine neue Aufgabe (mit einem Link).
- *
- * @param {String} pSummary opt die Zusammenfassung
- * @param {String} pDescription opt die Beschreibung
- * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
- * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
- *                		     pWithLink[1]: ID des angezeigten Datensatzes
- *               		     pWithLink[2]: Verknüpfungstitel
- * @param {String} pUser opt der Benutzer ( Login )
- * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
- * @param {date} pStart opt Beginn der Aufagebe
- * @param {integer} pGroupType opt ( calendars.GROUP_SINGLE , calendars.GROUP_MULTI )
- * @param {date} pDuration opt Dauer
- * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
- * @param {String} pStatus opt Status der Aufgabe ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
- * @param {String} pPriority opt Priorität der Aufgabe
- * @param {String} pReminder opt Erinnerung der Aufgabe
- *
- * @return {void}
- */
-
-CalendarUtil.newSilentTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pGroupType, pCategory, pStatus, pPriority, pReminder)
-{
-    if ( pGroupType == undefined ) pGroupType = calendars.GROUP_SINGLE;
-    var todo = createEntry( calendars.VTODO, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pPriority, pReminder );
-    
-    return calendars.insert([todo],calendars.GROUP_SINGLE);
-}
-
-/*
- * Erzeugt und öffnet ein neues Terminnobjekt mit einem Link.
- *
- * @param {String} pSummary opt die Zusammenfassung
- * @param {String} pDescription opt die Beschreibung
- * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
- * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
- *                		     pWithLink[1]: ID des angezeigten Datensatzes
- *               		     pWithLink[2]: Verknüpfungstitel
- * @param {String} pUser opt der Benutzer ( Login )
- * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
- * @param {date} pStart opt Beginn der Aufagebe
- * @param {date} pDuration opt Dauer
- * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
- * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
- * @param {Array{[]} pComps4Refresh opt die zu aktualisierenden Komponenten
- * 
- * @return {void}
- */
-CalendarUtil.newEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh, pWorklistId)
-{
-    var event = createEntry( calendars.VEVENT, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
-
-    var prompts = [];
-    prompts["comp4refresh"] = [];
-    if (pComps4Refresh == undefined)
-        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Termine"];
-    for (i = 0; i < pComps4Refresh.length; i++)
-    {
-        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
-    }
-
-    if(vars.getString("$sys.scope") == "vaadin")
-        neon.openCalendarEntry([event],"", neon.OPERATINGSTATE_NEW, null)
-    else
-    {
-        prompts["window"] = vars.getString("$sys.currentwindow");
-        prompts["image"] = vars.getString("$sys.currentimage");
-        if (pWorklistId != undefined)
-            prompts["worklistId"]   = pWorklistId;
-        swing.openCalendarEntry([event], null, false, prompts);
-    }
-}
-
-
-/*
- * Erzeugt einen neuen Termineintrag (mit einem Link).
- *
- * @param {String} pSummary opt die Zusammenfassung
- * @param {String} pDescription opt die Beschreibung
- * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
- * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
- *                		     pWithLink[1]: ID des angezeigten Datensatzes
- *                		     pWithLink[2]: Verknüpfungstitel
- * @param {String} pUser opt der Benutzer ( Login )
- * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
- * @param {date} pStart opt Beginn des Termins
- * @param {date} pDuration opt Dauer
- * @param {integer} pGroupType opt ( calendars.GROUP_SINGLE , calendars.GROUP_MULTI )
- * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
- * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
- * @param {String} pReminder opt Erinnerung des Termins
- *
- * @return {void}
- */
-CalendarUtil.newSilentEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pGroupType, pCategory, pStatus, pReminder)
-{
-    if ( pGroupType == undefined ) pGroupType = calendars.GROUP_SINGLE;
-    var event = createEntry( calendars.VEVENT, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, undefined, pReminder );
-    return calendars.insert( [event] , pGroupType );
-}
-
-/*
- * Erzeugt ein neues Aufgaben- / Termin-Objekt (mit einem Link).
- *
- * @param {date} pType req  Augabe oder Termin ( calendars.VTODO, calendars.VEVENT )
- * @param {String} pSummary opt die Zusammenfassung
- * @param {String} pDescription opt die Beschreibung
- * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
- * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
- *                		     pWithLink[1]: ID des angezeigten Datensatzes
- *                		     pWithLink[2]: Verknüpfungstitel
- * @param {String} pUser opt der Benutzer ( Login )
- * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( [ Login ] )
- * @param {date} pStart opt Beginn
- * @param {date} pDuration opt Dauer
- * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
- * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
- * @param {String} pPriority opt Priorität
- * @param {String} pReminder opt Erinnerung
- *
-@return {Object} das EntryObjekt
- */
-CalendarUtil.createEntry = function( pType, pSummary, pDescription, pWithLink, pAppLinkContext, pAppLinkId, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pPriority, pReminder )
-{
-    var Entry = {};
-    var framename;
-    var framdata;
-    var dbid;
-    var linktitle;
-    if ( pSummary == undefined || pSummary == null  ) pSummary = "";
-    if ( pDescription == undefined || pDescription == null )
-    {
-        if(vars.getString("$sys.scope") == "vaadin")
-            pDescription = neon.getImageContent(vars.getString("$sys.currententityname"));
-        else
-            pDescription = swing.getImageContent();
-    }
-    if ( pUser == undefined || pUser == null ) pUser = vars.getString("$sys.user");
-    //kein translate.key hier, weil es sich um einen rein technischen Wert handelt:
-    if ( pStart == undefined ) pStart = datetime.toLong(datetime.toDate(parseInt(vars.getString("$sys.date")) + datetime.ONE_HOUR, "dd.MM.yyyy HH:00"), "dd.MM.yyyy HH:mm");
-    if ( pCategory == undefined || pCategory == null  ) pCategory = "";
-
-    if (pAffectedUsers == null || pAffectedUsers == undefined )
-    {
-        Entry[calendars.AFFECTEDUSERS] = "";
-    }
-    else
-    {
-        Entry[calendars.AFFECTEDUSERS] = text.encodeMS(calendars.getCalendarUsers(pAffectedUsers));
-    }
-    Entry[calendars.TYPE] = pType;
-    Entry[calendars.DTSTART] = pStart;
-    if ( pType == calendars.VEVENT )
-    {
-        if ( pDuration == undefined )
-            pDuration = datetime.ONE_HOUR;
-
-        Entry[calendars.DTEND] = String ( eMath.addInt( pStart, pDuration) );
-
-        if ( pStatus == undefined )
-            pStatus = calendars.STATUS_CONFIRMED;
-
-        pStatus = mapCalendarStatus(pStatus, calendars.getBackendType() );
-    }
-    else if ( pType == calendars.VTODO )
-    {
-        //kein translate.key hier, weil es sich um einen rein technischen Wert handelt:
-        if ( pDuration != undefined )
-            Entry[calendars.DUE] = String ( eMath.addInt( pStart, pDuration) );
-        else
-            Entry[calendars.DUE] = datetime.toLong(datetime.toDate(pStart, "dd.MM.yyyy 23:59")
-                ,"dd.MM.yyyy HH:mm");
-
-        if ( pStatus == undefined )
-            pStatus = calendars.STATUS_NEEDSACTION;
-
-        pStatus = mapCalendarStatus(pStatus, calendars.getBackendTypeTasks() );
-        
-    }
-
-    Entry[calendars.USER] = calendars.getCalendarUser(pUser);
-    Entry[calendars.DESCRIPTION] = pDescription;
-    Entry[calendars.SUMMARY] = pSummary;
-    Entry[calendars.STATUS] = pStatus;
-    Entry[calendars.CLASSIFICATION] = calendars.CLASSIFICATION_PUBLIC;
-    Entry[calendars.CATEGORIES] = pCategory;
-   
-
-    if( pPriority != undefined )
-    {
-        Entry[calendars.PRIORITY] = pPriority;
-    }
-
-    if( pReminder != undefined)
-    {
-        Entry[calendars.HASREMINDER] = "true";
-        Entry[calendars.REMINDER_DURATION] = pReminder;
-    }
-    else
-        Entry[calendars.HASREMINDER] = "false";
-   
-
-    if (pWithLink == false)
-    {
-        Entry[calendars.LINKS] = "0";
-    }
-    else
-    {
-        var fd = new FrameData();
-        if ( typeof(pWithLink) == "object" )
-        {
-            for ( var li = 0; li < pWithLink.length; li++ )
-            {
-                framename = pWithLink[li][0];
-                framdata = fd.getData("name", framename, ["table","idcolumn","title"])[0];
-                dbid = pWithLink[li][1];
-                linktitle = framdata[2] + " - " + pWithLink[li][2];
-
-                Entry["LINK_ALIAS_" + ( li + 1 )] = vars.getString("$sys.dbalias");
-                Entry["LINK_TABLE_" + ( li + 1 )] = framdata[0];
-                Entry["LINK_IDCOLUMN_" + ( li + 1 )] = framdata[1];
-                Entry["LINK_DBID_" + ( li + 1 )] = dbid;
-                Entry["LINK_FRAME_" + ( li + 1 )] = "comp." + framename;
-                Entry["LINK_TITLE_" + ( li + 1 )] = linktitle;
-            }
-            Entry[calendars.LINKS] = pWithLink.length.toString();
-        }
-        else
-        {
-            if ( pWithLink == true || pWithLink == undefined )
-            {
-                framename = vars.getString("$sys.currentimagename");
-                framdata = fd.getData("name", framename, ["table","idcolumn","title"])[0];
-                dbid = vars.getString("$comp.idcolumn");
-                linktitle = framdata[2] + " - " + swing.getImageContent();
-            }
-            Entry[calendars.LINKS] = "1";
-            Entry["LINK_ALIAS_1"] = vars.getString("$sys.dbalias");
-            Entry["LINK_TABLE_1"] = framdata[0];
-            Entry["LINK_IDCOLUMN_1"] = framdata[1];
-            Entry["LINK_DBID_1"] = dbid;
-            Entry["LINK_FRAME_1"] = "comp." + framename;
-            Entry["LINK_TITLE_1"] = linktitle;
-        }
-    }
-    
-
-if(pAppLinkContext && pAppLinkId)
-{
-    Entry["AppLinkContext"] = pAppLinkContext;
-    Entry["AppLinkId"] = pAppLinkId;
-}
-    return Entry;
-}
-
-/*
- * Liefert den CalendarStatus übersetzt zurück.
- * @param {String} pStatus req Status
- * @param {String} pLanguage opt Sprache
- * @param {String} pKind opt ToDo oder Event
- *
- * @return {String} übersetzte Status
- */
-function getCalendarStatus( pStatus, pLanguage, pKind)
-{
-    //kein mappen des Status, da wirklich verschiedene Dinge angezeigt werden sollen
-    switch ( pStatus )
-    {
-        case calendars.STATUS_BUSY: 
-            return translate.text("Gebucht", pLanguage)
-        case calendars.STATUS_CANCELLED:
-            if(pKind == "ToDo" && pKind != undefined) return translate.text("Zurückgestellt", pLanguage)
-            return translate.text("Abgesagt", pLanguage)
-        case calendars.STATUS_COMPLETED:
-            return translate.text("Erledigt", pLanguage)
-        case calendars.STATUS_CONFIRMED:
-            return translate.text("Bestätigt", pLanguage)
-        case calendars.STATUS_FREE:
-            return translate.text("frei", pLanguage)
-        case calendars.STATUS_INPROCESS:
-            return translate.text("In Bearbeitung", pLanguage)
-        case calendars.STATUS_NEEDSACTION:
-            return translate.text("Nicht begonnen", pLanguage)
-        case calendars.STATUS_OOF:
-            return translate.text("Außer Haus", pLanguage)
-        case calendars.STATUS_TENTATIVE:
-            return translate.text("Vorläufig", pLanguage)
-        default:
-            return "";
-    }
-}
-
-/*
- * Zu einer übergebenen Priorität wird ihre Bedeutung übersetzt und zurückgegeben.
- *
- * @param {String} pPriority req Priorität
- * @param {String} pLanguage opt Sprache
- *
- * @return (String) übersetzte Bedeutung einer Priorität
- */
-function getCalendarPriority(pPriority, pLanguage)
-{
-    switch(pPriority)
-    {
-        case "9":
-            return translate.text("niedrig", pLanguage);
-            break;
-        case "5":
-            return translate.text("normal", pLanguage);
-            break;
-        case "1":
-            return translate.text("hoch", pLanguage);
-            break;
-        default:
-            return translate.text("keine", pLanguage);
-            break;
-    }
-}
-
-/*
- * Liefert zum Objekt verknüpfte Aufgaben aus dem Kalender.
- *
- * @param {String} pFrame req Name des Frames
- * @param {String} pDBID req ID des verknüpften Datensatzes
- * @param {String} pAlias opt
- * @param {String} pLanguage opt Sprache
- *
- * @return {[]} mit Aufgaben aus Kalender
- */
-function getLinkedToDos (pFrame, pDBID, pAlias, pLanguage )
-{
-    if (pAlias == undefined ) pAlias = vars.getString("$sys.dbalias");
-    var tab = [];
-    var status = " and STATUS in ('NEEDS-ACTION', 'IN-PROCESS')";
-    var exists = [];
-    var zustaendig = "";
-    var today = getDate(vars.getString("$sys.date"));
-    var filtervalues = ["", "false"];
-    if ( vars.exists("$image.FilterValuesT") )
-    {
-        filtervalues = vars.get("$image.FilterValuesT");
-        zustaendig = filtervalues[0]
-        if (filtervalues[1] == "true") status = " and STATUS in ('COMPLETED', 'CANCELLED')";
-    }
-
-    var entryids = db.table("select ENTRYID, OWNER from ASYS_CALENDARLINK "
-        + "join ASYS_CALENDARBACKEND on ELEMENTUID = ENTRYID where FRAME = 'comp." + pFrame + "' "
-        + "and ENTRYID is not null "
-        + "and ENTRYTYPE = " + calendars.VTODO + " "
-        + "and DBID = '" + pDBID + "' "
-        + status, pAlias);
-
-    for (var i = 0; i < entryids.length; i++)
-    {
-        if ( exists.indexOf(entryids[i][0]) == -1)
-        {
-            try
-                {
-                    var entry = calendars.getEntry(entryids[i][0], null, getTitleCalenderUser( entryids[i][1] ), calendars.VTODO);
-                    var entr = new Array;
-                    status = "";
-                    var user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
-                    if(user == null) user = entry[calendars.USER2]["cn"];
-                     else user = user[tools.TITLE]
-                    if ((user == zustaendig || zustaendig == ""))
-                    {
-                        entr[0] = text.encodeMS([entry[calendars.ID], user]);
-                        var due = getDate(entry[calendars.DUE]);
-                        if (due < today ) entr[1]	= "-1769402";
-                        else  if (due > today) entr[1]	= "-16777216"; else entr[1]	= "-16744020";
-                        entr[2] = "-1";  // Hintergrundfarbe
-                        entr[3] = text.decodeMS(entry[calendars.AFFECTEDUSERS]).length;
-                        entr[4] = entry[calendars.DUE]
-                        entr[5] = getCalendarStatus( entry[calendars.STATUS], pLanguage, "ToDo");
-                        entr[6] = entry[calendars.SUMMARY]
-                        entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
-                        entr[8] = getRealName(entry[calendars.ATTENDEES]);
-                        entr[9] = entry[calendars.DESCRIPTION];
-                        entr[10] = entry[calendars.PRIORITY];
-                        tab.push(entr);
-                        exists.push(entryids[i][0]);
-                    }
-            }
-            catch (ex)
-            {
-                logging.log(ex);
-            }
-        }
-    }
-    array_mDimSort(tab, 4, false); //Sortierung nach Fälligkeitsdatum
-    return tab;
-}
-
-/*
- * Anzeige des Aufgaben-Filter
- *
- * @param {Object} pFilter req
- *
- * @return string Anzeige
- */
-function show_filterLinkedToDos(pFilter)
-{
-    var retstring = "";
-    if (pFilter[0] != "")
-    {
-        var userp = tools.getUser( pFilter[0] )[tools.PARAMS];
-        retstring = translate.text("Aufgaben von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME];
-    }
-    if (pFilter[1] == "true") retstring += ", " + translate.text("erledigt / zurückgestellt");
-
-    return retstring
-}
-
-/*
- * Liefert zum Objekt verknüpfte Events aus dem Kalender.
- *
- * @param {String} pFrame req Name des Frames
- * @param {String} pDBID req ID des verknüpften Datensatzes
- * @param {Object} pFilter opt
- * @param {String} pAlias opt
- * @param {String} pUser opt Benutzer
- *
- * @return {[]} mit Events aus Kalender
- */
-function getLinkedEvents (pFrame, pDBID, pFilter, pAlias, pUser )
-{
-    if ( pFilter == "" || pFilter == undefined)
-        pFilter = reset_filterEvent();
-
-    var tab = [];
-    var exists = [];
-    var conditions = [];
-    var today = getDate(vars.getString("$sys.date"));
-    var conditioncount = 0;
-    var stati = [];
-
-    if ( pFilter.tentative == "true" )
-        stati.push(mapCalendarStatus(calendars.STATUS_TENTATIVE, calendars.getBackendType() ));
-
-    if ( pFilter.cancelled == "true" )
-        stati.push(mapCalendarStatus(calendars.STATUS_CANCELLED, calendars.getBackendType() ));
-
-    if ( pFilter.confirmed == "true" )
-        stati.push(mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() ));
-
-    if (calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS)
-        stati.push(calendars.STATUS_FREE);
-
-    if (pAlias == undefined ) pAlias = vars.getString("$sys.dbalias");
-
-    var entryids = db.table(["select ENTRYID, OWNER "
-        + "from ASYS_CALENDARLINK "
-        + "join ASYS_CALENDARBACKEND on ELEMENTUID = ENTRYID where FRAME = 'comp."
-        + pFrame + "' and ENTRYID is not null and ENTRYTYPE = " + calendars.VEVENT
-        + " and DBID = '" + pDBID + "' and DTSTART >= ?",
-        [ [ String(pFilter.datefrom - datetime.ONE_WEEK), SQLTYPES.DATE ]]], pAlias );
-
-    /*
-     * Check for rights before constructing condition otherwise you'll get an error by opening linked Data
-     */
-    var userToRead = []
-    if(pUser != undefined)
-    {
-        userToRead = getCalendarUsers( calendars.RIGHT_READ_APPOINTMENT, pUser );
-    }
-    else
-    {
-        userToRead = calendars.getDisplayCalendarUsers(calendars.RIGHT_READ_APPOINTMENT);
-    }
-    var userMap = {};
-    for (let i = 0; i < userToRead.length; i++)
-    {
-        userMap[userToRead[i][1]] = true;
-    }
-
-    for ( var i = 0;i < entryids.length; i++)
-    {
-        var user = getTitleCalenderUser(entryids[i][1]);
-        if(userMap[user])
-        {
-            for ( var z = 0; z < stati.length; z++ )
-                _addEntryCondition(conditions, String(++conditioncount),
-                {
-                    TYPE: calendars.VEVENT,
-                    START: pFilter.datefrom,
-                    END: pFilter.dateto,
-                    USER: user,
-                    STATUS: stati[z],
-                    UID: entryids[i][0]
-                });
-        } else continue
-    }
-    conditions["COUNT"] = String(conditioncount);
-
-    var entries = calendars.getExpandedEntries(conditions, pFilter.datefrom, pFilter.dateto);
-    for ( let i = 0; i < entries.length; i++)
-    {
-        for (var j = 0; j < entries[i].length; j++)
-        {
-            var entry = entries[i][j];
-            if( exists.indexOf(entry[calendars.ID]) == -1 && ( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf(pFilter.category) > 0))
-            {
-                var entr = new Array;
-                var start = getDate(entry[calendars.DTSTART]);
-                var end = getDate(entry[calendars.DTEND]);
-                user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
-                if(user == null) user = entry[calendars.USER2]["cn"];
-                 else user = user[tools.TITLE]
-                entr[0] = text.encodeMS([entry[calendars.ID], user , entry[calendars.RECURRENCEID]]);
-                if (end < today) entr[1]	= "-6710887" ;
-                else if (start <= today && end >= today )   entr[1] = "-16744020" ;
-                else entr[1] = "-16777216";
-                entr[2] = "-1"
-                entr[3] = text.decodeMS(entry[calendars.AFFECTEDUSERS]).length;
-                entr[4] = entry[calendars.DTSTART]
-                entr[5] = entry[calendars.DTEND]
-                entr[6] = entry[calendars.SUMMARY]
-                entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
-                entr[8] = getRealName(entry[calendars.ATTENDEES]);
-                entr[9] = entry[calendars.DESCRIPTION]
-                tab.push(entr);
-                exists.push(entry[calendars.ID]);
-            }
-        }
-    }
-    array_mDimSort(tab, 4, false);
-    return tab;
-}
-
-/*
- * Liefert Aufgaben aus dem Kalender.
- *
- * @param {Object} pFilter req
- * @param {String} pLanguage opt
- * @param {bool} pShortForm opt wenn true wird nur die kurzversion geladen
- *
- * @return {[]} mit allen aufgaben aus dem Kalender
- */
-function getTodos( pFilter, pLanguage, pShortForm )
-{
-    if ( pFilter == "" )    pFilter =  reset_filterToDo();
-    var tab = [];
-    var today = getDate (vars.getString("$sys.date"));
-    var conditions = [];
-    var conditioncount = 0;
-    var user = pFilter.user;
-    var stati = [];
-    var status = [];
-    var exists = [];
-    var entries = [];
-
-    if ( pFilter.needs_action == "true" )
-    {
-        stati.push(mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ));
-        status.push("NEEDS-ACTION");
-    }
-    if ( pFilter.in_process == "true" )
-    {
-        stati.push(mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ));
-        status.push("IN-PROCESS");
-    }
-    if ( pFilter.completed == "true" )
-    {
-        stati.push(mapCalendarStatus(calendars.STATUS_COMPLETED, calendars.getBackendTypeTasks() ));
-        status.push("COMPLETED");
-    }
-    if ( pFilter.cancelled == "true" )
-    {
-        stati.push(mapCalendarStatus(calendars.STATUS_CANCELLED, calendars.getBackendTypeTasks() ));
-        status.push("CANCELLED");
-    }
-    if (pFilter.delegated == "true" )
-    {
-        var from = [pFilter.datefrom, SQLTYPES.TIMESTAMP];
-        var to = [pFilter.dateto, SQLTYPES.TIMESTAMP];
-        setAllCalendarGrant();
-        user = calendars.getCalendarUser(user);
-        user = db.table(["select ELEMENTUID, OWNER from ASYS_CALENDARBACKEND where ENTRYTYPE = 2 and OWNER != '" + user + "' and ORGANIZER = '"
-            + user + "' and STATUS in ('" + status.join("', '") + "') and (( STARTTIME >= ? and STARTTIME <= ?) or "
-            + "( ENDTIME >= ? and ENDTIME <= ? ) or ( STARTTIME >= ? and ENDTIME <= ? ))", [from, to, from, to, from, to]] );
-
-        for (let i = 0; i < user.length; i++ )
-        {
-            try
-            {
-                entries.push([calendars.getEntry(user[i][0], null, getTitleCalenderUser(user[i][1]), calendars.VTODO)]);
-            }
-            catch(err){
-                logging.log(err);
-            }
-        }
-        setCalendarGrant();
-    }
-    else
-    {
-        if ( typeof( pFilter.user ) != "object" )  user = [user.trim()];
-        for (let i = 0; i < user.length; i++ )
-        for ( var z = 0; z < stati.length; z++ )
-            _addEntryCondition(conditions, ++conditioncount,
-            {
-                TYPE: calendars.VTODO,
-                START: pFilter.datefrom,
-                END: pFilter.dateto,
-                USER: user[i],
-                STATUS: stati[z]
-            });
-
-        conditions["COUNT"] = String(conditioncount);
-        entries = calendars.getEntries(conditions);
-    }
-
-    for (i = 0; i < entries.length; i++)
-    {
-        var entry = entries[i][0];
-        user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
-        if (user == null)  user = entry[calendars.USER2]["cn"];
-         else user = user[tools.TITLE]
-        if ( !(user != vars.getString("$sys.user") && entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE) // no privat
-            && !( pFilter.delegated == "true" && ( isAffectedUser( entry, pFilter.user) || exists.indexOf(entry[calendars.ID]) > -1  ) ) // no duplicate
-            && ( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf( pFilter.category ) > -1 ) ) // Filter category
-            {
-            var entr = [];
-            var links =  entry[calendars.LINKS];
-            var due = entry[calendars.DUE] != "" ? getDate(entry[calendars.DUE]) : "";
-            entr[0] = text.encodeMS([entry[calendars.ID], user]);
-            if (due == today )      entr[1] = "-16744020" ;
-            else if(due == "")      entr[1] = "-13395712";
-            else if (due > today )  entr[1] = "-16777216";
-            else                    entr[1]	= "-1769402";
-            if (entry[calendars.PRIORITY] == "1") entr[2] = "-100";
-            entr[3] = entry[calendars.ATTENDEES].length;
-            entr[4] = entry[calendars.DUE];
-
-            if (pShortForm)
-            {
-                entr[5] = entry[calendars.SUMMARY];
-                entr[6] = entry[calendars.DESCRIPTION];
-            }
-            else
-            {
-                entr[5] = getCalendarStatus( entry[calendars.STATUS], pLanguage, "ToDo");
-                entr[6] = getCalendarPriority( entry[calendars.PRIORITY], pLanguage);
-                entr[7] = entry[calendars.SUMMARY];
-                entr[8] = getRealName( [ entry[calendars.ORGANIZER2] ] );
-                entr[9] = getRealName( entry[calendars.ATTENDEES] );
-                if (links == undefined) entr[10] = "";	else entr[10] = links;
-                entr[11] = entry[calendars.DESCRIPTION];
-                entr[12] = entry[calendars.CREATED];
-            }
-
-            tab.push(entr);
-            if ( pFilter.delegated == "true" )  exists.push(entry[calendars.ID]);
-        }
-    }
-
-    if (pShortForm)
-        sortArray(tab, -1, 4, 1, 5);
-    else
-        sortArray(tab, -1, 4, 1, 12 );
-
-    return tab;
-}
-
-/*
- * Fügt eine Condition hinzu
- *
- * @param {[]} pConditions req die Conditions
- * @param {Integer} pIndex req Index der Condition
- * @param {Object} pValues req
- *
- * @return {void}
- */
-function _addEntryCondition(pConditions, pIndex, pValues)
-{
-    var params = ["TYPE", "START", "END", "USER", "STATUS", "UID"];
-
-    for (var i = 0; i < params.length; i++)
-        if (pValues[params[i]] != undefined)    pConditions[params[i] + "_" + pIndex] = pValues[params[i]];
-}
-CalendarUtil.addEntryCondition = function(pConditions, pIndex, pValues)
-{
-    _addEntryCondition(pConditions, pIndex, pValues);
-} 
-
-/*
- * Liefert Events zu bestimmten Usern/Daten in einem Array.
- *
- * @param {Object} pFilter req
- * @param {String} pLanguage opt
- * @param {bool} pShortForm opt wenn true wird nur die kurzversion geladen
- *
- * @return {[]}
- *				[0] ID
- *				[1] Vordergrundfarbe
- *				[2] Hintergrundfarbe
- *				[3] Start
- *				[4] Ende
- *				[5] Betreff
- *				[6] Inhalt
- *				[7] User
- *				[8] Anzahl Verknüpfungen
- *				[9] Klassifikation (privat/öffentlich)
- */
-function getEvents( pFilter, pLanguage, pShortForm )
-{
-    if ( pFilter == "" )  pFilter = reset_filterEvent();
-    var tab = [];
-    var conditions = [];
-    var today = getDate(vars.getString("$sys.date"));
-    var conditioncount = 0;
-    var stati = [];
-    var user = undefined;
-    if ( pFilter.tentative == "true" )    stati.push(calendars.STATUS_TENTATIVE);
-    if ( pFilter.cancelled == "true" )    stati.push(calendars.STATUS_CANCELLED);
-    if ( pFilter.confirmed == "true" )
-        stati.push(mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() ));
-
-    if (getCalendarSystemType(calendars.VEVENT) == calendars.BACKEND_EXCHANGEWS && pFilter.free == "true")
-        stati.push(calendars.STATUS_FREE);
-
-    if ( pFilter.user != "" )	user = (pFilter.user).trim();
-
-    for ( var z = 0; z < stati.length; z++ )
-        _addEntryCondition(conditions, String(++conditioncount),
-        {
-            TYPE: calendars.VEVENT,
-            START: pFilter.datefrom,
-            END: pFilter.dateto,
-            USER: user,
-            STATUS: stati[z]
-        });
-
-    conditions["COUNT"] = String(conditioncount);
-
-    var entries = calendars.getExpandedEntries(conditions, pFilter.datefrom, pFilter.dateto);
-    for ( var i = 0;i < entries.length; i++)
-    {
-        for (var j = 0; j < entries[i].length; j++)
-        {
-            var entry = entries[i][j];
-            if( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf(pFilter.category) > -1 )
-            {
-                var entr = new Array;
-                var start = getDate(entry[calendars.DTSTART]);
-                var end = getDate(entry[calendars.DTEND]);
-
-                user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
-                if(user == null) user = entry[calendars.USER2]["cn"];
-                else user = user[tools.TITLE]
-                entr[0] = text.encodeMS([ entry[calendars.ID], user, entry[calendars.RECURRENCEID]]);
-                if (end < today ) entr[1]	="-6710887" ;
-                else if (start > today) entr[1]	= "-16777216";
-                else entr[1]	= "-16744020" ;
-                entr[2] = "-1"
-                entr[3] = entry[calendars.ATTENDEES].length;
-                entr[4] = entry[calendars.DTSTART];
-                entr[5] = entry[calendars.DTEND];
-                entr[6] = entry[calendars.SUMMARY];
-
-                if (!pShortForm)
-                {
-                    entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
-                    entr[8] = getRealName(entry[calendars.ATTENDEES]);
-                    entr[9] = getCalendarStatus( entry[calendars.STATUS], pLanguage );
-                    if (entry[calendars.LINKS] == undefined) entr[10] = "";
-                    else entr[10] = entry[calendars.LINKS];
-                    entr[11] = entry[calendars.DESCRIPTION];
-                }
-                tab.push( entr );
-            }
-        }
-    }
-    sortArray(tab, -1, 4, 1, 6 );
-    return tab;
-}
-
-/*
- * Liefert den echten Namen anhand des Logins zurück
- *
- * @param {Array}[]} pUserMap req pUserMap
- *
- * @return String
- */
-function getRealName(pUserMap)
-{
-    var resultName = [];
-    var RealNames = getRealNameObject(pUserMap);
-
-    for ( var realname in RealNames )   resultName.push(RealNames[realname]);
-    return resultName.join(", \n");
-}
-
-/*
- * Liefert den echten Namen anhand des Logins zurück
- *
- * @param {Array}[]} pUserMap req pUserMap
- *
- * @return Object
- */
-function getRealNameObject(pUserMap)
-{
-    var resultObject = {};
-    var realname = "";
-
-    for ( let i = 0; i < pUserMap.length; i++ )
-    {
-        let user = tools.getUserByAttribute(tools.CALENDARID, [pUserMap[i]["paramvalue"].substr("mailto:".length)])
-        if ( user != null )
-        {
-            if(vars.exists("$global.firstLastName") && vars.get("$global.firstLastName"))
-                realname = user[tools.PARAMS][tools.LASTNAME] + " " + user[tools.PARAMS][tools.FIRSTNAME];
-            else realname = user[tools.PARAMS][tools.FIRSTNAME] + " " + user[tools.PARAMS][tools.LASTNAME];
-        }
-        else //Der User existiert nicht im System
-        {
-            realname = pUserMap[i]["cn"] + " " + pUserMap[i]["paramvalue"];
-        }
-        resultObject[pUserMap[i]["cn"]] = realname;
-    }
-    return resultObject;
-}
-
-
-/*
- * Gibt an ob der User im Calendarobject vorhanden ist
- *
- * @param {Object} pEntry req Calendarobject
- * @param {String} pUser req Title
- *
- * @return Object
- */
-function isAffectedUser( pEntry, pUser)
-{
-    var usermap = pEntry[calendars.ATTENDEES];
-
-    for ( var i = 0; i < usermap.length; i++ )
-        if( usermap[i]["cn"] == pUser )
-            return true;
-    return false;
-}
-
-/*
- * Liefert das Datum ohne Urzeit zurück
- *
- * @param {String} datetimeIn req DatumZeit
- *
- * @return {date}
- */
-function getDate( datetimeIn )
-{
-    if ( datetimeIn != "")
-        return datetime.clearTime(datetimeIn);
-    else return "";
-}
-
-/*
- * Setzt den Aufgaben-Filter
- *
- * @param {Object} pFilter req
- *
- * @return {image}
- */
-function filterToDo( pFilter )
-{
-    var error = true;
-    var von = pFilter.datefrom;
-    var bis = pFilter.dateto;
-    if ( pFilter == "" )	pFilter =  reset_filterToDo();
-    do
-    {
-        vars.set("$local.relation_id", pFilter.user);
-        vars.set("$local.edt_von", pFilter.datefrom);
-        vars.set("$local.edt_bis", pFilter.dateto);
-        vars.set("$local.category", pFilter.category);
-        vars.set("$local.delegated", pFilter.delegated);
-        vars.set("$local.needs_action", pFilter.needs_action);
-        vars.set("$local.in_process", pFilter.in_process);
-        vars.set("$local.completed", pFilter.completed);
-        vars.set("$local.cancelled", pFilter.cancelled);
-        var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_TASK_FILTER");
-        if( res != null )
-        {
-            pFilter.user =      res["DLG_TASK_FILTER.relation_id"];
-            pFilter.datefrom =  res["DLG_TASK_FILTER.edt_von"];
-            pFilter.dateto =    res["DLG_TASK_FILTER.edt_bis"];
-            pFilter.category =  res["DLG_TASK_FILTER.category"];
-            pFilter.delegated = res["DLG_TASK_FILTER.delegated"];
-            pFilter.needs_action = res["DLG_TASK_FILTER.needs_action"];
-            pFilter.in_process = res["DLG_TASK_FILTER.in_process"];
-            pFilter.completed = res["DLG_TASK_FILTER.completed"];
-            pFilter.cancelled = res["DLG_TASK_FILTER.cancelled"];
-            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
-            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
-        }
-        else
-        {
-            pFilter.datefrom = von;
-            pFilter.dateto = bis;
-            error = false;
-        }
-    }
-    while ( error )
-    return pFilter;
-}
-
-/*
- * Setzt den Aufgaben-Filter
- *
- * @param {Object} pFilter req
- *
- * @return {image}
- */
-function filterToDo_Neon( pFilter )
-{
-    var error = true;
-    var von = pFilter.datefrom;
-    var bis = pFilter.dateto;
-    if ( pFilter == "" )	pFilter =  reset_filterToDo();
-    do
-    {
-        var prompts = {
-            FILTER_TEXT: translate.text("Bitte Filterbedingungen setzen"),
-            RESPONSIBLE: pFilter.user,
-            DATE_FROM: pFilter.datefrom,
-            DATE_TO: pFilter.dateto,
-            CATEGORY_TODO: pFilter.category,
-            DELEGATED: pFilter.delegated,
-            NEEDS_ACTION: pFilter.needs_action,
-            IN_PROCESS: pFilter.in_process,
-            COMPLETED: pFilter.completed,
-            CANCELLED: pFilter.cancelled
-        }
-
-        var buttons = {
-            "ok" : translate.text("OK"),
-            "": translate.text("Abbrechen")
-            };
-        var defaultButton = "ok";
-
-        var res = question.openDialog("DLG_FILTER_TODO_Neon", prompts, buttons, defaultButton);
-
-        if( res.button != null )
-        {
-            pFilter.user =      res.RESPONSIBLE;
-            pFilter.datefrom =  res.DATE_FROM;
-            pFilter.dateto =    res.DATE_TO;
-            pFilter.category =  res.CATEGORY_TODO;
-            pFilter.delegated = res.DELEGATED;
-            pFilter.needs_action = res.NEEDS_ACTION;
-            pFilter.in_process = res.IN_PROCESS;
-            pFilter.completed = res.COMPLETED;
-            pFilter.cancelled = res.CANCELLED;
-            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
-            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
-        }
-        else
-        {
-            pFilter.datefrom = von;
-            pFilter.dateto = bis;
-            error = false;
-        }
-    }
-    while ( error )
-    return pFilter;
-}
-
-
-/*
- * Anzeige des Aufgaben-Filter
- *
- * @param {Object} pFilter req
- *
- * @return string Anzeige
- */
-function show_filterToDo(pFilter)
-{
-    var retstring = "";
-    var userp = tools.getUser( pFilter.user )[tools.PARAMS];
-    if (pFilter.user != "") retstring = (translate.text("Aufgaben von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME]);
-    if (pFilter.datefrom != "") retstring += ", " + datetime.toDate(pFilter.datefrom, translate.text("dd.MM.yyyy"));
-    if (pFilter.dateto != "") retstring += " - " + datetime.toDate(pFilter.dateto, translate.text("dd.MM.yyyy"));
-    if (pFilter.category != "") retstring += ", " + translate.text("Kategorie") + " " + pFilter.category;
-    if (pFilter.delegated == "true") retstring += ", " + translate.text("delegiert");
-    if (pFilter.needs_action == "true") retstring += ", " + translate.text("Nicht begonnen");
-    if (pFilter.in_process == "true") retstring += ", " + translate.text("In Bearbeitung");
-    if (pFilter.completed == "true") retstring += ", " + translate.text("Erledigt");
-    if (pFilter.cancelled == "true") retstring += ", " + translate.text("Zurückgestellt");
-
-    return retstring
-}
-
-/*
- * Setzt den Aufgaben-Filter zurück
- *
- * @return {filter}
- */
-function reset_filterToDo()
-{
-    var today = getDate (vars.getString("$sys.date"));
-
-    return pFilter =  {
-        user: vars.getString("$sys.user"),
-        datefrom: String(eMath.subInt(today, 720 * datetime.ONE_DAY)),
-        dateto: String(eMath.addInt(eMath.addInt(today, 3 * datetime.ONE_DAY)
-            ,datetime.ONE_DAY - datetime.ONE_MINUTE)),
-        category: "",
-        delegated: "",
-        needs_action: "true",
-        in_process: "true",
-        completed: "",
-        cancelled: ""
-    };
-}
-
-/*
- * Setzt den Event-Filter
- *
- * @param {Object} pFilter req
- *
- * @return {image}
- */
-function filterEvent( pFilter )
-{
-    var error = true;
-    var von = pFilter.datefrom;
-    var bis = pFilter.dateto;
-    if ( pFilter == "" )	pFilter =  reset_filterEvent();
-    do
-    {
-        vars.set("$local.relation_id", pFilter.user);
-        vars.set("$local.edt_von", pFilter.datefrom);
-        vars.set("$local.edt_bis", pFilter.dateto);
-        vars.set("$local.category", pFilter.category);
-        vars.set("$local.tentative", pFilter.tentative);
-        vars.set("$local.confirmed", pFilter.confirmed);
-        vars.set("$local.cancelled", pFilter.cancelled);
-        vars.set("$local.free", pFilter.free);
-        var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_EVENT_FILTER");
-        if( res != null )
-        {
-            pFilter.user =      res["DLG_EVENT_FILTER.relation_id"];
-            pFilter.datefrom =  res["DLG_EVENT_FILTER.edt_von"];
-            pFilter.dateto =    res["DLG_EVENT_FILTER.edt_bis"];
-            pFilter.category =  res["DLG_EVENT_FILTER.category"];
-            pFilter.tentative = res["DLG_EVENT_FILTER.tentative"];
-            pFilter.confirmed = res["DLG_EVENT_FILTER.confirmed"];
-            pFilter.cancelled = res["DLG_EVENT_FILTER.cancelled"];
-            pFilter.free      = res["DLG_EVENT_FILTER.free"];
-            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
-            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
-        }
-        else
-        {
-            pFilter.datefrom = von;
-            pFilter.dateto = bis;
-            error = false;
-        }
-    }
-    while ( error )
-    return pFilter;
-}
-
-/*
- * Setzt den Event-Filter
- *
- * @param {Object} pFilter req
- *
- * @return {image}
- */
-function filterEvent_Neon( pFilter )
-{
-    var error = true;
-    var von = pFilter.datefrom;
-    var bis = pFilter.dateto;
-    if ( pFilter == "" )	pFilter =  reset_filterEvent();
-    do
-    {
-        var buttons = {
-            "ok" : translate.text("OK"),
-            "": translate.text("Abbrechen")
-        };
-        var defaultButton = "ok";
-
-        var prompts = {
-            FILTER_TEXT: translate.text("Bitte Filterbedingungen setzen"),
-            RESPONSIBLE_APPOINTMENT: pFilter.user,
-            DATE_FROM: pFilter.datefrom,
-            DATE_TO: pFilter.dateto,
-            CATEGORY_APPOINTMENT: pFilter.category,
-            TENTATIVE: pFilter.tentative,
-            CONFIRMED: pFilter.confirmed,
-            CANCELLED: pFilter.cancelled
-        }
-        var res = question.openDialog("DLG_FILTER_APPOINTMENT_Neon", prompts, buttons, defaultButton);
-        if( res.button != null )
-        {
-            pFilter.user =      res.RESPONSIBLE_APPOINTMENT;
-            pFilter.datefrom =  res.DATE_FROM;
-            pFilter.dateto =    res.DATE_TO;
-            pFilter.category =  res.CATEGORY_APPOINTMENT;
-            pFilter.tentative = res.TENTATIVE;
-            pFilter.confirmed = res.CONFIRMED;
-            pFilter.cancelled = res.CANCELLED;
-            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
-            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
-        }
-        else
-        {
-            pFilter.datefrom = von;
-            pFilter.dateto = bis;
-            error = false;
-        }
-    }
-    while ( error )
-    return pFilter;
-}
-
-/*
- * Anzeige des Event-Filter
- *
- * @param {Object} pFilter req
- *
- * @return string Anzeige
- */
-function show_filterEvent(pFilter)
-{
-    var retstring = "";
-
-    var userp = tools.getUser( pFilter.user )[tools.PARAMS];
-    if (pFilter.user != "") retstring = translate.text("Termine von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME];
-    if (pFilter.datefrom != "") retstring += ", " + datetime.toDate(pFilter.datefrom, translate.text("dd.MM.yyyy"));
-    if (pFilter.dateto != "") retstring += " - " + datetime.toDate(pFilter.dateto, translate.text("dd.MM.yyyy"));
-    if (pFilter.category == "true") retstring += ", " + translate.text("Kategorie") + " " + pFilter.category;
-    if (pFilter.tentative == "true") retstring += ", " + translate.text("Vorläufig");
-    if (pFilter.confirmed == "true") retstring += ", " + translate.text("Bestätigt");
-    if (pFilter.cancelled == "true") retstring += ", " + translate.text("Abgesagt");
-
-    return retstring
-}
-
-/*
- * Setzt den Event-Filter zurück
- *
- * @return {filter}
- */
-function reset_filterEvent()
-{
-    var today = getDate (vars.getString("$sys.date"));
-
-    return pFilter =  {
-        user: vars.getString("$sys.user"),
-        datefrom: String(today), //nur die Termine ab heute anzeigen,
-        //die von vor einer Woche sind uninteressant
-        dateto: String(eMath.addInt(eMath.addInt(today, datetime.ONE_WEEK)
-            ,datetime.ONE_DAY - datetime.ONE_MINUTE)),
-        category: "",
-        tentative: "true",
-        confirmed: "true",
-        cancelled: "",
-        free: "true"
-    };
-}
-
-/*
- * Setzt den Aufgaben-Filter in Tab Aufgaben
- *
- * @return {image}
- */
-function filterLinkedToDo()
-{
-    var filtervalues = ["", "false"];
-    vars.set("$local.CalenderUser", getCalenderUser( calendars.RIGHT_READ_TASK ));
-
-    //Vorbelegen der Werte, wenn bereits gewählt wurde:
-    if(vars.exists("$image.FilterValuesT"))
-    {
-        filtervalues = vars.get("$image.FilterValuesT");
-        vars.set("$local.relation_id", filtervalues[0]);
-        vars.set("$local.done", filtervalues[1]);
-    }
-
-    var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_TASK_DATE_LINKED_FILTER");
-
-    if( res != null && res != undefined && res != "")
-    {
-        filtervalues[0] = res["DLG_TASK_DATE_LINKED_FILTER.relation_id"];
-        filtervalues[1] = res["DLG_TASK_DATE_LINKED_FILTER.done"]
-    }
-    vars.set("$image.FilterValuesT", filtervalues );
-
-    return(filtervalues);
-}
-
-/*
- * Setzt den Aufgabe-Filter zurück
- *
- * @return {image}
- */
-function resetfilterLinkedToDo()
-{
-    var filtervalues = ["", "false"];
-
-    vars.set("$image.FilterValuesT", filtervalues );
-
-}
-
-/*
- * setzt die Kalenderrechte
- *
- * @return {void}
- */
-function setCalendarGrant()
-{
-    calendars.resetCalendarUser();
-    var user_read_todo = [];
-    var user_write_todo = [];   // ["Admin"]
-    var user_read_event = [];
-    var user_write_event = [];
-    var tree = {};
-    var data = db.table("select THEMEID, THEME.THEME_ID, LOGIN, STATUS from THEME "
-        + " left join EMPLOYEE on EMPLOYEE.THEME_ID = THEMEID left join RELATION on RELATION_ID = RELATIONID and STATUS = 1"
-        +" where KIND = 2");
-    for ( let i = 0; i < data.length; i++)
-    {
-        if ( tree[data[i][0]] == undefined )    tree[data[i][0]] = {
-            pid: data[i][1],
-            isuser: false
-        };
-        if ( data[i][2] != "" && data[i][3] != "" )     tree[data[i][2]] = {
-            pid: data[i][0],
-            isuser: true
-        };
-    }
-
-    var user = vars.getString("$sys.user");
-    // Lese- und Schreibrechte auf Kalender aus Datentabelle holen
-    data = db.table("select HASRIGHTFOR, TODO_RIGHTS, EVENT_RIGHTS from AOSYS_CALENDAR_RIGHTS where LOGIN = '" + user + "'");
-    for ( var i = 0; i < data.length; i++ )
-        if(tree[data[i][0]] != undefined)
-            tree[data[i][0]].grants = data[i].slice(1);
-
-    for ( login in tree )
-    {
-        if( tree[login].isuser )
-        {
-            var grantstodo = __getGrants( login, 0 );
-            var grantsevent = __getGrants( login, 1 );
-            if ( grantstodo.length + grantsevent.length > 0 )
-            {
-                if ( grantstodo == "1" || grantstodo == "3")  user_read_todo.push(login);
-                if ( grantstodo == "2" || grantstodo == "3")  user_write_todo.push(login);
-                if ( grantsevent == "1" || grantsevent == "3")  user_read_event.push(login);
-                if ( grantsevent == "2" || grantsevent == "3")  user_write_event.push(login);
-            }
-        }
-    }
-    calendars.setCalendarUser(user_read_todo, calendars.RIGHT_READ_TASK, true, calendars.SORTSTRATEGY_NATURAL );
-    calendars.setCalendarUser(user_write_todo, calendars.RIGHT_WRITE_TASK, true, calendars.SORTSTRATEGY_NATURAL );
-    calendars.setCalendarUser(user_read_event, calendars.RIGHT_READ_APPOINTMENT, true, calendars.SORTSTRATEGY_NATURAL );
-    calendars.setCalendarUser(user_write_event, calendars.RIGHT_WRITE_APPOINTMENT, true, calendars.SORTSTRATEGY_NATURAL );
-
-    //********** Ressourcen in Kalender einfügen ************
-    var ressource = tools.getUsersWithRole("PROJECT_Ressource");
-    calendars.setCalendarUser(  ressource, calendars.RIGHT_READ_APPOINTMENT | calendars.RIGHT_WRITE_APPOINTMENT  );
-
-    //add all users from support-role since support-action-tasks (sp_supportAktionen) generates tasks for all support-role members
-    //and if you're a member you are allowed to edit these
-    if (tools.hasRole(user, "PROJECT_Support"))
-    {
-        var support = tools.getUsersWithRole("PROJECT_Support");
-        calendars.setCalendarUser(  support, calendars.RIGHT_WRITE_TASK | calendars.RIGHT_READ_TASK  );
-    }
-
-    function __getGrants( pKey, pIndex )
-    {
-        var grants = [];
-        if ( tree[pKey].grants != undefined && tree[pKey].grants[pIndex]) grants = tree[pKey].grants[pIndex];
-        else if ( tree[pKey].pid != "" )   grants = __getGrants( tree[pKey].pid, pIndex );
-        return grants;
-    }
-}
-
-/*
- * setzt Recht für alle Kalender
- *
- * @return {void}
- */
-function setAllCalendarGrant()
-{
-    calendars.resetCalendarUser();
-    var users = tools.getStoredUsers();
-    var calendar_user = [];
-    for ( var i = 0; i < users.length; i++ )    calendar_user.push( users[i][1] );
-    calendars.setCalendarUser(calendar_user, calendars.RIGHT_READ_TASK | calendars.RIGHT_WRITE_TASK, false, calendars.SORTSTRATEGY_NATURAL );
-}
-
-/*
- * gibt die Logins der user, die den übergebenen User als Attribute eingetragen haben, zurück
- *
- * @param {[]} pUsers req Logins
- * @param {String []} pAttrName req AttributeName für Employee
- * @param {String []} pFields opt
- *
- * @return {String []} Logins
- */
-function getUsersbyAttr( pUsers, pAttrName, pFields )
-{
-    if (typeof(pAttrName) == "string") pAttrName = [pAttrName]
-
-    if ( pFields == undefined )
-    {
-        pFields = ["LOGIN"];
-    }
-
-    var sqlstr = "select " + pFields.join(", ") + " from ATTRLINK join ATTR on ATTRLINK.ATTR_ID = ATTRID and OBJECT_ID = 12 "
-    + "and ATTRNAME in ('" + pAttrName.join("','") + "') "
-    + " join EMPLOYEE on EMPLOYEEID = ATTRLINK.ROW_ID join RELATION on RELATION_ID = RELATIONID join PERS on PERS_ID = PERSID"
-    + " where VALUE_ID in (select EMPLOYEEID from EMPLOYEE where LOGIN in ('" + pUsers.join("','") + "'))"
-    + "";
-
-    if(pFields.length == 1)
-        return db.array(db.COLUMN, sqlstr);
-    else
-        return db.table(sqlstr);
-}
-
-/*
- * Gibt die Anzahl der verknüpften Aufgaben und Termine zurück.
- *
- * @param {String} pID req
- * @param {String} pFrame req
- *
- * @return {String} text
- */
-function countLinkedTodoEvent(pID, pFrame)
-{
-    var today = getDate (vars.getString("$sys.date"));
-    var datefrom = String(today);
-    var dateto = String(eMath.addInt(today, datetime.ONE_WEEK));
-
-    var str = "select count(distinct ELEMENTUID) from ASYS_CALENDARLINK join ASYS_CALENDARBACKEND on ELEMENTUID = ASYS_CALENDARLINK.ENTRYID "
-    + " where FRAME = 'comp." + pFrame + "' and ELEMENTUID is not null and DBID = '" + pID + "'";
-    var rettask = db.cell(str + "and ENTRYTYPE = " + calendars.VTODO + " and STATUS in ('"
-        + mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ) + "', '"
-        + mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ) + "')");
-
-    var eventStatusList = [
-         mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() )
-        ,mapCalendarStatus(calendars.STATUS_TENTATIVE, calendars.getBackendType() )
-    ];
-
-    if (calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS)
-        eventStatusList.push(calendars.STATUS_FREE);
-
-    var retevent = db.cell([str + " and ENTRYTYPE = " + calendars.VEVENT + " and STATUS in ('" + eventStatusList.join("', '") + "')"
-            + " and DTSTART >= ? and DTEND <= ?",
-        [ [ String(datefrom), SQLTYPES.DATE ],  [String(dateto), SQLTYPES.DATE ] ]]);
-
-    result.string(translate.withArguments("&Aufg / Term (%0/%1)", [rettask, retevent]));
-}
-
-/*
- * Gibt die Anzahl der verknüpften Aufgaben zurück.
- *
- * @param {String} pID req
- * @param {String} pFrame req
- *
- * @return {String} text
- */
-function countLinkedTodo(pID, pFrame)
-{
-    var str = "select count(distinct ELEMENTUID) "
-    + "from ASYS_CALENDARLINK "
-    + "join ASYS_CALENDARBACKEND on ELEMENTUID = ASYS_CALENDARLINK.ENTRYID "
-    + " where FRAME = 'comp." + pFrame + "' "
-    + "and ELEMENTUID is not null and DBID = '" + pID + "'";
-
-    var rettask = db.cell(str + "and ENTRYTYPE = " + calendars.VTODO
-        + " and  STATUS in ('"
-        + mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ) + "', '"
-        + mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ) + "')"
-        + "");
-
-    result.string(translate.withArguments("&Aufgaben (%0)", [rettask]));
-}
-
-/*
- * Gibt die Überschneidungen von Termine zurück.
- *
- * @param {Date} pStart req
- * @param {Date} pEnd req
- * @param {Array} pUsers req
- *
- * @return {String Array} Termine
- */
-function getOverlappingEvents(pStart, pEnd, pUsers  )
-{
-    var resultEvents = new Array();
-    var users = pUsers;
-    if (calendars.getBackendType() == calendars.BACKEND_DB && pStart != "" && pEnd != "" && users.length > 0)
-    {
-        calendars.clearCache();
-        for (var u = 0; u < users.length; u++)
-        {
-            var localuid = vars.get("$image.entry")[calendars.ID]
-            var condition = new Array();
-            condition["COUNT"] = "1";
-            condition["TYPE_1"] = calendars.VFREEBUSY;
-            condition["USER_1"] = users[u][0];
-            condition["START_1"] = pStart;
-            condition["END_1"] = pEnd;
-
-            var fbsall = calendars.getEntries(condition);
-            for (var j = 0; j < fbsall.length; j++)
-            {
-                var fbs = fbsall[j];
-                for (var i = 0; i < fbs.length; i++)
-                {
-                    var next = fbs[i];
-                    var uid = next[calendars.ID];
-                    var sum = next[calendars.SUMMARY];
-                    if (uid != localuid)
-                    {
-                        var freebusy = next[calendars.FREEBUSY];
-                        var freebusyDec = text.decodeMS(freebusy);
-                        var match = false;
-                        for (var k = 0; k < freebusyDec.length; k++)
-                        {
-                            var freebusyInstance = text.decodeMS(freebusyDec[k]);
-                            if (!freebusyInstance[0].equals("FREE"))
-                            {
-                                match = true;
-                            }
-                        }
-                        if (match)  resultEvents.push([users[u][2], sum != null && sum.length > 0 ? sum : "?", uid]);
-                    }
-                }
-            }
-        }
-    }
-    return resultEvents;
-}
-
-/*
- * Überprüft den Eintrag, wenn eine neue Aufgaben angelegt wird darauf, ob private Aufgaben für andere erstellt werden
- *
- * @param {String[]} pUser die Liste der User, denen die Aufgabe zugewiesen werden soll
- * @param {String} pClassification die Klassifizierung der Aufgabe - "PRIVATE"
- *
- * @return {Boolean} ob der Eintrag in der Konstellation möglich ist, wenn nicht wird eine Meldung ausgegeben
- */
-function checkEntry(pUser, pClassification )
-{
-    if( pClassification == "PRIVATE" &&
-        ( pUser.length > 1 || text.decodeMS(pUser[0][0])[1] != "CN:" + vars.getString("$sys.user")))
-        {
-        question.showMessage(translate.text("Eine private Aufgabe kann nicht jemand anderem zugewiesen werden."));
-        return false;
-    }
-    else
-    {
-        return true;
-    }
-}
-
-/*
- * Verschiebt ein Calendareintrag
- *
- * @param {String[]} pIDs req die zu verschiebenden Ids mit den Calenderinformationen (Multistring)
- * @param {String} pTblCompName  opt die Komponente die aktualisiert werden soll
- *
- * @return {void}
- */
-function shiftEntry(pIDs, pTblCompName)
-{
-    var datenew = swing.askUserQuestion(translate.text("Verschieben auf Datum?"), "DLG_DATE");
-    if (datenew != null )
-    {
-        var grantedUsers = calendars.getDisplayCalendarUsers(calendars.RIGHT_WRITE_TASK);
-        var usermap = {};
-        var granted = true;
-        for (let i = 0; i < grantedUsers.length; i++)
-        {
-            usermap[grantedUsers[i][1]] = true;
-        }
-
-        datenew = datetime.clearTime(datenew["DLG_DATE.Edit_date"]);
-        if (datenew <= vars.getString("$sys.today"))
-            question.showMessage(translate.text("nur Verschiebung in die Zukunft erlaubt!"));
-        else
-        {
-            for (var i = 0, j = pIDs.length; i < j; i++)
-            {
-                var id = text.decodeMS(pIDs[i]);
-                var entry = calendars.getEntry(id[0], null, id [1], calendars.VTODO);
-                var affectedUsers = entry[calendars.ATTENDEES];
-
-                granted =  hasGrantForEntryByObject(affectedUsers, usermap);
-                if(granted)
-                {
-                    //Zeitdifferenz von Aufgabenstart und -ende
-                    var dateDiff  = eMath.subInt(entry[calendars.DUE], entry[calendars.DTSTART]);
-
-                    //Startzeit der Aufgabe
-                    var startTime = eMath.subInt(entry[calendars.DTSTART]
-                        , datetime.clearTime(entry[calendars.DTSTART]));
-
-                    entry[calendars.DTSTART] = eMath.addInt(datenew, startTime);
-                    entry[calendars.DUE] = eMath.addInt(entry[calendars.DTSTART], dateDiff);
-                    calendars.update( [ entry ] );
-                }
-                else
-                    question.showMessage(translate.text("Keine Berechtigung zum Verschieben der Aufgabe"));
-            }
-        }
-    }
-}
-
-/*
- * Gibt eine Aufgabe weiter
- *
- * @param {String} pIDs die ID der Aufgabe, welche weitergegeben werden soll
- * @param {String} pTblCompName die Komponente der Aufgaben, die aktualisiert werden soll
- *
- * @return {void}
- */
-function handOverToDo(pIDs, pTblCompName)
-{
-    var calendar_user = "";
-    var users = getCalenderUser( calendars.RIGHT_WRITE_TASK );
-    var publicCount = 0;
-    var privateCount = 0;
-    var notGrantedCount = 0;
-
-    var grantedUsers = calendars.getDisplayCalendarUsers(calendars.RIGHT_WRITE_TASK);
-    var userMap = {};
-    var granted = true;
-    for (let i = 0; i < grantedUsers.length; i++)
-    {
-        userMap[grantedUsers[i][1]] = true;
-    }
-
-    if (pIDs.length == 1)  // only one todo and private
-    {
-        var id = text.decodeMS( pIDs[0] );
-        var entry = calendars.getEntry( id[0], null, id[1] );
-        if(entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE)
-        {
-            question.showMessage(translate.text("Kein Weitergeben von privaten Aufgaben möglich!"));
-            return;
-        }
-    }
-
-    for ( let i = 0; i < users.length; i++)  if (pIDs.length > 0 || users[i][0] != id[1])   calendar_user += "|" + users[i][1];
-    var selection = swing.askQuestion(translate.text("Benutzer auswählen"), swing.QUESTION_COMBOBOX, calendar_user);
-    if (selection != null)
-    {
-        for ( let i = 0; i < users.length; i++)
-        {
-            if ( selection == users[i][1] )
-            {
-                selection = users[i];
-                break;
-            }
-        }
-        for( let i = 0; i < pIDs.length; i++)
-        {
-            let id = text.decodeMS( pIDs[i] );
-            let entry = calendars.getEntry( id[0], null, id[1] );
-            if(entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE)  privateCount++;
-            else //Nur öffentliche Aufgabe kann weiter gegeben werden.
-            {
-                // User austauschen
-                var usermap = entry[calendars.ATTENDEES];
-                var affectedusers = [];
-
-                granted =  hasGrantForEntryByObject(usermap, userMap);
-
-                for (var ui = 0; ui < usermap.length; ui++)
-                {
-                    var login_cn = usermap[ui]["cn"];
-                    var user = tools.getUserByAttribute(tools.CALENDARID, usermap[ui]["paramvalue"].substr("mailto:".length))
-                    if (user == null)  user = login_cn;
-                    else user = user[tools.TITLE]
-
-                    if ( user == id[1] )   affectedusers.push(selection[0]);
-                    else  if ( user != selection[0] )  affectedusers.push(user);
-                }
-                if(granted)
-                {
-                    entry[calendars.AFFECTEDUSERS] = text.encodeMS(calendars.getCalendarUsers(affectedusers));
-                    calendars.update([entry]);
-                    publicCount++;
-                }
-                else notGrantedCount++
-            }
-        }
-        question.showMessage(translate.withArguments("%0 Aufgabe(n) erfolgreich weitergegeben an: %1"
-            + (privateCount == 0 ? "" : "\n%2 private Aufgabe(n) können nicht weitergegeben werden.")
-            +(notGrantedCount == 0 ? "" : "\n%3 Aufgabe(n) können aufgrund fehlender Berechtigung nicht weitergegeben werden."),
-            [publicCount, selection[1], privateCount, notGrantedCount]));
-
-    }
-}
-
-// ToDo prüfen !!
-/*
- * Verschiebt die Kalendereinträge bei Login-Änderung
- *
- * @param {String} pNewlogin req
- * @param {String} pOldlogin req
- * @param {String} pNewCalendarID req
- * @param {String} pOldCalendarID req
- *
- * @return {void}
- */
-function moveCalendarData ( pNewlogin, pOldlogin, pNewCalendarID, pOldCalendarID )
-{
-    var newcaluser = text.encodeMS(["mailto:" + pNewCalendarID, "CN:" + pNewlogin]);
-    var oldcaluser = text.encodeMS(["mailto:" + pOldCalendarID, "CN:" + pOldlogin]);
-    db.runStatement("update ASYS_CALENDARBACKEND set OWNER = '" + newcaluser + "' where OWNER = '" + oldcaluser + "'");
-    db.runStatement("update ASYS_CALENDARBACKEND set ORGANIZER = '" + newcaluser + "' where ORGANIZER = '" + oldcaluser + "'");
-
-    if(pNewCalendarID != pOldCalendarID) //Nur wenn sich die E-Mailadresse geändert hat
-    {
-        //Messenger-Historien
-        db.runStatement("update ASYS_XMPP_HISTORY set JID_FROM = '" + pNewCalendarID +"' where JID_FROM = '" + pOldCalendarID +"'", "_____SYSTEMALIAS");
-        db.runStatement("update ASYS_XMPP_HISTORY set JID_TO = '" + pNewCalendarID +"' where JID_TO = '" + pOldCalendarID +"'", "_____SYSTEMALIAS");
-    }
-}
-
-/*
- * Löst den CalenderUser in lesbarer From auf
- *
- * @param {String} pValue req
- *
- * @return {String} übersetzten Wert
- */
-function getCalUser( pValue )
-{
-    var realname = pValue;
-    var user = tools.getUser( text.decodeMS(pValue)[1].split(":")[1] );
-    if ( user != null )
-    {
-        realname = user[tools.PARAMS][tools.FIRSTNAME] + " " + user[tools.PARAMS][tools.LASTNAME];
-    }
-    return realname;
-}
-
-/*
- * Gibt den Login eines CalenderUser zurück
- *
- * @param {String} pCalendarUser req
- *
- * @return {String} Title
- */
-function getTitleCalenderUser( pCalendarUser )
-{
-    var data = text.decodeMS(pCalendarUser)
-    for ( var i = 0; i < data.length; i++ )
-    {
-        //if login changes we have to check calendarid
-        if ( data[i].substr(0, "mailto:".length).toUpperCase() == "MAILTO:" )
-        {
-            var user = tools.getUserByAttribute(tools.CALENDARID, [data[i].substr("mailto:".length)]);
-            if (user != null )
-                return user[tools.TITLE];
-        }
-
-        if ( data[i].substr(0, 3).toUpperCase() == "CN:" )
-            return data[i].substr(3);
-    }
-    return "";
-}
-
-
-/*
- * Gibt den richtigen Status zum Prüfen je nach Backend zurück
- *
- *
- * @param {String} pStatus req die konstante für den zu prüfenden status,
- *                             z.B. calendars.STATUS_INPROCESS
- *
- * @param {String} pCalendarType req die konstante für den typen des Termin- oder Aufgabenbackends,
- *                             z.B. calendars.BACKEND_DB
- *
- * @return {String} Konstanten für den Kalender (Backend-Typen), gibt es den status im backend nicht
- *                  wird null geliefert
- */
-function mapCalendarStatus(pStatus, pCalendarType)
-{
-    switch (pCalendarType)
-    {
-        //case calendars.BACKEND_EXCHANGE:
-        case calendars.BACKEND_EXCHANGEWS:
-            if (pStatus == calendars.STATUS_CONFIRMED)
-                return calendars.STATUS_BUSY;
-            else
-                return pStatus;
-        default:
-            if (pStatus == calendars.STATUS_OOF)//nur bei exchange
-                return null;
-            else
-                return pStatus;
-    }
-}
-
-/*
- * Sets the imagevariable with affectedusers
- *
- * @param {Object} pEntry req the Entry of Tasks or Appointments
- *
- * @return {void}
- *
- */
-function setAffectedUsersImage(pEntry)
-{
-    var affectedUsers = [];
-    var usermap = pEntry[calendars.ATTENDEES];
-    var realnames = getRealNameObject(usermap);
-
-    for ( var i = 0; i < usermap.length; i++ )
-    {
-        affectedUsers.push([ text.encodeMS( [usermap[i]["paramvalue"], "CN:" + usermap[i]["cn"]] ), realnames[usermap[i]["cn"]] ]);
-    }
-
-    vars.set("$image.affectedusers", affectedUsers);
-    return affectedUsers;
-}
-
-/*
- * Opens calendar links
- *
- * @param {String} pEntryID req the ID of the link
- *
- * @return {void}
- *
- */
-function openCalendarLinks(pEntryID)
-{
-    var openFramesObj = {};
-    if (typeof(pEntryID) == "object")
-        openFramesObj = pEntryID;
-    else
-    {
-        var links = db.table("SELECT FRAME, DBIDCOLUMN, DBID FROM ASYS_CALENDARLINK WHERE ENTRYID = '" + pEntryID + "'");
-        for (var i = 0; i < links.length; i++)
-        {
-            var frame = links[i][0].substr( 5 );//remove comp. so the frame can be opened with openFrame
-            if ( openFramesObj[frame] == undefined ) openFramesObj[frame] = {
-                IDField: links[i][1],
-                IDs: []
-            };
-            openFramesObj[frame].IDs.push(links[i][2]);
-        }
-    }
-
-    for ( frame in openFramesObj)
-    {
-        var condition = openFramesObj[frame].IDField + " in ('" + openFramesObj[frame].IDs.join("', '") + "')";
-        var framemode = openFramesObj[frame].IDs.length > 1 ? swing.FRAMEMODE_TABLE_SELECTION : swing.FRAMEMODE_SHOW;
-
-        if ( vars.getString("$global.upwardLink") == "link")
-        {
-            swing.openLinkedFrame(frame, condition, swing.WINDOW_CURRENT, framemode, "", null, false, {
-                autoclose: true
-            } );
-        }
-        else
-        {
-            swing.openFrame(frame, condition, swing.WINDOW_CURRENT, framemode, null, false);
-        }
-    }
-}
-
-/**
- * Returns the "real" calendar system/backend type (BackendType & SyncBackendType)
- *
- * @param {Number} pScope - The needed scope (e.g. "calendars.VEVENT", "calendars.VTODO")
- * @return {Number} - The backend type (calendars.BACKEND_*)
- */
-function getCalendarSystemType (pScope)
-{
-    // Check sync backend type
-    if (calendars.getSyncBackendType() != calendars.BACKEND_NONE && calendars.getSyncBackendType() != 3)
-    {
-        var scope = calendars.getSyncBackendTypeScope();
-        if (scope.length == 1 && scope[0] == pScope) // Scope.length = 1 -> VEVENT *OR* VTODO
-            return calendars.getSyncBackendType();
-        else if (scope.length == 2) // Scope.length = 2 -> Both
-            return calendars.getSyncBackendType();
-       // Scope.length = 0 -> Nothing selected -> Skip this block
-    }
-
-    // Fallback to backend type (event)
-    if (calendars.getBackendType() != calendars.BACKEND_NONE && pScope === calendars.VEVENT)
-        return calendars.getBackendType();
-
-    // Second fallback to backend type (todo)
-    if (calendars.getBackendTypeTasks() != calendars.BACKEND_NONE && pScope === calendars.VTODO)
-        return calendars.getBackendTypeTasks();
-
-    // Everything is none
-    return calendars.BACKEND_NONE;
-}
-
-function hasGrantForEntryByMS(pAffectedUsers, pUserMap)
-{
-    for (let i = 0; i < pAffectedUsers.length; i++)
-    {
-        var calUser = getTitleCalenderUser( pAffectedUsers[i][0]);
-        if(pUserMap[calUser] == undefined)
-        {
-            return false;
-            break;
-        }
-        else
-            return true;
-    }
-}
-
-function hasGrantForEntryByObject(pAffectedUsers, pUserMap)
-{
-    for (let i = 0; i < pAffectedUsers.length; i++)
-    {
-        calUser = tools.getUserByAttribute(tools.CALENDARID, pAffectedUsers[i]["paramvalue"].substr("mailto:".length))
-        if (calUser == null)  calUser = pAffectedUsers[i]["cn"];
-        else calUser = calUser[tools.TITLE]
-        if(pUserMap[calUser] == undefined)
-        {
-            return false;
-            break;
-        }
-        else
-            return true;
-    }
-}
+import("system.neon");
+import("system.vars");
+import("system.db");
+import("system.translate");
+import("system.datetime");
+import("system.swing");
+import("system.eMath");
+import("system.calendars");
+import("system.logging");
+import("system.tools");
+import("system.text");
+import("system.question");
+import("system.SQLTYPES");
+import("system.result");
+import("Util_lib");
+import("system.util")
+
+
+/**
+ *  @class
+ **/
+function CalendarUtil(){}
+
+
+/*
+ * Erzeugt und öffnet ein neues Aufgabenobjekt (mit einem Link).
+ *
+ * @param {String} pSummary opt die Zusammenfassung
+ * @param {String} pDescription opt die Beschreibung
+ * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
+ * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
+ *                                   pWithLink[1]: ID des angezeigten Datensatzes
+ *                                   pWithLink[2]: Verknüpfungstitel
+ * @param {String} pUser opt der Benutzer ( Login )
+ * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
+ * @param {date} pStart opt Beginn der Aufgabe
+ * @param {date} pDuration opt Dauer
+ * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
+ * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
+ * @param {Array{[]} pComps4Refresh opt die zu aktualisierenden Komponenten
+ *
+ * @return {void}
+ */
+CalendarUtil.newTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh)
+{
+    var todo = createEntry( calendars.VTODO, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
+    var prompts = [];
+    prompts["comp4refresh"] = [];
+
+    if (pComps4Refresh == undefined)
+        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Aufgabe"];
+
+    for (var i = 0; i < pComps4Refresh.length; i++)
+    {
+        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
+    }
+    if(vars.getString("$sys.scope") == "vaadin")
+        neon.openCalendarEntry([todo], null, neon.OPERATINGSTATE_NEW, null)
+    else
+    {
+        if (vars.exists("$sys.currentwindow"))
+            prompts["window"] = vars.getString("$sys.currentwindow");
+        if (vars.exists("$sys.currentimage"))
+            prompts["image"] = vars.getString("$sys.currentimage");
+
+        swing.openCalendarEntry([todo], null, false, prompts);
+    }
+}
+
+
+/**
+ * Finds the effective calendarId of an user in the same attribute order like the ADITO core, which is exchangeEmail -> calendarID -> email
+ * DO NOT CHANGE THIS ORDER
+ *
+ * @param {String} user to check
+ * @return effective calendar id
+ */
+CalendarUtil.getEffectiveCalendarIdFromUser = function(pUser)
+{
+    var userParams = pUser["params"];
+    
+    var resolvedCurrentUser;
+    var exchangeEmail = userParams["exchangeEMail"];
+    var calendarId = userParams["calendarID"];
+    var email = userParams["email"];
+    
+    if(exchangeEmail)
+        return exhangeEmail;
+    else if(calendarId)
+        return calendarId;
+    else if(email)
+        return email;
+    else
+        return "";
+}
+
+/*
+ * Erzeugt eine neue Aufgabe (mit einem Link).
+ *
+ * @param {String} pSummary opt die Zusammenfassung
+ * @param {String} pDescription opt die Beschreibung
+ * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
+ * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
+ *                		     pWithLink[1]: ID des angezeigten Datensatzes
+ *               		     pWithLink[2]: Verknüpfungstitel
+ * @param {String} pUser opt der Benutzer ( Login )
+ * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
+ * @param {date} pStart opt Beginn der Aufagebe
+ * @param {integer} pGroupType opt ( calendars.GROUP_SINGLE , calendars.GROUP_MULTI )
+ * @param {date} pDuration opt Dauer
+ * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
+ * @param {String} pStatus opt Status der Aufgabe ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
+ * @param {String} pPriority opt Priorität der Aufgabe
+ * @param {String} pReminder opt Erinnerung der Aufgabe
+ *
+ * @return {void}
+ */
+
+CalendarUtil.newSilentTodo = function(pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pGroupType, pCategory, pStatus, pPriority, pReminder)
+{
+    if ( pGroupType == undefined ) pGroupType = calendars.GROUP_SINGLE;
+    var todo = createEntry( calendars.VTODO, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pPriority, pReminder );
+    
+    return calendars.insert([todo],calendars.GROUP_SINGLE);
+}
+
+/*
+ * Erzeugt und öffnet ein neues Terminnobjekt mit einem Link.
+ *
+ * @param {String} pSummary opt die Zusammenfassung
+ * @param {String} pDescription opt die Beschreibung
+ * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
+ * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
+ *                		     pWithLink[1]: ID des angezeigten Datensatzes
+ *               		     pWithLink[2]: Verknüpfungstitel
+ * @param {String} pUser opt der Benutzer ( Login )
+ * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
+ * @param {date} pStart opt Beginn der Aufagebe
+ * @param {date} pDuration opt Dauer
+ * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
+ * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
+ * @param {Array{[]} pComps4Refresh opt die zu aktualisierenden Komponenten
+ * 
+ * @return {void}
+ */
+CalendarUtil.newEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pComps4Refresh, pWorklistId)
+{
+    var event = createEntry( calendars.VEVENT, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus );
+
+    var prompts = [];
+    prompts["comp4refresh"] = [];
+    if (pComps4Refresh == undefined)
+        pComps4Refresh = ["$comp.Aufgabe", "$comp.tbl_Termine"];
+    for (i = 0; i < pComps4Refresh.length; i++)
+    {
+        if ( vars.exists(pComps4Refresh[i]))    prompts["comp4refresh"].push(pComps4Refresh[i]);
+    }
+
+    if(vars.getString("$sys.scope") == "vaadin")
+        neon.openCalendarEntry([event],"", neon.OPERATINGSTATE_NEW, null)
+    else
+    {
+        prompts["window"] = vars.getString("$sys.currentwindow");
+        prompts["image"] = vars.getString("$sys.currentimage");
+        if (pWorklistId != undefined)
+            prompts["worklistId"]   = pWorklistId;
+        swing.openCalendarEntry([event], null, false, prompts);
+    }
+}
+
+
+/*
+ * Erzeugt einen neuen Termineintrag (mit einem Link).
+ *
+ * @param {String} pSummary opt die Zusammenfassung
+ * @param {String} pDescription opt die Beschreibung
+ * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
+ * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
+ *                		     pWithLink[1]: ID des angezeigten Datensatzes
+ *                		     pWithLink[2]: Verknüpfungstitel
+ * @param {String} pUser opt der Benutzer ( Login )
+ * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( Login )
+ * @param {date} pStart opt Beginn des Termins
+ * @param {date} pDuration opt Dauer
+ * @param {integer} pGroupType opt ( calendars.GROUP_SINGLE , calendars.GROUP_MULTI )
+ * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
+ * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
+ * @param {String} pReminder opt Erinnerung des Termins
+ *
+ * @return {void}
+ */
+CalendarUtil.newSilentEvent = function( pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pGroupType, pCategory, pStatus, pReminder)
+{
+    if ( pGroupType == undefined ) pGroupType = calendars.GROUP_SINGLE;
+    var event = createEntry( calendars.VEVENT, pSummary, pDescription, pWithLink, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, undefined, pReminder );
+    return calendars.insert( [event] , pGroupType );
+}
+
+/*
+ * Erzeugt ein neues Aufgaben- / Termin-Objekt (mit einem Link).
+ *
+ * @param {date} pType req  Augabe oder Termin ( calendars.VTODO, calendars.VEVENT )
+ * @param {String} pSummary opt die Zusammenfassung
+ * @param {String} pDescription opt die Beschreibung
+ * @param {Boolean} pWithLink opt TRUE legt eine Verknüpfung zu $image.frametable
+ * @param {String[][]} pWithLink opt pWithLink[0]: Name des Frames
+ *                		     pWithLink[1]: ID des angezeigten Datensatzes
+ *                		     pWithLink[2]: Verknüpfungstitel
+ * @param {String} pUser opt der Benutzer ( Login )
+ * @param {[]} pAffectedUsers opt die betroffenen Benutzer ( [ Login ] )
+ * @param {date} pStart opt Beginn
+ * @param {date} pDuration opt Dauer
+ * @param {integer} pCategory opt ( calendars.CATEGORIES , encoded(String) z.B.: text.encodeMS(["Service"]) )
+ * @param {String} pStatus opt Status des Termins ( calendars.STATUS_TENTATIVE, calendars.STATUS_CONFIRMED, calendars.STATUS_CANCELLED )
+ * @param {String} pPriority opt Priorität
+ * @param {String} pReminder opt Erinnerung
+ *
+@return {Object} das EntryObjekt
+ */
+CalendarUtil.createEntry = function( pType, pSummary, pDescription, pWithLink, pAppLinkContext, pAppLinkId, pUser, pAffectedUsers, pStart, pDuration, pCategory, pStatus, pPriority, pReminder )
+{
+    var Entry = {};
+    var framename;
+    var framdata;
+    var dbid;
+    var linktitle;
+    if ( pSummary == undefined || pSummary == null  ) pSummary = "";
+    if ( pDescription == undefined || pDescription == null )
+    {
+        if(vars.getString("$sys.scope") == "vaadin")
+            pDescription = neon.getImageContent(vars.getString("$sys.currententityname"));
+        else
+            pDescription = swing.getImageContent();
+    }
+    if ( pUser == undefined || pUser == null ) pUser = vars.getString("$sys.user");
+    //kein translate.key hier, weil es sich um einen rein technischen Wert handelt:
+    if ( pStart == undefined ) pStart = datetime.toLong(datetime.toDate(parseInt(vars.getString("$sys.date")) + datetime.ONE_HOUR, "dd.MM.yyyy HH:00"), "dd.MM.yyyy HH:mm");
+    if ( pCategory == undefined || pCategory == null  ) pCategory = "";
+
+    if (pAffectedUsers == null || pAffectedUsers == undefined )
+    {
+        Entry[calendars.AFFECTEDUSERS] = "";
+    }
+    else
+    {
+        Entry[calendars.AFFECTEDUSERS] = text.encodeMS(calendars.getCalendarUsers(pAffectedUsers));
+    }
+    Entry[calendars.TYPE] = pType;
+    Entry[calendars.DTSTART] = pStart;
+    if ( pType == calendars.VEVENT )
+    {
+        if ( pDuration == undefined )
+            pDuration = datetime.ONE_HOUR;
+
+        Entry[calendars.DTEND] = String ( eMath.addInt( pStart, pDuration) );
+
+        if ( pStatus == undefined )
+            pStatus = calendars.STATUS_CONFIRMED;
+
+        pStatus = mapCalendarStatus(pStatus, calendars.getBackendType() );
+    }
+    else if ( pType == calendars.VTODO )
+    {
+        //kein translate.key hier, weil es sich um einen rein technischen Wert handelt:
+        if ( pDuration != undefined )
+            Entry[calendars.DUE] = String ( eMath.addInt( pStart, pDuration) );
+        else
+            Entry[calendars.DUE] = datetime.toLong(datetime.toDate(pStart, "dd.MM.yyyy 23:59")
+                ,"dd.MM.yyyy HH:mm");
+
+        if ( pStatus == undefined )
+            pStatus = calendars.STATUS_NEEDSACTION;
+
+        pStatus = mapCalendarStatus(pStatus, calendars.getBackendTypeTasks() );
+        
+    }
+
+    Entry[calendars.USER] = calendars.getCalendarUser(pUser);
+    Entry[calendars.DESCRIPTION] = pDescription;
+    Entry[calendars.SUMMARY] = pSummary;
+    Entry[calendars.STATUS] = pStatus;
+    Entry[calendars.CLASSIFICATION] = calendars.CLASSIFICATION_PUBLIC;
+    Entry[calendars.CATEGORIES] = pCategory;
+   
+
+    if( pPriority != undefined )
+    {
+        Entry[calendars.PRIORITY] = pPriority;
+    }
+
+    if( pReminder != undefined)
+    {
+        Entry[calendars.HASREMINDER] = "true";
+        Entry[calendars.REMINDER_DURATION] = pReminder;
+    }
+    else
+        Entry[calendars.HASREMINDER] = "false";
+   
+
+    if (pWithLink == false)
+    {
+        Entry[calendars.LINKS] = "0";
+    }
+    else
+    {
+        var fd = new FrameData();
+        if ( typeof(pWithLink) == "object" )
+        {
+            for ( var li = 0; li < pWithLink.length; li++ )
+            {
+                framename = pWithLink[li][0];
+                framdata = fd.getData("name", framename, ["table","idcolumn","title"])[0];
+                dbid = pWithLink[li][1];
+                linktitle = framdata[2] + " - " + pWithLink[li][2];
+
+                Entry["LINK_ALIAS_" + ( li + 1 )] = vars.getString("$sys.dbalias");
+                Entry["LINK_TABLE_" + ( li + 1 )] = framdata[0];
+                Entry["LINK_IDCOLUMN_" + ( li + 1 )] = framdata[1];
+                Entry["LINK_DBID_" + ( li + 1 )] = dbid;
+                Entry["LINK_FRAME_" + ( li + 1 )] = "comp." + framename;
+                Entry["LINK_TITLE_" + ( li + 1 )] = linktitle;
+            }
+            Entry[calendars.LINKS] = pWithLink.length.toString();
+        }
+        else
+        {
+            if ( pWithLink == true || pWithLink == undefined )
+            {
+                framename = vars.getString("$sys.currentimagename");
+                framdata = fd.getData("name", framename, ["table","idcolumn","title"])[0];
+                dbid = vars.getString("$comp.idcolumn");
+                linktitle = framdata[2] + " - " + swing.getImageContent();
+            }
+            Entry[calendars.LINKS] = "1";
+            Entry["LINK_ALIAS_1"] = vars.getString("$sys.dbalias");
+            Entry["LINK_TABLE_1"] = framdata[0];
+            Entry["LINK_IDCOLUMN_1"] = framdata[1];
+            Entry["LINK_DBID_1"] = dbid;
+            Entry["LINK_FRAME_1"] = "comp." + framename;
+            Entry["LINK_TITLE_1"] = linktitle;
+        }
+    }
+    
+
+if(pAppLinkContext && pAppLinkId)
+{
+    Entry["AppLinkContext"] = pAppLinkContext;
+    Entry["AppLinkId"] = pAppLinkId;
+}
+    return Entry;
+}
+
+/*
+ * Liefert den CalendarStatus übersetzt zurück.
+ * @param {String} pStatus req Status
+ * @param {String} pLanguage opt Sprache
+ * @param {String} pKind opt ToDo oder Event
+ *
+ * @return {String} übersetzte Status
+ */
+function getCalendarStatus( pStatus, pLanguage, pKind)
+{
+    //kein mappen des Status, da wirklich verschiedene Dinge angezeigt werden sollen
+    switch ( pStatus )
+    {
+        case calendars.STATUS_BUSY: 
+            return translate.text("Gebucht", pLanguage);
+        case calendars.STATUS_CANCELLED:
+            if(pKind == "ToDo" && pKind != undefined) return translate.text("Zurückgestellt", pLanguage)
+            return translate.text("Abgesagt", pLanguage);
+        case calendars.STATUS_COMPLETED:
+            return translate.text("Erledigt", pLanguage);
+        case calendars.STATUS_CONFIRMED:
+            return translate.text("Bestätigt", pLanguage);
+        case calendars.STATUS_FREE:
+            return translate.text("frei", pLanguage);
+        case calendars.STATUS_INPROCESS:
+            return translate.text("In Bearbeitung", pLanguage);
+        case calendars.STATUS_NEEDSACTION:
+            return translate.text("Nicht begonnen", pLanguage);
+        case calendars.STATUS_OOF:
+            return translate.text("Außer Haus", pLanguage);
+        case calendars.STATUS_TENTATIVE:
+            return translate.text("Vorläufig", pLanguage);
+        default:
+            return "";
+    }
+}
+
+/*
+ * Zu einer übergebenen Priorität wird ihre Bedeutung übersetzt und zurückgegeben.
+ *
+ * @param {String} pPriority req Priorität
+ * @param {String} pLanguage opt Sprache
+ *
+ * @return (String) übersetzte Bedeutung einer Priorität
+ */
+function getCalendarPriority(pPriority, pLanguage)
+{
+    switch(pPriority)
+    {
+        case "9":
+            return translate.text("niedrig", pLanguage);
+            break;
+        case "5":
+            return translate.text("normal", pLanguage);
+            break;
+        case "1":
+            return translate.text("hoch", pLanguage);
+            break;
+        default:
+            return translate.text("keine", pLanguage);
+            break;
+    }
+}
+
+/*
+ * Liefert zum Objekt verknüpfte Aufgaben aus dem Kalender.
+ *
+ * @param {String} pFrame req Name des Frames
+ * @param {String} pDBID req ID des verknüpften Datensatzes
+ * @param {String} pAlias opt
+ * @param {String} pLanguage opt Sprache
+ *
+ * @return {[]} mit Aufgaben aus Kalender
+ */
+function getLinkedToDos (pFrame, pDBID, pAlias, pLanguage )
+{
+    if (pAlias == undefined ) pAlias = vars.getString("$sys.dbalias");
+    var tab = [];
+    var status = " and STATUS in ('NEEDS-ACTION', 'IN-PROCESS')";
+    var exists = [];
+    var zustaendig = "";
+    var today = getDate(vars.getString("$sys.date"));
+    var filtervalues = ["", "false"];
+    if ( vars.exists("$image.FilterValuesT") )
+    {
+        filtervalues = vars.get("$image.FilterValuesT");
+        zustaendig = filtervalues[0]
+        if (filtervalues[1] == "true") status = " and STATUS in ('COMPLETED', 'CANCELLED')";
+    }
+
+    var entryids = db.table("select ENTRYID, OWNER from ASYS_CALENDARLINK "
+        + "join ASYS_CALENDARBACKEND on ELEMENTUID = ENTRYID where FRAME = 'comp." + pFrame + "' "
+        + "and ENTRYID is not null "
+        + "and ENTRYTYPE = " + calendars.VTODO + " "
+        + "and DBID = '" + pDBID + "' "
+        + status, pAlias);
+
+    for (var i = 0; i < entryids.length; i++)
+    {
+        if ( exists.indexOf(entryids[i][0]) == -1)
+        {
+            try
+                {
+                    var entry = calendars.getEntry(entryids[i][0], null, getTitleCalenderUser( entryids[i][1] ), calendars.VTODO);
+                    var entr = new Array;
+                    status = "";
+                    var user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
+                    if(user == null) user = entry[calendars.USER2]["cn"];
+                     else user = user[tools.TITLE]
+                    if ((user == zustaendig || zustaendig == ""))
+                    {
+                        entr[0] = text.encodeMS([entry[calendars.ID], user]);
+                        var due = getDate(entry[calendars.DUE]);
+                        if (due < today ) entr[1]	= "-1769402";
+                        else  if (due > today) entr[1]	= "-16777216"; else entr[1]	= "-16744020";
+                        entr[2] = "-1";  // Hintergrundfarbe
+                        entr[3] = text.decodeMS(entry[calendars.AFFECTEDUSERS]).length;
+                        entr[4] = entry[calendars.DUE]
+                        entr[5] = getCalendarStatus( entry[calendars.STATUS], pLanguage, "ToDo");
+                        entr[6] = entry[calendars.SUMMARY]
+                        entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
+                        entr[8] = getRealName(entry[calendars.ATTENDEES]);
+                        entr[9] = entry[calendars.DESCRIPTION];
+                        entr[10] = entry[calendars.PRIORITY];
+                        tab.push(entr);
+                        exists.push(entryids[i][0]);
+                    }
+            }
+            catch (ex)
+            {
+                logging.log(ex);
+            }
+        }
+    }
+    array_mDimSort(tab, 4, false); //Sortierung nach Fälligkeitsdatum
+    return tab;
+}
+
+/*
+ * Anzeige des Aufgaben-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return string Anzeige
+ */
+function show_filterLinkedToDos(pFilter)
+{
+    var retstring = "";
+    if (pFilter[0] != "")
+    {
+        var userp = tools.getUser( pFilter[0] )[tools.PARAMS];
+        retstring = translate.text("Aufgaben von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME];
+    }
+    if (pFilter[1] == "true") retstring += ", " + translate.text("erledigt / zurückgestellt");
+
+    return retstring
+}
+
+/*
+ * Liefert zum Objekt verknüpfte Events aus dem Kalender.
+ *
+ * @param {String} pFrame req Name des Frames
+ * @param {String} pDBID req ID des verknüpften Datensatzes
+ * @param {Object} pFilter opt
+ * @param {String} pAlias opt
+ * @param {String} pUser opt Benutzer
+ *
+ * @return {[]} mit Events aus Kalender
+ */
+function getLinkedEvents (pFrame, pDBID, pFilter, pAlias, pUser )
+{
+    if ( pFilter == "" || pFilter == undefined)
+        pFilter = reset_filterEvent();
+
+    var tab = [];
+    var exists = [];
+    var conditions = [];
+    var today = getDate(vars.getString("$sys.date"));
+    var conditioncount = 0;
+    var stati = [];
+
+    if ( pFilter.tentative == "true" )
+        stati.push(mapCalendarStatus(calendars.STATUS_TENTATIVE, calendars.getBackendType() ));
+
+    if ( pFilter.cancelled == "true" )
+        stati.push(mapCalendarStatus(calendars.STATUS_CANCELLED, calendars.getBackendType() ));
+
+    if ( pFilter.confirmed == "true" )
+        stati.push(mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() ));
+
+    if (calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS)
+        stati.push(calendars.STATUS_FREE);
+
+    if (pAlias == undefined ) pAlias = vars.getString("$sys.dbalias");
+
+    var entryids = db.table(["select ENTRYID, OWNER "
+        + "from ASYS_CALENDARLINK "
+        + "join ASYS_CALENDARBACKEND on ELEMENTUID = ENTRYID where FRAME = 'comp."
+        + pFrame + "' and ENTRYID is not null and ENTRYTYPE = " + calendars.VEVENT
+        + " and DBID = '" + pDBID + "' and DTSTART >= ?",
+        [ [ String(pFilter.datefrom - datetime.ONE_WEEK), SQLTYPES.DATE ]]], pAlias );
+
+    /*
+     * Check for rights before constructing condition otherwise you'll get an error by opening linked Data
+     */
+    var userToRead = []
+    if(pUser != undefined)
+    {
+        userToRead = getCalendarUsers( calendars.RIGHT_READ_APPOINTMENT, pUser );
+    }
+    else
+    {
+        userToRead = calendars.getDisplayCalendarUsers(calendars.RIGHT_READ_APPOINTMENT);
+    }
+    var userMap = {};
+    for (let i = 0; i < userToRead.length; i++)
+    {
+        userMap[userToRead[i][1]] = true;
+    }
+
+    for ( var i = 0;i < entryids.length; i++)
+    {
+        var user = getTitleCalenderUser(entryids[i][1]);
+        if(userMap[user])
+        {
+            for ( var z = 0; z < stati.length; z++ )
+                _addEntryCondition(conditions, String(++conditioncount),
+                {
+                    TYPE: calendars.VEVENT,
+                    START: pFilter.datefrom,
+                    END: pFilter.dateto,
+                    USER: user,
+                    STATUS: stati[z],
+                    UID: entryids[i][0]
+                });
+        } else continue
+    }
+    conditions["COUNT"] = String(conditioncount);
+
+    var entries = calendars.getExpandedEntries(conditions, pFilter.datefrom, pFilter.dateto);
+    for ( let i = 0; i < entries.length; i++)
+    {
+        for (var j = 0; j < entries[i].length; j++)
+        {
+            var entry = entries[i][j];
+            if( exists.indexOf(entry[calendars.ID]) == -1 && ( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf(pFilter.category) > 0))
+            {
+                var entr = new Array;
+                var start = getDate(entry[calendars.DTSTART]);
+                var end = getDate(entry[calendars.DTEND]);
+                user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
+                if(user == null) user = entry[calendars.USER2]["cn"];
+                 else user = user[tools.TITLE]
+                entr[0] = text.encodeMS([entry[calendars.ID], user , entry[calendars.RECURRENCEID]]);
+                if (end < today) entr[1]	= "-6710887" ;
+                else if (start <= today && end >= today )   entr[1] = "-16744020" ;
+                else entr[1] = "-16777216";
+                entr[2] = "-1"
+                entr[3] = text.decodeMS(entry[calendars.AFFECTEDUSERS]).length;
+                entr[4] = entry[calendars.DTSTART]
+                entr[5] = entry[calendars.DTEND]
+                entr[6] = entry[calendars.SUMMARY]
+                entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
+                entr[8] = getRealName(entry[calendars.ATTENDEES]);
+                entr[9] = entry[calendars.DESCRIPTION]
+                tab.push(entr);
+                exists.push(entry[calendars.ID]);
+            }
+        }
+    }
+    array_mDimSort(tab, 4, false);
+    return tab;
+}
+
+/*
+ * Liefert Aufgaben aus dem Kalender.
+ *
+ * @param {Object} pFilter req
+ * @param {String} pLanguage opt
+ * @param {bool} pShortForm opt wenn true wird nur die kurzversion geladen
+ *
+ * @return {[]} mit allen aufgaben aus dem Kalender
+ */
+function getTodos( pFilter, pLanguage, pShortForm )
+{
+    if ( pFilter == "" )    pFilter =  reset_filterToDo();
+    var tab = [];
+    var today = getDate (vars.getString("$sys.date"));
+    var conditions = [];
+    var conditioncount = 0;
+    var user = pFilter.user;
+    var stati = [];
+    var status = [];
+    var exists = [];
+    var entries = [];
+
+    if ( pFilter.needs_action == "true" )
+    {
+        stati.push(mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ));
+        status.push("NEEDS-ACTION");
+    }
+    if ( pFilter.in_process == "true" )
+    {
+        stati.push(mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ));
+        status.push("IN-PROCESS");
+    }
+    if ( pFilter.completed == "true" )
+    {
+        stati.push(mapCalendarStatus(calendars.STATUS_COMPLETED, calendars.getBackendTypeTasks() ));
+        status.push("COMPLETED");
+    }
+    if ( pFilter.cancelled == "true" )
+    {
+        stati.push(mapCalendarStatus(calendars.STATUS_CANCELLED, calendars.getBackendTypeTasks() ));
+        status.push("CANCELLED");
+    }
+    if (pFilter.delegated == "true" )
+    {
+        var from = [pFilter.datefrom, SQLTYPES.TIMESTAMP];
+        var to = [pFilter.dateto, SQLTYPES.TIMESTAMP];
+        setAllCalendarGrant();
+        user = calendars.getCalendarUser(user);
+        user = db.table(["select ELEMENTUID, OWNER from ASYS_CALENDARBACKEND where ENTRYTYPE = 2 and OWNER != '" + user + "' and ORGANIZER = '"
+            + user + "' and STATUS in ('" + status.join("', '") + "') and (( STARTTIME >= ? and STARTTIME <= ?) or "
+            + "( ENDTIME >= ? and ENDTIME <= ? ) or ( STARTTIME >= ? and ENDTIME <= ? ))", [from, to, from, to, from, to]] );
+
+        for (let i = 0; i < user.length; i++ )
+        {
+            try
+            {
+                entries.push([calendars.getEntry(user[i][0], null, getTitleCalenderUser(user[i][1]), calendars.VTODO)]);
+            }
+            catch(err){
+                logging.log(err);
+            }
+        }
+        setCalendarGrant();
+    }
+    else
+    {
+        if ( typeof( pFilter.user ) != "object" )  user = [user.trim()];
+        for (let i = 0; i < user.length; i++ )
+        for ( var z = 0; z < stati.length; z++ )
+            _addEntryCondition(conditions, ++conditioncount,
+            {
+                TYPE: calendars.VTODO,
+                START: pFilter.datefrom,
+                END: pFilter.dateto,
+                USER: user[i],
+                STATUS: stati[z]
+            });
+
+        conditions["COUNT"] = String(conditioncount);
+        entries = calendars.getEntries(conditions);
+    }
+
+    for (i = 0; i < entries.length; i++)
+    {
+        var entry = entries[i][0];
+        user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
+        if (user == null)  user = entry[calendars.USER2]["cn"];
+         else user = user[tools.TITLE]
+        if ( !(user != vars.getString("$sys.user") && entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE) // no privat
+            && !( pFilter.delegated == "true" && ( isAffectedUser( entry, pFilter.user) || exists.indexOf(entry[calendars.ID]) > -1  ) ) // no duplicate
+            && ( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf( pFilter.category ) > -1 ) ) // Filter category
+            {
+            var entr = [];
+            var links =  entry[calendars.LINKS];
+            var due = entry[calendars.DUE] != "" ? getDate(entry[calendars.DUE]) : "";
+            entr[0] = text.encodeMS([entry[calendars.ID], user]);
+            if (due == today )      entr[1] = "-16744020" ;
+            else if(due == "")      entr[1] = "-13395712";
+            else if (due > today )  entr[1] = "-16777216";
+            else                    entr[1]	= "-1769402";
+            if (entry[calendars.PRIORITY] == "1") entr[2] = "-100";
+            entr[3] = entry[calendars.ATTENDEES].length;
+            entr[4] = entry[calendars.DUE];
+
+            if (pShortForm)
+            {
+                entr[5] = entry[calendars.SUMMARY];
+                entr[6] = entry[calendars.DESCRIPTION];
+            }
+            else
+            {
+                entr[5] = getCalendarStatus( entry[calendars.STATUS], pLanguage, "ToDo");
+                entr[6] = getCalendarPriority( entry[calendars.PRIORITY], pLanguage);
+                entr[7] = entry[calendars.SUMMARY];
+                entr[8] = getRealName( [ entry[calendars.ORGANIZER2] ] );
+                entr[9] = getRealName( entry[calendars.ATTENDEES] );
+                if (links == undefined) entr[10] = "";	else entr[10] = links;
+                entr[11] = entry[calendars.DESCRIPTION];
+                entr[12] = entry[calendars.CREATED];
+            }
+
+            tab.push(entr);
+            if ( pFilter.delegated == "true" )  exists.push(entry[calendars.ID]);
+        }
+    }
+
+    if (pShortForm)
+        sortArray(tab, -1, 4, 1, 5);
+    else
+        sortArray(tab, -1, 4, 1, 12 );
+
+    return tab;
+}
+
+/*
+ * Fügt eine Condition hinzu
+ *
+ * @param {[]} pConditions req die Conditions
+ * @param {Integer} pIndex req Index der Condition
+ * @param {Object} pValues req
+ *
+ * @return {void}
+ */
+function _addEntryCondition(pConditions, pIndex, pValues)
+{
+    var params = ["TYPE", "START", "END", "USER", "STATUS", "UID"];
+
+    for (var i = 0; i < params.length; i++)
+        if (pValues[params[i]] != undefined)    pConditions[params[i] + "_" + pIndex] = pValues[params[i]];
+}
+CalendarUtil.addEntryCondition = function(pConditions, pIndex, pValues)
+{
+    _addEntryCondition(pConditions, pIndex, pValues);
+} 
+
+/*
+ * Liefert Events zu bestimmten Usern/Daten in einem Array.
+ *
+ * @param {Object} pFilter req
+ * @param {String} pLanguage opt
+ * @param {bool} pShortForm opt wenn true wird nur die kurzversion geladen
+ *
+ * @return {[]}
+ *				[0] ID
+ *				[1] Vordergrundfarbe
+ *				[2] Hintergrundfarbe
+ *				[3] Start
+ *				[4] Ende
+ *				[5] Betreff
+ *				[6] Inhalt
+ *				[7] User
+ *				[8] Anzahl Verknüpfungen
+ *				[9] Klassifikation (privat/öffentlich)
+ */
+function getEvents( pFilter, pLanguage, pShortForm )
+{
+    if ( pFilter == "" )  pFilter = reset_filterEvent();
+    var tab = [];
+    var conditions = [];
+    var today = getDate(vars.getString("$sys.date"));
+    var conditioncount = 0;
+    var stati = [];
+    var user = undefined;
+    if ( pFilter.tentative == "true" )    stati.push(calendars.STATUS_TENTATIVE);
+    if ( pFilter.cancelled == "true" )    stati.push(calendars.STATUS_CANCELLED);
+    if ( pFilter.confirmed == "true" )
+        stati.push(mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() ));
+
+    if (getCalendarSystemType(calendars.VEVENT) == calendars.BACKEND_EXCHANGEWS && pFilter.free == "true")
+        stati.push(calendars.STATUS_FREE);
+
+    if ( pFilter.user != "" )	user = (pFilter.user).trim();
+
+    for ( var z = 0; z < stati.length; z++ )
+        _addEntryCondition(conditions, String(++conditioncount),
+        {
+            TYPE: calendars.VEVENT,
+            START: pFilter.datefrom,
+            END: pFilter.dateto,
+            USER: user,
+            STATUS: stati[z]
+        });
+
+    conditions["COUNT"] = String(conditioncount);
+
+    var entries = calendars.getExpandedEntries(conditions, pFilter.datefrom, pFilter.dateto);
+    for ( var i = 0;i < entries.length; i++)
+    {
+        for (var j = 0; j < entries[i].length; j++)
+        {
+            var entry = entries[i][j];
+            if( pFilter.category == "" || text.decodeMS(entry[calendars.CATEGORIES]).indexOf(pFilter.category) > -1 )
+            {
+                var entr = new Array;
+                var start = getDate(entry[calendars.DTSTART]);
+                var end = getDate(entry[calendars.DTEND]);
+
+                user = tools.getUserByAttribute(tools.CALENDARID, entry[calendars.USER2]["paramvalue"].substr("mailto:".length))
+                if(user == null) user = entry[calendars.USER2]["cn"];
+                else user = user[tools.TITLE]
+                entr[0] = text.encodeMS([ entry[calendars.ID], user, entry[calendars.RECURRENCEID]]);
+                if (end < today ) entr[1]	="-6710887" ;
+                else if (start > today) entr[1]	= "-16777216";
+                else entr[1]	= "-16744020" ;
+                entr[2] = "-1"
+                entr[3] = entry[calendars.ATTENDEES].length;
+                entr[4] = entry[calendars.DTSTART];
+                entr[5] = entry[calendars.DTEND];
+                entr[6] = entry[calendars.SUMMARY];
+
+                if (!pShortForm)
+                {
+                    entr[7] = getRealName([entry[calendars.ORGANIZER2]]);
+                    entr[8] = getRealName(entry[calendars.ATTENDEES]);
+                    entr[9] = getCalendarStatus( entry[calendars.STATUS], pLanguage );
+                    if (entry[calendars.LINKS] == undefined) entr[10] = "";
+                    else entr[10] = entry[calendars.LINKS];
+                    entr[11] = entry[calendars.DESCRIPTION];
+                }
+                tab.push( entr );
+            }
+        }
+    }
+    sortArray(tab, -1, 4, 1, 6 );
+    return tab;
+}
+
+/*
+ * Liefert den echten Namen anhand des Logins zurück
+ *
+ * @param {Array}[]} pUserMap req pUserMap
+ *
+ * @return String
+ */
+function getRealName(pUserMap)
+{
+    var resultName = [];
+    var RealNames = getRealNameObject(pUserMap);
+
+    for ( var realname in RealNames )   resultName.push(RealNames[realname]);
+    return resultName.join(", \n");
+}
+
+/*
+ * Liefert den echten Namen anhand des Logins zurück
+ *
+ * @param {Array}[]} pUserMap req pUserMap
+ *
+ * @return Object
+ */
+function getRealNameObject(pUserMap)
+{
+    var resultObject = {};
+    var realname = "";
+
+    for ( let i = 0; i < pUserMap.length; i++ )
+    {
+        let user = tools.getUserByAttribute(tools.CALENDARID, [pUserMap[i]["paramvalue"].substr("mailto:".length)])
+        if ( user != null )
+        {
+            if(vars.exists("$global.firstLastName") && vars.get("$global.firstLastName"))
+                realname = user[tools.PARAMS][tools.LASTNAME] + " " + user[tools.PARAMS][tools.FIRSTNAME];
+            else realname = user[tools.PARAMS][tools.FIRSTNAME] + " " + user[tools.PARAMS][tools.LASTNAME];
+        }
+        else //Der User existiert nicht im System
+        {
+            realname = pUserMap[i]["cn"] + " " + pUserMap[i]["paramvalue"];
+        }
+        resultObject[pUserMap[i]["cn"]] = realname;
+    }
+    return resultObject;
+}
+
+
+/*
+ * Gibt an ob der User im Calendarobject vorhanden ist
+ *
+ * @param {Object} pEntry req Calendarobject
+ * @param {String} pUser req Title
+ *
+ * @return Object
+ */
+function isAffectedUser( pEntry, pUser)
+{
+    var usermap = pEntry[calendars.ATTENDEES];
+
+    for ( var i = 0; i < usermap.length; i++ )
+        if( usermap[i]["cn"] == pUser )
+            return true;
+    return false;
+}
+
+/*
+ * Liefert das Datum ohne Urzeit zurück
+ *
+ * @param {String} datetimeIn req DatumZeit
+ *
+ * @return {date}
+ */
+function getDate( datetimeIn )
+{
+    if ( datetimeIn != "")
+        return datetime.clearTime(datetimeIn);
+    else return "";
+}
+
+/*
+ * Setzt den Aufgaben-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return {image}
+ */
+function filterToDo( pFilter )
+{
+    var error = true;
+    var von = pFilter.datefrom;
+    var bis = pFilter.dateto;
+    if ( pFilter == "" )	pFilter =  reset_filterToDo();
+    do
+    {
+        vars.set("$local.relation_id", pFilter.user);
+        vars.set("$local.edt_von", pFilter.datefrom);
+        vars.set("$local.edt_bis", pFilter.dateto);
+        vars.set("$local.category", pFilter.category);
+        vars.set("$local.delegated", pFilter.delegated);
+        vars.set("$local.needs_action", pFilter.needs_action);
+        vars.set("$local.in_process", pFilter.in_process);
+        vars.set("$local.completed", pFilter.completed);
+        vars.set("$local.cancelled", pFilter.cancelled);
+        var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_TASK_FILTER");
+        if( res != null )
+        {
+            pFilter.user =      res["DLG_TASK_FILTER.relation_id"];
+            pFilter.datefrom =  res["DLG_TASK_FILTER.edt_von"];
+            pFilter.dateto =    res["DLG_TASK_FILTER.edt_bis"];
+            pFilter.category =  res["DLG_TASK_FILTER.category"];
+            pFilter.delegated = res["DLG_TASK_FILTER.delegated"];
+            pFilter.needs_action = res["DLG_TASK_FILTER.needs_action"];
+            pFilter.in_process = res["DLG_TASK_FILTER.in_process"];
+            pFilter.completed = res["DLG_TASK_FILTER.completed"];
+            pFilter.cancelled = res["DLG_TASK_FILTER.cancelled"];
+            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
+            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
+        }
+        else
+        {
+            pFilter.datefrom = von;
+            pFilter.dateto = bis;
+            error = false;
+        }
+    }
+    while ( error )
+    return pFilter;
+}
+
+/*
+ * Setzt den Aufgaben-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return {image}
+ */
+function filterToDo_Neon( pFilter )
+{
+    var error = true;
+    var von = pFilter.datefrom;
+    var bis = pFilter.dateto;
+    if ( pFilter == "" )	pFilter =  reset_filterToDo();
+    do
+    {
+        var prompts = {
+            FILTER_TEXT: translate.text("Bitte Filterbedingungen setzen"),
+            RESPONSIBLE: pFilter.user,
+            DATE_FROM: pFilter.datefrom,
+            DATE_TO: pFilter.dateto,
+            CATEGORY_TODO: pFilter.category,
+            DELEGATED: pFilter.delegated,
+            NEEDS_ACTION: pFilter.needs_action,
+            IN_PROCESS: pFilter.in_process,
+            COMPLETED: pFilter.completed,
+            CANCELLED: pFilter.cancelled
+        }
+
+        var buttons = {
+            "ok" : translate.text("OK"),
+            "": translate.text("Abbrechen")
+            };
+        var defaultButton = "ok";
+
+        var res = question.openDialog("DLG_FILTER_TODO_Neon", prompts, buttons, defaultButton);
+
+        if( res.button != null )
+        {
+            pFilter.user =      res.RESPONSIBLE;
+            pFilter.datefrom =  res.DATE_FROM;
+            pFilter.dateto =    res.DATE_TO;
+            pFilter.category =  res.CATEGORY_TODO;
+            pFilter.delegated = res.DELEGATED;
+            pFilter.needs_action = res.NEEDS_ACTION;
+            pFilter.in_process = res.IN_PROCESS;
+            pFilter.completed = res.COMPLETED;
+            pFilter.cancelled = res.CANCELLED;
+            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
+            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
+        }
+        else
+        {
+            pFilter.datefrom = von;
+            pFilter.dateto = bis;
+            error = false;
+        }
+    }
+    while ( error )
+    return pFilter;
+}
+
+
+/*
+ * Anzeige des Aufgaben-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return string Anzeige
+ */
+function show_filterToDo(pFilter)
+{
+    var retstring = "";
+    var userp = tools.getUser( pFilter.user )[tools.PARAMS];
+    if (pFilter.user != "") retstring = (translate.text("Aufgaben von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME]);
+    if (pFilter.datefrom != "") retstring += ", " + datetime.toDate(pFilter.datefrom, translate.text("dd.MM.yyyy"));
+    if (pFilter.dateto != "") retstring += " - " + datetime.toDate(pFilter.dateto, translate.text("dd.MM.yyyy"));
+    if (pFilter.category != "") retstring += ", " + translate.text("Kategorie") + " " + pFilter.category;
+    if (pFilter.delegated == "true") retstring += ", " + translate.text("delegiert");
+    if (pFilter.needs_action == "true") retstring += ", " + translate.text("Nicht begonnen");
+    if (pFilter.in_process == "true") retstring += ", " + translate.text("In Bearbeitung");
+    if (pFilter.completed == "true") retstring += ", " + translate.text("Erledigt");
+    if (pFilter.cancelled == "true") retstring += ", " + translate.text("Zurückgestellt");
+
+    return retstring
+}
+
+/*
+ * Setzt den Aufgaben-Filter zurück
+ *
+ * @return {filter}
+ */
+function reset_filterToDo()
+{
+    var today = getDate (vars.getString("$sys.date"));
+
+    return pFilter =  {
+        user: vars.getString("$sys.user"),
+        datefrom: String(eMath.subInt(today, 720 * datetime.ONE_DAY)),
+        dateto: String(eMath.addInt(eMath.addInt(today, 3 * datetime.ONE_DAY)
+            ,datetime.ONE_DAY - datetime.ONE_MINUTE)),
+        category: "",
+        delegated: "",
+        needs_action: "true",
+        in_process: "true",
+        completed: "",
+        cancelled: ""
+    };
+}
+
+/*
+ * Setzt den Event-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return {image}
+ */
+function filterEvent( pFilter )
+{
+    var error = true;
+    var von = pFilter.datefrom;
+    var bis = pFilter.dateto;
+    if ( pFilter == "" )	pFilter =  reset_filterEvent();
+    do
+    {
+        vars.set("$local.relation_id", pFilter.user);
+        vars.set("$local.edt_von", pFilter.datefrom);
+        vars.set("$local.edt_bis", pFilter.dateto);
+        vars.set("$local.category", pFilter.category);
+        vars.set("$local.tentative", pFilter.tentative);
+        vars.set("$local.confirmed", pFilter.confirmed);
+        vars.set("$local.cancelled", pFilter.cancelled);
+        vars.set("$local.free", pFilter.free);
+        var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_EVENT_FILTER");
+        if( res != null )
+        {
+            pFilter.user =      res["DLG_EVENT_FILTER.relation_id"];
+            pFilter.datefrom =  res["DLG_EVENT_FILTER.edt_von"];
+            pFilter.dateto =    res["DLG_EVENT_FILTER.edt_bis"];
+            pFilter.category =  res["DLG_EVENT_FILTER.category"];
+            pFilter.tentative = res["DLG_EVENT_FILTER.tentative"];
+            pFilter.confirmed = res["DLG_EVENT_FILTER.confirmed"];
+            pFilter.cancelled = res["DLG_EVENT_FILTER.cancelled"];
+            pFilter.free      = res["DLG_EVENT_FILTER.free"];
+            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
+            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
+        }
+        else
+        {
+            pFilter.datefrom = von;
+            pFilter.dateto = bis;
+            error = false;
+        }
+    }
+    while ( error )
+    return pFilter;
+}
+
+/*
+ * Setzt den Event-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return {image}
+ */
+function filterEvent_Neon( pFilter )
+{
+    var error = true;
+    var von = pFilter.datefrom;
+    var bis = pFilter.dateto;
+    if ( pFilter == "" )	pFilter =  reset_filterEvent();
+    do
+    {
+        var buttons = {
+            "ok" : translate.text("OK"),
+            "": translate.text("Abbrechen")
+        };
+        var defaultButton = "ok";
+
+        var prompts = {
+            FILTER_TEXT: translate.text("Bitte Filterbedingungen setzen"),
+            RESPONSIBLE_APPOINTMENT: pFilter.user,
+            DATE_FROM: pFilter.datefrom,
+            DATE_TO: pFilter.dateto,
+            CATEGORY_APPOINTMENT: pFilter.category,
+            TENTATIVE: pFilter.tentative,
+            CONFIRMED: pFilter.confirmed,
+            CANCELLED: pFilter.cancelled
+        }
+        var res = question.openDialog("DLG_FILTER_APPOINTMENT_Neon", prompts, buttons, defaultButton);
+        if( res.button != null )
+        {
+            pFilter.user =      res.RESPONSIBLE_APPOINTMENT;
+            pFilter.datefrom =  res.DATE_FROM;
+            pFilter.dateto =    res.DATE_TO;
+            pFilter.category =  res.CATEGORY_APPOINTMENT;
+            pFilter.tentative = res.TENTATIVE;
+            pFilter.confirmed = res.CONFIRMED;
+            pFilter.cancelled = res.CANCELLED;
+            if (pFilter.datefrom != "" && pFilter.dateto != "" && pFilter.dateto >= pFilter.datefrom ) error = false;
+            else question.showMessage(translate.text("Bitte Datumseingabe prüfen!"))
+        }
+        else
+        {
+            pFilter.datefrom = von;
+            pFilter.dateto = bis;
+            error = false;
+        }
+    }
+    while ( error )
+    return pFilter;
+}
+
+/*
+ * Anzeige des Event-Filter
+ *
+ * @param {Object} pFilter req
+ *
+ * @return string Anzeige
+ */
+function show_filterEvent(pFilter)
+{
+    var retstring = "";
+
+    var userp = tools.getUser( pFilter.user )[tools.PARAMS];
+    if (pFilter.user != "") retstring = translate.text("Termine von") + " " + userp[tools.FIRSTNAME] + " " + userp[tools.LASTNAME];
+    if (pFilter.datefrom != "") retstring += ", " + datetime.toDate(pFilter.datefrom, translate.text("dd.MM.yyyy"));
+    if (pFilter.dateto != "") retstring += " - " + datetime.toDate(pFilter.dateto, translate.text("dd.MM.yyyy"));
+    if (pFilter.category == "true") retstring += ", " + translate.text("Kategorie") + " " + pFilter.category;
+    if (pFilter.tentative == "true") retstring += ", " + translate.text("Vorläufig");
+    if (pFilter.confirmed == "true") retstring += ", " + translate.text("Bestätigt");
+    if (pFilter.cancelled == "true") retstring += ", " + translate.text("Abgesagt");
+
+    return retstring
+}
+
+/*
+ * Setzt den Event-Filter zurück
+ *
+ * @return {filter}
+ */
+function reset_filterEvent()
+{
+    var today = getDate (vars.getString("$sys.date"));
+
+    return pFilter =  {
+        user: vars.getString("$sys.user"),
+        datefrom: String(today), //nur die Termine ab heute anzeigen,
+        //die von vor einer Woche sind uninteressant
+        dateto: String(eMath.addInt(eMath.addInt(today, datetime.ONE_WEEK)
+            ,datetime.ONE_DAY - datetime.ONE_MINUTE)),
+        category: "",
+        tentative: "true",
+        confirmed: "true",
+        cancelled: "",
+        free: "true"
+    };
+}
+
+/*
+ * Setzt den Aufgaben-Filter in Tab Aufgaben
+ *
+ * @return {image}
+ */
+function filterLinkedToDo()
+{
+    var filtervalues = ["", "false"];
+    vars.set("$local.CalenderUser", getCalenderUser( calendars.RIGHT_READ_TASK ));
+
+    //Vorbelegen der Werte, wenn bereits gewählt wurde:
+    if(vars.exists("$image.FilterValuesT"))
+    {
+        filtervalues = vars.get("$image.FilterValuesT");
+        vars.set("$local.relation_id", filtervalues[0]);
+        vars.set("$local.done", filtervalues[1]);
+    }
+
+    var res = swing.askUserQuestion(translate.text("Bitte Filterbedingungen setzen"), "DLG_TASK_DATE_LINKED_FILTER");
+
+    if( res != null && res != undefined && res != "")
+    {
+        filtervalues[0] = res["DLG_TASK_DATE_LINKED_FILTER.relation_id"];
+        filtervalues[1] = res["DLG_TASK_DATE_LINKED_FILTER.done"]
+    }
+    vars.set("$image.FilterValuesT", filtervalues );
+
+    return(filtervalues);
+}
+
+/*
+ * Setzt den Aufgabe-Filter zurück
+ *
+ * @return {image}
+ */
+function resetfilterLinkedToDo()
+{
+    var filtervalues = ["", "false"];
+
+    vars.set("$image.FilterValuesT", filtervalues );
+
+}
+
+/*
+ * setzt die Kalenderrechte
+ *
+ * @return {void}
+ */
+function setCalendarGrant()
+{
+    calendars.resetCalendarUser();
+    var user_read_todo = [];
+    var user_write_todo = [];   // ["Admin"]
+    var user_read_event = [];
+    var user_write_event = [];
+    var tree = {};
+    var data = db.table("select THEMEID, THEME.THEME_ID, LOGIN, STATUS from THEME "
+        + " left join EMPLOYEE on EMPLOYEE.THEME_ID = THEMEID left join RELATION on RELATION_ID = RELATIONID and STATUS = 1"
+        +" where KIND = 2");
+    for ( let i = 0; i < data.length; i++)
+    {
+        if ( tree[data[i][0]] == undefined )    tree[data[i][0]] = {
+            pid: data[i][1],
+            isuser: false
+        };
+        if ( data[i][2] != "" && data[i][3] != "" )     tree[data[i][2]] = {
+            pid: data[i][0],
+            isuser: true
+        };
+    }
+
+    var user = vars.getString("$sys.user");
+    // Lese- und Schreibrechte auf Kalender aus Datentabelle holen
+    data = db.table("select HASRIGHTFOR, TODO_RIGHTS, EVENT_RIGHTS from AOSYS_CALENDAR_RIGHTS where LOGIN = '" + user + "'");
+    for ( var i = 0; i < data.length; i++ )
+        if(tree[data[i][0]] != undefined)
+            tree[data[i][0]].grants = data[i].slice(1);
+
+    for ( login in tree )
+    {
+        if( tree[login].isuser )
+        {
+            var grantstodo = __getGrants( login, 0 );
+            var grantsevent = __getGrants( login, 1 );
+            if ( grantstodo.length + grantsevent.length > 0 )
+            {
+                if ( grantstodo == "1" || grantstodo == "3")  user_read_todo.push(login);
+                if ( grantstodo == "2" || grantstodo == "3")  user_write_todo.push(login);
+                if ( grantsevent == "1" || grantsevent == "3")  user_read_event.push(login);
+                if ( grantsevent == "2" || grantsevent == "3")  user_write_event.push(login);
+            }
+        }
+    }
+    calendars.setCalendarUser(user_read_todo, calendars.RIGHT_READ_TASK, true, calendars.SORTSTRATEGY_NATURAL );
+    calendars.setCalendarUser(user_write_todo, calendars.RIGHT_WRITE_TASK, true, calendars.SORTSTRATEGY_NATURAL );
+    calendars.setCalendarUser(user_read_event, calendars.RIGHT_READ_APPOINTMENT, true, calendars.SORTSTRATEGY_NATURAL );
+    calendars.setCalendarUser(user_write_event, calendars.RIGHT_WRITE_APPOINTMENT, true, calendars.SORTSTRATEGY_NATURAL );
+
+    //********** Ressourcen in Kalender einfügen ************
+    var ressource = tools.getUsersWithRole("PROJECT_Ressource");
+    calendars.setCalendarUser(  ressource, calendars.RIGHT_READ_APPOINTMENT | calendars.RIGHT_WRITE_APPOINTMENT  );
+
+    //add all users from support-role since support-action-tasks (sp_supportAktionen) generates tasks for all support-role members
+    //and if you're a member you are allowed to edit these
+    if (tools.hasRole(user, "PROJECT_Support"))
+    {
+        var support = tools.getUsersWithRole("PROJECT_Support");
+        calendars.setCalendarUser(  support, calendars.RIGHT_WRITE_TASK | calendars.RIGHT_READ_TASK  );
+    }
+
+    function __getGrants( pKey, pIndex )
+    {
+        var grants = [];
+        if ( tree[pKey].grants != undefined && tree[pKey].grants[pIndex]) grants = tree[pKey].grants[pIndex];
+        else if ( tree[pKey].pid != "" )   grants = __getGrants( tree[pKey].pid, pIndex );
+        return grants;
+    }
+}
+
+/*
+ * setzt Recht für alle Kalender
+ *
+ * @return {void}
+ */
+function setAllCalendarGrant()
+{
+    calendars.resetCalendarUser();
+    var users = tools.getStoredUsers();
+    var calendar_user = [];
+    for ( var i = 0; i < users.length; i++ )    calendar_user.push( users[i][1] );
+    calendars.setCalendarUser(calendar_user, calendars.RIGHT_READ_TASK | calendars.RIGHT_WRITE_TASK, false, calendars.SORTSTRATEGY_NATURAL );
+}
+
+/*
+ * gibt die Logins der user, die den übergebenen User als Attribute eingetragen haben, zurück
+ *
+ * @param {[]} pUsers req Logins
+ * @param {String []} pAttrName req AttributeName für Employee
+ * @param {String []} pFields opt
+ *
+ * @return {String []} Logins
+ */
+function getUsersbyAttr( pUsers, pAttrName, pFields )
+{
+    if (typeof(pAttrName) == "string") pAttrName = [pAttrName]
+
+    if ( pFields == undefined )
+    {
+        pFields = ["LOGIN"];
+    }
+
+    var sqlstr = "select " + pFields.join(", ") + " from ATTRLINK join ATTR on ATTRLINK.ATTR_ID = ATTRID and OBJECT_ID = 12 "
+    + "and ATTRNAME in ('" + pAttrName.join("','") + "') "
+    + " join EMPLOYEE on EMPLOYEEID = ATTRLINK.ROW_ID join RELATION on RELATION_ID = RELATIONID join PERS on PERS_ID = PERSID"
+    + " where VALUE_ID in (select EMPLOYEEID from EMPLOYEE where LOGIN in ('" + pUsers.join("','") + "'))"
+    + "";
+
+    if(pFields.length == 1)
+        return db.array(db.COLUMN, sqlstr);
+    else
+        return db.table(sqlstr);
+}
+
+/*
+ * Gibt die Anzahl der verknüpften Aufgaben und Termine zurück.
+ *
+ * @param {String} pID req
+ * @param {String} pFrame req
+ *
+ * @return {String} text
+ */
+function countLinkedTodoEvent(pID, pFrame)
+{
+    var today = getDate (vars.getString("$sys.date"));
+    var datefrom = String(today);
+    var dateto = String(eMath.addInt(today, datetime.ONE_WEEK));
+
+    var str = "select count(distinct ELEMENTUID) from ASYS_CALENDARLINK join ASYS_CALENDARBACKEND on ELEMENTUID = ASYS_CALENDARLINK.ENTRYID "
+    + " where FRAME = 'comp." + pFrame + "' and ELEMENTUID is not null and DBID = '" + pID + "'";
+    var rettask = db.cell(str + "and ENTRYTYPE = " + calendars.VTODO + " and STATUS in ('"
+        + mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ) + "', '"
+        + mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ) + "')");
+
+    var eventStatusList = [
+         mapCalendarStatus(calendars.STATUS_CONFIRMED, calendars.getBackendType() )
+        ,mapCalendarStatus(calendars.STATUS_TENTATIVE, calendars.getBackendType() )
+    ];
+
+    if (calendars.getBackendType() == calendars.BACKEND_EXCHANGEWS)
+        eventStatusList.push(calendars.STATUS_FREE);
+
+    var retevent = db.cell([str + " and ENTRYTYPE = " + calendars.VEVENT + " and STATUS in ('" + eventStatusList.join("', '") + "')"
+            + " and DTSTART >= ? and DTEND <= ?",
+        [ [ String(datefrom), SQLTYPES.DATE ],  [String(dateto), SQLTYPES.DATE ] ]]);
+
+    result.string(translate.withArguments("&Aufg / Term (%0/%1)", [rettask, retevent]));
+}
+
+/*
+ * Gibt die Anzahl der verknüpften Aufgaben zurück.
+ *
+ * @param {String} pID req
+ * @param {String} pFrame req
+ *
+ * @return {String} text
+ */
+function countLinkedTodo(pID, pFrame)
+{
+    var str = "select count(distinct ELEMENTUID) "
+    + "from ASYS_CALENDARLINK "
+    + "join ASYS_CALENDARBACKEND on ELEMENTUID = ASYS_CALENDARLINK.ENTRYID "
+    + " where FRAME = 'comp." + pFrame + "' "
+    + "and ELEMENTUID is not null and DBID = '" + pID + "'";
+
+    var rettask = db.cell(str + "and ENTRYTYPE = " + calendars.VTODO
+        + " and  STATUS in ('"
+        + mapCalendarStatus(calendars.STATUS_NEEDSACTION, calendars.getBackendTypeTasks() ) + "', '"
+        + mapCalendarStatus(calendars.STATUS_INPROCESS, calendars.getBackendTypeTasks() ) + "')"
+        + "");
+
+    result.string(translate.withArguments("&Aufgaben (%0)", [rettask]));
+}
+
+/*
+ * Gibt die Überschneidungen von Termine zurück.
+ *
+ * @param {Date} pStart req
+ * @param {Date} pEnd req
+ * @param {Array} pUsers req
+ *
+ * @return {String Array} Termine
+ */
+function getOverlappingEvents(pStart, pEnd, pUsers  )
+{
+    var resultEvents = new Array();
+    var users = pUsers;
+    if (calendars.getBackendType() == calendars.BACKEND_DB && pStart != "" && pEnd != "" && users.length > 0)
+    {
+        calendars.clearCache();
+        for (var u = 0; u < users.length; u++)
+        {
+            var localuid = vars.get("$image.entry")[calendars.ID]
+            var condition = new Array();
+            condition["COUNT"] = "1";
+            condition["TYPE_1"] = calendars.VFREEBUSY;
+            condition["USER_1"] = users[u][0];
+            condition["START_1"] = pStart;
+            condition["END_1"] = pEnd;
+
+            var fbsall = calendars.getEntries(condition);
+            for (var j = 0; j < fbsall.length; j++)
+            {
+                var fbs = fbsall[j];
+                for (var i = 0; i < fbs.length; i++)
+                {
+                    var next = fbs[i];
+                    var uid = next[calendars.ID];
+                    var sum = next[calendars.SUMMARY];
+                    if (uid != localuid)
+                    {
+                        var freebusy = next[calendars.FREEBUSY];
+                        var freebusyDec = text.decodeMS(freebusy);
+                        var match = false;
+                        for (var k = 0; k < freebusyDec.length; k++)
+                        {
+                            var freebusyInstance = text.decodeMS(freebusyDec[k]);
+                            if (!freebusyInstance[0].equals("FREE"))
+                            {
+                                match = true;
+                            }
+                        }
+                        if (match)  resultEvents.push([users[u][2], sum != null && sum.length > 0 ? sum : "?", uid]);
+                    }
+                }
+            }
+        }
+    }
+    return resultEvents;
+}
+
+/*
+ * Überprüft den Eintrag, wenn eine neue Aufgaben angelegt wird darauf, ob private Aufgaben für andere erstellt werden
+ *
+ * @param {String[]} pUser die Liste der User, denen die Aufgabe zugewiesen werden soll
+ * @param {String} pClassification die Klassifizierung der Aufgabe - "PRIVATE"
+ *
+ * @return {Boolean} ob der Eintrag in der Konstellation möglich ist, wenn nicht wird eine Meldung ausgegeben
+ */
+function checkEntry(pUser, pClassification )
+{
+    if( pClassification == "PRIVATE" &&
+        ( pUser.length > 1 || text.decodeMS(pUser[0][0])[1] != "CN:" + vars.getString("$sys.user")))
+        {
+        question.showMessage(translate.text("Eine private Aufgabe kann nicht jemand anderem zugewiesen werden."));
+        return false;
+    }
+    else
+    {
+        return true;
+    }
+}
+
+/*
+ * Verschiebt ein Calendareintrag
+ *
+ * @param {String[]} pIDs req die zu verschiebenden Ids mit den Calenderinformationen (Multistring)
+ * @param {String} pTblCompName  opt die Komponente die aktualisiert werden soll
+ *
+ * @return {void}
+ */
+function shiftEntry(pIDs, pTblCompName)
+{
+    var datenew = swing.askUserQuestion(translate.text("Verschieben auf Datum?"), "DLG_DATE");
+    if (datenew != null )
+    {
+        var grantedUsers = calendars.getDisplayCalendarUsers(calendars.RIGHT_WRITE_TASK);
+        var usermap = {};
+        var granted = true;
+        for (let i = 0; i < grantedUsers.length; i++)
+        {
+            usermap[grantedUsers[i][1]] = true;
+        }
+
+        datenew = datetime.clearTime(datenew["DLG_DATE.Edit_date"]);
+        if (datenew <= vars.getString("$sys.today"))
+            question.showMessage(translate.text("nur Verschiebung in die Zukunft erlaubt!"));
+        else
+        {
+            for (var i = 0, j = pIDs.length; i < j; i++)
+            {
+                var id = text.decodeMS(pIDs[i]);
+                var entry = calendars.getEntry(id[0], null, id [1], calendars.VTODO);
+                var affectedUsers = entry[calendars.ATTENDEES];
+
+                granted =  hasGrantForEntryByObject(affectedUsers, usermap);
+                if(granted)
+                {
+                    //Zeitdifferenz von Aufgabenstart und -ende
+                    var dateDiff  = eMath.subInt(entry[calendars.DUE], entry[calendars.DTSTART]);
+
+                    //Startzeit der Aufgabe
+                    var startTime = eMath.subInt(entry[calendars.DTSTART]
+                        , datetime.clearTime(entry[calendars.DTSTART]));
+
+                    entry[calendars.DTSTART] = eMath.addInt(datenew, startTime);
+                    entry[calendars.DUE] = eMath.addInt(entry[calendars.DTSTART], dateDiff);
+                    calendars.update( [ entry ] );
+                }
+                else
+                    question.showMessage(translate.text("Keine Berechtigung zum Verschieben der Aufgabe"));
+            }
+        }
+    }
+}
+
+/*
+ * Gibt eine Aufgabe weiter
+ *
+ * @param {String} pIDs die ID der Aufgabe, welche weitergegeben werden soll
+ * @param {String} pTblCompName die Komponente der Aufgaben, die aktualisiert werden soll
+ *
+ * @return {void}
+ */
+function handOverToDo(pIDs, pTblCompName)
+{
+    var calendar_user = "";
+    var users = getCalenderUser( calendars.RIGHT_WRITE_TASK );
+    var publicCount = 0;
+    var privateCount = 0;
+    var notGrantedCount = 0;
+
+    var grantedUsers = calendars.getDisplayCalendarUsers(calendars.RIGHT_WRITE_TASK);
+    var userMap = {};
+    var granted = true;
+    for (let i = 0; i < grantedUsers.length; i++)
+    {
+        userMap[grantedUsers[i][1]] = true;
+    }
+
+    if (pIDs.length == 1)  // only one todo and private
+    {
+        var id = text.decodeMS( pIDs[0] );
+        var entry = calendars.getEntry( id[0], null, id[1] );
+        if(entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE)
+        {
+            question.showMessage(translate.text("Kein Weitergeben von privaten Aufgaben möglich!"));
+            return;
+        }
+    }
+
+    for ( let i = 0; i < users.length; i++)  if (pIDs.length > 0 || users[i][0] != id[1])   calendar_user += "|" + users[i][1];
+    var selection = swing.askQuestion(translate.text("Benutzer auswählen"), swing.QUESTION_COMBOBOX, calendar_user);
+    if (selection != null)
+    {
+        for ( let i = 0; i < users.length; i++)
+        {
+            if ( selection == users[i][1] )
+            {
+                selection = users[i];
+                break;
+            }
+        }
+        for( let i = 0; i < pIDs.length; i++)
+        {
+            let id = text.decodeMS( pIDs[i] );
+            let entry = calendars.getEntry( id[0], null, id[1] );
+            if(entry[calendars.CLASSIFICATION] == calendars.CLASSIFICATION_PRIVATE)  privateCount++;
+            else //Nur öffentliche Aufgabe kann weiter gegeben werden.
+            {
+                // User austauschen
+                var usermap = entry[calendars.ATTENDEES];
+                var affectedusers = [];
+
+                granted =  hasGrantForEntryByObject(usermap, userMap);
+
+                for (var ui = 0; ui < usermap.length; ui++)
+                {
+                    var login_cn = usermap[ui]["cn"];
+                    var user = tools.getUserByAttribute(tools.CALENDARID, usermap[ui]["paramvalue"].substr("mailto:".length))
+                    if (user == null)  user = login_cn;
+                    else user = user[tools.TITLE]
+
+                    if ( user == id[1] )   affectedusers.push(selection[0]);
+                    else  if ( user != selection[0] )  affectedusers.push(user);
+                }
+                if(granted)
+                {
+                    entry[calendars.AFFECTEDUSERS] = text.encodeMS(calendars.getCalendarUsers(affectedusers));
+                    calendars.update([entry]);
+                    publicCount++;
+                }
+                else notGrantedCount++
+            }
+        }
+        question.showMessage(translate.withArguments("%0 Aufgabe(n) erfolgreich weitergegeben an: %1"
+            + (privateCount == 0 ? "" : "\n%2 private Aufgabe(n) können nicht weitergegeben werden.")
+            +(notGrantedCount == 0 ? "" : "\n%3 Aufgabe(n) können aufgrund fehlender Berechtigung nicht weitergegeben werden."),
+            [publicCount, selection[1], privateCount, notGrantedCount]));
+
+    }
+}
+
+// ToDo prüfen !!
+/*
+ * Verschiebt die Kalendereinträge bei Login-Änderung
+ *
+ * @param {String} pNewlogin req
+ * @param {String} pOldlogin req
+ * @param {String} pNewCalendarID req
+ * @param {String} pOldCalendarID req
+ *
+ * @return {void}
+ */
+function moveCalendarData ( pNewlogin, pOldlogin, pNewCalendarID, pOldCalendarID )
+{
+    var newcaluser = text.encodeMS(["mailto:" + pNewCalendarID, "CN:" + pNewlogin]);
+    var oldcaluser = text.encodeMS(["mailto:" + pOldCalendarID, "CN:" + pOldlogin]);
+    db.runStatement("update ASYS_CALENDARBACKEND set OWNER = '" + newcaluser + "' where OWNER = '" + oldcaluser + "'");
+    db.runStatement("update ASYS_CALENDARBACKEND set ORGANIZER = '" + newcaluser + "' where ORGANIZER = '" + oldcaluser + "'");
+
+    if(pNewCalendarID != pOldCalendarID) //Nur wenn sich die E-Mailadresse geändert hat
+    {
+        //Messenger-Historien
+        db.runStatement("update ASYS_XMPP_HISTORY set JID_FROM = '" + pNewCalendarID +"' where JID_FROM = '" + pOldCalendarID +"'", "_____SYSTEMALIAS");
+        db.runStatement("update ASYS_XMPP_HISTORY set JID_TO = '" + pNewCalendarID +"' where JID_TO = '" + pOldCalendarID +"'", "_____SYSTEMALIAS");
+    }
+}
+
+/*
+ * Löst den CalenderUser in lesbarer From auf
+ *
+ * @param {String} pValue req
+ *
+ * @return {String} übersetzten Wert
+ */
+function getCalUser( pValue )
+{
+    var realname = pValue;
+    var user = tools.getUser( text.decodeMS(pValue)[1].split(":")[1] );
+    if ( user != null )
+    {
+        realname = user[tools.PARAMS][tools.FIRSTNAME] + " " + user[tools.PARAMS][tools.LASTNAME];
+    }
+    return realname;
+}
+
+/*
+ * Gibt den Login eines CalenderUser zurück
+ *
+ * @param {String} pCalendarUser req
+ *
+ * @return {String} Title
+ */
+function getTitleCalenderUser( pCalendarUser )
+{
+    var data = text.decodeMS(pCalendarUser)
+    for ( var i = 0; i < data.length; i++ )
+    {
+        //if login changes we have to check calendarid
+        if ( data[i].substr(0, "mailto:".length).toUpperCase() == "MAILTO:" )
+        {
+            var user = tools.getUserByAttribute(tools.CALENDARID, [data[i].substr("mailto:".length)]);
+            if (user != null )
+                return user[tools.TITLE];
+        }
+
+        if ( data[i].substr(0, 3).toUpperCase() == "CN:" )
+            return data[i].substr(3);
+    }
+    return "";
+}
+
+
+/*
+ * Gibt den richtigen Status zum Prüfen je nach Backend zurück
+ *
+ *
+ * @param {String} pStatus req die konstante für den zu prüfenden status,
+ *                             z.B. calendars.STATUS_INPROCESS
+ *
+ * @param {String} pCalendarType req die konstante für den typen des Termin- oder Aufgabenbackends,
+ *                             z.B. calendars.BACKEND_DB
+ *
+ * @return {String} Konstanten für den Kalender (Backend-Typen), gibt es den status im backend nicht
+ *                  wird null geliefert
+ */
+function mapCalendarStatus(pStatus, pCalendarType)
+{
+    switch (pCalendarType)
+    {
+        //case calendars.BACKEND_EXCHANGE:
+        case calendars.BACKEND_EXCHANGEWS:
+            if (pStatus == calendars.STATUS_CONFIRMED)
+                return calendars.STATUS_BUSY;
+            else
+                return pStatus;
+        default:
+            if (pStatus == calendars.STATUS_OOF)//nur bei exchange
+                return null;
+            else
+                return pStatus;
+    }
+}
+
+/*
+ * Sets the imagevariable with affectedusers
+ *
+ * @param {Object} pEntry req the Entry of Tasks or Appointments
+ *
+ * @return {void}
+ *
+ */
+function setAffectedUsersImage(pEntry)
+{
+    var affectedUsers = [];
+    var usermap = pEntry[calendars.ATTENDEES];
+    var realnames = getRealNameObject(usermap);
+
+    for ( var i = 0; i < usermap.length; i++ )
+    {
+        affectedUsers.push([ text.encodeMS( [usermap[i]["paramvalue"], "CN:" + usermap[i]["cn"]] ), realnames[usermap[i]["cn"]] ]);
+    }
+
+    vars.set("$image.affectedusers", affectedUsers);
+    return affectedUsers;
+}
+
+/*
+ * Opens calendar links
+ *
+ * @param {String} pEntryID req the ID of the link
+ *
+ * @return {void}
+ *
+ */
+function openCalendarLinks(pEntryID)
+{
+    var openFramesObj = {};
+    if (typeof(pEntryID) == "object")
+        openFramesObj = pEntryID;
+    else
+    {
+        var links = db.table("SELECT FRAME, DBIDCOLUMN, DBID FROM ASYS_CALENDARLINK WHERE ENTRYID = '" + pEntryID + "'");
+        for (var i = 0; i < links.length; i++)
+        {
+            var frame = links[i][0].substr( 5 );//remove comp. so the frame can be opened with openFrame
+            if ( openFramesObj[frame] == undefined ) openFramesObj[frame] = {
+                IDField: links[i][1],
+                IDs: []
+            };
+            openFramesObj[frame].IDs.push(links[i][2]);
+        }
+    }
+
+    for ( frame in openFramesObj)
+    {
+        var condition = openFramesObj[frame].IDField + " in ('" + openFramesObj[frame].IDs.join("', '") + "')";
+        var framemode = openFramesObj[frame].IDs.length > 1 ? swing.FRAMEMODE_TABLE_SELECTION : swing.FRAMEMODE_SHOW;
+
+        if ( vars.getString("$global.upwardLink") == "link")
+        {
+            swing.openLinkedFrame(frame, condition, swing.WINDOW_CURRENT, framemode, "", null, false, {
+                autoclose: true
+            } );
+        }
+        else
+        {
+            swing.openFrame(frame, condition, swing.WINDOW_CURRENT, framemode, null, false);
+        }
+    }
+}
+
+/**
+ * Returns the "real" calendar system/backend type (BackendType & SyncBackendType)
+ *
+ * @param {Number} pScope - The needed scope (e.g. "calendars.VEVENT", "calendars.VTODO")
+ * @return {Number} - The backend type (calendars.BACKEND_*)
+ */
+function getCalendarSystemType (pScope)
+{
+    // Check sync backend type
+    if (calendars.getSyncBackendType() != calendars.BACKEND_NONE && calendars.getSyncBackendType() != 3)
+    {
+        var scope = calendars.getSyncBackendTypeScope();
+        if (scope.length == 1 && scope[0] == pScope) // Scope.length = 1 -> VEVENT *OR* VTODO
+            return calendars.getSyncBackendType();
+        else if (scope.length == 2) // Scope.length = 2 -> Both
+            return calendars.getSyncBackendType();
+       // Scope.length = 0 -> Nothing selected -> Skip this block
+    }
+
+    // Fallback to backend type (event)
+    if (calendars.getBackendType() != calendars.BACKEND_NONE && pScope === calendars.VEVENT)
+        return calendars.getBackendType();
+
+    // Second fallback to backend type (todo)
+    if (calendars.getBackendTypeTasks() != calendars.BACKEND_NONE && pScope === calendars.VTODO)
+        return calendars.getBackendTypeTasks();
+
+    // Everything is none
+    return calendars.BACKEND_NONE;
+}
+
+function hasGrantForEntryByMS(pAffectedUsers, pUserMap)
+{
+    for (let i = 0; i < pAffectedUsers.length; i++)
+    {
+        var calUser = getTitleCalenderUser( pAffectedUsers[i][0]);
+        if(pUserMap[calUser] == undefined)
+        {
+            return false;
+            break;
+        }
+        else
+            return true;
+    }
+}
+
+function hasGrantForEntryByObject(pAffectedUsers, pUserMap)
+{
+    for (let i = 0; i < pAffectedUsers.length; i++)
+    {
+        calUser = tools.getUserByAttribute(tools.CALENDARID, pAffectedUsers[i]["paramvalue"].substr("mailto:".length))
+        if (calUser == null)  calUser = pAffectedUsers[i]["cn"];
+        else calUser = calUser[tools.TITLE]
+        if(pUserMap[calUser] == undefined)
+        {
+            return false;
+            break;
+        }
+        else
+            return true;
+    }
+}
diff --git a/process/Campaign_lib/process.js b/process/Campaign_lib/process.js
index 873f2b92835c55dfba0a4be3566eb75d23af2971..0cce037c488c4c68225355a8649dea1f20c83021 100644
--- a/process/Campaign_lib/process.js
+++ b/process/Campaign_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.translate");
 import("system.vars");
 import("system.db");
@@ -6,6 +5,7 @@ import("system.neon");
 import("Sql_lib");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
+import("Neon_lib");
 
 /**
  * Methods for campaignmanagement.
@@ -123,7 +123,7 @@ CampaignUtils.getStepCount = function(pCampaignId)
 
 CampaignUtils.getCampaignStatusByCampaignId = function(pCampaignId)
 {
-    let selectQuery = "select CAMPAIGN.STATE from CAMPAIGN";
+    let selectQuery = "select CAMPAIGN.STATUS from CAMPAIGN";
     let conditionField = "CAMPAIGN.CAMPAIGNID";
     let defaultValue = "";
     
@@ -132,11 +132,11 @@ CampaignUtils.getCampaignStatusByCampaignId = function(pCampaignId)
     return KeywordUtils.getViewValue(campaignState, statusId);
 }
 
-CampaignUtils.createLogEntry = function(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId)
+CampaignUtils.createLogEntry = function(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId, pPreviousCampaignstepId)
 {
     let colsCampaignParticipantLog = CampaignUtils.getParticipantLogInsertColumnNames();
     
-    let valsCampaignParticipantLog = new Array(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId, vars.get("$sys.user"), vars.get("$sys.date"));
+    let valsCampaignParticipantLog = new Array(pCampaignId, pCampaignStepId, pContactId, pCampaignParticipantId, vars.get("$sys.user"), vars.get("$sys.date"), pPreviousCampaignstepId);
     
     let rows = db.insertData("CAMPAIGNPARTICIPANTLOG", colsCampaignParticipantLog, null, valsCampaignParticipantLog);
     return (rows == 1);
@@ -144,7 +144,7 @@ CampaignUtils.createLogEntry = function(pCampaignId, pCampaignStepId, pContactId
 
 CampaignUtils.getParticipantLogInsertColumnNames = function()
 {
-    return ["CAMPAIGNPARTICIPANT_ID", "CAMPAIGN_ID", "CAMPAIGNSTEP_ID", "CAMPAIGNPARTICIPANTLOGID", "USER_NEW", "DATE_NEW"];
+    return ["CAMPAIGNPARTICIPANT_ID", "CAMPAIGN_ID", "CAMPAIGNSTEP_ID", "CAMPAIGNPARTICIPANTLOGID", "USER_NEW", "DATE_NEW", "PREVIOUS_CAMPAIGNSTEP_ID"];
 }
 
 CampaignUtils.openSetCampaignStepViewByRowIds = function(pParticipantIds, pCampaignId, pCampaignStepId)
@@ -396,6 +396,48 @@ CampaignUtils.GetContactCountByCondition = function(pCondition, pLookInCampaignO
     return db.cell(query);
 }
 
+/**
+ * opens an campaign in NEW mode with values from root campaign
+ * 
+ * @param {String} pCampaignid
+ * @param {String} pDescription
+ * @param {String} pEmplContactId
+ * @param {String} pName
+ * @param {String} pState
+ */
+CampaignUtils.copyCampaign = function(pCampaignid, pDescription, pEmplContactId, pName, pState)
+{
+    var params = {
+        "originalCampaignIdCopy_param" : pCampaignid,
+        "description_param" : pDescription,
+        "emplContactId_param" : pEmplContactId,
+        "name_param" : pName || "",
+        "state_param" : pState || ""
+    };
+    neon.openContext("Campaign", null, null, neon.OPERATINGSTATE_NEW, params);
+}
+
+/**
+ * copies all campaign steps from one campaign to another
+ * 
+ * @param {String} pSourceCampaignId
+ * @param {String} pTargetCampaignId
+ */
+CampaignUtils.copyCampaignSteps = function(pSourceCampaignId, pTargetCampaignId)
+{
+        var InputMapping = {
+        "CAMPAIGNSTEP": {
+            condition: db.translateCondition(SqlCondition().begin()
+                            .andPrepare("CAMPAIGN.CAMPAIGN_ID", pSourceCampaignId)
+                            .buildSql("", "1=2", "order by SORTING", false)),
+            ValueMapping: {
+                "CAMPAIGN_ID" : pTargetCampaignId
+            }
+        }
+    };
+    CopyModuleUtils.copyModule(InputMapping);
+}
+
 /**
  * Methods for campaignmanagement.
  * Do not create an instance of this!
diff --git a/process/Classification_lib/process.js b/process/Classification_lib/process.js
index 40778a43d2f04f90f496c5edf6f682bb97815550..c5d7ddc74389fdf028a22ecb112f53f1b4c0c024 100644
--- a/process/Classification_lib/process.js
+++ b/process/Classification_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.db");
 import("Sql_lib");
diff --git a/process/Communication_lib/process.js b/process/Communication_lib/process.js
index fa127e6087e4e6d95e6798b91f58bc01116fc6ef..440720e427970d7df18bbf14c4a47b17f97e5d2b 100644
--- a/process/Communication_lib/process.js
+++ b/process/Communication_lib/process.js
@@ -41,8 +41,8 @@ CommUtil.getMediumIdsByCategory = function (pCategory)
  * sets the standard address for COMMUNICATION entries for a specific category;
  * does not verify if the COMMUNICATIONID you provide has the given category
  * @param {String} pAffectedRowId a refencial ID whoes COMMs should be modified (a CONTACTID)
- * @param {String} pNewStandardCommId COMMUNICATIONID of the new STANDARD comm-entry; can be an empty string if no new standard adress shall be set but the old standard removed
- * @param {String} pCategory value of the keyword "COMMUNICATION.MEDIUM" custom.category; e.g. "PHONE"; the STANDARD of this category is set
+ * @param {String} pNewStandardCommId COMMUNICATIONID of the new ISSTANDARD comm-entry; can be an empty string if no new standard adress shall be set but the old standard removed
+ * @param {String} pCategory value of the keyword "COMMUNICATION.MEDIUM" custom.category; e.g. "PHONE"; the ISSTANDARD of this category is set
  * @return {null} currently returns always null; reserved for future
  */
 CommUtil.setStandardForCategory = function(pAffectedRowId, pNewStandardCommId, pCategory)
@@ -55,11 +55,11 @@ CommUtil.setStandardForCategory = function(pAffectedRowId, pNewStandardCommId, p
         return null;
     
     var statements = [];
-    var cols = ["STANDARD"];
+    var cols = ["ISSTANDARD"];
     var types = db.getColumnTypes("COMMUNICATION", cols);
     
     //set current standard comm-record as non-standard
-    var cond = SqlCondition.begin().and("STANDARD = 1").andPrepare("COMMUNICATION.CONTACT_ID", pAffectedRowId);
+    var cond = SqlCondition.begin().and("ISSTANDARD = 1").andPrepare("COMMUNICATION.CONTACT_ID", pAffectedRowId);
     //mediumIds cannot be empty so no need to do further checks (this is checked above)
     cond.and("MEDIUM_ID in ('" + mediumIds.join("', '") + "')");
     statements.push(["COMMUNICATION", cols, types, ["0"], cond.build()]);
@@ -83,7 +83,7 @@ CommUtil.setStandardForCategory = function(pAffectedRowId, pNewStandardCommId, p
  * sets the standard PHONE-entry for COMMUNICATION 
  * does not verify if the COMMUNICATIONID you provide is actually PHONE-COMMUNICATION
  * @param {String} pAffectedRowId a refencial ID whoes COMMs should be modified (a CONTACTID)
- * @param {String} pNewStandardCommId COMMUNICATIONID of the new STANDARD comm-entry
+ * @param {String} pNewStandardCommId COMMUNICATIONID of the new ISSTANDARD comm-entry
  * @return {null} currently returns always null; reserved for future
  */
 CommUtil.setStandardPhone = function(pAffectedRowId, pNewStandardCommId)
@@ -95,7 +95,7 @@ CommUtil.setStandardPhone = function(pAffectedRowId, pNewStandardCommId)
  * sets the standard EMAIL-entry for COMMUNICATION 
  * does not verify if the COMMUNICATIONID you provide is actually EMAIL-COMMUNICATION
  * @param {String} pAffectedRowId a refencial ID whoes COMMs should be modified (a CONTACTID)
- * @param {String} pNewStandardCommId COMMUNICATIONID of the new STANDARD comm-entry
+ * @param {String} pNewStandardCommId COMMUNICATIONID of the new ISSTANDARD comm-entry
  * @return {null} currently returns always null; reserved for future
  */
 CommUtil.setStandardMail = function(pAffectedRowId, pNewStandardCommId)
@@ -138,7 +138,7 @@ CommUtil.getStandardSubSqlForCategory = function(pCategory, pContactField)
     });
     cond.andSqlCondition(anyMediumIdCond, "1=0");
     
-    cond.and("COMMUNICATION.STANDARD = 1");
+    cond.and("COMMUNICATION.ISSTANDARD = 1");
     
     var res = db.translateStatement(cond.buildSql("select max(COMMUNICATION.ADDR) from COMMUNICATION", "1=0"));
     return res;
diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js
index 88f2a5b4878bd8576cde9474cba585bc7401ffb0..2a024cfb4fd130ca010a34fd7c25fc35192bd3d7 100644
--- a/process/Contact_lib/process.js
+++ b/process/Contact_lib/process.js
@@ -1,5 +1,4 @@
 import("system.datetime");
-import("system.logging");
 import("system.translate");
 import("system.neon");
 import("system.vars");
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index 179cb9b79349b7cb53a988ddf70736b9e22ef544..50aeb817ca2cba8bd9604ed246ab80156b866aed 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -1,6 +1,5 @@
 import("system.tools");
 import("system.neon");
-import("system.logging");
 import("system.db");
 import("system.translate");
 import("system.project");
@@ -407,7 +406,7 @@ ContextUtils.getSelectMap  = function()
                                                                 ], "", false))
                                             .setContactIdField("CONTACT_ID")
                                             .setCreationDateField("STARTDATE")
-                                            .setStateField("STATE")
+                                            .setStateField("STATUS")
                                             .setActiveStates([$KeywordRegistry.salesprojectState$open(), $KeywordRegistry.salesprojectState$postponed()])
             ,"Contract": ContextSelector.create("CONTRACT", "CONTRACTID")
                                         .setTitleExpression(maskingUtils.concat([
@@ -429,7 +428,7 @@ ContextUtils.getSelectMap  = function()
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("OFFERDATE")
                                      .setStateField("STATUS")
-                                     .setActiveStates(["70d27a1b-7233-481d-826f-01a13a4bb0b2", "5134153d-2e18-452f-ab35-7a52f1aee7d1", "e5d6b5a4-7576-440f-8332-bc40147c0335"])
+                                     .setActiveStates([$KeywordRegistry.offerStatus$open, $KeywordRegistry.offerStatus$checked, $KeywordRegistry.offerStatus$sent])
             ,"Order": ContextSelector.create("SALESORDER", "SALESORDERID")
                                      .setTitleExpression(maskingUtils.concat([
                                                         "'" + translate.text("Order") + "'",
@@ -441,7 +440,7 @@ ContextUtils.getSelectMap  = function()
                                      .setContactIdField("CONTACT_ID")
                                      .setCreationDateField("SALESORDERDATE")
                                      .setStateField("STATUS")
-                                     .setActiveStates([])
+                                     .setActiveStates([$KeywordRegistry.salesorderState$checked, $KeywordRegistry.salesorderState$sent])
             ,"Product": ContextSelector.create("PRODUCT", "PRODUCTID")
                                        .setTitleExpression(maskingUtils.concat([
                                             "PRODUCTCODE",
@@ -455,7 +454,7 @@ ContextUtils.getSelectMap  = function()
                          .setJoinExpression("left join CAMPAIGNPARTICIPANT on CAMPAIGNPARTICIPANT.CAMPAIGN_ID = CAMPAIGN.CAMPAIGNID " +
                                             "left join CAMPAIGNSTEP on CAMPAIGNSTEP.CAMPAIGNSTEPID = CAMPAIGNPARTICIPANT.CAMPAIGNSTEP_ID")
                         .setCreationDateField("CAMPAIGNSTEP.DATE_START")
-                        .setStateField("CAMPAIGN.STATE")
+                        .setStateField("CAMPAIGN.STATUS")
                         .setActiveStates([$KeywordRegistry.campaignState$planning(), $KeywordRegistry.campaignState$approved()])
             ,"CampaignStep" : ContextSelector.create("CAMPAIGNSTEP", "CAMPAIGNSTEPID", "NAME")
             ,"SupportTicket": ContextSelector.create("TICKET", "TICKETID", "TASK.SUBJECT")
@@ -537,7 +536,6 @@ ContextUtils.getContextDataSql = function(pContextId, pContactId, pWithDate, pAc
     var cond = SqlCondition.begin();
     if (pContactId)
     {
-        logging.log(JSON.stringify(ownContextSelector, null, "\t"))
         cond.andPrepare(ownContextSelector.getFullField(ownContextSelector.contactIdField), pContactId)
     }
     
@@ -592,13 +590,10 @@ ContextUtils.getCountByContactId = function(pContextId, pContactId)
     var tableName = contextObject.tableName;
     var contactField = contextObject.getFullField(contextObject.contactIdField)
     var join = contextObject.joinExpression;
-    logging.log(tableName + " " + contactField)
     if (tableName && contactField)
     {
         var sql = "select count(*) from " + tableName + (join ? join : "");
-        logging.log(sql + " " + pContactId);
         var count = db.cell(SqlCondition.begin().andPrepare(contactField, pContactId).buildSql(sql, "1=2"));
-        logging.log(count);
         return count;
     }
     return 0;
diff --git a/process/CountryInfoData_lib/CountryInfoData_lib.aod b/process/CountryInfoData_lib/CountryInfoData_lib.aod
new file mode 100644
index 0000000000000000000000000000000000000000..d1612a9f77a923a06489237005292a2055f0cd74
--- /dev/null
+++ b/process/CountryInfoData_lib/CountryInfoData_lib.aod
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
+  <name>CountryInfoData_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/CountryInfoData_lib/process.js</process>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
diff --git a/process/CountryInfoData_lib/process.js b/process/CountryInfoData_lib/process.js
new file mode 100644
index 0000000000000000000000000000000000000000..76f43422f42143217f5ccebec593f0e73f552570
--- /dev/null
+++ b/process/CountryInfoData_lib/process.js
@@ -0,0 +1,39 @@
+import("system.entities");
+import("system.logging");
+import("system.translate");
+import("system.db");
+import("DataCaching_lib");
+import("Sql_lib");
+
+/*
+This is a experimental library. 
+The code will definetly change in the future while not keeping the same functionparameters and calls. You should not use this except you excatly know what you're doing.
+Since the functions will change, comments are written for the future functions.
+
+The idea behind this is to maintain data in cached form (client-context-side)) for various keyword-constructs.
+*/
+
+function CountryInfoData(){}
+
+CountryInfoData.getMainData = function (pLocale)
+{
+    var cache = new CachedData("CountryInfoData.getMainData", true, pLocale);
+    return cache.load(function (pTranslationNecessary, pLocale){
+        var loadingConfig = entities.createConfigForLoadingRows().entity("Countries_Entity").fields(["ISO2", "NAME_TRANSLATED"]);//TODO: into cachedDatalib
+        var countryData = entities.getRows(loadingConfig);//TODO: ignore grants?
+        return countryData;
+    });
+};
+
+CountryInfoData.getIso2NameData = function (pLocale)
+{
+    var cache = new CachedData("CountryInfoData.getIso2NameData", true, pLocale);
+    return cache.load(function (pTranslationNecessary, pLocale){
+        var countryData = CountryInfoData.getMainData(pLocale);
+        countryData = countryData.map(function (row){
+                return [row["ISO2"], row["NAME_TRANSLATED"]];
+            });
+        return countryData;
+    });
+};
+    
diff --git a/process/CountryInfo_lib/process.js b/process/CountryInfo_lib/process.js
index 1bd84270bc4173346b5a54a4721ddc54bcb81b37..4625fbc4971edbd7e6b6f05dee1a7a2816a984d1 100644
--- a/process/CountryInfo_lib/process.js
+++ b/process/CountryInfo_lib/process.js
@@ -1,3 +1,5 @@
+import("CountryInfoData_lib");
+import("system.entities");
 import("system.db");
 import("system.translate");
 import("Sql_lib");
@@ -29,4 +31,21 @@ CountryUtils.getLatinNameByIso2 = function(pIso2, pLocale)
                                           .buildSql("select AB_COUNTRYINFO.NAME_LATIN from AB_COUNTRYINFO"));
     countryName = pLocale ? translate.text(countryName, pLocale) : translate.text(countryName);
     return countryName;
+};
+
+//SqlUtils.getResolvingCaseWhen(keywordData, pDbFieldName, pLocale);
+
+/**
+* resolves ISO2 codes of countries to the translated name
+* 
+* @param {String} pDbFieldName name fo the database field where the KEYID-value is stored
+* @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 ISO2-code into the name (=title)
+*/
+CountryUtils.getResolvedNameFromIso2Sql = function(pDbFieldName, pLocale)
+{
+    var countryData = CountryInfoData.getIso2NameData();
+    var resSql = SqlUtils.getResolvingCaseWhen(countryData, pDbFieldName, pLocale);
+    return db.translateStatement(resSql);
 };
\ No newline at end of file
diff --git a/process/DataCaching_lib/process.js b/process/DataCaching_lib/process.js
index 03cb0d54a4410f6b78a5c339bba7534f0687b1c1..967f3fe35dc6ff0d672e080312e771a3aa4e3062 100644
--- a/process/DataCaching_lib/process.js
+++ b/process/DataCaching_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.project");
 
@@ -8,12 +7,12 @@ import("system.project");
  * 
  * on client side it's done with the helb of a $global.***-variable
  * 
- * @class 
  * 
  * @param {String} pIdentifiyingName name to identify the DataCache. This MUST be unique for one data representation (e.g. key-value pair for all Languages with key ISO2-code and value the ISO3-Code). this will affect the storage-name (=name of the global variable on the client for example)
  * @param {bool} [pKeepPerLanguage=false] if true the data is kept per locale (different storing for each requested language), false when not (every language is sharing the same stoarge because only untranslated data is kept)
  * @param {String} [pLocaleOverride=current language] sometimes a special locale is required, use this parameter to specify it
  * 
+ * @class 
  */
 function CachedData(pIdentifiyingName, pKeepPerLanguage, pLocaleOverride)
 {
diff --git a/process/DataPrivacy_lib/process.js b/process/DataPrivacy_lib/process.js
index 2a90429564990b9c7e179f19ee788fa19c7d5398..0fedbf88b8f857f220eb0e42d12b88b1bee3c840 100644
--- a/process/DataPrivacy_lib/process.js
+++ b/process/DataPrivacy_lib/process.js
@@ -1,6 +1,5 @@
 import("system.project");
 import("system.project");
-import("system.logging");
 import("Util_lib");
 import("PostalAddress_lib");
 import("system.text");
@@ -144,7 +143,7 @@ DataPrivacyType.get = function(pKey)
         
         var entityConfig = entities.createConfigForLoadingRows()
                                    .entity("Address_entity")
-                                   .fields(["ADDRESSID", "ADDRESS", "ADDRESSADDITION", "ADDRIDENTIFIER", "BUILDINGNO", "ZIP", "CITY", "COUNTRY", "DISTRICT", "REGION", "STATE"]);
+                                   .fields(["ADDRESSID", "ADDRESS", "ADDRESSADDITION", "ADDRIDENTIFIER", "BUILDINGNO", "ZIP", "CITY", "COUNTRY", "DISTRICT", "REGION", "PROVINCE"]);
 
         if (pAddressId)
         {
@@ -158,7 +157,7 @@ DataPrivacyType.get = function(pKey)
         }        
         
         var addrData = entities.getRows(entityConfig).map(function(addr) {
-            var addrVal = StringUtils.concat(", ", [addr.ADDRESS, addr.ADDRESSADDITION, addr.ADDRIDENTIFIER, addr.BUILDINGNO, addr.ZIP, addr.CITY, addr.COUNTRY, addr.DISTRICT, addr.REGION, addr.STATE]);
+            var addrVal = StringUtils.concat(", ", [addr.ADDRESS, addr.ADDRESSADDITION, addr.ADDRIDENTIFIER, addr.BUILDINGNO, addr.ZIP, addr.CITY, addr.COUNTRY, addr.DISTRICT, addr.REGION, addr.PROVINCE]);
 
             return {
                 value: addrVal,
@@ -609,14 +608,14 @@ DataPrivacyUtils.dsgvoMkDataAnonymous = function(pPersId, pContactId)
     {
         data                = db.table(SqlCondition.begin()
             .andPrepare("CONTACT_ID", pContactId)
-            .build("select ADDRESS, STATE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID "
+            .build("select ADDRESS, PROVINCE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID "
                 + " from ADDRESS ", "1=2" ));
         
-        /*" select ADDRESS, STATE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID "
+        /*" select ADDRESS, PROVINCE, CITY, COUNTRY, REGION, BUILDINGNO, ADDRESSADDITION, ZIP, DISTRICT, ADDRESSID "
             + " from ADDRESS " 
             + " where RELATION_ID = '" + pContactId + "' ");
 */
-        columns = ["ADDRESS", "STATE", "CITY", "COUNTRY", "REGION", "BUILDINGNO", "ADDRESSADDITION", "ZIP", "DISTRICT"];
+        columns = ["ADDRESS", "PROVINCE", "CITY", "COUNTRY", "REGION", "BUILDINGNO", "ADDRESSADDITION", "ZIP", "DISTRICT"];
         columnTypes = db.getColumnTypes("ADDRESS", columns);
 
         //Jede Addresse muss separat anonymisiert werden
diff --git a/process/Date_lib/process.js b/process/Date_lib/process.js
index 5e157445c3a5c69fd054929d7c210f8d7505422f..60a391e0f50071c1c2390d35d5a2b0874de60ba6 100644
--- a/process/Date_lib/process.js
+++ b/process/Date_lib/process.js
@@ -1,3 +1,4 @@
+import("system.vars");
 import("system.eMath");
 import("system.translate");
 import("system.datetime");
@@ -142,4 +143,16 @@ DateUtils.formatDurationFromStartTillEnd = function(pStartTime, pEndTime, pLocal
     var duration = eMath.subInt(pEndTime , pStartTime);
     duration = Math.max(0, Number(duration));
     return DateUtils.formatDuration(duration, pLocale);
-};
\ No newline at end of file
+};
+
+/**
+ * validates if the given date is not in the future
+ * 
+ * @param {string|number} pDate
+ * 
+ * @return {boolean} true if the date is today or before today
+ */
+DateUtils.validateNotInFuture = function (pDate)
+{
+    return Number(datetime.clearTime(pDate)) <= Number(vars.get("$sys.today"));
+}
\ No newline at end of file
diff --git a/process/DocumentTemplate_lib/process.js b/process/DocumentTemplate_lib/process.js
index f182936863c5909b8ce50614de09b34363e5d2f3..d43a480aa427019e311a21da0bc6f64ff6acc992 100644
--- a/process/DocumentTemplate_lib/process.js
+++ b/process/DocumentTemplate_lib/process.js
@@ -97,8 +97,6 @@ DocumentTemplate.types = {
  * @param {String} [pAssignmentTable="DOCUMENTTEMPLATE"] the LOB assignment table
  * 
  * @return {DocumentTemplate} template object
- * 
- * @throws {Error} if the type can't be used
  */
 DocumentTemplate.loadTemplate = function (pAssignmentRowId, pAssignmentTable)
 {
diff --git a/process/EmailUtil_lib/process.js b/process/EmailUtil_lib/process.js
index 27a46014b55280ce441be0474dbbf7e84dd80283..8e1269bf616fa353c04235520f88279cba7a9996 100644
--- a/process/EmailUtil_lib/process.js
+++ b/process/EmailUtil_lib/process.js
@@ -18,7 +18,8 @@ function EmailUtils () {}
  */
 EmailUtils.extractAddress = function (pFullMailAddress)
 {
-    var mailAddress = pFullMailAddress.replace("<'", "<").replace("'>", ">");//special treatment for crazy illegal addresses which can be sent in Outlook
+    //special treatment for crazy illegal addresses which can be sent in Outlook
+    var mailAddress = pFullMailAddress.replace("<'", "<").replace("'>", ">").replace(/^'|'$/g, "");
     mailAddress = mail.extractAddress(mailAddress);
     return mailAddress;
 };
\ No newline at end of file
diff --git a/process/Entity_lib/process.js b/process/Entity_lib/process.js
index 24029d5a797948b8987ff7fe7ff346d1d8e15630..e186510fadbb0ec51885d3e6cc7614715c3b294a 100644
--- a/process/Entity_lib/process.js
+++ b/process/Entity_lib/process.js
@@ -2,6 +2,30 @@ import("system.result");
 import("system.neon");
 import("system.vars");
 
+/**
+* provides static methods for special handling of entities in JDito-Processes
+* do not create an instance of this
+* 
+* @class
+*/
+function EntityUtils(){}
+
+/**
+ * parses a full-databnase-uid-name into a table and a column identifier
+ * 
+ * @param {String} pFullUidName full-databnase-uid-name like "ORGANISATION.ORGANISATIONID", the variable "$sys.uidcolumn" returns this for example
+ * 
+ * @return {Object} new object with 2 properties: - table: contains the tablename, - column: contains the columnname
+ */
+EntityUtils.parseUidColumn = function(pFullUidName)
+{
+    var pos = pFullUidName.lastIndexOf(".");
+    return {
+        table: pFullUidName.substring(0, pos),
+        column: pFullUidName.substring(++pos)
+    };
+};
+
 /**
 * provides static methods for special handling of entities in JDito-Processes
 * do not create an instance of this
@@ -115,14 +139,13 @@ FieldChanges.assimilateChangeAndDispose = function (pFieldName, pAssimilatorFn)
 /**
  * Call this if the field changed.
  */
-FieldChanges.setChange = function(pFieldName)
+FieldChanges.setChange = function(pFieldName, pValue)
 {
     var allChanges = FieldChanges._getStorage();
     if (allChanges[pFieldName] == undefined)
         allChanges[pFieldName] = {};
     
-    var value = vars.get(pFieldName);
-    if (!value)
+    if (!pValue)
         allChanges[pFieldName].state = FieldChanges.STATE_DELETED();
     else
         allChanges[pFieldName].state = FieldChanges.STATE_CHANGED();
diff --git a/process/IncomingCallExecutor_lib/process.js b/process/IncomingCallExecutor_lib/process.js
index 73b5e9adbc13f2fee70b5f317be79a4b153c8b82..ac21567d19fc3c9d4f98f7e425cb82031ef82ffa 100644
--- a/process/IncomingCallExecutor_lib/process.js
+++ b/process/IncomingCallExecutor_lib/process.js
@@ -165,7 +165,7 @@ IncomingCallExecutor._getContactsFromNumber = function(pNumber)
     });
     
     config = entities.createConfigForLoadingRows().entity("AnyContact_entity")
-                                                  .fields(["CONTACTID", "ORGANISATION_ID", "ORGANISATION_NAME", "PERSON_ID", "LANGUAGE", "PERSON_FULL_NAME"])
+                                                  .fields(["CONTACTID", "ORGANISATION_ID", "ORGANISATION_NAME", "PERSON_ID", "ISOLANGUAGE", "PERSON_FULL_NAME"])
                                                   .uids(contactIds);
     rows = entities.getRows();
     return rows;
@@ -174,7 +174,7 @@ IncomingCallExecutor._getContactsFromNumber = function(pNumber)
     var contactSql = SqlCondition.begin()
     .andPrepare("COMMUNICATION.ADDR", phoneNumber)
     .andPrepare("CONTACT.STATUS", $KeywordRegistry.contactStatus$active())
-    .buildSql("select CONTACT.CONTACTID, CONTACT.ORGANISATION_ID, ORGANISATION.NAME, CONTACT.PERSON_ID, CONTACT.LANGUAGE, PERSON.LASTNAME, PERSON.FIRSTNAME from CONTACT \n\
+    .buildSql("select CONTACT.CONTACTID, CONTACT.ORGANISATION_ID, ORGANISATION.NAME, CONTACT.PERSON_ID, CONTACT.ISOLANGUAGE, PERSON.LASTNAME, PERSON.FIRSTNAME from CONTACT \n\
                             join ORGANISATION on ORGANISATION.ORGANISATIONID = CONTACT.ORGANISATION_ID \n\
                             left join PERSON on CONTACT.PERSON_ID = PERSON.PERSONID \n\
                             join COMMUNICATION on COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID");
@@ -212,7 +212,7 @@ IncomingCallExecutor.prototype.getLocaleFromUser = function(pUserObject)
     });
     //language for output like notifications, this is most likely used within the callback-functions (action handlers):
     if (contact && contact.LANGUAGE)
-        return contact.LANGUAGE;
+        return contact.ISOLANGUAGE;
     else 
         return null;
 };
diff --git a/process/IncomingEmailExecutor_lib/process.js b/process/IncomingEmailExecutor_lib/process.js
index e83681a138b0396b51a2ff14b1eb5026acf7bfd5..096ef3111e2f05371f5de193cb0a165db89d412b 100644
--- a/process/IncomingEmailExecutor_lib/process.js
+++ b/process/IncomingEmailExecutor_lib/process.js
@@ -1,6 +1,5 @@
 import("EmailUtil_lib");
 import("Util_lib");
-import("system.logging");
 import("system.question");
 import("system.datetime");
 import("system.vars");
@@ -35,8 +34,7 @@ function IncomingEmailExecutor(pMail)
         return elem != "" && elem != null;
     });
     
-    this.senderInfo = null;
-    this._collectSenderInformation();
+    this._senderInfo = null;
     
     //activity data and failbackActivityData will be merged later to get all the data we need
     //we always want to prefer contacts that are active to those who are inactive (that applies to the sender and to the recipients)
@@ -70,11 +68,18 @@ IncomingEmailExecutor.prototype.getMailtextAsHtml = function()
     return htmlMailText;
 };
 
+IncomingEmailExecutor.prototype.getSenderInfo = function()
+{
+    if (this._senderInfo == null)
+        this._senderInfo = this.mailSender ? IncomingEmailExecutor.getContactDataByEmail(this.mailSender, this._alias) : [];
+    return this._senderInfo;
+}
+
 IncomingEmailExecutor.prototype.insertUnlinkedMail = function ()
 {
     var unlinkedMailId = util.getNewUUID();
     var cols = ["AB_UNLINKEDMAILID", "SUBJECT", "SENTDATE", "SENDER", "RECIPIENTS", "MAIL", "USER_NEW", "DATE_NEW"];
-    var vals = [unlinkedMailId, this.mailSubject, this.mailSentDate, this.mailSender, recipients.join(", "),  mail.toRFC(this.rawMail), vars.get("$sys.user"), datetime.date()];
+    var vals = [unlinkedMailId, this.mailSubject, this.mailSentDate, this.mailSender, this.mailRecipients.join(", "),  mail.toRFC(this.rawMail), vars.get("$sys.user"), datetime.date()];
     db.insertData("AB_UNLINKEDMAIL", cols, null, vals, this._alias);
 
     return {
@@ -82,14 +87,9 @@ IncomingEmailExecutor.prototype.insertUnlinkedMail = function ()
     };
 };
 
-IncomingEmailExecutor.prototype._collectSenderInformation = function ()
-{
-    this.senderInfo = this.mailSender ? IncomingEmailExecutor.getContactDataByEmail(this.mailSender, this._alias) : [];
-}
-
 IncomingEmailExecutor.prototype.isUnlinkable = function ()
 {
-    return this.senderInfo.length == 0;
+    return this.getSenderInfo().length == 0;
 }
 
 IncomingEmailExecutor.getContactDataByEmail = function (pMailAddress, pAlias)
@@ -110,7 +110,7 @@ IncomingEmailExecutor.prototype.createActivity = function(pAdditionalLinks)
         prefered: [],
         failback: []
     };
-    this.senderInfo.forEach(this._getProcessingFunction(true, senderContacts), this);
+    this.getSenderInfo().forEach(this._getProcessingFunction(true, senderContacts), this);
     this.activityData.links = this.activityData.links.concat(senderContacts.prefered.length > 0 ? senderContacts.prefered : senderContacts.failback);
 
     for (var i = 0, l = this.mailRecipients.length; i < l; i++)
@@ -204,178 +204,4 @@ IncomingEmailExecutor.prototype._getProcessingFunction = function (pIsSender, pT
                 pTargetArray["failback"].push(link);
         }
     };
-};
-
-
-//TODO: comment library
-/*
-function IncomingEmailExecutor(){ }
-
-IncomingEmailExecutor.getContactDataByEmail = function (pMailAddress, pAlias)
-{
-//    logging.log("pMailAddress>>" + pMailAddress);
-    var mailAddress = pMailAddress//.replace("<'", "<").replace(">'", ">");//special treatment for crazy illegal addresses which can be sent in Outlook
-    mailAddress = mail.extractAddress(mailAddress).toUpperCase();
-    var sql = SqlCondition.begin(pAlias)
-        .andPrepare("COMMUNICATION.ADDR", mailAddress, "upper(#) = ?")
-        .buildSql("select CONTACT.CONTACTID, CONTACT.STATUS, CONTACT.PERSON_ID \n\
-                                                        from COMMUNICATION \n\
-                                                        join CONTACT on (COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID)");
-    var res = db.table(sql, pAlias);
-    return res;
-};
-
-IncomingEmailExecutor.mailToActivity = function(pMail, pUnlinkedMailId, pAlias, pOverrideConfig, pAdditionalLinks)
-{
-    //whenver this function is called it may not be in a context where a alias is given: the mail-importing-entity for example has no alias. 
-    //therefore set it here manually
-    var alias = pAlias || db.getCurrentAlias();
-    var mailObj = pMail;
-    
-    var subject = mailObj[mail.MAIL_SUBJECT] || "";
-    var sender = mailObj[mail.MAIL_SENDER];
-    var recipientsTo = mailObj[mail.RECIPIENT_TO].split(";");
-    var recipientsCc = mailObj[mail.RECIPIENT_CC].split(";");
-    var recipientsBcc = mailObj[mail.RECIPIENT_BCC].split(";");
-    var recipients = recipientsTo.concat(recipientsCc, recipientsBcc).filter(function (elem){
-        return elem != "" && elem != null;
-    });
-
-    var htmlMailText = mailObj[mail.MAIL_ATTACHMENTCOUNT] + " Attachement(s)<br/><br/>\n";
-    //since the activity has always and only a HTML-content-field we need to ensure that there will be always a HTML-content
-    if (mailObj[mail.MAIL_HTMLTEXT])
-        htmlMailText += mailObj[mail.MAIL_HTMLTEXT];
-    else
-        htmlMailText += text.text2html(mailObj[mail.MAIL_TEXT], true);
-
-    var sentdate = mailObj[mail.MAIL_SENTDATE];
-    var senderInfo = sender ? IncomingEmailExecutor.getContactDataByEmail(sender, alias) : [];
-
-    if (senderInfo.length == 0)
-    {
-        var unlinkedMailId;
-        if (!pUnlinkedMailId)
-        {
-            unlinkedMailId = util.getNewUUID();
-            var cols = ["AB_UNLINKEDMAILID", "SUBJECT", "SENTDATE", "SENDER", "RECIPIENTS", "MAIL", "USER_NEW", "DATE_NEW"];
-            var vals = [unlinkedMailId, subject, sentdate, sender, recipients.join(", "),  mail.toRFC(mailObj), vars.get("$sys.user"), datetime.date()];
-            db.insertData("AB_UNLINKEDMAIL", cols, null, vals, alias);
-        }
-        else 
-            unlinkedMailId = pUnlinkedMailId;
-
-        return {
-            unlinkedMailId: unlinkedMailId
-        };
-    }
-
-    //activity data and failbackActivityData will be merged later to get all the data we need
-    //we always want to prefer contacts that are active to those who are inactive (that applies to the sender and to the recipients)
-    var activityData = {
-        links: []
-    };
-    if (pOverrideConfig.employeeContactId)
-        activityData.employeeContactId = pOverrideConfig.employeeContactId;
-    
-    var failbackActivityData = {
-        employeeContactId: "",
-        direction: $KeywordRegistry.activityDirection$incoming()
-    };
-
-    var senderContacts = {
-        prefered: [],
-        failback: []
-    };
-    senderInfo.forEach(_getProcessingFunction(true), senderContacts);
-    activityData.links = activityData.links.concat(senderContacts.prefered.length > 0 ? senderContacts.prefered : senderContacts.failback);
-
-    var contactInfoProcessingFn = _getProcessingFunction(false);
-    for (var i = 0, l = recipients.length; i < l; i++)
-    {
-        var recipientsInfo = IncomingEmailExecutor.getContactDataByEmail(recipients[i], alias);
-
-        var recipientContacts = {
-            prefered: [],
-            failback: []
-        };
-        recipientsInfo.forEach(contactInfoProcessingFn, recipientContacts);
-        activityData.links = activityData.links.concat(recipientContacts.prefered.length > 0 ? recipientContacts.prefered : recipientContacts.failback);
-    }
-
-    
-    var activityDataForInsert = {
-        subject: subject,
-        content: htmlMailText,
-        categoryKeywordId: $KeywordRegistry.activityCategory$mail(),
-        directionKeywordId: activityData.direction || failbackActivityData.direction,
-        responsibleContactId: activityData.employeeContactId || failbackActivityData.employeeContactId
-    };
-    var activityLinks = activityData.links || failbackActivityData.links;
-    if (pAdditionalLinks)
-        activityLinks.push(pAdditionalLinks);
-    activityLinks = ArrayUtils.distinct2d(activityLinks);//TODO: better check before adding the elements into the array if it already exists there
-    var activityDocs = [["mail.eml", util.encodeBase64String(mail.toRFC(pMail)), true]];
-    var activityRes = ActivityUtils.insertNewActivity(activityDataForInsert, activityLinks, activityDocs, pAlias);
-    
-    if (pUnlinkedMailId)
-    {
-        db.deleteData("AB_UNLINKEDMAIL", SqlCondition.begin().andPrepare("AB_UNLINKEDMAIL.AB_UNLINKEDMAILID", pUnlinkedMailId).build(), alias);
-    }
-    
-    return activityRes;
-
-    function _getProcessingFunction(pIsSender)
-    {
-        return function(contactInfoRow) {
-            var contactId, contactStatus, contactPersonId;
-            [contactId, contactStatus, contactPersonId] = contactInfoRow;
-
-            //there *should* only exist no or one user per contactid, never two or more - so getUser (not getUsers) should be fine
-            var user = tools.getUserByAttribute(tools.CONTACTID, [contactId]);
-            var isEmployee = user != null;
-            var isContactActive = contactStatus == $KeywordRegistry.contactStatus$active();
-
-            //if a user was already found we can skip determining the correct user since only one user can be set as "RESPONSIBLE" in the activity
-            if (isEmployee && !activityData.employeeContactId)
-            {
-                var direction = pIsSender ? $KeywordRegistry.activityDirection$outgoing() : $KeywordRegistry.activityDirection$incoming();
-                if (isContactActive)
-                {
-                    activityData.employeeContactId = contactId;
-                    activityData.direction = direction;
-                }
-                else
-                {
-                    //if the user is inactive, we may find a better (=active) user later
-                    failbackActivityData.employeeContactId = contactId;
-                    failbackActivityData.direction = direction;
-                }    
-            }
-            else
-            {
-                var link = [(contactPersonId == "" ? "Organisation" : "Person"), contactId];
-                if (isContactActive)
-                    this["prefered"].push(link);
-                else
-                    this["failback"].push(link);
-            }
-        };
-    }
-};
-*/
-function IncomingEmailDataOverrides()
-{
-}
-
-IncomingEmailDataOverrides.load = function()
-{
-    return new IncomingEmailDataOverrides();
-}
-
-IncomingEmailDataOverrides.prototype.employeeContactId = function(pValue)
-{
-    if (pValue)
-        this.employeeContactId = pValue;
-    return this;
-};
-
+};
\ No newline at end of file
diff --git a/process/JditoFilter_lib/process.js b/process/JditoFilter_lib/process.js
index 75d84b59c61ce1cbdf111641aa19ba4da5863c17..f60e36bcc818353eb194b18d40dd624758c7288c 100644
--- a/process/JditoFilter_lib/process.js
+++ b/process/JditoFilter_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("Sql_lib");
 
 /**
diff --git a/process/KeywordData_lib/process.js b/process/KeywordData_lib/process.js
index f1102303109f2398aac93b1d92b558973a4be6e6..930d056393a8989f28842af3307d707754773264 100644
--- a/process/KeywordData_lib/process.js
+++ b/process/KeywordData_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.translate");
 import("system.db");
 import("DataCaching_lib");
@@ -14,11 +13,18 @@ The idea behind this is to maintain data in cached form (client-context-side)) f
 
 function KeywordData(){}
 
-KeywordData.getSimpleData = function (pKeywordContainer, pLocale)
+KeywordData.getSimpleData = function (pKeywordContainer, pLocale, pOnlyActives)
 {
-    var cache = new CachedData("KeywordSimpleData_" + pKeywordContainer, true, pLocale);
+    var onlyActives = (pOnlyActives == undefined ? true : pOnlyActives);
+    var flags =  "#" + (onlyActives ? "1" : "0");
+    var identifier = "KeywordSimpleData_" + pKeywordContainer + flags;
+    var cache = new CachedData(identifier, true, pLocale);
     return cache.load(function (pTranslationNecessary, pLocale){
         var cond = SqlCondition.begin().andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pKeywordContainer);
+        
+        if (onlyActives)
+            cond.andPrepare("AB_KEYWORD_ENTRY.ISACTIVE", "1");
+        
         var keywordData = db.table(cond.buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY", null, 
             "order by AB_KEYWORD_ENTRY.SORTING asc, AB_KEYWORD_ENTRY.TITLE asc"));
 
@@ -52,7 +58,7 @@ KeywordData.getKeywordAttributeRelations = function (pKeywordContainer)
         var cond = SqlCondition.begin()
         .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pKeywordContainer);
         
-        var sql = cond.buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ATTRIBUTE.NAME, AB_KEYWORD_ATTRIBUTE.TYPE, \n\
+        var sql = cond.buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ATTRIBUTE.NAME, AB_KEYWORD_ATTRIBUTE.KIND, \n\
         AB_KEYWORD_ATTRIBUTERELATION.CHAR_VALUE, AB_KEYWORD_ATTRIBUTERELATION.LONG_CHAR_VALUE, AB_KEYWORD_ATTRIBUTERELATION.NUMBER_VALUE, AB_KEYWORD_ATTRIBUTERELATION.BOOL_VALUE \n\
         from AB_KEYWORD_ENTRY \n\
         join AB_KEYWORD_ATTRIBUTE on (AB_KEYWORD_ATTRIBUTE.CONTAINER = AB_KEYWORD_ENTRY.CONTAINER) \n\
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index 974c5c3b34731047b35399ecca6e3d8722be68c9..b65603dcca59dc0343071ef673d7856a834ab25e 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -79,7 +79,13 @@ $KeywordRegistry.quantityUnit$pieces = function(){return $KeywordRegistry._autoP
 
 $KeywordRegistry.MemberRole = function(){return "MemberRole";};
 $KeywordRegistry.salesprojectSource = function(){return "SalesprojectSource";};
+
 $KeywordRegistry.salesorderState = function(){return "SalesorderState";};
+$KeywordRegistry.salesorderState$checked = function(){return $KeywordRegistry._autoPad("SALORDERSTATCHECK");};
+$KeywordRegistry.salesorderState$sent = function(){return $KeywordRegistry._autoPad("SALORDERSTATSENT");};
+$KeywordRegistry.salesorderState$won = function(){return $KeywordRegistry._autoPad("SALORDERSTATWON");};
+$KeywordRegistry.salesorderState$lost = function(){return $KeywordRegistry._autoPad("SALORDERSTATLOST");};
+
 $KeywordRegistry.salesprojectWonLost = function(){return "SalesprojectWonLost";};
 $KeywordRegistry.stockWarehouse = function(){return "StockWarehouse";};
 $KeywordRegistry.salesprojectProbability = function(){return "SalesprojectProbability";};
@@ -121,6 +127,7 @@ $KeywordRegistry.taskProgress = function(){return "TaskProgress";};
 $KeywordRegistry.taskProgress$0 = function(){return $KeywordRegistry._autoPad("TASKPROG0");};
 
 $KeywordRegistry.competitionState = function(){return "CompetitionState";};
+$KeywordRegistry.competitionState$lost = function(){return $KeywordRegistry._autoPad("COMPSTATELOST");};
 $KeywordRegistry.objectRelationType = function(){return "ObjectRelationType";};
 $KeywordRegistry.deliveryTerm = function(){return "DeliveryTerm";};
 $KeywordRegistry.paymentTerm = function(){return "PaymentTerm";};
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index e40c7c2f077d16d91f3b211d89d9714087e72410..f0fd2438cb04e50991413362f85f97be8915c96f 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("KeywordRegistry_basic");
 import("KeywordData_lib");
 import("system.vars");
@@ -229,7 +228,7 @@ function KeywordAttribute(pContainerName, pAttributeName, pDefault)
     var sql  = SqlCondition.begin()
                            .andPrepare("AB_KEYWORD_ATTRIBUTE.CONTAINER", pContainerName)
                            .andPrepare("AB_KEYWORD_ATTRIBUTE.NAME", pAttributeName)
-                           .buildSql("select AB_KEYWORD_ATTRIBUTE.AB_KEYWORD_ATTRIBUTEID, AB_KEYWORD_ATTRIBUTE.TYPE from AB_KEYWORD_ATTRIBUTE");
+                           .buildSql("select AB_KEYWORD_ATTRIBUTE.AB_KEYWORD_ATTRIBUTEID, AB_KEYWORD_ATTRIBUTE.KIND from AB_KEYWORD_ATTRIBUTE");
     
     var keywordAttrData = db.array(db.ROW, sql);
     
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index bfdd79595c9945a948d8533b7ec34cda7ea12abc..bc6c338a134c68dd4b8ee87de73ee44ef74fe8e4 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.util");
 import("system.datetime");
@@ -106,7 +105,7 @@ OfferUtils.openOfferReport = function (pOfferID)
     var offerFields = [
         "ADDRESS", 
         "CONTACT_ID", 
-        "LANGUAGE", 
+        "ISOLANGUAGE", 
         "PAYMENTTERMS", 
         "DELIVERYTERMS", //4
         "OFFERCODE", 
diff --git a/process/Order_lib/process.js b/process/Order_lib/process.js
index 5d57a94d81c12108099f8d72362ce92ea51b86fa..e8a0dd040dbd29330b2cd41c72c2ddec033ead54 100644
--- a/process/Order_lib/process.js
+++ b/process/Order_lib/process.js
@@ -78,7 +78,7 @@ OrderUtils.createNewOrder = function(pContextId, pRowId, pRelationId)
     if (pRelationId)
         params["ContactId_param"] = pRelationId;
     
-    neon.openContext("Order", null, neon.OPERATINGSTATE_NEW, params);
+    neon.openContext("Order", null, null, neon.OPERATINGSTATE_NEW, params);
 }
 
 OrderUtils.copyOrder = function (pOfferId, pContactId, pOrderType, pLanguage, pCurrency, pHeader, pFooter, pDeliveryTerm, pPaymentTerm, pObjectType, pRowId, pDunningDate, pDunningLevel, pCancellation)
diff --git a/process/Organisation_lib/process.js b/process/Organisation_lib/process.js
index d87c9406235fa033a8fa343f15940e9c08ad6e7c..f80c70ad5e6d59ac7454b930a4de74a19b4ebea7 100644
--- a/process/Organisation_lib/process.js
+++ b/process/Organisation_lib/process.js
@@ -73,7 +73,7 @@ OrgUtils.openOrgReport = function(pOrgId)
     var commSql = "select MEDIUM_ID, ADDR from COMMUNICATION";
     commSql = SqlCondition.begin()
         .andPrepare("COMMUNICATION.CONTACT_ID", relationId)
-        .and("STANDARD = 1")
+        .and("ISSTANDARD = 1")
         .buildSql(commSql);
     var commData = db.table(commSql);
     
diff --git a/process/Permission_lib/process.js b/process/Permission_lib/process.js
index 999846f31bde5082d5b45cdd0f75ec7247317011..689c3577f4200a347625f62998acd1ccc3305026 100644
--- a/process/Permission_lib/process.js
+++ b/process/Permission_lib/process.js
@@ -260,9 +260,13 @@ PermissionUtil.getRootFieldPermission = function(pPermId) {
  * @result {String} returns the id of the default permission of a given permission set. Never 'null', empty string if there is no result.
  */
 PermissionUtil.getDefaultPermission = function(pPermSetId) {
-    var sqlStr = "select ASYS_PERMISSIONID from ASYS_PERMISSION"
+    var sqlStr = "select ENTITY_ID from ASYS_PERMISSIONSET where ASYS_PERMISSIONSETID = '" + pPermSetId + "'";
+    var entityName = db.cell(sqlStr, alias);
+    var noCond = "{\"entity\":\"" + entityName + "\",\"filter\":{\"type\":\"group\",\"operator\":\"AND\",\"childs\":[]}}";
+    
+    sqlStr = "select ASYS_PERMISSIONID from ASYS_PERMISSION"
     + " where ASYS_PERMISSIONSET_ID = '" + pPermSetId + "'"
-    + " and COND is null"
+    + " and (COND is null or COND like '%" + noCond + "%')";
     return db.cell(sqlStr, alias);
 }
 
@@ -274,9 +278,13 @@ PermissionUtil.getDefaultPermission = function(pPermSetId) {
  * @result {String[]} returns the ids of the conditional permissions of a given permission set. The result can never be null.
  */
 PermissionUtil.getConditionalPermission = function(pPermSetId) {
-    var sqlStr = "select ASYS_PERMISSIONID from ASYS_PERMISSION"
+    var sqlStr = "select ENTITY_ID from ASYS_PERMISSIONSET where ASYS_PERMISSIONSETID = '" + pPermSetId + "'";
+    var entityName = db.cell(sqlStr, alias);
+    var noCond = "{\"entity\":\"" + entityName + "\",\"filter\":{\"type\":\"group\",\"operator\":\"AND\",\"childs\":[]}}";
+    
+    sqlStr = "select ASYS_PERMISSIONID from ASYS_PERMISSION"
     + " where ASYS_PERMISSIONSET_ID = '" + pPermSetId + "'"
-    + " and COND is not null"
+    + " and COND is not null and COND not like '" + noCond + "'";
     return db.table(sqlStr, alias);
 }
 
@@ -338,17 +346,6 @@ PermissionUtil.permSetIsEmpty = function(pPermSetId) {
     return false;
 }
 
-/**
- * Returns all PermissionSets, Permissions and PermissionActions.
- * 
- * @result {String[]) all PermissionSets, Permissions and PermissionActions. The result can never be null.
- */
-PermissionUtil.getCompleteStructure = function() {
-    return db.table("select ASYS_PERMISSIONSET.ENTITY_ID, ASYS_PERMISSIONSET.ROLE_ID, ASYS_PERMISSIONSET.FIELD_ID, ASYS_PERMISSIONSET.ACCESSTYPE, ASYS_PERMISSION.COND, ASYS_PERMISSION.CONDTYPE, ASYS_PERMISSIONACTION.ACTION from ASYS_PERMISSIONSET"
-        + " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
-        + " join ASYS_PERMISSIONACTION on ASYS_PERMISSIONACTION.ASYS_PERMISSION_ID = ASYS_PERMISSION.ASYS_PERMISSIONID", alias);
-}
-
 /**
  * Returns all permissions of the given permission sets.
  * 
@@ -382,28 +379,6 @@ PermissionUtil.getPermissionCondType = function(pPermId) {
     return db.cell("select CONDTYPE from ASYS_PERMISSION where ASYS_PERMISSION.ASYS_PERMISSIONID = '" + pPermId + "'", alias);
 }
 
-/**
- * Checks if the given actions are already linked to the permission.
- * 
- * @param {String} pPermId the id of the permission
- * 
- * @param {String} pActionNew actions which have to be checked if updated
- * 
- * @result {String[]} returns the element which is a duplicate, otherwise null
- */
-PermissionUtil.containsDuplicateActions = function(pPermId, pActionNew) {
-    var sqlStr = "select ACTION from ASYS_PERMISSIONACTION where ASYS_PERMISSION_ID = '" + pPermId + "'";
-    var actionsOld = db.array(db.COLUMN, sqlStr, alias);
-    var actionsNew = pActionNew.split(",");
-    var res = null
-    
-    res = actionsOld.filter(function(val) {
-        return actionsNew.indexOf(val) != -1;
-    });
-    
-    return res;
-}
-
 /**
  * Inserts a new instance of a permission set into ASYS_PERMISSIONSET.
  * 
@@ -479,45 +454,6 @@ PermissionUtil.getCondType = function(pPerm) {
     return db.cell(sqlStr, alias);
 }
 
-/**
- * Deletes a permissionset from ASYS_PERMISSIONSET.
- * 
- * @param {String} pPermSetId The permission set id which should be deleted, mandatory
- * 
- * @result {Integer} returns the number of deleted records
- */
-PermissionUtil.deletePermissionSet = function(pPermSetId) {
-    var table = "ASYS_PERMISSIONSET";
-    var cond = " ASYS_PERMISSIONSETID = '" + pPermSetId + "'";
-    return db.deleteData(table, cond, alias);
-}
-
-/**
- * Deletes a permission from ASYS_PERMISSION.
- * 
- * @param {String} pPermId The permission id which should be deleted, mandatory
- * 
- * @result {Integer} returns the number of deleted records
- */
-PermissionUtil.deletePermission = function(pPermId) {
-    var table = "ASYS_PERMISSION";
-    var cond = " ASYS_PERMISSIONID = '" + pPermId + "'";
-    return db.deleteData(table, cond, alias);
-}
-
-/**
- * Deletes a permission action from ASYS_PERMISSIONACTION.
- * 
- * @param {String} pPermActionId The permission action id which should be deleted, mandatory
- * 
- * @result {Integer} returns the number of deleted records
- */
-PermissionUtil.deletePermissionAction = function(pPermActionId) {
-    var table = "ASYS_PERMISSIONACTION";
-    var cond = " ASYS_PERMISSIONACTIONID = '" + pPermActionId + "'";
-    return db.deleteData(table, cond, alias);
-}
-
 // arrDiff calculates different elements of two arrays and returns them as array, otherwise empty array
 function arrDiff (arr1, arr2) {
     var helperArr = [], diff = [];
diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js
index fdfb811d504c69f14e7e3247008df81f223d5006..2a6a2343c21c61db089af4231d0a5f1780b6cef0 100644
--- a/process/Product_lib/process.js
+++ b/process/Product_lib/process.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.util");
 import("system.SQLTYPES");
 import("system.datetime");
diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js
index c2258732e3551f554af14495792969ae98735cdc..981f58e59787e82ee5ad4be9b7a4cd41cc69c659 100644
--- a/process/Salesproject_lib/process.js
+++ b/process/Salesproject_lib/process.js
@@ -1,117 +1,115 @@
-import("system.logging");
-import("Sql_lib");
-import("system.neon");
-import("system.vars");
-import("system.util");
-import("system.translate");
-import("system.db");
-import("system.eMath");
-import("system.question");
-import("Util_lib");
-import("Keyword_lib");
-import("system.neonTools");
-/**
- * Methods used by the Salesproject.
- * Do not create an instance of this!
- * 
- * @class
- */
-function Salesproject() {}
-   
-/**
- * Delivers the next valid project number (has to be unique)
- * 
- * @result {String} next valid project number
- */
-Salesproject.getNextProjectNumber = function() {
-    return NumberSequencingUtils.getNextUniqueNumber("PROJECTCODE", "SALESPROJECT");
-}
-
-/**
- * Checks if the passed project number is valid (has to be unique)
- * 
- * @param {String} projectNumber project number to check
- * 
- * @result {Boolean} passed number is valid
- */
-Salesproject.validateProjectNumber = function(projectNumber) {
-    return NumberSequencingUtils.validateUniqueNumber(projectNumber, "PROJECTCODE", "SALESPROJECT");
-}
-
-/**
- * Insert a new milestone.
- * 
- * @param {String} salesprojectId of the salesproject
- * @param {Integer} type can be any value of the keyword SALESPROJECT.MILESTONE.TYPE
- * @param {Integer} value value of the phase or state
- * @param {Boolean} [notifyForecast=false] if true, notify user to update the forecast
- * 
- * @result {Boolean} true if inserted, else false
- */
-Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForecast) {
-    if (KeywordUtils.exists(value, type)) {
-        var id= db.cell(SqlCondition.begin()
-                        .andPrepare("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
-                        .andPrepare("SALESPROJECT_MILESTONE.TYPE", type)
-                        .and("SALESPROJECT_MILESTONE.DATE_END is null")
-                        .buildSql("select SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID from SALESPROJECT_MILESTONE "));
-        
-        logging.log("id = " + id)
-        
-        db.updateData(
-            "SALESPROJECT_MILESTONE",
-            ["DATE_END"],
-            null,
-            [vars.get("$sys.date")],
-            SqlCondition.begin()
-                        .andPrepare("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
-                        .andPrepare("SALESPROJECT_MILESTONE.TYPE", type)
-                        .and("SALESPROJECT_MILESTONE.DATE_END is null")
-                        .build("1=2"));
-        
-        db.insertData(
-            "SALESPROJECT_MILESTONE",
-            ["SALESPROJECT_MILESTONEID", "SALESPROJECT_ID", "TYPE", "VALUE", "DATE_START", "PARENT_ID"],
-            null,
-            [util.getNewUUID(), salesprojectId, type, value, vars.get("$sys.date"), id]);
-        if (notifyForecast) {
-            Salesproject.notifyToUpdateForecast()
-        }
-        return true;
-    }
-    return false;
-}
-
-/**
- * Notify the user to update the forecast
- */
-Salesproject.notifyToUpdateForecast = function() {
-    if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
-        question.showMessage(translate.text("Please update the ${FORECAST_ENGLISH}."), question.INFORMATION, translate.text("${FORECAST_ENGLISH}"));
-}
-
-/**
- * get the title of a salesproject by id
- * @param {String} pSalesProjectId
- * <br>
- * @return {String} title of the salesproject
- */
-Salesproject.getSalesProjectTitleById = function(pSalesProjectId)
-{
-    return db.cell( SqlCondition.begin()
-                        .andPrepare("SALESPROJECT.SALESPROJECTID", pSalesProjectId)
-                        .buildSql("select PROJECTTITLE from SALESPROJECT", "1=0"));
-}
-
-/**
- * Create a new Salesproject and open the Salesproject context in NEW-mode
- */
-Salesproject.createNewSalesproject= function(pRelationId)
-{
-    var params = {};
-    
-    if (pRelationId)
-        params["ContactId_param"] = pRelationId;
-    
-    neon.openContext("Salesproject", null, null, neon.OPERATINGSTATE_NEW, params);
+import("Sql_lib");
+import("system.neon");
+import("system.vars");
+import("system.util");
+import("system.translate");
+import("system.db");
+import("system.eMath");
+import("system.question");
+import("Util_lib");
+import("Keyword_lib");
+import("system.neonTools");
+/**
+ * Methods used by the Salesproject.
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function Salesproject() {}
+   
+/**
+ * Delivers the next valid project number (has to be unique)
+ * 
+ * @result {String} next valid project number
+ */
+Salesproject.getNextProjectNumber = function() {
+    return NumberSequencingUtils.getNextUniqueNumber("PROJECTCODE", "SALESPROJECT");
+}
+
+/**
+ * Checks if the passed project number is valid (has to be unique)
+ * 
+ * @param {String} projectNumber project number to check
+ * 
+ * @result {Boolean} passed number is valid
+ */
+Salesproject.validateProjectNumber = function(projectNumber) {
+    return NumberSequencingUtils.validateUniqueNumber(projectNumber, "PROJECTCODE", "SALESPROJECT");
+}
+
+/**
+ * Insert a new milestone.
+ * 
+ * @param {String} salesprojectId of the salesproject
+ * @param {Integer} type can be any value of the keyword SALESPROJECT.MILESTONE.KIND
+ * @param {Integer} value value of the phase or state
+ * @param {Boolean} [notifyForecast=false] if true, notify user to update the forecast
+ * 
+ * @result {Boolean} true if inserted, else false
+ */
+Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForecast) {
+    if (KeywordUtils.exists(value, type)) {
+        var id= db.cell(SqlCondition.begin()
+                        .andPrepare("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
+                        .andPrepare("SALESPROJECT_MILESTONE.KIND", type)
+                        .and("SALESPROJECT_MILESTONE.DATE_END is null")
+                        .buildSql("select SALESPROJECT_MILESTONE.SALESPROJECT_MILESTONEID from SALESPROJECT_MILESTONE "));
+        
+        
+        db.updateData(
+            "SALESPROJECT_MILESTONE",
+            ["DATE_END"],
+            null,
+            [vars.get("$sys.date")],
+            SqlCondition.begin()
+                        .andPrepare("SALESPROJECT_MILESTONE.SALESPROJECT_ID", salesprojectId)
+                        .andPrepare("SALESPROJECT_MILESTONE.KIND", type)
+                        .and("SALESPROJECT_MILESTONE.DATE_END is null")
+                        .build("1=2"));
+        
+        db.insertData(
+            "SALESPROJECT_MILESTONE",
+            ["SALESPROJECT_MILESTONEID", "SALESPROJECT_ID", "KIND", "MILESTONEVALUE", "DATE_START", "PARENT_ID"],
+            null,
+            [util.getNewUUID(), salesprojectId, type, value, vars.get("$sys.date"), id]);
+        if (notifyForecast) {
+            Salesproject.notifyToUpdateForecast()
+        }
+        return true;
+    }
+    return false;
+}
+
+/**
+ * Notify the user to update the forecast
+ */
+Salesproject.notifyToUpdateForecast = function() {
+    if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
+        question.showMessage(translate.text("Please update the ${FORECAST_ENGLISH}."), question.INFORMATION, translate.text("${FORECAST_ENGLISH}"));
+}
+
+/**
+ * get the title of a salesproject by id
+ * @param {String} pSalesProjectId
+ * <br>
+ * @return {String} title of the salesproject
+ */
+Salesproject.getSalesProjectTitleById = function(pSalesProjectId)
+{
+    return db.cell( SqlCondition.begin()
+                        .andPrepare("SALESPROJECT.SALESPROJECTID", pSalesProjectId)
+                        .buildSql("select PROJECTTITLE from SALESPROJECT", "1=0"));
+}
+
+/**
+ * Create a new Salesproject and open the Salesproject context in NEW-mode
+ */
+Salesproject.createNewSalesproject= function(pRelationId)
+{
+    var params = {};
+    
+    if (pRelationId)
+        params["ContactId_param"] = pRelationId;
+    
+    neon.openContext("Salesproject", null, null, neon.OPERATINGSTATE_NEW, params);
 }
\ No newline at end of file
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 96fad8157daf52446aaf45d30932f3e1e99568d7..d2f616b53c0e5f39acbf4bf17523802821450438 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -393,7 +393,7 @@ SqlCondition.prototype.orIn = function(field, values, fieldType, not) {
  * @return {SqlCondition} current SqlCondition-object
  */
 SqlCondition.prototype._in = function(field, values, fieldType, not) {
-    if (values.length > 0)
+    if (values && values.length > 0)
     {
         if (fieldType == undefined)
             fieldType = SqlUtils.getSingleColumnType(field, undefined, this.alias);
@@ -1287,6 +1287,7 @@ SqlMaskingUtils.prototype.concat = function(fields, separatorCharacter, autoTrim
     {
         case db.DBTYPE_MYSQL4:
         case db.DBTYPE_MARIADB10:
+        case db.DBTYPE_POSTGRESQL8:
             retSql = " concat_ws( '" + separatorSql + "'";
             for (i = 0; i < fields.length; i++) {
                 retSql += ", " + fields[i];
diff --git a/process/StandardObject_lib/process.js b/process/StandardObject_lib/process.js
index 366abe06bc90995fd1e8fb2ecd60bcf3904f9f0a..772d1e21ee1a13df0cbed76d5b8c837ec682e8ef 100644
--- a/process/StandardObject_lib/process.js
+++ b/process/StandardObject_lib/process.js
@@ -249,7 +249,7 @@ StandardObject.prototype._hasStandardCommunicationByMedium = function (pContactI
     var dbResult = db.array(db.COLUMN, "select CHAR_VALUE from COMMUNICATION"
         + " left join AB_KEYWORD_ENTRY on KEYID = MEDIUM_ID"
         + " left join AB_KEYWORD_ATTRIBUTERELATION on AB_KEYWORD_ENTRY_ID = AB_KEYWORD_ENTRYID"
-        + " where STANDARD = 1 and CONTACT_ID = '" + pContactID + "' and KEYID in ('" + CommUtil.getMediumIdsByCategory(pMediumCategory).join("', '") +  "')");
+        + " where ISSTANDARD = 1 and CONTACT_ID = '" + pContactID + "' and KEYID in ('" + CommUtil.getMediumIdsByCategory(pMediumCategory).join("', '") +  "')");
     
     return dbResult.indexOf(pMediumCategory) !== -1;
 }
@@ -267,7 +267,7 @@ StandardObject.prototype._getMediumCategory = function (pMediumID) {
 }
 
 /**
- * Will set the given communication ID as standard. (Will update the `STANDARD`
+ * Will set the given communication ID as standard. (Will update the `ISSTANDARD`
  * column.)
  * 
  * @param {String} pCommunicationID The communication ID to set as standard.
@@ -280,8 +280,8 @@ StandardObject.prototype._setStandardCommunication = function (pCommunicationID,
     // Update data.
     db.updateData(
         "COMMUNICATION", 
-        ["STANDARD"], 
-        db.getColumnTypes("COMMUNICATION", ["STANDARD"]), 
+        ["ISSTANDARD"], 
+        db.getColumnTypes("COMMUNICATION", ["ISSTANDARD"]), 
         [pValue], 
         "COMMUNICATIONID = '" + pCommunicationID + "'");
 }
diff --git a/process/Ticket_lib/process.js b/process/Ticket_lib/process.js
index c3bf8bde8a6ec5c6cb80386591b120769e51a150..489382722ae4ddbef7c253c161e6e08d31e56af7 100644
--- a/process/Ticket_lib/process.js
+++ b/process/Ticket_lib/process.js
@@ -1,5 +1,4 @@
 import("Util_lib");
-import("system.logging");
 import("ActivityTask_lib");
 import("KeywordRegistry_basic");
 import("Keyword_lib");
diff --git a/process/Timetracking_lib/process.js b/process/Timetracking_lib/process.js
index 9cefd34b87c6f7bc5f432d4f084158fd36b288f3..0a6ef6264e03313ebc8d2c4d0533ab9ae04fdb81 100644
--- a/process/Timetracking_lib/process.js
+++ b/process/Timetracking_lib/process.js
@@ -1,63 +1,63 @@
-import("Sql_lib");
-import("system.db");
-import("system.neon");
-import("Context_lib");
-
-/**
- * Methods used for time tracking.
- * Do not create an instance of this!
- * 
- * @class
- */
-function Timetracking() {}
-   
-/**
- * calculates the total time of all time trackings of the object
- * 
- * @param {String} pRowId the rowId
- * 
- * @return {Number} total time in minutes
- */
-Timetracking.getTotalTrackingTime = function (pRowId)
-{
-    var objectId = ContextUtils.getCurrentContextId();
-    var totalMinutes = db.cell(SqlCondition.begin()
-        .andPrepare("TIMETRACKING.OBJECT_ID", objectId)
-        .andPrepare("TIMETRACKING.ROW_ID", pRowId)
-        .buildSql("select sum(MINUTES) from TIMETRACKING", "1=0"));
-    
-    return Number(totalMinutes);
-}
-
-/**
- * Create a new time tracking
- * 
- * @param {String} pRowId the rowId
- * 
- * @return {Number} total time in minutes
- */
-Timetracking.createNewTimeTracking = function (pRowId)
-{
-    var objectId = ContextUtils.getCurrentContextId();
-    var params = {
-        "ObjectId_param" : objectId,
-        "RowId_param" : pRowId
-    };
-    
-    neon.openContext("Timetracking", null, null, neon.OPERATINGSTATE_NEW, params);
-}
-
-/*
- * converts minutes tho hours and minuets. e.g. 105 to 1:45
- * 
- * @param {integer} pMinutes req 
- * 
- * @return {String} Hours:Minutes
- */
-Timetracking.minutesToReadableHour = function(pMinutes) 
-{
-    var timeHour = parseInt(pMinutes / 60);
-    var minutes = parseInt(pMinutes % 60);
-    
-    return "" + timeHour + ":" + ((minutes <= 9) ? "0" + minutes : minutes);
+import("Sql_lib");
+import("system.db");
+import("system.neon");
+import("Context_lib");
+
+/**
+ * Methods used for time tracking.
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function Timetracking() {}
+   
+/**
+ * calculates the total time of all time trackings of the object
+ * 
+ * @param {String} pRowId the rowId
+ * 
+ * @return {Number} total time in minutes
+ */
+Timetracking.getTotalTrackingTime = function (pRowId)
+{
+    var objectId = ContextUtils.getCurrentContextId();
+    var totalMinutes = db.cell(SqlCondition.begin()
+        .andPrepare("TIMETRACKING.OBJECT_ID", objectId)
+        .andPrepare("TIMETRACKING.ROW_ID", pRowId)
+        .buildSql("select sum(TRACKINGMINUTES) from TIMETRACKING", "1=0"));
+    
+    return Number(totalMinutes);
+}
+
+/**
+ * Create a new time tracking
+ * 
+ * @param {String} pRowId the rowId
+ * 
+ * @return {Number} total time in minutes
+ */
+Timetracking.createNewTimeTracking = function (pRowId)
+{
+    var objectId = ContextUtils.getCurrentContextId();
+    var params = {
+        "ObjectId_param" : objectId,
+        "RowId_param" : pRowId
+    };
+    
+    neon.openContext("Timetracking", null, null, neon.OPERATINGSTATE_NEW, params);
+}
+
+/*
+ * converts minutes tho hours and minuets. e.g. 105 to 1:45
+ * 
+ * @param {integer} pMinutes req 
+ * 
+ * @return {String} Hours:Minutes
+ */
+Timetracking.minutesToReadableHour = function(pMinutes) 
+{
+    var timeHour = parseInt(pMinutes / 60);
+    var minutes = parseInt(pMinutes % 60);
+    
+    return "" + timeHour + ":" + ((minutes <= 9) ? "0" + minutes : minutes);
 }
\ No newline at end of file
diff --git a/process/WsValidation_lib/process.js b/process/WsValidation_lib/process.js
index c5ad40dd0c210d20016709f1b867a8fc211d75ae..69379c6adf70362e376cd9eeaa411c0817666d38 100644
--- a/process/WsValidation_lib/process.js
+++ b/process/WsValidation_lib/process.js
@@ -266,47 +266,79 @@ WsValidationUtils.validate = function(pValue, pType, pCountry, pCity)
 }
 
 /**
- * set all address-fields by the value of $local.value, which should contain an object of all values as JSON
- * @param {String} [pFieldToSetToValue=undefined] the field which should be set to data.value
+ * parses a json array, but also checks if it is really an array
+ * @param {String} pJSON the json data
+ * 
+ * @return {Array|null} the parsed data as array or null if it was no array
  */
-WsValidationUtils.setAddressFields = function(pFieldToSetToValue)
-{
+WsValidationUtils._parseJSONArray = function(pJSON) {
     try
     {
-        var data = JSON.parse(vars.getString("$local.value"));
-    } catch (exception) { 
+        var data = JSON.parse(pJSON);
+    } catch (ex) { 
         // if no valid json, it is a direct user input and not a uuid.
         // ignore error
-        return
+        return null
     }
     var type = typeof data;
     
     // Only an array can be returned by the ws.   V-- this check is slow -> check if not object before as its faster
     if (type != "object" || Object.prototype.toString.call(data) !== '[object Array]')
-        return
-         
-    _setField("$field.ZIP", data[1]);
-    _setField("$field.CITY", data[2]);
-    _setField("$field.COUNTRY", data[4]);
-    //_setField("$field.DISTRICT",  data[5]); not needed currently
-    _setField("$field.REGION", data[6]);
-    _setField("$field.STATE", data[7]);
-    _setField("$field.ADDRESS", data[8]);
+        return null
     
-    if (pFieldToSetToValue)
-    {
-        _setField(pFieldToSetToValue, data[12])
+    return data;
+}
+
+/**
+ * set all address-fields by pValue, which should contain an array of all values as JSON
+ * Note: it does not set the current field itself as this sould be done by the value process. Use WsValidationUtils.valueFromJSON for this.
+ * 
+ * @param {String} pJSON the values as json
+ */
+WsValidationUtils.setAddressFields = function(pJSON)
+{
+    var data = WsValidationUtils._parseJSONArray(pJSON);
+    if (data == null)
+        return
+
+    var currentField = vars.get("$this.name");
+    var toSet = {
+        "$field.ZIP": data[1],
+        "$field.CITY": data[2],
+        "$field.COUNTRY": data[4],
+        //"$field.DISTRICT": data[5], not needed currently
+        "$field.REGION": data[6],
+        "$field.STATE": data[7],
+        "$field.ADDRESS": data[8]
     }
     
-    function _setField(pField, pValue)
+    for (field in toSet) 
     {
-        if (!pValue)
-            pValue = ""
+        if (field != currentField) 
+        {
+            let value = toSet[field];
+            if (!value)
+            value = ""
         
-        neon.setFieldValue(pField, pValue);
+            neon.setFieldValue(field, value);
+        }
     }
 }
 
+/**
+ * gives you only the value of the json.
+ * 
+ * @param {String} pJSON the values as json
+ * @return {String} the value or null if local.value did not contain a valid json array
+ */
+WsValidationUtils.valueFromJSON = function(pJSON)
+{
+    var data = WsValidationUtils._parseJSONArray(pJSON);
+    if (data == null)
+        return null
+
+    return data[12];
+}
 /**
  * check if the Webservice is enabled in the project preferences
  * @param {Object} pType
diff --git a/process/getDocxDocument_serverProcess/process.js b/process/getDocxDocument_serverProcess/process.js
index ba89d5b72fe127a05af388ffdd0cb0cb3803c612..4eca03e20fefab5ae808dbcb36e4dad08c282dbd 100644
--- a/process/getDocxDocument_serverProcess/process.js
+++ b/process/getDocxDocument_serverProcess/process.js
@@ -20,8 +20,8 @@ if (vars.exists("$local.templateFilePath"))
 else
     fileContent = vars.get("$local.templateb64");
 
-var zip = new JSZip();
-zip = zip.load(fileContent, {base64: true});
+var zip = new JSZip(fileContent, {base64: true});
+//zip = zip.load();
 var docx = new Docxtemplater();
 //use ADITO-default delimiters instead of doxtemplater-delimiters
 docx.delimiters.start = "{@";
@@ -135,6 +135,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 function initJsZip()
 {
 (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.JSZip = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+'use strict';
 var DataReader = require('./dataReader');
 
 function ArrayReader(data) {
@@ -180,13 +181,14 @@ ArrayReader.prototype.readData = function(size) {
     if(size === 0) {
         return [];
     }
-    var res = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+    var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
     this.index += size;
-    return res;
+    return result;
 };
 module.exports = ArrayReader;
 
 },{"./dataReader":6}],2:[function(require,module,exports){
+'use strict';
 // private property
 var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
 
@@ -258,6 +260,7 @@ exports.decode = function(input, utf8) {
 };
 
 },{}],3:[function(require,module,exports){
+'use strict';
 function CompressedObject() {
     this.compressedSize = 0;
     this.uncompressedSize = 0;
@@ -287,6 +290,7 @@ CompressedObject.prototype = {
 module.exports = CompressedObject;
 
 },{}],4:[function(require,module,exports){
+'use strict';
 exports.STORE = {
     magic: "\x00\x00",
     compress: function(content, compressionOptions) {
@@ -301,6 +305,7 @@ exports.STORE = {
 exports.DEFLATE = require('./flate');
 
 },{"./flate":9}],5:[function(require,module,exports){
+'use strict';
 
 var utils = require('./utils');
 
@@ -404,7 +409,7 @@ module.exports = function crc32(input, crc) {
 // vim: set shiftwidth=4 softtabstop=4:
 
 },{"./utils":22}],6:[function(require,module,exports){
-
+'use strict';
 var utils = require('./utils');
 
 function DataReader(data) {
@@ -463,14 +468,14 @@ DataReader.prototype = {
      * @return {number} the corresponding number.
      */
     readInt: function(size) {
-        var res = 0,
+        var result = 0,
             i;
         this.checkOffset(size);
         for (i = this.index + size - 1; i >= this.index; i--) {
-            res = (res << 8) + this.byteAt(i);
+            result = (result << 8) + this.byteAt(i);
         }
         this.index += size;
-        return res;
+        return result;
     },
     /**
      * Get the next string with a given byte size.
@@ -514,6 +519,7 @@ DataReader.prototype = {
 module.exports = DataReader;
 
 },{"./utils":22}],7:[function(require,module,exports){
+'use strict';
 exports.base64 = false;
 exports.binary = false;
 exports.dir = false;
@@ -526,6 +532,7 @@ exports.unixPermissions = null;
 exports.dosPermissions = null;
 
 },{}],8:[function(require,module,exports){
+'use strict';
 var utils = require('./utils');
 
 /**
@@ -632,6 +639,7 @@ exports.isRegExp = function (object) {
 
 
 },{"./utils":22}],9:[function(require,module,exports){
+'use strict';
 var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined');
 
 var pako = require("pako");
@@ -649,6 +657,7 @@ exports.uncompress =  function(input) {
 };
 
 },{"pako":25}],10:[function(require,module,exports){
+'use strict';
 
 var base64 = require('./base64');
 
@@ -729,6 +738,7 @@ JSZip.compressions = require('./compressions');
 module.exports = JSZip;
 
 },{"./base64":2,"./compressions":4,"./defaults":7,"./deprecatedPublicUtils":8,"./load":11,"./object":14,"./support":18}],11:[function(require,module,exports){
+'use strict';
 var base64 = require('./base64');
 var utf8 = require('./utf8');
 var utils = require('./utils');
@@ -770,6 +780,7 @@ module.exports = function(data, options) {
 
 },{"./base64":2,"./utf8":21,"./utils":22,"./zipEntries":23}],12:[function(require,module,exports){
 (function (Buffer){
+'use strict';
 module.exports = function(data, encoding){
     return new Buffer(data, encoding);
 };
@@ -779,6 +790,7 @@ module.exports.test = function(b){
 
 }).call(this,(typeof Buffer !== "undefined" ? Buffer : undefined))
 },{}],13:[function(require,module,exports){
+'use strict';
 var Uint8ArrayReader = require('./uint8ArrayReader');
 
 function NodeBufferReader(data) {
@@ -794,14 +806,14 @@ NodeBufferReader.prototype = new Uint8ArrayReader();
  */
 NodeBufferReader.prototype.readData = function(size) {
     this.checkOffset(size);
-    var res = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+    var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
     this.index += size;
-    return res;
+    return result;
 };
 module.exports = NodeBufferReader;
 
 },{"./uint8ArrayReader":19}],14:[function(require,module,exports){
-
+'use strict';
 var support = require('./support');
 var utils = require('./utils');
 var crc32 = require('./crc32');
@@ -846,49 +858,49 @@ var getRawData = function(file) {
  * @return {String|ArrayBuffer|Uint8Array|Buffer} the data.
  */
 var getBinaryData = function(file) {
-    var res = getRawData(file),
-        type = utils.getTypeOf(res);
+    var result = getRawData(file),
+        type = utils.getTypeOf(result);
     if (type === "string") {
         if (!file.options.binary) {
             // unicode text !
             // unicode string => binary string is a painful process, check if we can avoid it.
             if (support.nodebuffer) {
-                return nodeBuffer(res, "utf-8");
+                return nodeBuffer(result, "utf-8");
             }
         }
         return file.asBinary();
     }
-    return res;
+    return result;
 };
 
 /**
  * Transform this._data into a string.
- * @param {function} filter a function String -> String, applied if not null on the res.
+ * @param {function} filter a function String -> String, applied if not null on the result.
  * @return {String} the string representing this._data.
  */
 var dataToString = function(asUTF8) {
-    var res = getRawData(this);
-    if (res === null || typeof res === "undefined") {
+    var result = getRawData(this);
+    if (result === null || typeof result === "undefined") {
         return "";
     }
     // if the data is a base64 string, we decode it before checking the encoding !
     if (this.options.base64) {
-        res = base64.decode(res);
+        result = base64.decode(result);
     }
     if (asUTF8 && this.options.binary) {
         // JSZip.prototype.utf8decode supports arrays as input
         // skip to array => string step, utf8decode will do it.
-        res = out.utf8decode(res);
+        result = out.utf8decode(result);
     }
     else {
         // no utf8 transformation, do the array => string step.
-        res = utils.transformTo("string", res);
+        result = utils.transformTo("string", result);
     }
 
     if (!asUTF8 && !this.options.binary) {
-        res = utils.transformTo("string", out.utf8encode(res));
+        result = utils.transformTo("string", out.utf8encode(result));
     }
-    return res;
+    return result;
 };
 /**
  * A simple object representing a file in the zip file.
@@ -939,16 +951,16 @@ ZipObject.prototype = {
      * @return {Buffer} the content as a Buffer.
      */
     asNodeBuffer: function() {
-        var res = getBinaryData(this);
-        return utils.transformTo("nodebuffer", res);
+        var result = getBinaryData(this);
+        return utils.transformTo("nodebuffer", result);
     },
     /**
      * Returns the content as an Uint8Array.
      * @return {Uint8Array} the content as an Uint8Array.
      */
     asUint8Array: function() {
-        var res = getBinaryData(this);
-        return utils.transformTo("uint8array", res);
+        var result = getBinaryData(this);
+        return utils.transformTo("uint8array", result);
     },
     /**
      * Returns the content as an ArrayBuffer.
@@ -964,7 +976,7 @@ ZipObject.prototype = {
  * @private
  * @param {number} dec the number to convert.
  * @param {number} bytes the number of bytes to generate.
- * @returns {string} the res.
+ * @returns {string} the result.
  */
 var decToHex = function(dec, bytes) {
     var hex = "",
@@ -1122,29 +1134,29 @@ var folderAdd = function(name, createFolders) {
  * @param {ZipObject} file the object to read.
  * @param {JSZip.compression} compression the compression to use.
  * @param {Object} compressionOptions the options to use when compressing.
- * @return {JSZip.CompressedObject} the compressed res.
+ * @return {JSZip.CompressedObject} the compressed result.
  */
 var generateCompressedObjectFrom = function(file, compression, compressionOptions) {
-    var res = new CompressedObject(),
+    var result = new CompressedObject(),
         content;
 
     // the data has not been decompressed, we might reuse things !
     if (file._data instanceof CompressedObject) {
-        res.uncompressedSize = file._data.uncompressedSize;
-        res.crc32 = file._data.crc32;
+        result.uncompressedSize = file._data.uncompressedSize;
+        result.crc32 = file._data.crc32;
 
-        if (res.uncompressedSize === 0 || file.dir) {
+        if (result.uncompressedSize === 0 || file.dir) {
             compression = compressions['STORE'];
-            res.compressedContent = "";
-            res.crc32 = 0;
+            result.compressedContent = "";
+            result.crc32 = 0;
         }
         else if (file._data.compressionMethod === compression.magic) {
-            res.compressedContent = file._data.getCompressedContent();
+            result.compressedContent = file._data.getCompressedContent();
         }
         else {
             content = file._data.getContent();
             // need to decompress / recompress
-            res.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
+            result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
         }
     }
     else {
@@ -1154,15 +1166,15 @@ var generateCompressedObjectFrom = function(file, compression, compressionOption
             compression = compressions['STORE'];
             content = "";
         }
-        res.uncompressedSize = content.length;
-        res.crc32 = crc32(content);
-        res.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
+        result.uncompressedSize = content.length;
+        result.crc32 = crc32(content);
+        result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
     }
 
-    res.compressedSize = res.compressedContent.length;
-    res.compressionMethod = compression.magic;
+    result.compressedSize = result.compressedContent.length;
+    result.compressionMethod = compression.magic;
 
-    return res;
+    return result;
 };
 
 
@@ -1185,15 +1197,15 @@ var generateCompressedObjectFrom = function(file, compression, compressionOption
  */
 var generateUnixExternalFileAttr = function (unixPermissions, isDir) {
 
-    var res = unixPermissions;
+    var result = unixPermissions;
     if (!unixPermissions) {
         // I can't use octal values in strict mode, hence the hexa.
         //  040775 => 0x41fd
         // 0100664 => 0x81b4
-        res = isDir ? 0x41fd : 0x81b4;
+        result = isDir ? 0x41fd : 0x81b4;
     }
 
-    return (res & 0xFFFF) << 16;
+    return (result & 0xFFFF) << 16;
 };
 
 /**
@@ -1415,7 +1427,7 @@ var out = {
      * @return {Array} An array of matching elements.
      */
     filter: function(search) {
-        var res = [],
+        var result = [],
             filename, relativePath, file, fileClone;
         for (filename in this.files) {
             if (!this.files.hasOwnProperty(filename)) {
@@ -1427,10 +1439,10 @@ var out = {
             relativePath = filename.slice(this.root.length, filename.length);
             if (filename.slice(0, this.root.length) === this.root && // the file is in the current root
             search(relativePath, fileClone)) { // and the file matches the function
-                res.push(fileClone);
+                result.push(fileClone);
             }
         }
-        return res;
+        return result;
     },
 
     /**
@@ -1673,7 +1685,7 @@ var out = {
 module.exports = out;
 
 },{"./base64":2,"./compressedObject":3,"./compressions":4,"./crc32":5,"./defaults":7,"./nodeBuffer":12,"./signature":15,"./stringWriter":17,"./support":18,"./uint8ArrayWriter":20,"./utf8":21,"./utils":22}],15:[function(require,module,exports){
-
+'use strict';
 exports.LOCAL_FILE_HEADER = "PK\x03\x04";
 exports.CENTRAL_FILE_HEADER = "PK\x01\x02";
 exports.CENTRAL_DIRECTORY_END = "PK\x05\x06";
@@ -1682,7 +1694,7 @@ exports.ZIP64_CENTRAL_DIRECTORY_END = "PK\x06\x06";
 exports.DATA_DESCRIPTOR = "PK\x07\x08";
 
 },{}],16:[function(require,module,exports){
-
+'use strict';
 var DataReader = require('./dataReader');
 var utils = require('./utils');
 
@@ -1714,14 +1726,14 @@ StringReader.prototype.lastIndexOfSignature = function(sig) {
 StringReader.prototype.readData = function(size) {
     this.checkOffset(size);
     // this will work because the constructor applied the "& 0xff" mask.
-    var res = this.data.slice(this.zero + this.index, this.zero + this.index + size);
+    var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
     this.index += size;
-    return res;
+    return result;
 };
 module.exports = StringReader;
 
 },{"./dataReader":6,"./utils":22}],17:[function(require,module,exports){
-
+'use strict';
 
 var utils = require('./utils');
 
@@ -1742,7 +1754,7 @@ StringWriter.prototype = {
         this.data.push(input);
     },
     /**
-     * Finalize the construction an return the res.
+     * Finalize the construction an return the result.
      * @return {string} the generated string.
      */
     finalize: function() {
@@ -1754,7 +1766,7 @@ module.exports = StringWriter;
 
 },{"./utils":22}],18:[function(require,module,exports){
 (function (Buffer){
-
+'use strict';
 exports.base64 = true;
 exports.array = true;
 exports.string = true;
@@ -1791,7 +1803,7 @@ else {
 
 }).call(this,(typeof Buffer !== "undefined" ? Buffer : undefined))
 },{}],19:[function(require,module,exports){
-
+'use strict';
 var ArrayReader = require('./arrayReader');
 
 function Uint8ArrayReader(data) {
@@ -1812,14 +1824,14 @@ Uint8ArrayReader.prototype.readData = function(size) {
         // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].
         return new Uint8Array(0);
     }
-    var res = this.data.subarray(this.zero + this.index, this.zero + this.index + size);
+    var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size);
     this.index += size;
-    return res;
+    return result;
 };
 module.exports = Uint8ArrayReader;
 
 },{"./arrayReader":1}],20:[function(require,module,exports){
-
+'use strict';
 
 var utils = require('./utils');
 
@@ -1846,7 +1858,7 @@ Uint8ArrayWriter.prototype = {
         }
     },
     /**
-     * Finalize the construction an return the res.
+     * Finalize the construction an return the result.
      * @return {Uint8Array} the generated array.
      */
     finalize: function() {
@@ -1857,7 +1869,7 @@ Uint8ArrayWriter.prototype = {
 module.exports = Uint8ArrayWriter;
 
 },{"./utils":22}],21:[function(require,module,exports){
-
+'use strict';
 
 var utils = require('./utils');
 var support = require('./support');
@@ -2050,23 +2062,23 @@ exports.utf8decode = function utf8decode(buf) {
     // Chrome prefers to work with "small" chunks of data
     // for the method buf2string.
     // Firefox and Chrome has their own shortcut, IE doesn't seem to really care.
-    var res = [], k = 0, len = buf.length, chunk = 65536;
+    var result = [], k = 0, len = buf.length, chunk = 65536;
     while (k < len) {
         var nextBoundary = utf8border(buf, Math.min(k + chunk, len));
         if (support.uint8array) {
-            res.push(buf2string(buf.subarray(k, nextBoundary)));
+            result.push(buf2string(buf.subarray(k, nextBoundary)));
         } else {
-            res.push(buf2string(buf.slice(k, nextBoundary)));
+            result.push(buf2string(buf.slice(k, nextBoundary)));
         }
         k = nextBoundary;
     }
-    return res.join("");
+    return result.join("");
 
 };
 // vim: set shiftwidth=4 softtabstop=4:
 
 },{"./nodeBuffer":12,"./support":18,"./utils":22}],22:[function(require,module,exports){
-
+'use strict';
 var support = require('./support');
 var compressions = require('./compressions');
 var nodeBuffer = require('./nodeBuffer');
@@ -2076,11 +2088,11 @@ var nodeBuffer = require('./nodeBuffer');
  * @return {String} the binary string.
  */
 exports.string2binary = function(str) {
-    var res = "";
+    var result = "";
     for (var i = 0; i < str.length; i++) {
-        res += String.fromCharCode(str.charCodeAt(i) & 0xff);
+        result += String.fromCharCode(str.charCodeAt(i) & 0xff);
     }
-    return res;
+    return result;
 };
 exports.arrayBuffer2Blob = function(buffer, mimeType) {
     exports.checkSupport("blob");
@@ -2135,7 +2147,7 @@ function stringToArrayLike(str, array) {
 /**
  * Transform an array-like object to a string.
  * @param {Array|ArrayBuffer|Uint8Array|Buffer} array the array to transform.
- * @return {String} the res.
+ * @return {String} the result.
  */
 function arrayLikeToString(array) {
     // Performances notes :
@@ -2144,11 +2156,11 @@ function arrayLikeToString(array) {
     // see http://jsperf.com/converting-a-uint8array-to-a-string/2
     // but the stack is limited (and we can get huge arrays !).
     //
-    // res += String.fromCharCode(array[i]); generate too many strings !
+    // result += String.fromCharCode(array[i]); generate too many strings !
     //
     // This code is inspired by http://jsperf.com/arraybuffer-to-string-apply-performance/2
     var chunk = 65536;
-    var res = [],
+    var result = [],
         len = array.length,
         type = exports.getTypeOf(array),
         k = 0,
@@ -2169,19 +2181,19 @@ function arrayLikeToString(array) {
       // no apply : slow and painful algorithm
       // default browser on android 4.*
       if (!canUseApply) {
-         var resStr = "";
+         var resultStr = "";
          for(var i = 0; i < array.length;i++) {
-            resStr += String.fromCharCode(array[i]);
+            resultStr += String.fromCharCode(array[i]);
          }
-    return resStr;
+    return resultStr;
     }
     while (k < len && chunk > 1) {
         try {
             if (type === "array" || type === "nodebuffer") {
-                res.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));
+                result.push(String.fromCharCode.apply(null, array.slice(k, Math.min(k + chunk, len))));
             }
             else {
-                res.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));
+                result.push(String.fromCharCode.apply(null, array.subarray(k, Math.min(k + chunk, len))));
             }
             k += chunk;
         }
@@ -2189,7 +2201,7 @@ function arrayLikeToString(array) {
             chunk = Math.floor(chunk / 2);
         }
     }
-    return res.join("");
+    return result.join("");
 }
 
 exports.applyFromCharCode = arrayLikeToString;
@@ -2309,8 +2321,8 @@ exports.transformTo = function(outputType, input) {
     }
     exports.checkSupport(outputType);
     var inputType = exports.getTypeOf(input);
-    var res = transform[inputType][outputType](input);
-    return res;
+    var result = transform[inputType][outputType](input);
+    return result;
 };
 
 /**
@@ -2399,20 +2411,20 @@ exports.isRegExp = function (object) {
  * @return {Object} a new object with the data of the others.
  */
 exports.extend = function() {
-    var res = {}, i, attr;
+    var result = {}, i, attr;
     for (i = 0; i < arguments.length; i++) { // arguments is not enumerable in some browsers
         for (attr in arguments[i]) {
-            if (arguments[i].hasOwnProperty(attr) && typeof res[attr] === "undefined") {
-                res[attr] = arguments[i][attr];
+            if (arguments[i].hasOwnProperty(attr) && typeof result[attr] === "undefined") {
+                result[attr] = arguments[i][attr];
             }
         }
     }
-    return res;
+    return result;
 };
 
 
 },{"./compressions":4,"./nodeBuffer":12,"./support":18}],23:[function(require,module,exports){
-
+'use strict';
 var StringReader = require('./stringReader');
 var NodeBufferReader = require('./nodeBufferReader');
 var Uint8ArrayReader = require('./uint8ArrayReader');
@@ -2458,9 +2470,9 @@ ZipEntries.prototype = {
         var currentIndex = this.reader.index;
         this.reader.setIndex(askedIndex);
         var signature = this.reader.readString(4);
-        var res = signature === expectedSignature;
+        var result = signature === expectedSignature;
         this.reader.setIndex(currentIndex);
-        return res;
+        return result;
     },
     /**
      * Read the end of the central directory.
@@ -2694,7 +2706,7 @@ ZipEntries.prototype = {
 module.exports = ZipEntries;
 
 },{"./arrayReader":1,"./nodeBufferReader":13,"./object":14,"./signature":15,"./stringReader":16,"./support":18,"./uint8ArrayReader":19,"./utils":22,"./zipEntry":24}],24:[function(require,module,exports){
-
+'use strict';
 var StringReader = require('./stringReader');
 var utils = require('./utils');
 var CompressedObject = require('./compressedObject');
@@ -3016,7 +3028,7 @@ module.exports = ZipEntry;
 
 },{"./compressedObject":3,"./object":14,"./stringReader":16,"./support":18,"./utils":22}],25:[function(require,module,exports){
 // Top level file is just a mixin of submodules & constants
-
+'use strict';
 
 var assign    = require('./lib/utils/common').assign;
 
@@ -3031,7 +3043,7 @@ assign(pako, deflate, inflate, constants);
 module.exports = pako;
 
 },{"./lib/deflate":26,"./lib/inflate":27,"./lib/utils/common":28,"./lib/zlib/constants":31}],26:[function(require,module,exports){
-
+'use strict';
 
 
 var zlib_deflate = require('./zlib/deflate');
@@ -3076,9 +3088,9 @@ var Z_DEFLATED  = 8;
  **/
 
 /**
- * Deflate.res -> Uint8Array|Array
+ * Deflate.result -> Uint8Array|Array
  *
- * Compressed res, generated by default [[Deflate#onData]]
+ * Compressed result, generated by default [[Deflate#onData]]
  * and [[Deflate#onEnd]] handlers. Filled after you push last chunk
  * (call [[Deflate#push]] with `Z_FINISH` / `true` param)  or if you
  * push a chunk with explicit flush (call [[Deflate#push]] with
@@ -3122,7 +3134,7 @@ var Z_DEFLATED  = 8;
  * - `chunkSize` - size of generated data chunks (16K by default)
  * - `raw` (Boolean) - do raw deflate
  * - `gzip` (Boolean) - create gzip wrapper
- * - `to` (String) - if equal to 'string', then res will be "binary string"
+ * - `to` (String) - if equal to 'string', then result will be "binary string"
  *    (each char code [0..255])
  * - `header` (Object) - custom header for gzip
  *   - `text` (Boolean) - true if compressed data believed to be text
@@ -3147,7 +3159,7 @@ var Z_DEFLATED  = 8;
  *
  * if (deflate.err) { throw new Error(deflate.err); }
  *
- * console.log(deflate.res);
+ * console.log(deflate.result);
  * ```
  **/
 function Deflate(options) {
@@ -3301,7 +3313,7 @@ Deflate.prototype.push = function (data, mode) {
     return status === Z_OK;
   }
 
-  // callback interim ress if Z_SYNC_FLUSH.
+  // callback interim results if Z_SYNC_FLUSH.
   if (_mode === Z_SYNC_FLUSH) {
     this.onEnd(Z_OK);
     strm.avail_out = 0;
@@ -3334,15 +3346,15 @@ Deflate.prototype.onData = function (chunk) {
  * Called once after you tell deflate that the input stream is
  * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  * or if an error happened. By default - join collected chunks,
- * free memory and fill `ress` / `err` properties.
+ * free memory and fill `results` / `err` properties.
  **/
 Deflate.prototype.onEnd = function (status) {
   // On success - join
   if (status === Z_OK) {
     if (this.options.to === 'string') {
-      this.res = this.chunks.join('');
+      this.result = this.chunks.join('');
     } else {
-      this.res = utils.flattenChunks(this.chunks);
+      this.result = utils.flattenChunks(this.chunks);
     }
   }
   this.chunks = [];
@@ -3373,7 +3385,7 @@ Deflate.prototype.onEnd = function (status) {
  *
  * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
  *   negative windowBits implicitly.
- * - `to` (String) - if equal to 'string', then res will be "binary string"
+ * - `to` (String) - if equal to 'string', then result will be "binary string"
  *    (each char code [0..255])
  *
  * ##### Example:
@@ -3393,7 +3405,7 @@ function deflate(input, options) {
   // That will never happens, if you don't cheat with options :)
   if (deflator.err) { throw deflator.msg; }
 
-  return deflator.res;
+  return deflator.result;
 }
 
 
@@ -3433,7 +3445,7 @@ exports.deflateRaw = deflateRaw;
 exports.gzip = gzip;
 
 },{"./utils/common":28,"./utils/strings":29,"./zlib/deflate":33,"./zlib/messages":38,"./zlib/zstream":40}],27:[function(require,module,exports){
-
+'use strict';
 
 
 var zlib_inflate = require('./zlib/inflate');
@@ -3461,9 +3473,9 @@ var toString = Object.prototype.toString;
  **/
 
 /**
- * Inflate.res -> Uint8Array|Array|String
+ * Inflate.result -> Uint8Array|Array|String
  *
- * Uncompressed res, generated by default [[Inflate#onData]]
+ * Uncompressed result, generated by default [[Inflate#onData]]
  * and [[Inflate#onEnd]] handlers. Filled after you push last chunk
  * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you
  * push a chunk with explicit flush (call [[Inflate#push]] with
@@ -3501,7 +3513,7 @@ var toString = Object.prototype.toString;
  *
  * - `chunkSize` - size of generated data chunks (16K by default)
  * - `raw` (Boolean) - do raw inflate
- * - `to` (String) - if equal to 'string', then res will be converted
+ * - `to` (String) - if equal to 'string', then result will be converted
  *   from utf8 to utf16 (javascript) string. When string output requested,
  *   chunk length can differ from `chunkSize`, depending on content.
  *
@@ -3522,7 +3534,7 @@ var toString = Object.prototype.toString;
  *
  * if (inflate.err) { throw new Error(inflate.err); }
  *
- * console.log(inflate.res);
+ * console.log(inflate.result);
  * ```
  **/
 function Inflate(options) {
@@ -3719,7 +3731,7 @@ Inflate.prototype.push = function (data, mode) {
     return status === c.Z_OK;
   }
 
-  // callback interim ress if Z_SYNC_FLUSH.
+  // callback interim results if Z_SYNC_FLUSH.
   if (_mode === c.Z_SYNC_FLUSH) {
     this.onEnd(c.Z_OK);
     strm.avail_out = 0;
@@ -3752,7 +3764,7 @@ Inflate.prototype.onData = function (chunk) {
  * Called either after you tell inflate that the input stream is
  * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  * or if an error happened. By default - join collected chunks,
- * free memory and fill `ress` / `err` properties.
+ * free memory and fill `results` / `err` properties.
  **/
 Inflate.prototype.onEnd = function (status) {
   // On success - join
@@ -3760,9 +3772,9 @@ Inflate.prototype.onEnd = function (status) {
     if (this.options.to === 'string') {
       // Glue & convert here, until we teach pako to send
       // utf8 alligned strings to onData
-      this.res = this.chunks.join('');
+      this.result = this.chunks.join('');
     } else {
-      this.res = utils.flattenChunks(this.chunks);
+      this.result = utils.flattenChunks(this.chunks);
     }
   }
   this.chunks = [];
@@ -3791,7 +3803,7 @@ Inflate.prototype.onEnd = function (status) {
  *
  * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify
  *   negative windowBits implicitly.
- * - `to` (String) - if equal to 'string', then res will be converted
+ * - `to` (String) - if equal to 'string', then result will be converted
  *   from utf8 to utf16 (javascript) string. When string output requested,
  *   chunk length can differ from `chunkSize`, depending on content.
  *
@@ -3818,7 +3830,7 @@ function inflate(input, options) {
   // That will never happens, if you don't cheat with options :)
   if (inflator.err) { throw inflator.msg; }
 
-  return inflator.res;
+  return inflator.result;
 }
 
 
@@ -3853,7 +3865,7 @@ exports.inflateRaw = inflateRaw;
 exports.ungzip  = inflate;
 
 },{"./utils/common":28,"./utils/strings":29,"./zlib/constants":31,"./zlib/gzheader":34,"./zlib/inflate":36,"./zlib/messages":38,"./zlib/zstream":40}],28:[function(require,module,exports){
-
+'use strict';
 
 
 var TYPED_OK =  (typeof Uint8Array !== 'undefined') &&
@@ -3904,7 +3916,7 @@ var fnTyped = {
   },
   // Join array of chunks to single array.
   flattenChunks: function (chunks) {
-    var i, l, len, pos, chunk, res;
+    var i, l, len, pos, chunk, result;
 
     // calculate data length
     len = 0;
@@ -3913,15 +3925,15 @@ var fnTyped = {
     }
 
     // join chunks
-    res = new Uint8Array(len);
+    result = new Uint8Array(len);
     pos = 0;
     for (i = 0, l = chunks.length; i < l; i++) {
       chunk = chunks[i];
-      res.set(chunk, pos);
+      result.set(chunk, pos);
       pos += chunk.length;
     }
 
-    return res;
+    return result;
   }
 };
 
@@ -3958,7 +3970,7 @@ exports.setTyped(TYPED_OK);
 
 },{}],29:[function(require,module,exports){
 // String encode/decode helpers
-
+'use strict';
 
 
 var utils = require('./common');
@@ -4049,11 +4061,11 @@ function buf2binstring(buf, len) {
     }
   }
 
-  var res = '';
+  var result = '';
   for (var i = 0; i < len; i++) {
-    res += String.fromCharCode(buf[i]);
+    result += String.fromCharCode(buf[i]);
   }
-  return res;
+  return result;
 }
 
 
@@ -4144,7 +4156,7 @@ exports.utf8border = function (buf, max) {
 };
 
 },{"./common":28}],30:[function(require,module,exports){
-
+'use strict';
 
 // Note: adler32 takes 12% for level 0 and 2% for level 6.
 // It doesn't worth to make additional optimizationa as in original.
@@ -4178,7 +4190,7 @@ function adler32(adler, buf, len, pos) {
 module.exports = adler32;
 
 },{}],31:[function(require,module,exports){
-
+'use strict';
 
 
 module.exports = {
@@ -4230,7 +4242,7 @@ module.exports = {
 };
 
 },{}],32:[function(require,module,exports){
-
+'use strict';
 
 // Note: we can't get significant speed boost here.
 // So write code to minimize size - no pregenerated tables
@@ -4273,7 +4285,7 @@ function crc32(crc, buf, len, pos) {
 module.exports = crc32;
 
 },{}],33:[function(require,module,exports){
-
+'use strict';
 
 var utils   = require('../utils/common');
 var trees   = require('./trees');
@@ -4478,7 +4490,7 @@ function read_buf(strm, buf, start, size) {
 /* ===========================================================================
  * Set match_start to the longest match starting at the given string and
  * return its length. Matches shorter or equal to prev_length are discarded,
- * in which case the res is equal to prev_length and match_start is
+ * in which case the result is equal to prev_length and match_start is
  * garbage.
  * IN assertions: cur_match is the head of the hash chain for the current
  *   string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1
@@ -6130,7 +6142,7 @@ exports.deflateTune = deflateTune;
 */
 
 },{"../utils/common":28,"./adler32":30,"./crc32":32,"./messages":38,"./trees":39}],34:[function(require,module,exports){
-
+'use strict';
 
 
 function GZheader() {
@@ -6172,14 +6184,14 @@ function GZheader() {
 module.exports = GZheader;
 
 },{}],35:[function(require,module,exports){
-
+'use strict';
 
 // See state defs from inflate.js
 var BAD = 30;       /* got a data error -- remain here until reset */
 var TYPE = 12;      /* i: waiting for type bits, including last-flag bit */
 
 /*
-   Decode literal, length, and distance codes and write out the resing
+   Decode literal, length, and distance codes and write out the resulting
    literal and match bytes until either not enough input or output is
    available, an end-of-block is encountered, or a data error is encountered.
    When large enough input and output buffers are supplied to inflate(), for
@@ -6500,7 +6512,7 @@ module.exports = function inflate_fast(strm, start) {
 };
 
 },{}],36:[function(require,module,exports){
-
+'use strict';
 
 
 var utils         = require('../utils/common');
@@ -7844,7 +7856,7 @@ function inflate(strm, flush) {
         while (bits < 32) {
           if (have === 0) { break inf_leave; }
           have--;
-          // Use '|' insdead of '+' to make sure that res is signed
+          // Use '|' insdead of '+' to make sure that result is signed
           hold |= input[next++] << bits;
           bits += 8;
         }
@@ -8040,7 +8052,7 @@ exports.inflateUndermine = inflateUndermine;
 */
 
 },{"../utils/common":28,"./adler32":30,"./crc32":32,"./inffast":35,"./inftrees":37}],37:[function(require,module,exports){
-
+'use strict';
 
 
 var utils = require('../utils/common');
@@ -8369,7 +8381,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta
 };
 
 },{"../utils/common":28}],38:[function(require,module,exports){
-
+'use strict';
 
 module.exports = {
   2:      'need dictionary',     /* Z_NEED_DICT       2  */
@@ -8384,7 +8396,7 @@ module.exports = {
 };
 
 },{}],39:[function(require,module,exports){
-
+'use strict';
 
 
 var utils = require('../utils/common');
@@ -9588,7 +9600,7 @@ exports._tr_tally = _tr_tally;
 exports._tr_align = _tr_align;
 
 },{"../utils/common":28}],40:[function(require,module,exports){
-
+'use strict';
 
 
 function ZStream() {
@@ -9620,7 +9632,7 @@ module.exports = ZStream;
 
 },{}]},{},[10])(10)
 });
-}
+};
 
 
 //templater
@@ -9643,7 +9655,7 @@ function initTemplater()
     initJsZip();
 
 (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Docxtemplater = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-
+"use strict";
 
 function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
@@ -9772,9 +9784,9 @@ DocUtils.cloneDeep = function (obj) {
 };
 
 DocUtils.concatArrays = function (arrays) {
-	return arrays.reduce(function (res, array) {
-		Array.prototype.push.apply(res, array);
-		return res;
+	return arrays.reduce(function (result, array) {
+		Array.prototype.push.apply(result, array);
+		return result;
 	}, []);
 };
 
@@ -9835,7 +9847,7 @@ DocUtils.getLeft = function (parsed, element, index) {
 
 module.exports = DocUtils;
 },{"./errors":2,"./memoize":5,"xmldom":19}],2:[function(require,module,exports){
-
+"use strict";
 
 function XTError(message) {
 	this.name = "GenericError";
@@ -9873,7 +9885,7 @@ module.exports = {
 	XTScopeParserError: XTScopeParserError
 };
 },{}],3:[function(require,module,exports){
-
+"use strict";
 
 var loopModule = require("./modules/loop");
 var spacePreserveModule = require("./modules/space-preserve");
@@ -9918,7 +9930,7 @@ module.exports = {
 	pptx: PptXFileTypeConfig
 };
 },{"./modules/expand-pair-trait":8,"./modules/loop":9,"./modules/rawxml":10,"./modules/render":11,"./modules/space-preserve":12}],4:[function(require,module,exports){
-
+"use strict";
 
 var Errors = require("./errors");
 var DocUtils = require("./doc-utils");
@@ -10161,7 +10173,7 @@ module.exports = {
 	}
 };
 },{"./doc-utils":1,"./errors":2}],5:[function(require,module,exports){
-
+"use strict";
 
 function memoize(func) {
 	var stringifyJson = JSON.stringify,
@@ -10175,7 +10187,7 @@ function memoize(func) {
 
 module.exports = memoize;
 },{}],6:[function(require,module,exports){
-
+"use strict";
 
 function getMinFromArrays(arrays, state) {
 	var minIndex = -1;
@@ -10201,7 +10213,7 @@ module.exports = function (arrays) {
 		return array.length > 0;
 	});
 
-	var resArray = new Array(totalLength);
+	var resultArray = new Array(totalLength);
 
 	var state = arrays.map(function () {
 		return 0;
@@ -10211,15 +10223,15 @@ module.exports = function (arrays) {
 
 	while (i <= totalLength - 1) {
 		var arrayIndex = getMinFromArrays(arrays, state);
-		resArray[i] = arrays[arrayIndex][state[arrayIndex]];
+		resultArray[i] = arrays[arrayIndex][state[arrayIndex]];
 		state[arrayIndex]++;
 		i++;
 	}
 
-	return resArray;
+	return resultArray;
 };
 },{}],7:[function(require,module,exports){
-
+"use strict";
 
 function emptyFun() {}
 function identity(i) {
@@ -10246,7 +10258,7 @@ module.exports = function (module) {
 	return module;
 };
 },{}],8:[function(require,module,exports){
-
+"use strict";
 
 var traitName = "expandPair";
 var mergeSort = require("../mergesort");
@@ -10377,7 +10389,7 @@ module.exports = function () {
 	return wrapper(expandPairTrait);
 };
 },{"../doc-utils":1,"../errors":2,"../mergesort":6,"../module-wrapper":7,"../traits":16}],9:[function(require,module,exports){
-
+"use strict";
 
 var DocUtils = require("../doc-utils");
 var dashInnerRegex = /^-([^\s]+)\s(.+)$/;
@@ -10440,7 +10452,7 @@ module.exports = function () {
 	return wrapper(loopModule);
 };
 },{"../doc-utils":1,"../module-wrapper":7}],10:[function(require,module,exports){
-
+"use strict";
 
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
@@ -10531,7 +10543,7 @@ module.exports = function () {
 	return wrapper(new RawXmlModule());
 };
 },{"../doc-utils":1,"../errors":2,"../module-wrapper":7}],11:[function(require,module,exports){
-
+"use strict";
 
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
@@ -10575,7 +10587,7 @@ module.exports = function () {
 	return wrapper(new Render());
 };
 },{"../module-wrapper":7}],12:[function(require,module,exports){
-
+"use strict";
 
 var wrapper = require("../module-wrapper");
 var spacePreserve = {
@@ -10583,7 +10595,7 @@ var spacePreserve = {
 	postparse: function postparse(parsed) {
 		var chunk = [];
 		var inChunk = false;
-		var res = parsed.reduce(function (parsed, part) {
+		var result = parsed.reduce(function (parsed, part) {
 			if (part.type === "tag" && part.position === "start" && part.text && part.value === "<w:t>") {
 				inChunk = true;
 			}
@@ -10602,15 +10614,15 @@ var spacePreserve = {
 			}
 			return parsed;
 		}, []);
-		Array.prototype.push.apply(res, chunk);
-		return res;
+		Array.prototype.push.apply(result, chunk);
+		return result;
 	}
 };
 module.exports = function () {
 	return wrapper(spacePreserve);
 };
 },{"../module-wrapper":7}],13:[function(require,module,exports){
-
+"use strict";
 
 var DocUtils = require("./doc-utils");
 
@@ -10676,7 +10688,7 @@ var parser = {
 
 module.exports = parser;
 },{"./doc-utils":1}],14:[function(require,module,exports){
-
+"use strict";
 
 var ScopeManager = require("./scope-manager");
 var DocUtils = require("./doc-utils");
@@ -10720,7 +10732,7 @@ function render(options) {
 
 module.exports = render;
 },{"./doc-utils":1,"./scope-manager":15}],15:[function(require,module,exports){
-
+"use strict";
 
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
@@ -10785,7 +10797,7 @@ var ScopeManager = function () {
 			this.num = num == null ? this.scopeList.length - 1 : num;
 			var err = void 0;
 			var parser = void 0;
-			var res = void 0;
+			var result = void 0;
 			var scope = this.scopeList[this.num];
 			try {
 				parser = this.parser(tag);
@@ -10800,7 +10812,7 @@ var ScopeManager = function () {
 				throw err;
 			}
 			try {
-				res = parser.get(scope, { num: this.num, scopeList: this.scopeList });
+				result = parser.get(scope, { num: this.num, scopeList: this.scopeList });
 			} catch (error) {
 				err = new Errors.XTScopeParserError("Scope parser execution failed");
 				err.properties = {
@@ -10812,10 +10824,10 @@ var ScopeManager = function () {
 				};
 				throw err;
 			}
-			if (res == null && this.num > 0) {
+			if (result == null && this.num > 0) {
 				return this.getValue(tag, this.num - 1);
 			}
-			return res;
+			return result;
 		}
 	}, {
 		key: "createSubScopeManager",
@@ -10847,7 +10859,7 @@ ScopeManager.createBaseScopeManager = function (_ref) {
 
 module.exports = ScopeManager;
 },{"./errors":2}],16:[function(require,module,exports){
-
+"use strict";
 
 var DocUtils = require("./doc-utils");
 var Errors = require("./errors");
@@ -10893,22 +10905,22 @@ function getListXmlElements(parts) {
 		return part.value;
 	});
 
-	var res = [];
+	var result = [];
 
 	for (var i = 0, tag; i < tags.length; i++) {
 		tag = tags[i];
 		// closing tag
 		if (tag[1] === "/") {
-			if (lastTagIsOpenTag(res, tag)) {
-				res.pop();
+			if (lastTagIsOpenTag(result, tag)) {
+				result.pop();
 			} else {
-				res = addTag(res, tag);
+				result = addTag(result, tag);
 			}
 		} else if (tag[tag.length - 1] !== "/") {
-			res = addTag(res, tag);
+			result = addTag(result, tag);
 		}
 	}
-	return res;
+	return result;
 }
 
 function getExpandToDefault(parts) {
@@ -10968,7 +10980,7 @@ module.exports = {
 	getExpandToDefault: getExpandToDefault
 };
 },{"./doc-utils":1,"./errors":2}],17:[function(require,module,exports){
-
+"use strict";
 // res class responsibility is to parse the XML.
 
 var DocUtils = require("./doc-utils");
@@ -11046,7 +11058,7 @@ module.exports = function (content, tagsXmlArray) {
 	return DocUtils.cloneDeep(memoized(content, tagsXmlArray));
 };
 },{"./doc-utils":1,"./memoize":5}],18:[function(require,module,exports){
-
+"use strict";
 
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
@@ -11062,10 +11074,10 @@ var _render = require("./render.js");
 
 function _getFullText(content, tagsXmlArray) {
 	var matcher = xmlMatcher(content, tagsXmlArray);
-	var res = matcher.matches.map(function (match) {
+	var result = matcher.matches.map(function (match) {
 		return match.array[2];
 	});
-	return DocUtils.wordToUtf8(DocUtils.convertSpaces(res.join("")));
+	return DocUtils.wordToUtf8(DocUtils.convertSpaces(result.join("")));
 }
 
 module.exports = function () {
@@ -11431,7 +11443,7 @@ function _extends(Class,Super){
 		pt.__proto__ = ppt;
 	}
 	if(!(pt instanceof Super)){
-		function t(){}
+		function t(){};
 		t.prototype = Super.prototype;
 		t = new t();
 		copy(pt,t);
@@ -11493,7 +11505,7 @@ function DOMException(code, message) {
 	error.code = code;
 	if(message) this.message = this.message + ": " + message;
 	return error;
-}
+};
 DOMException.prototype = Error.prototype;
 copy(ExceptionCode,DOMException)
 /**
@@ -11502,7 +11514,7 @@ copy(ExceptionCode,DOMException)
  * The items in the NodeList are accessible via an integral index, starting from 0.
  */
 function NodeList() {
-}
+};
 NodeList.prototype = {
 	/**
 	 * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.
@@ -11555,7 +11567,7 @@ _extends(LiveNodeList,NodeList);
  * used for attributes or DocumentType entities
  */
 function NamedNodeMap() {
-}
+};
 
 function _findNodeIndex(list,node){
 	var i = list.length;
@@ -11672,7 +11684,7 @@ function DOMImplementation(/* Object */ features) {
 			 this._features = features[feature];
 		}
 	}
-}
+};
 
 DOMImplementation.prototype = {
 	hasFeature: function(/* string */ feature, /* string */ version) {
@@ -11721,7 +11733,7 @@ DOMImplementation.prototype = {
  */
 
 function Node() {
-}
+};
 
 Node.prototype = {
 	firstChild : null,
@@ -12123,7 +12135,7 @@ _extends(Document,Node);
 
 function Element() {
 	this._nsMap = {};
-}
+};
 Element.prototype = {
 	nodeType : ELEMENT_NODE,
 	hasAttribute : function(name){
@@ -12216,13 +12228,13 @@ Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNa
 
 _extends(Element,Node);
 function Attr() {
-}
+};
 Attr.prototype.nodeType = ATTRIBUTE_NODE;
 _extends(Attr,Node);
 
 
 function CharacterData() {
-}
+};
 CharacterData.prototype = {
 	data : '',
 	substringData : function(offset, count) {
@@ -12253,7 +12265,7 @@ CharacterData.prototype = {
 }
 _extends(CharacterData,Node);
 function Text() {
-}
+};
 Text.prototype = {
 	nodeName : "#text",
 	nodeType : TEXT_NODE,
@@ -12272,7 +12284,7 @@ Text.prototype = {
 }
 _extends(Text,CharacterData);
 function Comment() {
-}
+};
 Comment.prototype = {
 	nodeName : "#comment",
 	nodeType : COMMENT_NODE
@@ -12280,7 +12292,7 @@ Comment.prototype = {
 _extends(Comment,CharacterData);
 
 function CDATASection() {
-}
+};
 CDATASection.prototype = {
 	nodeName : "#cdata-section",
 	nodeType : CDATA_SECTION_NODE
@@ -12289,27 +12301,27 @@ _extends(CDATASection,CharacterData);
 
 
 function DocumentType() {
-}
+};
 DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
 _extends(DocumentType,Node);
 
 function Notation() {
-}
+};
 Notation.prototype.nodeType = NOTATION_NODE;
 _extends(Notation,Node);
 
 function Entity() {
-}
+};
 Entity.prototype.nodeType = ENTITY_NODE;
 _extends(Entity,Node);
 
 function EntityReference() {
-}
+};
 EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;
 _extends(EntityReference,Node);
 
 function DocumentFragment() {
-}
+};
 DocumentFragment.prototype.nodeName =	"#document-fragment";
 DocumentFragment.prototype.nodeType =	DOCUMENT_FRAGMENT_NODE;
 _extends(DocumentFragment,Node);
@@ -13263,7 +13275,7 @@ function _set_proto_(thiz,parent){
 }
 if(!(_set_proto_({},_set_proto_.prototype) instanceof _set_proto_)){
 	_set_proto_ = function(thiz,parent){
-		function p(){}
+		function p(){};
 		p.prototype = parent;
 		p = new p();
 		for(parent in thiz){
@@ -13289,7 +13301,7 @@ exports.XMLReader = XMLReader;
 
 
 },{}],"/src/js/docxtemplater.js":[function(require,module,exports){
-
+"use strict";
 
 var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
 
diff --git a/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js b/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
index 21f2f76bca0a17c2dfcc3d266126dde3fe412560..4572bef869ba742cdabc5155acd3fc3ecf76fe13 100644
--- a/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
+++ b/report/Offer_report/ribbon/ribbontasks/task_report/customcomponents/button/onClick.js
@@ -9,7 +9,7 @@ var details = vars.get("$global.RptOfferOrderDetails");
 var orgid = db.cell("select ORGANISATION_ID from CONTACT where CONTACTID = '" + details[1] + "'");
 if (orgid.substr(0, 2) == '0 ') // Privatperson
 {
-    var count = db.cell("select count(*) from COMMUNICATION where medium_id = 3 and STANDARD = 1 and CONTACT_ID = '" + details[1] + "'");
+    var count = db.cell("select count(*) from COMMUNICATION where medium_id = 3 and ISSTANDARD = 1 and CONTACT_ID = '" + details[1] + "'");
     if (count == "0") question.showMessage(translate.text("no standard email office"));
     else
         sendAutoMail( translate.text("Offer") + " " + details[0], details[1], "Email_Angebot", details[2], "AGB", [], [["SPNR", details[5]]] );
@@ -32,7 +32,7 @@ else // Funktion - Person in Firma
         var relccid = text.decodeMS(contactid["DLG_CHOOSE_PERSON_FOREMAIL.tbl_person_cc"]);
         if (relccid.length == 0)	contactid = ""; // keine Person markiert und OK geklickt
         else	
-            relccid = db.array(db.COLUMN, "select ADDR from COMMUNICATION where MEDIUM_ID = 3 and STANDARD = 1 and "
+            relccid = db.array(db.COLUMN, "select ADDR from COMMUNICATION where MEDIUM_ID = 3 and ISSTANDARD = 1 and "
                 + "CONTACT_ID in ('" + relccid.join("','") + "') and CONTACT_ID <> '" + reltoid + "'");
 
         if ( reltoid != "" ) 
diff --git a/system/default/default.aod b/system/default/default.aod
index cc05f49508d09d62260666ee083a2c6757330e1c..7b340012814f744de7bbd24089a47a16feb63795 100644
--- a/system/default/default.aod
+++ b/system/default/default.aod
@@ -7,6 +7,4 @@
   <aditoDataPath>$PROJECTHOME/data</aditoDataPath>
   <loginUser>admin</loginUser>
   <autoLogin v="false" />
-  <aditoDebug>TRACE | JDITO</aditoDebug>
-  <enableJDitoDebug v="true" />
 </system>