diff --git a/.merge_file_a07900 b/.merge_file_a07900
new file mode 100644
index 0000000000000000000000000000000000000000..167d3dc35f38110620b4eb5e6004b4c4454578f2
--- /dev/null
+++ b/.merge_file_a07900
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.addressType());
\ No newline at end of file
diff --git a/.merge_file_a67688 b/.merge_file_a67688
new file mode 100644
index 0000000000000000000000000000000000000000..e1dd74e5b3c25014aa8b7f711e9601f377d7f55c
--- /dev/null
+++ b/.merge_file_a67688
@@ -0,0 +1,279 @@
+<?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.2.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.0">
+  <name>Address_entity</name>
+  <title>Addresses</title>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <documentation>%aditoprj%/entity/Address_entity/documentation.adoc</documentation>
+  <titleProcess>%aditoprj%/entity/Address_entity/titleProcess.js</titleProcess>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityField>
+      <name>ADDRESS</name>
+      <title>Address</title>
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/address/mandatoryProcess.js</mandatoryProcess>
+    </entityField>
+    <entityField>
+      <name>ADDRESSADDITION</name>
+    </entityField>
+    <entityField>
+      <name>ADDRESSID</name>
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/addressid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>ADDRIDENTIFIER</name>
+    </entityField>
+    <entityField>
+      <name>ADDR_TYPE</name>
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/addr_type/documentation.adoc</documentation>
+      <title>Addresstype</title>
+      <consumer>KeywordAddressType</consumer>
+    </entityField>
+    <entityField>
+      <name>BUILDINGNO</name>
+      <title>House number</title>
+    </entityField>
+    <entityField>
+      <name>CITY</name>
+      <title>City</title>
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/city/mandatoryProcess.js</mandatoryProcess>
+    </entityField>
+    <entityField>
+      <name>COUNTRY</name>
+      <title>Country</title>
+      <consumer>Countries</consumer>
+      <mandatory v="true" />
+      <displayValueProcess>%aditoprj%/entity/Address_entity/entityfields/country/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>DISTRICT</name>
+      <title>District</title>
+    </entityField>
+    <entityField>
+      <name>REGION</name>
+      <title>Region</title>
+    </entityField>
+    <entityField>
+      <name>CONTACT_ID</name>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/contact_id/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>STATE</name>
+      <title>${ADDRESS_STATE}</title>
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/state/mandatoryProcess.js</mandatoryProcess>
+    </entityField>
+    <entityField>
+      <name>ZIP</name>
+      <title>postcode</title>
+      <mandatoryProcess>%aditoprj%/entity/Address_entity/entityfields/zip/mandatoryProcess.js</mandatoryProcess>
+      <onValidation>%aditoprj%/entity/Address_entity/entityfields/zip/onValidation.js</onValidation>
+    </entityField>
+    <entityProvider>
+      <name>OrganisationAddresses</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>b484b43c-16f6-4875-9787-f0813dd200cb</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Addresses</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ContactType_param</name>
+          <code>%aditoprj%/entity/Address_entity/entityfields/organisationaddresses/children/contacttype_param/code.js</code>
+          <expose v="true" />
+          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
+        </entityParameter>
+        <entityParameter>
+          <name>ContactId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>DefaultAddressId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityParameter>
+      <name>ContactId_param</name>
+      <expose v="true" />
+      <mandatory v="true" />
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/contactid_param/documentation.adoc</documentation>
+    </entityParameter>
+    <entityProvider>
+      <name>ContactAddresses</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>efdb2f19-ab41-4f49-941a-843610e2b31b</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>PersAddresses</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ContactType_param</name>
+          <code>%aditoprj%/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/code.js</code>
+          <expose v="true" />
+          <triggerRecalculation v="true" />
+          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
+        </entityParameter>
+        <entityParameter>
+          <name>ContactId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>DefaultAddressId_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityConsumer>
+      <name>Countries</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Countries_Entity</entityName>
+        <fieldName>ISO2_NAME</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityProvider>
+      <name>OrganisationAddressesByContact</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/documentation.adoc</documentation>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>388f6ad3-b817-4dc0-a5d5-a41eec485357</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>OrgAddresses</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ContactType_param</name>
+          <code>%aditoprj%/entity/Address_entity/entityfields/organisationaddressesbycontact/children/contacttype_param/code.js</code>
+          <expose v="true" />
+          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityField>
+      <name>IS_STANDARD</name>
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/is_standard/documentation.adoc</documentation>
+      <contentType>BOOLEAN</contentType>
+      <valueProcess>%aditoprj%/entity/Address_entity/entityfields/is_standard/valueProcess.js</valueProcess>
+    </entityField>
+    <entityParameter>
+      <name>DefaultAddressId_param</name>
+      <expose v="true" />
+      <mandatory v="false" />
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/defaultaddressid_param/documentation.adoc</documentation>
+      <description>provide a ADDRESSID-value of the standard address (of a CONTACT)</description>
+    </entityParameter>
+    <entityParameter>
+      <name>ContactType_param</name>
+      <expose v="true" />
+      <mandatory v="true" />
+      <documentation>%aditoprj%/entity/Address_entity/entityfields/contacttype_param/documentation.adoc</documentation>
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>KeywordAddressType</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <code>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/code.js</code>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/Address_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>6a0005cc-c64b-4044-9712-c9d00f02d7a8</name>
+          <tableName>ADDRESS</tableName>
+          <primaryKey>ADDRESSID</primaryKey>
+          <isUIDTable v="true" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>ADDRESS.value</name>
+          <recordfield>ADDRESS.ADDRESS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CITY.value</name>
+          <recordfield>ADDRESS.CITY</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADDRESSADDITION.value</name>
+          <recordfield>ADDRESS.ADDRESSADDITION</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>COUNTRY.value</name>
+          <recordfield>ADDRESS.COUNTRY</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADDRESSID.value</name>
+          <recordfield>ADDRESS.ADDRESSID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADDRIDENTIFIER.value</name>
+          <recordfield>ADDRESS.ADDRIDENTIFIER</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADDR_TYPE.value</name>
+          <recordfield>ADDRESS.ADDR_TYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DISTRICT.value</name>
+          <recordfield>ADDRESS.DISTRICT</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>BUILDINGNO.value</name>
+          <recordfield>ADDRESS.BUILDINGNO</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REGION.value</name>
+          <recordfield>ADDRESS.REGION</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CONTACT_ID.value</name>
+          <recordfield>ADDRESS.CONTACT_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATE.value</name>
+          <recordfield>ADDRESS.STATE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ZIP.value</name>
+          <recordfield>ADDRESS.ZIP</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>ADDR_TYPE.displayValue</name>
+          <expression>%aditoprj%/entity/Address_entity/recordcontainers/db/recordfieldmappings/addr_type.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+      </recordFieldMappings>
+    </dbRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 8d4280cf68c20dccc49abd6fef324f4ab4343caf..e26817ee14988787b891442f1b5daea09a98d31a 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -90,48 +90,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>STRENGTH</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>WEAKNESS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>PRICE_POLITICS</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
               <entityFieldDb>
                 <name>ORGANISATIONID</name>
                 <dbName></dbName>
@@ -1798,6 +1756,34 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>PAYMENTTERMS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>DELIVERYTERMS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
@@ -2177,6 +2163,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>REASONS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="498" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
@@ -3744,6 +3744,20 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>PROGRESS</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="1" />
+                <size v="36" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
@@ -3778,11 +3792,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>OBJECT2_TYPE</name>
+                <name>OBJECT1_ROWID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="63" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
@@ -3792,27 +3806,27 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>OBJECT1_TYPE</name>
+                <name>AB_OBJECTRELATIONID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="false" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>OBJECT1_ROWID</name>
+                <name>AB_OBJECTRELATIONTYPE1</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="1" />
                 <size v="36" />
                 <scale v="0" />
-                <notNull v="true" />
+                <notNull v="false" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
@@ -3820,14 +3834,14 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>AB_OBJECTRELATIONID</name>
+                <name>AB_OBJECTRELATIONTYPE2</name>
                 <dbName></dbName>
-                <primaryKey v="true" />
+                <primaryKey v="false" />
                 <columnType v="1" />
                 <size v="36" />
                 <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
+                <notNull v="false" />
+                <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
@@ -4006,7 +4020,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -4039,6 +4053,34 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
+              <entityFieldDb>
+                <name>SORTING</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="4" />
+                <size v="10" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
+              <entityFieldDb>
+                <name>ATTRIBUTE_INFO</name>
+                <dbName></dbName>
+                <primaryKey v="false" />
+                <columnType v="2005" />
+                <size v="2147483647" />
+                <scale v="0" />
+                <notNull v="false" />
+                <isUnique v="false" />
+                <index v="false" />
+                <documentation></documentation>
+                <title></title>
+                <description></description>
+              </entityFieldDb>
             </entityFields>
           </entityDb>
           <entityDb>
@@ -4735,11 +4777,12 @@
             </entityFields>
           </entityDb>
           <entityDb>
-            <name>SALUTATION</name>
+            <name>TASKLINK</name>
             <dbName></dbName>
-            <idColumn>SALUTATIONID</idColumn>
+            <idColumn>TASKLINKID</idColumn>
             <idGeneratorType v="0" />
             <idGeneratorInterval v="1" />
+            <documentation></documentation>
             <title></title>
             <description></description>
             <auditSyncConfig>
@@ -4752,41 +4795,13 @@
             </auditSyncConfig>
             <entityFields>
               <entityFieldDb>
-                <name>LANGUAGE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="3" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>SEX</name>
+                <name>OBJECT_ROWID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="1" />
                 <size v="36" />
                 <scale v="0" />
-                <notNull v="false" />
+                <notNull v="true" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
@@ -4794,13 +4809,13 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>SORT</name>
+                <name>OBJECT_TYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="12" />
+                <size v="63" />
                 <scale v="0" />
-                <notNull v="false" />
+                <notNull v="true" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
@@ -4808,7 +4823,7 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>SALUTATIONID</name>
+                <name>TASKLINKID</name>
                 <dbName></dbName>
                 <primaryKey v="true" />
                 <columnType v="1" />
@@ -4822,41 +4837,13 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>TITLE</name>
+                <name>TASK_ID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="30" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>HEADLINE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
-                <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LETTERSALUTATION</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="50" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
-                <notNull v="false" />
+                <notNull v="true" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
@@ -4866,11 +4853,12 @@
             </entityFields>
           </entityDb>
           <entityDb>
-            <name>DATABASECHANGELOG</name>
+            <name>AB_OBJECTRELATIONTYPE</name>
             <dbName></dbName>
-            <idColumn></idColumn>
-            <idGeneratorType v="1" />
+            <idColumn>AB_OBJECTRELATIONTYPEID</idColumn>
+            <idGeneratorType v="0" />
             <idGeneratorInterval v="1" />
+            <documentation></documentation>
             <title></title>
             <description></description>
             <auditSyncConfig>
@@ -4883,35 +4871,21 @@
             </auditSyncConfig>
             <entityFields>
               <entityFieldDb>
-                <name>EXECTYPE</name>
+                <name>AB_OBJECTRELATIONTYPEID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="10" />
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>DATEEXECUTED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="true" />
-                <isUnique v="false" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>ORDEREXECUTED</name>
+                <name>SIDE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="4" />
@@ -4925,13 +4899,13 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>COMMENTS</name>
+                <name>RELATION_TYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
-                <notNull v="false" />
+                <notNull v="true" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
@@ -4939,11 +4913,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>AUTHOR</name>
+                <name>OBJECT_TYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
@@ -4953,25 +4927,45 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>CONTEXTS</name>
+                <name>RELATION_TITLE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="80" />
                 <scale v="0" />
-                <notNull v="false" />
+                <notNull v="true" />
                 <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
+            </entityFields>
+          </entityDb>
+          <entityDb>
+            <name>SALUTATION</name>
+            <dbName></dbName>
+            <idColumn>SALUTATIONID</idColumn>
+            <idGeneratorType v="0" />
+            <idGeneratorInterval v="1" />
+            <documentation></documentation>
+            <title></title>
+            <description></description>
+            <auditSyncConfig>
+              <name>auditSyncConfig</name>
+              <auditMode v="0" />
+              <syncActive v="false" />
+              <syncComplete v="true" />
+              <syncDirection v="1" />
+              <syncIds></syncIds>
+            </auditSyncConfig>
+            <entityFields>
               <entityFieldDb>
-                <name>MD5SUM</name>
+                <name>LANGUAGE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="35" />
+                <columnType v="1" />
+                <size v="3" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -4981,11 +4975,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>DESCRIPTION</name>
+                <name>SALUTATION</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -4995,11 +4989,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>LIQUIBASE</name>
+                <name>SEX</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="20" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -5009,10 +5003,10 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>DEPLOYMENT_ID</name>
+                <name>SORT</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="12" />
+                <columnType v="4" />
                 <size v="10" />
                 <scale v="0" />
                 <notNull v="false" />
@@ -5023,25 +5017,25 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>ID</name>
+                <name>SALUTATIONID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
+                <primaryKey v="true" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="false" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>TAG</name>
+                <name>TITLE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="30" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -5051,11 +5045,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>LABELS</name>
+                <name>HEADLINE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -5065,72 +5059,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>FILENAME</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="255" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-            </entityFields>
-          </entityDb>
-          <entityDb>
-            <name>DATABASECHANGELOGLOCK</name>
-            <dbName></dbName>
-            <idColumn>ID</idColumn>
-            <idGeneratorType v="1" />
-            <idGeneratorInterval v="1" />
-            <title></title>
-            <description></description>
-            <auditSyncConfig>
-              <name>auditSyncConfig</name>
-              <auditMode v="0" />
-              <syncActive v="false" />
-              <syncComplete v="true" />
-              <syncDirection v="1" />
-              <syncIds></syncIds>
-            </auditSyncConfig>
-            <entityFields>
-              <entityFieldDb>
-                <name>LOCKGRANTED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="93" />
-                <size v="29" />
-                <scale v="9" />
-                <notNull v="false" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LOCKED</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="16" />
-                <size v="1" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
-              <entityFieldDb>
-                <name>LOCKEDBY</name>
+                <name>LETTERSALUTATION</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="255" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
@@ -5139,20 +5072,6 @@
                 <title></title>
                 <description></description>
               </entityFieldDb>
-              <entityFieldDb>
-                <name>ID</name>
-                <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="4" />
-                <size v="10" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="true" />
-                <index v="false" />
-                <documentation></documentation>
-                <title></title>
-                <description></description>
-              </entityFieldDb>
             </entityFields>
           </entityDb>
         </entities>
diff --git a/entity/ActivityLink_entity/ActivityLink_entity.aod b/entity/ActivityLink_entity/ActivityLink_entity.aod
index 11c38d879285d7d47b064deeb374b118fc8d9ab9..66ef8d1d9a82512eba48632122aba7839aef8bba 100644
--- a/entity/ActivityLink_entity/ActivityLink_entity.aod
+++ b/entity/ActivityLink_entity/ActivityLink_entity.aod
@@ -15,7 +15,7 @@
     <entityField>
       <name>OBJECT_TYPE</name>
       <title>Object type</title>
-      <consumer>Contexts</consumer>
+      <consumer>Context</consumer>
       <linkedContext>Context</linkedContext>
       <displayValueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess>
     </entityField>
@@ -31,7 +31,7 @@
       <valueProcess>%aditoprj%/entity/ActivityLink_entity/entityfields/activity_id/valueProcess.js</valueProcess>
     </entityField>
     <entityProvider>
-      <name>Link</name>
+      <name>Links</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <targetContextField>OBJECT_TYPE</targetContextField>
       <targetIdField>OBJECT_ROWID</targetIdField>
@@ -68,7 +68,7 @@
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>Contexts</name>
+      <name>Context</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index f8c7af04b1f75331bbe83a26980787f53783455d..02008d0638d724fe6a149f808b3c27dc8b0d868d 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -4,6 +4,7 @@
   <title>Activity</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Activity_entity/documentation.adoc</documentation>
+  <afterOperatingState>%aditoprj%/entity/Activity_entity/afterOperatingState.js</afterOperatingState>
   <iconId>NEON:HISTORY</iconId>
   <imageProcess>%aditoprj%/entity/Activity_entity/imageProcess.js</imageProcess>
   <recordContainer>db</recordContainer>
@@ -36,7 +37,7 @@
     <entityField>
       <name>CATEGORY</name>
       <title>Category</title>
-      <consumer>KeywordCategory</consumer>
+      <consumer>KeywordCategories</consumer>
       <mandatory v="false" />
       <groupable v="true" />
     </entityField>
@@ -45,6 +46,7 @@
       <title>Subject</title>
       <mandatory v="true" />
       <groupable v="false" />
+      <onValueChange>%aditoprj%/entity/Activity_entity/entityfields/subject/onValueChange.js</onValueChange>
     </entityField>
     <entityParameter>
       <name>RowId_param</name>
@@ -157,7 +159,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>ActivityLink_entity</entityName>
-        <fieldName>Link</fieldName>
+        <fieldName>Links</fieldName>
       </dependency>
       <children>
         <entityParameter>
@@ -177,8 +179,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/keyworddirections/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -254,41 +257,50 @@
     <entityField>
       <name>CREATOR</name>
       <title>Creator</title>
+      <consumer>Contacts</consumer>
+      <linkedContext>Person</linkedContext>
       <searchable v="false" />
       <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/creator/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
       <name>ModuleTrees</name>
-      <title>Tree</title>
+      <title>History</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
         <entityName>ModuleTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
+        <fieldName>TreeProviders</fieldName>
       </dependency>
       <children>
         <entityParameter>
-          <name>ContextName</name>
-          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/moduletrees/children/contextname/valueProcess.js</valueProcess>
+          <name>ContextName_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <mandatory v="false" />
         </entityParameter>
         <entityParameter>
-          <name>ID</name>
-          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js</valueProcess>
+          <name>ID_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/moduletrees/children/id_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <mandatory v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityActionField>
-      <name>newActivity_action</name>
+      <name>newActivity</name>
       <fieldType>ACTION</fieldType>
       <title>New activity</title>
-      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newactivity_action/onActionProcess.js</onActionProcess>
+      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Activity_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityActionField>
-      <name>newTask_action</name>
+      <name>newTask</name>
       <fieldType>ACTION</fieldType>
       <title>New task</title>
-      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newtask_action/onActionProcess.js</onActionProcess>
+      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <actionOrder v="1" />
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityParameter>
@@ -314,7 +326,7 @@
       <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/parent_context/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
-      <name>KeywordCategory</name>
+      <name>KeywordCategories</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -323,8 +335,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/keywordcategory/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/keywordcategories/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -334,6 +347,43 @@
       <groupable v="true" />
       <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/entryday/valueProcess.js</valueProcess>
     </entityField>
+    <entityConsumer>
+      <name>Attributes</name>
+      <title>Attributes</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>RelationsForSpecificObject</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newOffer</name>
+      <fieldType>ACTION</fieldType>
+      <title>New offer</title>
+      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <actionOrder v="0" />
+      <iconId>VAADIN:CART</iconId>
+    </entityActionField>
+    <entityConsumer>
+      <name>Contacts</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Person_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -341,7 +391,6 @@
       <alias>Data_alias</alias>
       <conditionProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Activity_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <onDBInsert>%aditoprj%/entity/Activity_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
       <onDBDelete>%aditoprj%/entity/Activity_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
@@ -397,6 +446,10 @@
           <name>CATEGORY.displayValue</name>
           <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/category.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>CREATOR.displayValue</name>
+          <expression>%aditoprj%/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Activity_entity/afterOperatingState.js b/entity/Activity_entity/afterOperatingState.js
new file mode 100644
index 0000000000000000000000000000000000000000..86428a9e4fb03c37531d0e845989459a4e88843a
--- /dev/null
+++ b/entity/Activity_entity/afterOperatingState.js
@@ -0,0 +1,15 @@
+import("system.util");
+import("system.db");
+import("system.neon");
+import("system.vars");
+import("Context_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW 
+    && vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")
+    && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
+{
+    neon.addRecord(null, "Links", {
+        "OBJECT_TYPE" : vars.get("$param.ObjectId_param"), 
+        "OBJECT_ROWID" : vars.get("$param.RowId_param")
+    });
+}
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/attributes/children/objectrowid_param/code.js b/entity/Activity_entity/entityfields/attributes/children/objectrowid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8267b62060b4bd30cedaba4713f4421a6e6f9ff
--- /dev/null
+++ b/entity/Activity_entity/entityfields/attributes/children/objectrowid_param/code.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.ACTIVITYID"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/attributes/children/objecttype_param/code.js b/entity/Activity_entity/entityfields/attributes/children/objecttype_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..008915f61deac19ccdd40fff81701de63eb3b6a2
--- /dev/null
+++ b/entity/Activity_entity/entityfields/attributes/children/objecttype_param/code.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Activity_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..e8b4e72e74a0a4696ff39e83135aa6100ef908c0
--- /dev/null
+++ b/entity/Activity_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Activity_entity/entityfields/keywordcategory/children/containername_param/valueProcess.js b/entity/Activity_entity/entityfields/keywordcategories/children/containername_param/valueProcess.js
similarity index 100%
rename from entity/Activity_entity/entityfields/keywordcategory/children/containername_param/valueProcess.js
rename to entity/Activity_entity/entityfields/keywordcategories/children/containername_param/valueProcess.js
diff --git a/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Activity_entity/entityfields/link/children/activityid_param/valueProcess.js
similarity index 50%
rename from entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
rename to entity/Activity_entity/entityfields/link/children/activityid_param/valueProcess.js
index bcfda44fe71eac93b3f8c11cc0c85a496f2cd51c..a8267b62060b4bd30cedaba4713f4421a6e6f9ff 100644
--- a/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/Activity_entity/entityfields/link/children/activityid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.ORGANISATIONID"));
\ No newline at end of file
+result.string(vars.get("$field.ACTIVITYID"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/moduletrees/children/contextname/valueProcess.js b/entity/Activity_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js
similarity index 100%
rename from entity/Activity_entity/entityfields/moduletrees/children/contextname/valueProcess.js
rename to entity/Activity_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js
diff --git a/entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js b/entity/Activity_entity/entityfields/moduletrees/children/id_param/valueProcess.js
similarity index 100%
rename from entity/Activity_entity/entityfields/moduletrees/children/id/valueProcess.js
rename to entity/Activity_entity/entityfields/moduletrees/children/id_param/valueProcess.js
diff --git a/entity/Activity_entity/entityfields/newactivity_action/onActionProcess.js b/entity/Activity_entity/entityfields/newactivity/onActionProcess.js
similarity index 100%
rename from entity/Activity_entity/entityfields/newactivity_action/onActionProcess.js
rename to entity/Activity_entity/entityfields/newactivity/onActionProcess.js
diff --git a/entity/Activity_entity/entityfields/newactivity/tooltipProcess.js b/entity/Activity_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Activity_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/newoffer/onActionProcess.js b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c8ece29b25cd7e84188ceb35fee3e7b999f77476
--- /dev/null
+++ b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Offer_lib");
+
+OfferUtils.createNewOffer(null, vars.getString("$field.ACTIVITYID"));
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/newtask_action/onActionProcess.js b/entity/Activity_entity/entityfields/newtask/onActionProcess.js
similarity index 53%
rename from entity/Activity_entity/entityfields/newtask_action/onActionProcess.js
rename to entity/Activity_entity/entityfields/newtask/onActionProcess.js
index 9417c7e293f407d60d36e775d581f8887d582633..48a549d48255e00aaad61e8ddcfec1f384a85b69 100644
--- a/entity/Activity_entity/entityfields/newtask_action/onActionProcess.js
+++ b/entity/Activity_entity/entityfields/newtask/onActionProcess.js
@@ -2,8 +2,7 @@ import("system.neon");
 import("system.vars");
 
 var params = {
-  "ParentId_param": vars.get("$field.ACTIVITYID"),
-  "ParentContext_param": "Activity"
+    "ParentId_param" : vars.get("$field.ACTIVITYID"),
+    "ParentContext_param" : "Activity"
 };
-
-neon.openContext("Task", "TaskEdit_view", null, neon.OPERATINGSTATE_NEW, params)
\ No newline at end of file
+neon.openContext("Task", "TaskEdit_view", null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/subject/onValueChange.js b/entity/Activity_entity/entityfields/subject/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..86428a9e4fb03c37531d0e845989459a4e88843a
--- /dev/null
+++ b/entity/Activity_entity/entityfields/subject/onValueChange.js
@@ -0,0 +1,15 @@
+import("system.util");
+import("system.db");
+import("system.neon");
+import("system.vars");
+import("Context_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW 
+    && vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")
+    && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
+{
+    neon.addRecord(null, "Links", {
+        "OBJECT_TYPE" : vars.get("$param.ObjectId_param"), 
+        "OBJECT_ROWID" : vars.get("$param.RowId_param")
+    });
+}
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/onDBInsert.js b/entity/Activity_entity/recordcontainers/db/onDBInsert.js
deleted file mode 100644
index 5fed0f59c560f716f04969b39d9aae3fc0849a17..0000000000000000000000000000000000000000
--- a/entity/Activity_entity/recordcontainers/db/onDBInsert.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import("system.util");
-import("system.db");
-import("system.neon");
-import("system.vars");
-import("Context_lib");
-
-if (vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")
-    && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
-{
-    db.insertData(
-        "ACTIVITYLINK",
-        ["ACTIVITYLINKID", "OBJECT_TYPE", "OBJECT_ROWID", "ACTIVITY_ID"],
-        null,
-        [util.getNewUUID(), vars.get("$param.ObjectId_param"), vars.get("$param.RowId_param"), vars.getString("$field.ACTIVITYID")]);
-}
\ No newline at end of file
diff --git a/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..411a003b91936f9c3e8681311ff40e1f1e010ad6
--- /dev/null
+++ b/entity/Activity_entity/recordcontainers/db/recordfieldmappings/creator.displayvalue/expression.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Person_lib");
+
+result.string(PersUtils.getResolvingDisplaySubSql("CREATOR"))
\ No newline at end of file
diff --git a/entity/AddressType_entity/AddressType_entity.aod b/entity/AddressType_entity/AddressType_entity.aod
index 8a71a164f322a8284003fcc21c1be45bc740a181..c55a30f4a0d81b59839dc21f9641881fe7c7ba5b 100644
--- a/entity/AddressType_entity/AddressType_entity.aod
+++ b/entity/AddressType_entity/AddressType_entity.aod
@@ -25,20 +25,19 @@
         <entityDependency>
           <name>b6ddc934-51ac-43a5-8aa9-7239423ea14d</name>
           <entityName>Address_entity</entityName>
-          <fieldName>KeywordAddressType</fieldName>
+          <fieldName>KeywordAddressTypes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
-          <name>usageFilter_param</name>
-          <expose v="true" />
+          <name>UsageFilter_param</name>
           <mandatory v="true" />
         </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
-      <name>usageFilter_param</name>
+      <name>UsageFilter_param</name>
       <title></title>
       <expose v="true" />
       <description>PARAMETER</description>
diff --git a/entity/Address_entity/Address_entity.aod b/entity/Address_entity/Address_entity.aod
index 124f22a21699db143ad14c524f9e9d9fea69d4f1..06638b363e56b50ae7a83ff2c589a3feefd638d4 100644
--- a/entity/Address_entity/Address_entity.aod
+++ b/entity/Address_entity/Address_entity.aod
@@ -26,7 +26,7 @@
       <name>ADDR_TYPE</name>
       <documentation>%aditoprj%/entity/Address_entity/entityfields/addr_type/documentation.adoc</documentation>
       <title>Addresstype</title>
-      <consumer>KeywordAddressType</consumer>
+      <consumer>KeywordAddressTypes</consumer>
     </entityField>
     <entityField>
       <name>BUILDINGNO</name>
@@ -186,7 +186,7 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityConsumer>
-      <name>KeywordAddressType</name>
+      <name>KeywordAddressTypes</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -195,8 +195,8 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>usageFilter_param</name>
-          <valueProcess>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js b/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..805812e9e79c8e443c591c62a20738c9d27e4760
--- /dev/null
+++ b/entity/Address_entity/entityfields/contactaddresses/children/contacttype_param/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.object(2);
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/keywordpriority/children/containername_param/valueProcess.js b/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js
similarity index 63%
rename from entity/Task_entity/entityfields/keywordpriority/children/containername_param/valueProcess.js
rename to entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js
index 8a4cee16039670b6963ac6920a03a81bf1a8ad43..167d3dc35f38110620b4eb5e6004b4c4454578f2 100644
--- a/entity/Task_entity/entityfields/keywordpriority/children/containername_param/valueProcess.js
+++ b/entity/Address_entity/entityfields/keywordaddresstype/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.taskPriority());
\ No newline at end of file
+result.string($KeywordRegistry.addressType());
\ No newline at end of file
diff --git a/entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js b/entity/Address_entity/entityfields/keywordaddresstypes/children/usagefilter_param/valueProcess.js
similarity index 100%
rename from entity/Address_entity/entityfields/keywordaddresstype/children/usagefilter_param/valueProcess.js
rename to entity/Address_entity/entityfields/keywordaddresstypes/children/usagefilter_param/valueProcess.js
diff --git a/entity/AnyContact_entity/AnyContact_entity.aod b/entity/AnyContact_entity/AnyContact_entity.aod
index 66244e2a5aca0e2b79364c016963cae6cafdebfb..257efb852ac4719838bf3ae3bdbb57e50d907413 100644
--- a/entity/AnyContact_entity/AnyContact_entity.aod
+++ b/entity/AnyContact_entity/AnyContact_entity.aod
@@ -73,17 +73,17 @@ See ContactUtils.getRelationTypeByPersOrg for possible values</description>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
-          <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/contact/children/ContactId_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/AnyContact_entity/entityfields/contact/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>Organisation</name>
+      <name>Organisations</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
         <entityName>Organisation_entity</entityName>
-        <fieldName>Organisation</fieldName>
+        <fieldName>Organisations</fieldName>
       </dependency>
       <children>
         <entityParameter>
diff --git a/entity/AnyContact_entity/entityfields/contact/children/contactid_param/valueProcess.js b/entity/AnyContact_entity/entityfields/contacts/children/contactid_param/valueProcess.js
similarity index 100%
rename from entity/AnyContact_entity/entityfields/contact/children/contactid_param/valueProcess.js
rename to entity/AnyContact_entity/entityfields/contacts/children/contactid_param/valueProcess.js
diff --git a/entity/AnyContact_entity/entityfields/organisation/children/contactid_param/valueProcess.js b/entity/AnyContact_entity/entityfields/organisations/children/contactid_param/valueProcess.js
similarity index 100%
rename from entity/AnyContact_entity/entityfields/organisation/children/contactid_param/valueProcess.js
rename to entity/AnyContact_entity/entityfields/organisations/children/contactid_param/valueProcess.js
diff --git a/entity/AppointmentLink_entity/AppointmentLink_entity.aod b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
index 103f4c1b8300b7be8c44216ec8721ee746c91998..6735e3aea9f373838767882dcdbe2c17b462db7d 100644
--- a/entity/AppointmentLink_entity/AppointmentLink_entity.aod
+++ b/entity/AppointmentLink_entity/AppointmentLink_entity.aod
@@ -23,7 +23,7 @@
     </entityField>
     <entityField>
       <name>OBJECTTYPE</name>
-      <consumer>Contexts</consumer>
+      <consumer>Context</consumer>
       <linkedContext>Context_context</linkedContext>
       <displayValueProcess>%aditoprj%/entity/AppointmentLink_entity/entityfields/objecttype/displayValueProcess.js</displayValueProcess>
     </entityField>
@@ -34,7 +34,7 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityProvider>
-      <name>Link</name>
+      <name>Links</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <targetContextField>OBJECTTYPE</targetContextField>
       <targetIdField>OBJECTID</targetIdField>
@@ -55,7 +55,7 @@
       </children>
     </entityProvider>
     <entityConsumer>
-      <name>Contexts</name>
+      <name>Context</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -75,6 +75,7 @@
         <entityParameter>
           <name>ObjectType_param</name>
           <valueProcess>%aditoprj%/entity/AppointmentLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 7123f2201ac1888b2a0a547f46b46b121b3e71de..2a7d91fb2c3264ca5f9b1d2db10a2cd16b5aa739 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -151,7 +151,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>AppointmentLink_entity</entityName>
-        <fieldName>Link</fieldName>
+        <fieldName>Links</fieldName>
       </dependency>
       <children>
         <entityParameter>
@@ -160,37 +160,6 @@
         </entityParameter>
       </children>
     </entityConsumer>
-    <entityConsumer>
-      <name>Contexts</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Context_entity</entityName>
-        <fieldName>Context</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ContextId_param</name>
-          <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/contexts/children/contextid_param/valueProcess.js</valueProcess>
-          <documentation>%aditoprj%/entity/Appointment_entity/entityfields/contexts/children/contextid_param/documentation.adoc</documentation>
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>Objects</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Object_entity</entityName>
-        <fieldName>#PROVIDER</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/Appointment_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
-        </entityParameter>
-      </children>
-    </entityConsumer>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
diff --git a/entity/Appointment_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/Appointment_entity/entityfields/objects/children/objecttype_param/valueProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index 97767789a37e4b96af5efc880f53611fcb69fc00..2e650eee0798e9c7b42b7b0c1882cf9b841cfe42 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -33,15 +33,15 @@
       <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js</valueProcess>
     </entityField>
     <entityField>
-      <name>ATTRIBUTERELATION_VALUE</name>
+      <name>valueProxy</name>
       <title>Value</title>
-      <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js</contentTypeProcess>
+      <contentTypeProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js</contentTypeProcess>
       <resolution>DAY</resolution>
       <mandatory v="true" />
-      <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/possibleItemsProcess.js</possibleItemsProcess>
-      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js</valueProcess>
-      <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js</onValueChange>
+      <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>CHAR_VALUE</name>
@@ -82,20 +82,16 @@
           <fieldName>Attributes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>f73a57f2-0697-4ebf-abc1-a7eb24d89fe4</name>
+          <entityName>Activity_entity</entityName>
+          <fieldName>Attributes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>objectRowId_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>objectType_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
-      <name>objectRowId_param</name>
+      <name>ObjectRowId_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -110,7 +106,7 @@
       <state>EDITABLE</state>
     </entityField>
     <entityParameter>
-      <name>objectType_param</name>
+      <name>ObjectType_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -124,6 +120,7 @@
     </entityField>
     <entityField>
       <name>ATTRIBUTE_PARENT_ID</name>
+      <title>Superordinate Attribute</title>
       <possibleItemsProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attribute_parent_id/possibleItemsProcess.js</possibleItemsProcess>
       <groupable v="true" />
       <onValueChangeTypes>
@@ -132,7 +129,7 @@
       </onValueChangeTypes>
     </entityField>
     <entityConsumer>
-      <name>Keyword</name>
+      <name>Keywords</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -141,8 +138,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/keyword/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/keywords/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
@@ -151,7 +149,7 @@
       <name>MEMO_VALUE</name>
     </entityField>
     <entityParameter>
-      <name>filteredAttributeIds_param</name>
+      <name>FilteredAttributeIds_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -165,15 +163,13 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>objectType_param</name>
+          <name>ObjectType_param</name>
           <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js</valueProcess>
-          <expose v="true" />
           <triggerRecalculation v="true" />
         </entityParameter>
         <entityParameter>
-          <name>filteredAttributeIds_param</name>
+          <name>FilteredAttributeIds_param</name>
           <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js</valueProcess>
-          <expose v="true" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
diff --git a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js
index 601eb01de38092b0173fa46c4a762f98a38fb53e..7375ee03d22b48d48e19926a0ad891be06cc2aec 100644
--- a/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/ab_attribute_id/displayValueProcess.js
@@ -1,5 +1,5 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
 result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTE_ID")));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attribute_parent_id/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/attribute_parent_id/possibleItemsProcess.js
index eccc2a26904d34b493843fe84d3d562a7df71d9d..816f528b0cb03b2f412293c272955a49bfae48eb 100644
--- a/entity/AttributeRelation_entity/entityfields/attribute_parent_id/possibleItemsProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/attribute_parent_id/possibleItemsProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 import("Attribute_lib");
         
-result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.objectType_param"), true));
+result.object(AttributeUtil.getPossibleAttributes(vars.get("$param.ObjectType_param"), true));
diff --git a/entity/AttributeRelation_entity/entityfields/keyword/children/containername_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/keywords/children/containername_param/valueProcess.js
similarity index 86%
rename from entity/AttributeRelation_entity/entityfields/keyword/children/containername_param/valueProcess.js
rename to entity/AttributeRelation_entity/entityfields/keywords/children/containername_param/valueProcess.js
index 6c3a508f22bdf1ba7bb7401970a8d6d2d4ab808a..0ad606c237d8cdb5310fa2818e3edd9d14d6ab93 100644
--- a/entity/AttributeRelation_entity/entityfields/keyword/children/containername_param/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/keywords/children/containername_param/valueProcess.js
@@ -6,4 +6,4 @@ var attrKeywordSelect = "select KEYWORD_CONTAINER from AB_ATTRIBUTE";
 attrKeywordSelect = SqlCondition.begin()
     .andPrepareVars("AB_ATTRIBUTE.AB_ATTRIBUTEID", "$field.AB_ATTRIBUTE_ID")
     .buildSql(attrKeywordSelect);
-result.string(db.cell(attrKeywordSelect));
\ No newline at end of file
+result.string(db.cell(attrKeywordSelect));
diff --git a/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js
index 5f2f5a7b0d369b3b45e91afe9248bfd1660c966a..4e3d5a6e480d22383542cbb74c8bc5c9dd2c733d 100644
--- a/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/object_rowid/valueProcess.js
@@ -1,6 +1,6 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-if (vars.exists("$param.objectRowId_param") && vars.get("$param.objectRowId_param") != null)
-    result.string(vars.get("$param.objectRowId_param"));
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.exists("$param.ObjectRowId_param") && vars.get("$param.ObjectRowId_param") != null)
+    result.string(vars.get("$param.ObjectRowId_param"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js
index a2239bdb8c4a4c4cc92b319a4e90a2a64260b97e..2ce3f28be961ff856705b9dc395e33eb2976f0f2 100644
--- a/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/object_type/valueProcess.js
@@ -1,6 +1,6 @@
-import("system.vars");
-import("system.result");
-import("system.neon");
-
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.objectType_param") && vars.get("$param.objectType_param") != null)
-    result.string(vars.get("$param.objectType_param"));
\ 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.ObjectType_param") && vars.get("$param.ObjectType_param") != null)
+    result.string(vars.get("$param.ObjectType_param"));
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js
index 823de404382c671455ed572865742aabb9d50ee7..0f10b7075d3dbe124dd9048f5ae7b3d092616329 100644
--- a/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/specificattribute/children/filteredattributeids_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.exists("$param.filteredAttributeIds_param") ? vars.get("$param.filteredAttributeIds_param") : "");
\ No newline at end of file
+result.string(vars.exists("$param.FilteredAttributeIds_param") ? vars.get("$param.FilteredAttributeIds_param") : "");
diff --git a/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js
index 987f30bf1e3214329ff1c5a07c18abca106f0a10..5c2ba1e99bd66da1cbc065319b7644302880879f 100644
--- a/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/specificattribute/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.exists("$param.objectType_param") ? vars.get("$param.objectType_param") : "");
\ No newline at end of file
+result.string(vars.exists("$param.ObjectType_param") ? vars.get("$param.ObjectType_param") : "");
diff --git a/entity/AttributeRelation_entity/entityfields/specificattributes/children/filteredattributeids_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattributes/children/filteredattributeids_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..71802ad6ba34158c3344111a02c912789ae97f79
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/specificattributes/children/filteredattributeids_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.exists("$param.FilteredAttributeIds_param") ? vars.get("$param.FilteredAttributeIds_param") : "");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/specificattributes/children/objecttype_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/specificattributes/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..26ba533642c539c7d4a4f1cf7dd8d306a6d3903e
--- /dev/null
+++ b/entity/AttributeRelation_entity/entityfields/specificattributes/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.exists("$param.ObjectType_param") ? vars.get("$param.ObjectType_param") : "");
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js
similarity index 97%
rename from entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js
rename to entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js
index d916ea680e646d3f92de179bf93b33a6bbbf260c..1e7cfe8ada6f58bd12a58cf076c0a887ceee54f7 100644
--- a/entity/AttributeRelation_entity/entityfields/attributerelation_value/contentTypeProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/valueproxy/contentTypeProcess.js
@@ -1,6 +1,6 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeContentType();
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var attrType = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID")).getAttributeContentType();
 result.string(attrType);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/displayValueProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js
similarity index 93%
rename from entity/AttributeRelation_entity/entityfields/attributerelation_value/displayValueProcess.js
rename to entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js
index 722aed0f3fa84a3e329414c97774338b51543cfa..c2cd0971b53da78645efc3ea3db900d49d9d412a 100644
--- a/entity/AttributeRelation_entity/entityfields/attributerelation_value/displayValueProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/valueproxy/displayValueProcess.js
@@ -21,6 +21,6 @@ else if (attrType == $AttributeTypes.KEYWORD)
 }
 
 else
-    value = vars.get("$field.ATTRIBUTERELATION_VALUE");
+    value = vars.get("$field.valueProxy");
 
 result.string(value);
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js b/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js
similarity index 69%
rename from entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js
rename to entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js
index eabe5d10fc826c776508103bbf7c4bddc466a516..5d8c07fa23edf16c4178d05f5de69dec3196dd17 100644
--- a/entity/AttributeRelation_entity/entityfields/attributerelation_value/onValueChange.js
+++ b/entity/AttributeRelation_entity/entityfields/valueproxy/onValueChange.js
@@ -1,10 +1,10 @@
-import("system.vars");
-import("Entity_lib");
-import("Attribute_lib");
-
-var attrValue = vars.exists("$field.ATTRIBUTERELATION_VALUE") ? vars.get("$field.ATTRIBUTERELATION_VALUE") : "";
-attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue);
-var attribute = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID"));
-
-if(attrValue != null)
+import("system.vars");
+import("Entity_lib");
+import("Attribute_lib");
+
+var attrValue = vars.exists("$field.valueProxy") ? vars.get("$field.valueProxy") : "";
+attrValue = ProcessHandlingUtils.getOnValidationValue(attrValue);
+var attribute = AttributeHandler.begin(vars.get("$field.AB_ATTRIBUTE_ID"));
+
+if(attrValue != null)
     attribute.setAttributeValue(attrValue);
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/possibleItemsProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js
similarity index 90%
rename from entity/AttributeRelation_entity/entityfields/attributerelation_value/possibleItemsProcess.js
rename to entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js
index 60c66562b7714341cc539f5afb7d43c49b4105c9..779fd24fa971d879920b3238f61f82c348071415 100644
--- a/entity/AttributeRelation_entity/entityfields/attributerelation_value/possibleItemsProcess.js
+++ b/entity/AttributeRelation_entity/entityfields/valueproxy/possibleItemsProcess.js
@@ -17,6 +17,13 @@ if (attrType == $AttributeTypes.COMBO)
     var valueList = db.table(valueSql);
     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)
@@ -34,4 +41,4 @@ else if (attrType == $AttributeTypes.KEYWORD)
         return [row[0], translate.text(row[1])];
     });
     result.object(keywords);
-}
+}
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js b/entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js
similarity index 100%
rename from entity/AttributeRelation_entity/entityfields/attributerelation_value/valueProcess.js
rename to entity/AttributeRelation_entity/entityfields/valueproxy/valueProcess.js
diff --git a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
index f48af1586cd6331e94c372f69656df270f40b9e5..8d6879931dd4a6fb087e62d8204c557958c33726 100644
--- a/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/AttributeRelation_entity/recordcontainers/db/conditionProcess.js
@@ -6,11 +6,11 @@ import("Sql_lib");
 
 
 var cond = SqlCondition.begin()
-                   .andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.objectRowId_param");
+                   .andPrepareVars("AB_ATTRIBUTERELATION.OBJECT_ROWID", "$param.ObjectRowId_param");
                    
-if (vars.exists("$param.filteredAttributeIds_param") && vars.get("$param.filteredAttributeIds_param"))
+if (vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param"))
 {
-    var filteredIds = JSON.parse(vars.get("$param.filteredAttributeIds_param"));
+    var filteredIds = JSON.parse(vars.get("$param.FilteredAttributeIds_param"));
     var filteredIdsCondition = new SqlCondition();
     
     filteredIds.forEach(function(id) 
diff --git a/entity/AttributeUsage_entity/AttributeUsage_entity.aod b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
index 52b0452a524d0b0271b46df4869adf16fb68d16c..cac04071f268c81751675bb703394199c6c99d30 100644
--- a/entity/AttributeUsage_entity/AttributeUsage_entity.aod
+++ b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
@@ -11,8 +11,8 @@
     </entityProvider>
     <entityField>
       <name>OBJECT_TYPE</name>
-      <title>Context</title>
-      <consumer>Contexts</consumer>
+      <title>Module</title>
+      <consumer>Context</consumer>
     </entityField>
     <entityField>
       <name>AB_ATTRIBUTEUSAGEID</name>
@@ -24,7 +24,7 @@
       <valueProcess>%aditoprj%/entity/AttributeUsage_entity/entityfields/ab_attribute_id/valueProcess.js</valueProcess>
     </entityField>
     <entityProvider>
-      <name>specificAttribute</name>
+      <name>SpecificAttribute</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <recordContainer>db</recordContainer>
       <dependencies>
@@ -35,15 +35,9 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>attributeId_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
-      <name>attributeId_param</name>
+      <name>AttributeId_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -62,7 +56,7 @@
       <onValidation>%aditoprj%/entity/AttributeUsage_entity/entityfields/max_count/onValidation.js</onValidation>
     </entityField>
     <entityConsumer>
-      <name>Contexts</name>
+      <name>Context</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
diff --git a/entity/Attribute_entity/Attribute_entity.aod b/entity/Attribute_entity/Attribute_entity.aod
index c204aef676ae39a7c6598da1397f70a48d887fd4..2b1e324f9f3d58cc2025df5178f5562af93f0f13 100644
--- a/entity/Attribute_entity/Attribute_entity.aod
+++ b/entity/Attribute_entity/Attribute_entity.aod
@@ -4,6 +4,7 @@
   <title>Attribute</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Attribute_entity/documentation.adoc</documentation>
+  <afterOperatingState>%aditoprj%/entity/Attribute_entity/afterOperatingState.js</afterOperatingState>
   <iconId>VAADIN:TAG</iconId>
   <titleProcess>%aditoprj%/entity/Attribute_entity/titleProcess.js</titleProcess>
   <recordContainer>db</recordContainer>
@@ -21,11 +22,12 @@
     <entityField>
       <name>ATTRIBUTE_TYPE</name>
       <title>Type</title>
-      <consumer>KeywordAttributeType</consumer>
+      <consumer>KeywordAttributeTypes</consumer>
       <mandatory v="true" />
       <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js</onValueChange>
     </entityField>
     <entityField>
       <name>AB_ATTRIBUTEID</name>
@@ -52,14 +54,15 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>attrParentId_param</name>
+          <name>AttrParentId_param</name>
           <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
-          <mandatory v="false" />
         </entityParameter>
         <entityParameter>
-          <name>attrParentType_param</name>
+          <name>AttrParentType_param</name>
           <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
@@ -76,15 +79,9 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>attrParentId_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
-      <name>attrParentId_param</name>
+      <name>AttrParentId_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -95,12 +92,13 @@
       <dependency>
         <name>dependency</name>
         <entityName>AttributeUsage_entity</entityName>
-        <fieldName>specificAttribute</fieldName>
+        <fieldName>SpecificAttribute</fieldName>
       </dependency>
       <children>
         <entityParameter>
-          <name>attributeId_param</name>
+          <name>AttributeId_param</name>
           <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attributeusages/children/attributeid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
@@ -113,7 +111,7 @@
       <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/attribute_active/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
-      <name>KeywordAttributeType</name>
+      <name>KeywordAttributeTypes</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -122,8 +120,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -142,12 +141,12 @@
       <stateProcess>%aditoprj%/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js</stateProcess>
     </entityField>
     <entityParameter>
-      <name>attrParentType_param</name>
+      <name>AttrParentType_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
     <entityParameter>
-      <name>objectType_param</name>
+      <name>ObjectType_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -163,23 +162,13 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>objectType_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>filteredAttributeIds_param</name>
-          <expose v="true" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityField>
       <name>FULL_ATTRIBUTE_NAME</name>
       <valueProcess>%aditoprj%/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
-      <name>filteredAttributeIds_param</name>
+      <name>FilteredAttributeIds_param</name>
       <expose v="true" />
       <description>PARAMETER</description>
     </entityParameter>
@@ -206,7 +195,6 @@
       <alias>Data_alias</alias>
       <conditionProcess>%aditoprj%/entity/Attribute_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <orderClauseProcess>%aditoprj%/entity/Attribute_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <onDBInsert>%aditoprj%/entity/Attribute_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
       <onDBDelete>%aditoprj%/entity/Attribute_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
diff --git a/entity/Attribute_entity/afterOperatingState.js b/entity/Attribute_entity/afterOperatingState.js
new file mode 100644
index 0000000000000000000000000000000000000000..30104d6d3f51863d93968038d55720caf4d3b768
--- /dev/null
+++ b/entity/Attribute_entity/afterOperatingState.js
@@ -0,0 +1,25 @@
+import("system.util");
+import("system.db");
+import("system.neon");
+import("system.vars");
+import("Context_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW 
+    && vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param"))
+{
+    var parentId = vars.get("$param.attrParentId_param");
+    var attributeId = vars.get("$field.AB_ATTRIBUTEID");
+    
+    var usageSql = SqlCondition.begin()
+        .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", parentId)
+        .buildSql("select OBJECT_TYPE from AB_ATTRIBUTEUSAGE", "1=0");
+    var usages = db.array(db.COLUMN, usageSql);
+
+    //preset the usages with the ones from the parent
+    usages.forEach(function (usage) 
+    {
+        neon.addRecord(null, "AttributeUsages", {
+            "OBJECT_TYPE" : usage
+        });
+    });
+}
\ 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
new file mode 100644
index 0000000000000000000000000000000000000000..1e41dcc648582d40537797bbf22e7d475b5424a4
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attribute_type/onValueChange.js
@@ -0,0 +1,8 @@
+import("system.neon");
+import("system.vars");
+import("Attribute_lib");
+import("Entity_lib");
+
+var type = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.ATTRIBUTE_TYPE")) || "";
+if (type.trim() != $AttributeTypes.KEYWORD && vars.get("$field.KEYWORD_CONTAINER"))
+    neon.setFieldValue("$field.KEYWORD_CONTAINER", "");
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
index 1ec2bc6c8d7639880db01b7e9d2bb1fa1794cda7..d9cc906c021c57a26ce94679eb32800340257d24 100644
--- a/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
+++ b/entity/Attribute_entity/entityfields/attributeactions/children/newchildattribute/onActionProcess.js
@@ -1,14 +1,16 @@
-import("system.vars");
-import("system.neon");
-import("Attribute_lib");
-
-var params = {};
-if (vars.exists("$local.rows"))
-{
-    var row = JSON.parse(vars.get("$local.rows"));
-    
-    var type = row[0].ATTRIBUTE_TYPE.trim();
-    if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO)
-        params["attrParentId_param"] = row[0].AB_ATTRIBUTEID;
-}
+import("system.vars");
+import("system.neon");
+import("Attribute_lib");
+
+var params = {};
+if (vars.exists("$local.rows"))
+{
+    var row = JSON.parse(vars.get("$local.rows"));
+    
+    var type = row[0].ATTRIBUTE_TYPE.trim();
+    if (type == $AttributeTypes.GROUP || type == $AttributeTypes.COMBO)
+        params["attrParentId_param"] = row[0].AB_ATTRIBUTEID;
+    else if (row[0].ATTRIBUTE_PARENT_ID)
+        params["attrParentId_param"] = row[0].ATTRIBUTE_PARENT_ID;
+}
 neon.openContext("Attribute", null, null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f2318723e88440808277d20753657fb7674a0d0f
--- /dev/null
+++ b/entity/Attribute_entity/entityfields/attributechildren/children/attrparentid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.getString("$field.AB_ATTRIBUTEID"));
diff --git a/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
index cbb5a62f5fedf49496fd6787ba7671c936bc24c0..fe18eca06c7f87d798bd3e58c7726058b5bf049f 100644
--- a/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attributechildren/children/attrparenttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.getString("$field.ATTRIBUTE_TYPE").trim());
\ No newline at end of file
+result.string(vars.getString("$field.ATTRIBUTE_TYPE").trim());
diff --git a/entity/Attribute_entity/entityfields/attributeusages/children/attributeid_param/valueProcess.js b/entity/Attribute_entity/entityfields/attributeusages/children/attributeid_param/valueProcess.js
index c9a3d90e33382c689b93d232411e2a788f71c0e9..f7ac89492841d22780c3d2eb1d38d4b0aa7de476 100644
--- a/entity/Attribute_entity/entityfields/attributeusages/children/attributeid_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/attributeusages/children/attributeid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.AB_ATTRIBUTEID"));
\ No newline at end of file
+result.string(vars.get("$field.AB_ATTRIBUTEID"));
diff --git a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
index 40820d463337ab8ae4c656ed49bc07256a59c571..923d08e23b6c1ae3516c39c934dad4e50f90c722 100644
--- a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
@@ -1,5 +1,6 @@
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTEID")));
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var parentName = AttributeUtil.getFullAttributeName(vars.get("$field.ATTRIBUTE_PARENT_ID"));
+result.string((parentName ? parentName + " / " : "") + vars.get("$field.ATTRIBUTE_NAME"));
diff --git a/entity/Attribute_entity/entityfields/keyword_container/possibleItemsProcess.js b/entity/Attribute_entity/entityfields/keyword_container/possibleItemsProcess.js
index 57ceecb4fb34bc07c3e6d1856dc06caac2def1f0..eb0b7bceec298d4c0a80e6ccef3a96e47599b6c2 100644
--- a/entity/Attribute_entity/entityfields/keyword_container/possibleItemsProcess.js
+++ b/entity/Attribute_entity/entityfields/keyword_container/possibleItemsProcess.js
@@ -1,8 +1,12 @@
-import("system.result");
-import("Keyword_lib");
-
-var 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
-});
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("Attribute_lib");
+
+var res = [];
+if (vars.get("$field.ATTRIBUTE_TYPE").trim() == $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
+    });
 result.object(res);
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js b/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js
index beaaa08c35beeb077df7f67ebf1671858d2daf15..205bd328d1c49c73a48ab3c4cf39e8d7cdc8ee05 100644
--- a/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js
+++ b/entity/Attribute_entity/entityfields/keyword_container/stateProcess.js
@@ -1,13 +1,13 @@
-import("system.neon");
-import("system.vars");
-import("system.result");
-import("Attribute_lib");
-
-var fieldState;
-if (vars.get("$field.ATTRIBUTE_TYPE") == $AttributeTypes.KEYWORD)
-    fieldState = neon.COMPONENTSTATE_AUTO;
-else
-    fieldState = neon.COMPONENTSTATE_INVISIBLE;
-
-//TODO result the correct state here when updating the state is possible
-result.string(neon.COMPONENTSTATE_AUTO);//result.string(fieldState);
\ No newline at end of file
+import("system.logging");
+import("system.neon");
+import("system.vars");
+import("system.result");
+import("Attribute_lib");
+
+var fieldState;
+if (vars.get("$field.ATTRIBUTE_TYPE").trim() == $AttributeTypes.KEYWORD)
+    fieldState = neon.COMPONENTSTATE_EDITABLE;
+else
+    fieldState = neon.COMPONENTSTATE_DISABLED;
+
+result.string(fieldState);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/keywordprobability/children/containername_param/valueProcess.js b/entity/Attribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
similarity index 61%
rename from entity/Offer_entity/entityfields/keywordprobability/children/containername_param/valueProcess.js
rename to entity/Attribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
index b5612781a16cf17e988af9ad4c1f375ea2abd119..fa56a9436e690bf5b268572f48d31efa2f1f2c48 100644
--- a/entity/Offer_entity/entityfields/keywordprobability/children/containername_param/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.offerProbability());
\ No newline at end of file
+result.string($KeywordRegistry.attributeType());
diff --git a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
index 3ed5587eb64e97091d33e3297dc1eb785b7d0c6a..b6c5e92cacc1dcf517fb4e9140a5cf2ba0cfca80 100644
--- a/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Attribute_entity/recordcontainers/db/conditionProcess.js
@@ -6,19 +6,19 @@ import("Attribute_lib");
 
 var condition = "1 = 2";
 
-var objectType = vars.exists("$param.objectType_param") && vars.get("$param.objectType_param");
+var objectType = vars.exists("$param.ObjectType_param") && vars.get("$param.ObjectType_param");
 if (objectType)  //if there's an objectType, it comes from the AttributeRelation entity
 {
     var filteredAttributes = [];
-    if (vars.exists("$param.filteredAttributeIds_param") && vars.get("$param.filteredAttributeIds_param"))
-        filteredAttributes = JSON.parse(vars.get("$param.filteredAttributeIds_param"));
+    if (vars.exists("$param.FilteredAttributeIds_param") && vars.get("$param.FilteredAttributeIds_param"))
+        filteredAttributes = JSON.parse(vars.get("$param.FilteredAttributeIds_param"));
     
     var ids = AttributeUtil.getPossibleAttributes(objectType, false, filteredAttributes);
     condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + ids.join("','") + "')";
 } 
 else 
 {
-    var type = vars.exists("$param.attrParentType_param") && vars.get("$param.attrParentType_param");
+    var type = vars.exists("$param.AttrParentType_param") && vars.get("$param.AttrParentType_param");
     if (type != $AttributeTypes.COMBOVALUE)
         condition = SqlCondition.begin()
             .andPrepare("AB_ATTRIBUTE.ATTRIBUTE_TYPE", $AttributeTypes.GROUP)
@@ -26,12 +26,12 @@ else
 
     if (type == $AttributeTypes.COMBO)
         condition = SqlCondition.begin()
-            .andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.attrParentId_param")
+            .andPrepareVars("AB_ATTRIBUTE.ATTRIBUTE_PARENT_ID", "$param.AttrParentId_param")
             .build();
 
-    var parentId = vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param");
+    var parentId = vars.exists("$param.AttrParentId_param") && vars.get("$param.AttrParentId_param");
     if (parentId)
-        condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.attrParentId_param")).join("','") + "')";
+        condition = "AB_ATTRIBUTE.AB_ATTRIBUTEID in ('" + AttributeUtil.getAllChildren(vars.getString("$param.AttrParentId_param")).join("','") + "')";
     else if (!type)
         condition = "";
     
diff --git a/entity/Attribute_entity/recordcontainers/db/onDBInsert.js b/entity/Attribute_entity/recordcontainers/db/onDBInsert.js
deleted file mode 100644
index 9abf4505f0765bd027b54de2c259db0da57b5704..0000000000000000000000000000000000000000
--- a/entity/Attribute_entity/recordcontainers/db/onDBInsert.js
+++ /dev/null
@@ -1,31 +0,0 @@
-import("system.db");
-import("system.neon");
-import("system.result");
-import("system.vars");
-import("system.util");
-import("Sql_lib");
-
-if (vars.exists("$param.attrParentId_param") && vars.get("$param.attrParentId_param"))
-{
-    var parentId = vars.get("$param.attrParentId_param");
-    var attributeId = vars.get("$field.AB_ATTRIBUTEID");
-    var cols = [
-        "AB_ATTRIBUTEUSAGEID", 
-        "OBJECT_TYPE",
-        "AB_ATTRIBUTE_ID"
-    ];
-    var usageSql = SqlCondition.begin()
-        .andPrepare("AB_ATTRIBUTEUSAGE.AB_ATTRIBUTE_ID", parentId)
-        .buildSql("select " + cols.join(", ") + " from AB_ATTRIBUTEUSAGE", "1=0");
-    var usages = db.table(usageSql);
-
-    var table = "AB_ATTRIBUTEUSAGE";
-    var types = db.getColumnTypes(table, cols);
-    
-    var toInsert = usages.map(function (row) 
-    {
-        return [table, cols, types, [util.getNewUUID(), row[1], attributeId]];
-    });
-    
-    db.inserts(toInsert);
-}
\ No newline at end of file
diff --git a/entity/Communication_entity/Communication_entity.aod b/entity/Communication_entity/Communication_entity.aod
index 3a6092508cf2ac9c9a816854dbb419aa9b07a618..0837932c1001a4dd843ea571660cbea08b9a1eb5 100644
--- a/entity/Communication_entity/Communication_entity.aod
+++ b/entity/Communication_entity/Communication_entity.aod
@@ -21,8 +21,14 @@
     <entityField>
       <name>MEDIUM_ID</name>
       <title>Medium</title>
-      <consumer>KeywordMedium</consumer>
+      <consumer>KeywordMediums</consumer>
       <mandatory v="true" />
+      <onValueChange>%aditoprj%/entity/Communication_entity/entityfields/medium_id/onValueChange.js</onValueChange>
+      <onValueChangeTypes>
+        <element>MASK</element>
+        <element>PROCESS</element>
+        <element>RECORD</element>
+      </onValueChangeTypes>
     </entityField>
     <entityField>
       <name>CONTACT_ID</name>
@@ -176,7 +182,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       <description>PARAMETER</description>
     </entityParameter>
     <entityConsumer>
-      <name>KeywordMedium</name>
+      <name>KeywordMediums</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -185,8 +191,9 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Communication_entity/entityfields/keywordmedium/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Communication_entity/entityfields/keywordmediums/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Organisation_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js b/entity/Communication_entity/entityfields/keywordmediums/children/containername_param/valueProcess.js
similarity index 59%
rename from entity/Organisation_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js
rename to entity/Communication_entity/entityfields/keywordmediums/children/containername_param/valueProcess.js
index cae1ead3876117be7f9a2c2be4fcc91f3f3b5964..7ce6a565f5020f011ad66d13e77b09d3a5efed75 100644
--- a/entity/Organisation_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js
+++ b/entity/Communication_entity/entityfields/keywordmediums/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectStrenght());
\ No newline at end of file
+result.string($KeywordRegistry.communicationMedium());
diff --git a/entity/Communication_entity/entityfields/medium_id/onValueChange.js b/entity/Communication_entity/entityfields/medium_id/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..2befa48edce658cc2dacc6a4e081a1343b6f6a2b
--- /dev/null
+++ b/entity/Communication_entity/entityfields/medium_id/onValueChange.js
@@ -0,0 +1,11 @@
+import("system.neon");
+import("system.vars");
+import("Entity_lib");
+
+var isInternet = ProcessHandlingUtils.getOnValidationValue(vars.get("$field.MEDIUM_ID")) == "d08956b8-369e-4b65-88fa-1c37b3368ae3";
+var internetPreset = "https://";
+
+if (isInternet && vars.get("$field.ADDR") == "") //medium == Internet
+    neon.setFieldValue("$field.ADDR", internetPreset);
+else if (!isInternet && vars.get("$field.ADDR") == internetPreset)
+    neon.setFieldValue("$field.ADDR", "");
\ No newline at end of file
diff --git a/entity/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod
index ba84fe0c8b88c17267a1ba9857dbf78def146671..025b0cdddb8bcdd9b697a97650dbd8dd1cd2ba20 100644
--- a/entity/Context_entity/Context_entity.aod
+++ b/entity/Context_entity/Context_entity.aod
@@ -13,12 +13,18 @@
         <entityDependency>
           <name>fcccd077-46c9-4d57-9d9f-27915e40dbce</name>
           <entityName>ObjectRelation_entity</entityName>
-          <fieldName>Contexts</fieldName>
+          <fieldName>Context</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>d713987f-1cf0-4c6c-8373-24d135d22dc8</name>
           <entityName>ActivityLink_entity</entityName>
+          <fieldName>Context</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>2dcb4637-6096-43fc-b07e-d44fb51fbc1b</name>
+          <entityName>TaskLink_entity</entityName>
           <fieldName>Contexts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
@@ -46,13 +52,13 @@
         <entityDependency>
           <name>628bd4db-3b31-4337-88ac-1c000307836f</name>
           <entityName>AttributeUsage_entity</entityName>
-          <fieldName>Contexts</fieldName>
+          <fieldName>Context</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>64f5aca8-e756-4a6d-a7a3-89bdc67ddfb3</name>
           <entityName>AppointmentLink_entity</entityName>
-          <fieldName>Contexts</fieldName>
+          <fieldName>Context</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
diff --git a/entity/Contract_entity/Contract_entity.aod b/entity/Contract_entity/Contract_entity.aod
index 9aee7a44cbf820c395c66a545c9bb6777cf18a63..0d691e08620c9d63b4c75c55568c7e95c6ea133a 100644
--- a/entity/Contract_entity/Contract_entity.aod
+++ b/entity/Contract_entity/Contract_entity.aod
@@ -228,8 +228,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -243,8 +244,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -258,8 +260,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -281,14 +284,15 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>objectType_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
           <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
         <entityParameter>
-          <name>objectRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
diff --git a/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
index 6a986948950be876fd394dc2b62dcf465308140a..0cbf256ef501b81f0412f73d5cf28f40231c37d0 100644
--- a/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.CONTRACTID"));
\ No newline at end of file
+result.string(vars.get("$field.CONTRACTID"));
diff --git a/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
index 008915f61deac19ccdd40fff81701de63eb3b6a2..e8b4e72e74a0a4696ff39e83135aa6100ef908c0 100644
--- a/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js b/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js
index f17d453fcdc0a4cdd0830eac47ba7d7db0fea3db..b99d2d74ff1b4b0438d4221ab43252f2f327b269 100644
--- a/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/contractpayments/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.contractPayment());
\ No newline at end of file
+result.string($KeywordRegistry.contractPayment());
diff --git a/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js b/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js
index 8c1535d18c3a1b71fae6cd2c37224a17f9016ba4..f071a8b58d82501908de54b5cfc2376b958a9da4 100644
--- a/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/contractstates/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.contractStatus());
\ No newline at end of file
+result.string($KeywordRegistry.contractStatus());
diff --git a/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js b/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js
index 8b185106748e306ba26e122862d4d33e49b447ec..6d492e72de90f22cd4b2ed07b753d46d455cac78 100644
--- a/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js
+++ b/entity/Contract_entity/entityfields/contracttypes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.contractType());
\ No newline at end of file
+result.string($KeywordRegistry.contractType());
diff --git a/entity/Countries_Entity/Countries_Entity.aod b/entity/Countries_Entity/Countries_Entity.aod
index 672fa2572514c9b665af4f87f7ed5db52f7c184a..2c137a620879d5892e1fee0a96da57ab0f77ea4c 100644
--- a/entity/Countries_Entity/Countries_Entity.aod
+++ b/entity/Countries_Entity/Countries_Entity.aod
@@ -13,7 +13,7 @@
       <recordContainer>db</recordContainer>
     </entityProvider>
     <entityProvider>
-      <name>ISO2_NAME</name>
+      <name>ISO2Name</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <dependencies>
         <entityDependency>
@@ -32,12 +32,12 @@
       <children>
         <entityParameter>
           <name>Key_param</name>
-          <valueProcess>%aditoprj%/entity/Countries_Entity/entityfields/iso2_name/children/key_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Countries_Entity/entityfields/iso2name/children/key_param/valueProcess.js</valueProcess>
           <expose v="false" />
         </entityParameter>
         <entityParameter>
           <name>Value_param</name>
-          <valueProcess>%aditoprj%/entity/Countries_Entity/entityfields/iso2_name/children/value_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Countries_Entity/entityfields/iso2name/children/value_param/valueProcess.js</valueProcess>
           <expose v="false" />
         </entityParameter>
       </children>
diff --git a/entity/Countries_Entity/entityfields/iso2_name2/children/key_param/code.js b/entity/Countries_Entity/entityfields/iso2_name2/children/key_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce35888708c4329a665a96045635891c38b79702
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2_name2/children/key_param/code.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("ISO2");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2_name2/children/value_param/code.js b/entity/Countries_Entity/entityfields/iso2_name2/children/value_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..02118b507989b951950aed5724eeb78479f546cc
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2_name2/children/value_param/code.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("NAME");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2_names/children/key_param/code.js b/entity/Countries_Entity/entityfields/iso2_names/children/key_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce35888708c4329a665a96045635891c38b79702
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2_names/children/key_param/code.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("ISO2");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2_names/children/value_param/code.js b/entity/Countries_Entity/entityfields/iso2_names/children/value_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..02118b507989b951950aed5724eeb78479f546cc
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2_names/children/value_param/code.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("NAME");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2name/children/key_param/valueProcess.js b/entity/Countries_Entity/entityfields/iso2name/children/key_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce35888708c4329a665a96045635891c38b79702
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2name/children/key_param/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("ISO2");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2name/children/value_param/valueProcess.js b/entity/Countries_Entity/entityfields/iso2name/children/value_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..02118b507989b951950aed5724eeb78479f546cc
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2name/children/value_param/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("NAME");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2names/children/key_param/valueProcess.js b/entity/Countries_Entity/entityfields/iso2names/children/key_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..ce35888708c4329a665a96045635891c38b79702
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2names/children/key_param/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("ISO2");
\ No newline at end of file
diff --git a/entity/Countries_Entity/entityfields/iso2names/children/value_param/valueProcess.js b/entity/Countries_Entity/entityfields/iso2names/children/value_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..02118b507989b951950aed5724eeb78479f546cc
--- /dev/null
+++ b/entity/Countries_Entity/entityfields/iso2names/children/value_param/valueProcess.js
@@ -0,0 +1,2 @@
+import("system.result");
+result.string("NAME");
\ No newline at end of file
diff --git a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
index b14fc3e9812dad1b41c23f9b54eff190eaf862e7..e18e421f3ce600c7ef183072ec846efd4901952c 100644
--- a/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
+++ b/entity/KeywordAttributeRelation_entity/KeywordAttributeRelation_entity.aod
@@ -53,13 +53,14 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>keywordEntryId_param</name>
-          <expose v="true" />
+          <name>KeywordEntryId_param</name>
+          <triggerRecalculation v="false" />
+          <mandatory v="false" />
         </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
-      <name>containerName_param</name>
+      <name>ContainerName_param</name>
       <valueProcess>%aditoprj%/entity/KeywordAttributeRelation_entity/entityfields/containername_param/valueProcess.js</valueProcess>
       <triggerRecalculation v="true" />
       <mandatory v="false" />
@@ -71,21 +72,24 @@
       <dependency>
         <name>dependency</name>
         <entityName>KeywordAttribute_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
+        <fieldName>SpecificContainerKeyword</fieldName>
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <triggerRecalculation v="false" />
         </entityParameter>
         <entityParameter>
-          <name>filterAlreadyUsedByEntryId_param</name>
+          <name>FilterAlreadyUsedByEntryId_param</name>
           <valueProcess>%aditoprj%/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityParameter>
-      <name>keywordEntryId_param</name>
+      <name>KeywordEntryId_param</name>
       <expose v="true" />
       <triggerRecalculation v="true" />
       <mandatory v="true" />
diff --git a/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/containername_param/valueProcess.js b/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/containername_param/valueProcess.js
index 04bac245422e16f11fa07dfd8ff7de51343d2148..3a71fd3b9c15160f718ce2bb30928efdbf35ea80 100644
--- a/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/containername_param/valueProcess.js
+++ b/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/containername_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$param.containerName_param"));
\ No newline at end of file
+result.string(vars.get("$param.containerName_param"));
diff --git a/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js b/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js
index f488dd168118d6d24130f83960ad4f4f59226a52..dcf07dae9bb02fe8d7f4acf9039b16fd99805e75 100644
--- a/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js
+++ b/entity/KeywordAttributeRelation_entity/entityfields/keywordattributes/children/filteralreadyusedbyentryid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.AB_KEYWORD_ENTRY_ID"));
\ No newline at end of file
+result.string(vars.get("$field.AB_KEYWORD_ENTRY_ID"));
diff --git a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
index 8796c265212fe95eae4441aecee375a740138196..5e4b0be7d206c8f070fe64eb845d13f33b8fd6bf 100644
--- a/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
+++ b/entity/KeywordAttribute_entity/KeywordAttribute_entity.aod
@@ -32,13 +32,13 @@
     <entityField>
       <name>TYPE</name>
       <title>Type</title>
-      <consumer>KeywordKeywordAttributeTypes</consumer>
+      <consumer>KeywordAttributeTypes</consumer>
       <mandatory v="true" />
     </entityField>
     <entityProvider>
-      <name>SpecificContainerKeywords</name>
+      <name>SpecificContainerKeyword</name>
       <fieldType>DEPENDENCY_IN</fieldType>
-      <documentation>%aditoprj%/entity/KeywordAttribute_entity/entityfields/specificcontainerkeywords/documentation.adoc</documentation>
+      <documentation>%aditoprj%/entity/KeywordAttribute_entity/entityfields/specificcontainerkeyword/documentation.adoc</documentation>
       <dependencies>
         <entityDependency>
           <name>1d11c064-1cf2-4f08-b842-9fa941ad3157</name>
@@ -49,30 +49,26 @@
       </dependencies>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <expose v="true" />
-        </entityParameter>
-        <entityParameter>
-          <name>filterAlreadyUsedByEntryId_param</name>
-          <expose v="true" />
+          <name>ContainerName_param</name>
+          <triggerRecalculation v="false" />
         </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
-      <name>containerName_param</name>
+      <name>ContainerName_param</name>
       <expose v="true" />
       <triggerRecalculation v="true" />
       <description>PARAMETER</description>
     </entityParameter>
     <entityParameter>
-      <name>filterAlreadyUsedByEntryId_param</name>
+      <name>FilterAlreadyUsedByEntryId_param</name>
       <expose v="true" />
       <mandatory v="false" />
       <documentation>%aditoprj%/entity/KeywordAttribute_entity/entityfields/filteralreadyusedbyentryid_param/documentation.adoc</documentation>
       <description>PARAMETER</description>
     </entityParameter>
     <entityConsumer>
-      <name>KeywordKeywordAttributeTypes</name>
+      <name>KeywordAttributeTypes</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -81,8 +77,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/KeywordAttribute_entity/entityfields/keywordkeywordattributetypes/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/KeywordAttribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/KeywordAttribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js b/entity/KeywordAttribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..286c720daa7ca679bc489aa75306c9e697210b12
--- /dev/null
+++ b/entity/KeywordAttribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.keywordAttributeType());
diff --git a/entity/Organisation_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js b/entity/KeywordAttribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
similarity index 59%
rename from entity/Organisation_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js
rename to entity/KeywordAttribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
index 9973fed72b013f63d5400a1bd09de489911df93c..e52675c31d5faf2c260c05bd11438d29755121ca 100644
--- a/entity/Organisation_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js
+++ b/entity/KeywordAttribute_entity/entityfields/keywordattributetypes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectWeakness());
\ No newline at end of file
+result.string($KeywordRegistry.keywordAttributeType());
\ No newline at end of file
diff --git a/entity/KeywordAttribute_entity/entityfields/specificcontainerkeywords/documentation.adoc b/entity/KeywordAttribute_entity/entityfields/specificcontainerkeyword/documentation.adoc
similarity index 100%
rename from entity/KeywordAttribute_entity/entityfields/specificcontainerkeywords/documentation.adoc
rename to entity/KeywordAttribute_entity/entityfields/specificcontainerkeyword/documentation.adoc
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index cd4ccf5beb0ec7cefecff191293e8d234353b888..ded15e9ac61cb9427ed751345a9d169e0481d146 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -68,7 +68,7 @@
       <state>READONLY</state>
     </entityField>
     <entityParameter>
-      <name>containerName_param</name>
+      <name>ContainerName_param</name>
       <expose v="true" />
       <documentation>%aditoprj%/entity/KeywordEntry_entity/entityfields/containername_param/documentation.adoc</documentation>
     </entityParameter>
@@ -222,12 +222,6 @@
           <fieldName>KeywordStates</fieldName>
           <isConsumer v="false" />
         </entityDependency>
-        <entityDependency>
-          <name>59546343-9f48-4437-a829-e7715e860a7d</name>
-          <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordWonLost</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
         <entityDependency>
           <name>e2041dea-8647-49e9-aacf-4481b75b76ff</name>
           <entityName>Stock_entity</entityName>
@@ -237,13 +231,13 @@
         <entityDependency>
           <name>403c40a4-f747-4e47-ad60-07334724d6fb</name>
           <entityName>KeywordAttribute_entity</entityName>
-          <fieldName>KeywordKeywordAttributeTypes</fieldName>
+          <fieldName>KeywordAttributeTypes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>078bbd52-87fa-44cc-9902-04af935b5fbc</name>
           <entityName>Attribute_entity</entityName>
-          <fieldName>KeywordAttributeType</fieldName>
+          <fieldName>KeywordAttributeTypes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
@@ -261,96 +255,126 @@
         <entityDependency>
           <name>a44375e9-917c-4db8-9aa8-de0625caf78f</name>
           <entityName>Activity_entity</entityName>
-          <fieldName>KeywordCategory</fieldName>
+          <fieldName>KeywordCategories</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>f442a641-4dff-4860-bf4c-cfddc054e075</name>
           <entityName>Offer_entity</entityName>
-          <fieldName>KeywordProbability</fieldName>
+          <fieldName>KeywordProbabilities</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>fa831dac-3287-422a-8f28-504fc525876a</name>
           <entityName>Communication_entity</entityName>
-          <fieldName>KeywordMedium</fieldName>
+          <fieldName>KeywordMediums</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>2ed3c1ee-0cae-4017-aaf2-49bf4307abc4</name>
+          <entityName>Address_entity</entityName>
+          <fieldName>KeywordAddressTypes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>04b28ce6-a144-4c19-ac2d-4cfbc3568700</name>
           <entityName>Organisation_entity</entityName>
-          <fieldName>KeywordPrice_Politics</fieldName>
+          <fieldName>KeywordPricePolitics</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>f024df05-2faf-4447-9eed-ae31b329d542</name>
           <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordPrice_Politics</fieldName>
+          <fieldName>KeywordPricePolitics</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>60840c28-9875-4e3e-8099-5ca208d58bbe</name>
           <entityName>Organisation_entity</entityName>
-          <fieldName>KeywordWeakness</fieldName>
+          <fieldName>KeywordWeaknesses</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>854148e2-2532-4562-b393-832819e8d462</name>
           <entityName>Organisation_entity</entityName>
-          <fieldName>KeywordStrenght</fieldName>
+          <fieldName>KeywordStrenghts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>613d5861-0494-45f9-a839-a705347a68da</name>
           <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordWeakness</fieldName>
+          <fieldName>KeywordWeaknesses</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>119d79d0-9e04-4dd0-80bb-0bc32eaae775</name>
           <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordStrenght</fieldName>
+          <fieldName>KeywordStrenghts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>6e2d164c-1ac7-4ed0-ad8f-7bfda1328493</name>
           <entityName>Salesproject_entity</entityName>
-          <fieldName>KeywordState</fieldName>
+          <fieldName>KeywordStates</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>3ca6d3c7-83d2-4761-bab4-50d2baecdbd6</name>
           <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordPhase</fieldName>
+          <fieldName>KeywordPhases</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>f672b4a5-7d68-46c8-9834-4f706d0d8720</name>
           <entityName>Salesproject_entity</entityName>
-          <fieldName>KeywordPhase</fieldName>
+          <fieldName>KeywordPhases</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>1053a90d-574a-4ca2-b41d-42b513db0fd2</name>
           <entityName>Task_entity</entityName>
-          <fieldName>KeywordPriority</fieldName>
+          <fieldName>KeywordPriorities</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>bf9f7a07-dfb9-44d0-8f9b-d3814053683e</name>
           <entityName>SalesprojectCompetition_entity</entityName>
-          <fieldName>KeywordState</fieldName>
+          <fieldName>KeywordStates</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>ef8b9397-6292-42de-806e-5aaf3e3db5f3</name>
+          <entityName>Salesproject_entity</entityName>
+          <fieldName>KeywordWonLost</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>5d9e0e48-ece8-4b8e-ab72-beef77b5dcc3</name>
+          <entityName>Task_entity</entityName>
+          <fieldName>KeywordProgress</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>36aa04c1-5361-4e40-a036-0546db596973</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>KeywordDeliveryTerm</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+        <entityDependency>
+          <name>7e12cbd6-3a2c-4bd8-bc66-5001c282b690</name>
+          <entityName>Offer_entity</entityName>
+          <fieldName>KeywordPaymentTerm</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
-          <name>onlyActives_param</name>
+          <name>OnlyActives_param</name>
           <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
-          <expose v="true" />
+          <triggerRecalculation v="false" />
         </entityParameter>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <expose v="true" />
         </entityParameter>
       </children>
@@ -360,7 +384,7 @@
       <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/title_translated/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
-      <name>onlyActives_param</name>
+      <name>OnlyActives_param</name>
       <valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/onlyactives_param/valueProcess.js</valueProcess>
       <expose v="true" />
       <triggerRecalculation v="true" />
diff --git a/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js b/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js
index 0e7522714af4e73d87e977bb3e83b350461053b6..cdda594564ed7c18285a494edcae26c2f89cbcc9 100644
--- a/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js
+++ b/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js
@@ -1,2 +1,2 @@
 import("system.result");
-result.string("true");//TODO: provider-code is not executed correct (did not receive the value from here)
\ No newline at end of file
+result.string("true");//TODO: provider-code is not executed correct (did not receive the value from here)
diff --git a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
index 6be8b4e13cba7c2c1d210d3acd6e8c0b6dca61fd..4fb1ef2f327547a69afb2fe8d5e65cfa2dc1de00 100644
--- a/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/KeywordEntry_entity/recordcontainers/db/conditionProcess.js
@@ -3,9 +3,9 @@ import("system.db");
 import("system.result");
 import("Sql_lib");
 
-var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.containerName_param");
+var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.ContainerName_param");
 
-if (vars.get("$param.onlyActives_param") == "true")
+if (vars.get("$param.OnlyActives_param") == "true")
 {
     cond.andPrepare("AB_KEYWORD_ENTRY.ISACTIVE", "1");
 }
diff --git a/entity/Language_entity/Language_entity.aod b/entity/Language_entity/Language_entity.aod
index adb10fb668aefa8f563a692ccc9b093fac358d70..d47b14686f61af19b1a5327f9cd1fa6aa2ef0d4d 100644
--- a/entity/Language_entity/Language_entity.aod
+++ b/entity/Language_entity/Language_entity.aod
@@ -27,7 +27,7 @@
       <possibleItemsProcess>%aditoprj%/entity/Language_entity/entityfields/isactive/possibleItemsProcess.js</possibleItemsProcess>
     </entityField>
     <entityProvider>
-      <name>LanguagesISO3Code</name>
+      <name>ISO3Name</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <lookupIdfield>ISO3</lookupIdfield>
       <recordContainer>db</recordContainer>
diff --git a/entity/ModuleTree_entity/ModuleTree_entity.aod b/entity/ModuleTree_entity/ModuleTree_entity.aod
index 8aff9b18a14460074184ab44b37d932fc59a6783..53dcc4b3d10747a18d272dee3a93e584ccf42f5f 100644
--- a/entity/ModuleTree_entity/ModuleTree_entity.aod
+++ b/entity/ModuleTree_entity/ModuleTree_entity.aod
@@ -18,7 +18,7 @@
       <name>ICON</name>
     </entityField>
     <entityProvider>
-      <name>TreeProvider</name>
+      <name>TreeProviders</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <targetContextField>TYPE</targetContextField>
       <targetIdField>UID</targetIdField>
@@ -51,13 +51,13 @@
       <name>TYPE</name>
     </entityField>
     <entityParameter>
-      <name>ContextName</name>
+      <name>ContextName_param</name>
       <expose v="true" />
       <mandatory v="true" />
       <description>PARAMETER</description>
     </entityParameter>
     <entityParameter>
-      <name>ID</name>
+      <name>ID_param</name>
       <expose v="true" />
       <mandatory v="true" />
       <description>PARAMETER</description>
diff --git a/entity/ObjectRelationType_entity/ObjectRelationType_entity.aod b/entity/ObjectRelationType_entity/ObjectRelationType_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..309d5a2f88e2f8e1f69edf771ec6205daf618b9a
--- /dev/null
+++ b/entity/ObjectRelationType_entity/ObjectRelationType_entity.aod
@@ -0,0 +1,54 @@
+<?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.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.1">
+  <name>ObjectRelationType_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <titleProcess>%aditoprj%/entity/ObjectRelationType_entity/titleProcess.js</titleProcess>
+  <recordContainer>jdito</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+      <dependencies>
+        <entityDependency>
+          <name>e66086ed-667b-4270-9ffb-ccb41e894ac3</name>
+          <entityName>ObjectRelation_entity</entityName>
+          <fieldName>ObjectRelationTypes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityField>
+      <name>UID</name>
+      <valueProcess>%aditoprj%/entity/ObjectRelationType_entity/entityfields/uid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>RELATION_TITLE</name>
+    </entityField>
+    <entityParameter>
+      <name>SourceObjectType_param</name>
+      <expose v="true" />
+      <triggerRecalculation v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityProvider>
+      <name>ObjectRelationTypes</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <children>
+        <entityParameter>
+          <name>SourceObjectType_param</name>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+  </entityFields>
+  <recordContainers>
+    <jDitoRecordContainer>
+      <name>jdito</name>
+      <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
+      <contentProcess>%aditoprj%/entity/ObjectRelationType_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
+      <recordFields>
+        <element>UID.value</element>
+        <element>RELATION_TITLE.value</element>
+      </recordFields>
+    </jDitoRecordContainer>
+  </recordContainers>
+</entity>
diff --git a/entity/ObjectRelationType_entity/entityfields/uid/valueProcess.js b/entity/ObjectRelationType_entity/entityfields/uid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..86ef789e064a4016f2d12c432498dc23474807aa
--- /dev/null
+++ b/entity/ObjectRelationType_entity/entityfields/uid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/ObjectRelationType_entity/recordcontainers/jdito/contentProcess.js b/entity/ObjectRelationType_entity/recordcontainers/jdito/contentProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..94dea6f21f86e4a24729e0b6f9ec9fcb32dd68b2
--- /dev/null
+++ b/entity/ObjectRelationType_entity/recordcontainers/jdito/contentProcess.js
@@ -0,0 +1,15 @@
+import("system.logging");
+import("system.translate");
+import("system.db");
+import("system.result");
+import("system.vars");
+logging.log(vars.get("$param.SourceObjectType_param"))
+result.object(db.table(
+["select main.AB_OBJECTRELATIONTYPEID, main.RELATION_TITLE \n\
+    from AB_OBJECTRELATIONTYPE main \n\
+    left join AB_OBJECTRELATIONTYPE type2 on (type2.AB_OBJECTRELATIONTYPEID <> main.AB_OBJECTRELATIONTYPEID and type2.RELATION_TYPE = main.RELATION_TYPE) \n\
+    where case when type2.OBJECT_TYPE is null then ( ? = main.OBJECT_TYPE) else ( ? = type2.OBJECT_TYPE) end"
+, [
+  [vars.get("$param.SourceObjectType_param"), db.getColumnTypes("AB_OBJECTRELATIONTYPE", ["OBJECT_TYPE"])[0]],
+  [vars.get("$param.SourceObjectType_param"), db.getColumnTypes("AB_OBJECTRELATIONTYPE", ["OBJECT_TYPE"])[0]],
+]]));
\ No newline at end of file
diff --git a/entity/ObjectRelationType_entity/titleProcess.js b/entity/ObjectRelationType_entity/titleProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a95b85f7554fe3572386e6aa5b7a2ba5ec4deae
--- /dev/null
+++ b/entity/ObjectRelationType_entity/titleProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.RELATION_TITLE"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/ObjectRelation_entity.aod b/entity/ObjectRelation_entity/ObjectRelation_entity.aod
index aee59dda23035fe1e458888f92c3f046e6ae9a5a..fde766eef7f5ad7400ea38abf432a06ed9d86167 100644
--- a/entity/ObjectRelation_entity/ObjectRelation_entity.aod
+++ b/entity/ObjectRelation_entity/ObjectRelation_entity.aod
@@ -8,19 +8,23 @@
     <entityProvider>
       <name>#PROVIDER</name>
       <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>6789c40b-d70b-4133-af1d-40cbf548d460</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>ObjectRelations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
     </entityProvider>
     <entityField>
-      <name>OBJECT1_TYPE</name>
+      <name>AB_OBJECTRELATIONTYPE1</name>
       <title>Type 1</title>
-      <consumer>Contexts</consumer>
-      <linkedContext>Context</linkedContext>
       <mandatory v="true" />
     </entityField>
     <entityField>
       <name>OBJECT1_ROWID</name>
       <title>Object 1</title>
-      <consumer>Objects1</consumer>
-      <linkedContextProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object1_rowid/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
     </entityField>
     <entityField>
@@ -30,16 +34,12 @@
     <entityField>
       <name>OBJECT2_ROWID</name>
       <title>Object 2</title>
-      <consumer>Objects2</consumer>
-      <linkedContextProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
       <titleProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/object2_rowid/titleProcess.js</titleProcess>
     </entityField>
     <entityField>
-      <name>OBJECT2_TYPE</name>
+      <name>AB_OBJECTRELATIONTYPE2</name>
       <title>Type 2</title>
-      <consumer>Contexts</consumer>
-      <linkedContext>Context</linkedContext>
       <mandatory v="true" />
     </entityField>
     <entityConsumer>
@@ -52,7 +52,7 @@
       </dependency>
     </entityConsumer>
     <entityConsumer>
-      <name>Objects1</name>
+      <name>Objects</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -62,49 +62,17 @@
       <children>
         <entityParameter>
           <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/objects1/children/objecttype_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
-    <entityConsumer>
-      <name>Objects2</name>
-      <fieldType>DEPENDENCY_OUT</fieldType>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Object_entity</entityName>
-        <fieldName>AllObjects</fieldName>
-      </dependency>
-      <children>
-        <entityParameter>
-          <name>ObjectType_param</name>
-          <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/objects2/children/objecttype_param/valueProcess.js</valueProcess>
-          <triggerRecalculation v="true" />
-        </entityParameter>
-      </children>
-    </entityConsumer>
-    <entityField>
-      <name>OtherObjectRowid</name>
-      <title>Object</title>
-    </entityField>
-    <entityField>
-      <name>OtherObjectType</name>
-      <title>Object type</title>
-      <groupable v="true" />
-    </entityField>
-    <entityField>
-      <name>RELATION_TYPE</name>
-      <title>Relationtype</title>
-      <consumer>KeywordObjectRelationType</consumer>
-      <searchable v="true" />
-      <groupable v="true" />
-      <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js</displayValueProcess>
-    </entityField>
     <entityProvider>
       <name>ObjectRelations</name>
       <fieldType>DEPENDENCY_IN</fieldType>
-      <targetContextField>OtherObjectType</targetContextField>
-      <targetIdField>OtherObjectRowid</targetIdField>
+      <targetContextField>objectTypeProxy</targetContextField>
+      <targetIdField>rowIdProxy</targetIdField>
+      <recordContainer>db</recordContainer>
       <dependencies>
         <entityDependency>
           <name>30a7c954-3127-4ceb-9838-a0b7b55d0c8c</name>
@@ -112,31 +80,33 @@
           <fieldName>ObjectRelations</fieldName>
           <isConsumer v="false" />
         </entityDependency>
-        <entityDependency>
-          <name>3f268dec-4672-4de0-98b2-7616f344248f</name>
-          <entityName>Organisation_entity</entityName>
-          <fieldName>ObjectRelations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>ObjectRowid_param</name>
+          <expose v="true" />
+          <mandatory v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <expose v="true" />
+          <mandatory v="true" />
+        </entityParameter>
+      </children>
     </entityProvider>
-    <entityParameter>
-      <name>ProviderType_param</name>
-      <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/providertype_param/valueProcess.js</valueProcess>
-      <expose v="true" />
-      <mandatory v="true" />
-      <description>PARAMETER</description>
-    </entityParameter>
     <entityConsumer>
-      <name>KeywordObjectRelationType</name>
+      <name>ObjectRelationTypes</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
+        <entityName>ObjectRelationType_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/valueProcess.js</valueProcess>
+          <name>SourceObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="true" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -155,7 +125,40 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityField>
-      <name>CurrentObjectNumber</name>
+      <name>selectedObjectRelationTypeIdProxy</name>
+      <title>Relationtype</title>
+      <possibleItemsProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/valueProcess.js</valueProcess>
+      <onValueChange>%aditoprj%/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>relationTypeProxy</name>
+      <title>Relationtype</title>
+      <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/relationtypeproxy/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>rowIdProxy</name>
+      <title>Object</title>
+      <consumer>Objects</consumer>
+      <linkedContextProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/rowidproxy/linkedContextProcess.js</linkedContextProcess>
+      <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/rowidproxy/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/rowidproxy/displayValueProcess.js</displayValueProcess>
+      <onValueChange>%aditoprj%/entity/ObjectRelation_entity/entityfields/rowidproxy/onValueChange.js</onValueChange>
+    </entityField>
+    <entityField>
+      <name>objectTypeProxy</name>
+      <title>Object type</title>
+      <valueProcess>%aditoprj%/entity/ObjectRelation_entity/entityfields/objecttypeproxy/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>mySide</name>
+      <description>Is always the side the current Object (from the parameters) is in the currently selected ObjectRelationType</description>
+    </entityField>
+    <entityField>
+      <name>OBJECT1_TYPE</name>
+    </entityField>
+    <entityField>
+      <name>OBJECT2_TYPE</name>
     </entityField>
   </entityFields>
   <recordContainers>
@@ -167,16 +170,16 @@
       <conditionProcess>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <linkInformation>
         <linkInformation>
-          <name>cdd73537-58eb-45af-a9a6-12ccc2013276</name>
+          <name>e64669fe-3252-42b9-9b9b-56a2166d81b7</name>
           <tableName>AB_OBJECTRELATION</tableName>
           <primaryKey>AB_OBJECTRELATIONID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>7d06e3b3-0455-4a32-876a-ee6430248f53</name>
-          <tableName>AB_KEYWORD_ENTRY</tableName>
-          <primaryKey>AB_KEYWORD_ENTRYID</primaryKey>
+          <name>2ff74f14-9e9c-458d-9100-1c2c9fb34b89</name>
+          <tableName>AB_OBJECTRELATIONTYPE</tableName>
+          <primaryKey>AB_OBJECTRELATIONTYPEID</primaryKey>
           <isUIDTable v="false" />
           <readonly v="true" />
         </linkInformation>
@@ -190,25 +193,25 @@
           <name>OBJECT1_ROWID.value</name>
           <recordfield>AB_OBJECTRELATION.OBJECT1_ROWID</recordfield>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>OBJECT1_TYPE.value</name>
-          <recordfield>AB_OBJECTRELATION.OBJECT1_TYPE</recordfield>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>OBJECT2_ROWID.value</name>
           <recordfield>AB_OBJECTRELATION.OBJECT2_ROWID</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>OBJECT2_TYPE.value</name>
-          <recordfield>AB_OBJECTRELATION.OBJECT2_TYPE</recordfield>
+          <name>AB_OBJECTRELATIONTYPE1.value</name>
+          <recordfield>AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE1</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>OBJECT2_ROWID.displayValue</name>
-          <expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_rowid.displayvalue/expression.js</expression>
+          <name>AB_OBJECTRELATIONTYPE2.value</name>
+          <recordfield>AB_OBJECTRELATION.AB_OBJECTRELATIONTYPE2</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
-          <name>OBJECT1_ROWID.displayValue</name>
-          <expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js</expression>
+          <name>OBJECT2_TYPE.value</name>
+          <expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_type.value/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT1_TYPE.value</name>
+          <expression>%aditoprj%/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_type.value/expression.js</expression>
         </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
diff --git a/entity/ObjectRelation_entity/documentation.adoc b/entity/ObjectRelation_entity/documentation.adoc
index fa775fc28eaab1af830b0076649fcc6366b8e976..687b98cb73cd11d9e6d6cbaf44457be3377ea0af 100644
--- a/entity/ObjectRelation_entity/documentation.adoc
+++ b/entity/ObjectRelation_entity/documentation.adoc
@@ -3,45 +3,49 @@ Object Relation
 :toc2: left
 :numbered:
 
-(how it works currently 13.02.2019)
+(how it works currently 13.03.2019)
 
-There are two possible ways for Object Relations:
+== How the ObjectRelation_entity works ==
+The entity works with the AB_OBJECTRELATION and AB_OBJECTRELATIONTYPE db-tables.
 
-* With the ObjectRelation_entity
-* With separate entities like the  ActivityLink_entity
+The AB_OBJECTRELATIONTYPE defines which relations are possible.
+It always defines one "side" of the relation. So for each relation you always need two of them and both have to be from the same RELATION_TYPE.
 
-== Differences ==
-Relations which use a custom entity are specific for one object. 
-e.g. in ActivityLink are only relations between "activity" and "something".
-In ObjectRelation are relations between "something" and "something".
+So for example if you would like to have a relation between a child and parent you need these two types:
 
-The activityLink could also be implemented with ObjectRelation, but as there are many activities with many relations.
-So it is better to use an extra db-table.
+----
+AB_OBJECTRELATIONTYPEID = UID_1 
+OBJECT_TYPE = Person 
+RELATION_TITLE = child of 
+RELATION_TYPE = TypeUID_1 
+SIDE = 1 
 
-== How the ObjectRelation_entity works ==
-The entity works with the AB_OBJECTRELATION db-table.
+and
 
-An ObjectRelation always has two Objects which consists of an Object-type and an Object-rowid.
-The object-type is the id of the context. Which you can get by ContextUtils.getCurrentContextId of the Context_lib for the current context.
-The object-rowid is the id of the Object you want use. Normally it is the UID of the Object.
+AB_OBJECTRELATIONTYPEID = UID_2 
+OBJECT_TYPE = Person 
+RELATION_TITLE = parent of 
+RELATION_TYPE = TypeUID_1 
+SIDE = 2 
+----
 
-It provides the following providers:
+Note that the RELATION_TYPE is the same.
 
-* AnyObject
-* BothObjects
-* Object1
-* Object2
 
-AnyObject is for bidirectional relations and all relations which contain the given AnyObject..._params as Object1 or Object2 will be loaded.
-BothObjects is for relations between two specific objects provided by Object(1|2)..._params.
-Object1 is for unidirectional relations where the Object1 is provided as parameters.
-Object2 is for unidirectional relations where the Object2 is provided as parameters.
+If you create a new relation between two persons it looks like this:
 
-For the lookups there are two Entities: Object_entity for the Object-rowids and Context_entity for the Object-type.
-See the documentation for them.
+----
+AB_OBJECTRELATIONID = RelUID_1
+OBJECT1_ROWID = UID_Lisa_Sommer
+OBJECT2_ROWID = UID_Franz_Mueller
+AB_OBJECTRELATIONTYPE1 = UID_1
+AB_OBJECTRELATIONTYPE2 = UID_2
+----
 
+-> So:
 
-The provider use the targetContext-feature to show the preview of the linked objects directly. (see targetContext-docu in the ohers/guide folder)
+* Most relationtypes consist of two separate types connected by the RELATION_TYPE-id
+* Each type also has a SIDE, which defines, if it is for side 1 or side 2
+* If both sides are from the same type, then there is only one OBJECTRELATIONTYPE with the side 1 and Objects use the same one.
 
-== Link-entities ==
-They work very similar to the ObjectRelation, but only use one Object. The lookups and targetContext-feature work the same.
\ No newline at end of file
+The provider use the targetContext-feature to show the preview of the linked objects directly. (see targetContext-docu in the ohers/guide folder)
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/valueProcess.js b/entity/ObjectRelation_entity/entityfields/keywordobjectrelationtype/children/containername_param/valueProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/ObjectRelation_entity/entityfields/object1/children/objecttype_param/valueProcess.js b/entity/ObjectRelation_entity/entityfields/object1/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..0e35811c9fc30b9f87c3e4dda4235787fb0066f7
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/object1/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.OBJECT1_TYPE"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/object2_rowid/linkedContextProcess.js b/entity/ObjectRelation_entity/entityfields/object2/children/objecttype_param/valueProcess.js
similarity index 98%
rename from entity/ObjectRelation_entity/entityfields/object2_rowid/linkedContextProcess.js
rename to entity/ObjectRelation_entity/entityfields/object2/children/objecttype_param/valueProcess.js
index 05ab13d81d4b3ebbc566b8733ac265ed7d46d31d..e4c1084f9a07683a0ceaab1f42521b8a2819c3dc 100644
--- a/entity/ObjectRelation_entity/entityfields/object2_rowid/linkedContextProcess.js
+++ b/entity/ObjectRelation_entity/entityfields/object2/children/objecttype_param/valueProcess.js
@@ -1,3 +1,4 @@
 import("system.vars");
 import("system.result");
+
 result.string(vars.get("$field.OBJECT2_TYPE"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js b/entity/ObjectRelation_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1a0c474771a9e04dbe87f9ea547c2bd843ff4a25
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/objectrelationtypes/children/sourceobjecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$param.ObjectType_param"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/ObjectRelation_entity/entityfields/objects/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b1f7548ec5943881ae5b9fe74dc423635555f85b
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/objects/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.objectTypeProxy"))
\ No newline at end of file
diff --git a/entity/Appointment_entity/entityfields/contexts/children/contextid_param/valueProcess.js b/entity/ObjectRelation_entity/entityfields/objects1/children/objecttype_param/code.js
similarity index 100%
rename from entity/Appointment_entity/entityfields/contexts/children/contextid_param/valueProcess.js
rename to entity/ObjectRelation_entity/entityfields/objects1/children/objecttype_param/code.js
diff --git a/entity/ObjectRelation_entity/entityfields/objecttypeproxy/valueProcess.js b/entity/ObjectRelation_entity/entityfields/objecttypeproxy/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..463b2525125de2404ec16b3a17273df8d9851d6f
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/objecttypeproxy/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.db");
+import("system.result");
+import("Sql_lib");
+
+result.string(db.cell(SqlCondition.begin()
+                    .andPrepareVars("AB_OBJECTRELATIONTYPE.AB_OBJECTRELATIONTYPEID", "$field.selectedObjectRelationTypeIdProxy")
+                    .buildSql("select OBJECT_TYPE from AB_OBJECTRELATIONTYPE", "1=2")));
diff --git a/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js
deleted file mode 100644
index 087347e37ccd95d5c0a15ff8f2c7548e0b6aa70f..0000000000000000000000000000000000000000
--- a/entity/ObjectRelation_entity/entityfields/relation_type/displayValueProcess.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import("system.db");
-import("system.result");
-import("system.vars");
-import("system.translate");
-import("Context_lib");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-if (vars.exists("$field.OtherObjectType") && vars.get("$field.OtherObjectType") && (vars.exists("$field.OtherObjectRowid") && vars.get("$field.OtherObjectRowid")))
-{
-    var attributes = KeywordUtils.getAttributeRelationsByKey(vars.get("$field.RELATION_TYPE"), $KeywordRegistry.objectRelationType());
-    var currentObjectNum = vars.get("$field.CurrentObjectNumber");
-    var name = "";
-    
-    switch (currentObjectNum)
-    {
-        case "1":
-            // if second title doesn't exist, it is same like the first one.
-            if (attributes.Object2Title == null) 
-                name = attributes.Object1Title;
-            else
-                name = attributes.Object2Title;
-            break;
-        case "2":
-            name = attributes.Object1Title;
-            break;
-    }
-    result.string(translate.text(name));
-}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/relationtypeproxy/valueProcess.js b/entity/ObjectRelation_entity/entityfields/relationtypeproxy/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..76668648c060b4a8d158cd2b655f142291ef25af
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/relationtypeproxy/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.db");
+import("system.result");
+import("Sql_lib");
+
+result.string(db.cell(SqlCondition.begin()
+                    .andPrepareVars("AB_OBJECTRELATIONTYPE.AB_OBJECTRELATIONTYPEID", "$field.selectedObjectRelationTypeIdProxy")
+                    .buildSql("select RELATION_TYPE from AB_OBJECTRELATIONTYPE", "1=2")));
diff --git a/entity/ObjectRelation_entity/entityfields/rowidproxy/displayValueProcess.js b/entity/ObjectRelation_entity/entityfields/rowidproxy/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a93e4e38004f09f00e4a04b102371cf4e9877f46
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/rowidproxy/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("Context_lib");
+
+result.string(db.cell(ContextUtils.getNameSql(vars.get("$field.objectTypeProxy"), vars.get("$field.rowIdProxy"))));
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/rowidproxy/linkedContextProcess.js b/entity/ObjectRelation_entity/entityfields/rowidproxy/linkedContextProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..dbb069dff2b35c0d0d2ba499188d33a865aef84a
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/rowidproxy/linkedContextProcess.js
@@ -0,0 +1,3 @@
+import("system.vars");
+import("system.result");
+result.string(vars.get("$field.objectTypeProxy"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/rowidproxy/onValueChange.js b/entity/ObjectRelation_entity/entityfields/rowidproxy/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..33a17fadf00db3fb20aab978c0db6bdfc129d7dd
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/rowidproxy/onValueChange.js
@@ -0,0 +1,22 @@
+import("system.neon");
+import("system.vars");
+import("Entity_lib");
+
+var selectedRowId = vars.exists("$field.rowIdProxy") ? vars.get("$field.rowIdProxy") : "";
+selectedRowId = ProcessHandlingUtils.getOnValidationValue(selectedRowId);
+
+var mySide = vars.get("$field.mySide");
+
+if (mySide && selectedRowId)
+{
+    if (mySide == "1")
+    {
+        neon.setFieldValue("$field.OBJECT1_ROWID", vars.get("$param.ObjectRowid_param"));
+        neon.setFieldValue("$field.OBJECT2_ROWID", selectedRowId);
+    }
+    else
+    {
+        neon.setFieldValue("$field.OBJECT1_ROWID", selectedRowId);
+        neon.setFieldValue("$field.OBJECT2_ROWID", vars.get("$param.ObjectRowid_param"));
+    }
+}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/rowidproxy/valueProcess.js b/entity/ObjectRelation_entity/entityfields/rowidproxy/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..709876feae8ab16d398f6fcaaa468f1ff101b9d6
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/rowidproxy/valueProcess.js
@@ -0,0 +1,23 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
+{
+    var type1 = vars.get("$field.OBJECT1_TYPE");
+    var type2 = vars.get("$field.OBJECT2_TYPE");
+    var rowid1 = vars.get("$field.OBJECT1_ROWID");
+    var rowid2 = vars.get("$field.OBJECT2_ROWID");
+
+    var currentType = vars.get("$param.ObjectType_param");
+    var currentRowid = vars.get("$param.ObjectRowid_param");
+
+    if (type1 == currentType && rowid1 == currentRowid)
+    {
+        result.string(rowid2)
+    }
+    else if (type2 == currentType && rowid2 == currentRowid)
+    {
+        result.string(rowid1)
+    }
+}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/onValueChange.js b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/onValueChange.js
new file mode 100644
index 0000000000000000000000000000000000000000..0154c7d4a2a3a404ca83c2ec00078ea563ff425d
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/onValueChange.js
@@ -0,0 +1,38 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("system.neon");
+import("Sql_lib");
+import("Entity_lib");
+
+var selectedObjectRelationTypeId = vars.exists("$field.selectedObjectRelationTypeIdProxy") ? vars.get("$field.selectedObjectRelationTypeIdProxy") : "";
+selectedObjectRelationTypeId = ProcessHandlingUtils.getOnValidationValue(selectedObjectRelationTypeId);
+
+var relationTypeData = db.array(db.ROW, SqlCondition.begin()
+                        .andPrepare("AB_OBJECTRELATIONTYPE.AB_OBJECTRELATIONTYPEID", selectedObjectRelationTypeId)
+                        .buildSql("select AB_OBJECTRELATIONTYPEID, OBJECT_TYPE, RELATION_TITLE, RELATION_TYPE, SIDE from AB_OBJECTRELATIONTYPE", "1=2"));
+
+if (relationTypeData[0])
+{
+    var otherRelationTypeData = db.array(db.ROW, SqlCondition.begin()
+                                    .andPrepare("AB_OBJECTRELATIONTYPE.RELATION_TYPE", relationTypeData[3])
+                                    .andPrepare("AB_OBJECTRELATIONTYPE.SIDE", (relationTypeData[4] == "1" ? "2" : "1"))
+                                    .buildSql("select AB_OBJECTRELATIONTYPEID, OBJECT_TYPE, RELATION_TITLE, RELATION_TYPE, SIDE from AB_OBJECTRELATIONTYPE", "1=2"))
+    if (!otherRelationTypeData[0])
+    {
+        otherRelationTypeData = relationTypeData;
+    }
+    
+    if (relationTypeData[4] == "2")
+    {
+        neon.setFieldValue("$field.AB_OBJECTRELATIONTYPE2", relationTypeData[0]);
+        neon.setFieldValue("$field.AB_OBJECTRELATIONTYPE1", otherRelationTypeData[0]);
+    }
+    else if (relationTypeData[4] == "1")
+    {
+        neon.setFieldValue("$field.AB_OBJECTRELATIONTYPE1", relationTypeData[0]);
+        neon.setFieldValue("$field.AB_OBJECTRELATIONTYPE2", otherRelationTypeData[0]);
+    }
+    
+    neon.setFieldValue("$field.mySide", otherRelationTypeData[4]);
+}
diff --git a/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/possibleItemsProcess.js b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..6a50b40e6edb73828ddc114540c1f58f8b85627c
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/possibleItemsProcess.js
@@ -0,0 +1,17 @@
+import("system.translate");
+import("system.db");
+import("system.result");
+import("system.vars");
+
+result.object(db.table(
+["select main.AB_OBJECTRELATIONTYPEID, main.RELATION_TITLE \n\
+    from AB_OBJECTRELATIONTYPE main \n\
+    left join AB_OBJECTRELATIONTYPE type2 on (type2.AB_OBJECTRELATIONTYPEID <> main.AB_OBJECTRELATIONTYPEID and type2.RELATION_TYPE = main.RELATION_TYPE) \n\
+    where case when type2.OBJECT_TYPE is null then ( ? = main.OBJECT_TYPE) else ( ? = type2.OBJECT_TYPE) end"
+, [
+  [vars.get("$param.ObjectType_param"), db.getColumnTypes("AB_OBJECTRELATIONTYPE", ["OBJECT_TYPE"])[0]],
+  [vars.get("$param.ObjectType_param"), db.getColumnTypes("AB_OBJECTRELATIONTYPE", ["OBJECT_TYPE"])[0]],
+]]).map(function(pItem) 
+{
+    return [pItem[0], translate.text(pItem[1])];
+}));
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/valueProcess.js b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..2e1e59bf7a9e242aaa2aeaaff8aca3255b2b12fc
--- /dev/null
+++ b/entity/ObjectRelation_entity/entityfields/selectedobjectrelationtypeidproxy/valueProcess.js
@@ -0,0 +1,23 @@
+import("system.neon");
+import("system.vars");
+import("system.result");
+
+if(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
+{
+    var type1 = vars.get("$field.OBJECT1_TYPE");
+    var type2 = vars.get("$field.OBJECT2_TYPE");
+    var rowid1 = vars.get("$field.OBJECT1_ROWID");
+    var rowid2 = vars.get("$field.OBJECT2_ROWID");
+
+    var currentType = vars.get("$param.ObjectType_param");
+    var currentRowid = vars.get("$param.ObjectRowid_param");
+
+    if (type1 == currentType && rowid1 == currentRowid)
+    {
+        result.string(vars.get("$field.AB_OBJECTRELATIONTYPE2"))
+    }
+    else if (type2 == currentType && rowid2 == currentRowid)
+    {
+        result.string(vars.get("$field.AB_OBJECTRELATIONTYPE1"))
+    }
+}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js
index 7b5c62b30062a183c218818a9446d53cee05986c..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js
+++ b/entity/ObjectRelation_entity/entityfields/targetobjectrowid/valueProcess.js
@@ -1,26 +0,0 @@
-import("system.result");
-import("system.vars");
-
-var openedType;
-var openedRowid;
-var providerType = vars.getString("$param.ProviderType_param");
-
-// any object
-if (providerType == "any")
-{
-    openedType = vars.get("$param.AnyObjectType_param");
-    if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param"))
-    {
-        openedRowid = vars.get("$param.AnyObjectRowid_param");
-        // anyObject and object 1 == opened object --> target is object2
-        if (vars.get("$field.OBJECT1_ROWID") == openedRowid && vars.get("$field.OBJECT1_TYPE") == openedType)
-        {
-            result.string(vars.get("$field.OBJECT2_ROWID"));
-        }
-        // anyObject and object 2 == opened object --> target is object1
-        else if (vars.get("$field.OBJECT2_ROWID") == openedRowid && vars.get("$field.OBJECT2_TYPE") == openedType)
-        {
-            result.string(vars.get("$field.OBJECT1_ROWID"));
-        }
-    }
-}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js b/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js
index 03a9ea0a0fcf48ff3abea05942f910e7ca25bdbc..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644
--- a/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js
+++ b/entity/ObjectRelation_entity/entityfields/targetobjecttype/valueProcess.js
@@ -1,29 +0,0 @@
-import("system.logging");
-import("system.result");
-import("system.vars");
-
-var openedType;
-var openedRowid;
-var providerType = vars.getString("$param.ProviderType_param");
-
-// any object
-if (providerType == "any")
-{
-    openedType = vars.get("$param.AnyObjectType_param");
-    if (vars.exists("$param.AnyObjectRowid_param") && vars.get("$param.AnyObjectRowid_param"))
-    {
-        openedRowid = vars.get("$param.AnyObjectRowid_param");
-        // anyObject and object 1 == opened object --> target is object2
-        if (vars.get("$field.OBJECT1_ROWID") == openedRowid && vars.get("$field.OBJECT1_TYPE") == openedType)
-        {
-                        logging.log(vars.get("$field.OBJECT2_TYPE"))
-            result.string(vars.get("$field.OBJECT2_TYPE"));
-        }
-        // anyObject and object 2 == opened object --> target is object1
-        else if (vars.get("$field.OBJECT2_ROWID") == openedRowid && vars.get("$field.OBJECT2_TYPE") == openedType)
-        {
-            logging.log(vars.get("$field.OBJECT1_TYPE"))
-            result.string(vars.get("$field.OBJECT1_TYPE"));
-        }
-    }
-}
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js b/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js
index 0db999c185394838074362e6a4b40b07f0eee4cd..f985eee1123c0fb78d105c2843f9557735b01831 100644
--- a/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/ObjectRelation_entity/recordcontainers/db/conditionProcess.js
@@ -1,4 +1,3 @@
-import("system.logging");
 import("system.vars");
 import("system.result");
 import("system.db");
@@ -14,10 +13,10 @@ if (vars.exists("$param.ObjectType_param") && vars.exists("$param.ObjectRowid_pa
     if (objectType && objectRowid)
     {
         fullCondition.orSqlCondition(SqlCondition.begin()
-                     .andPrepare("AB_OBJECTRELATION.OBJECT1_TYPE", objectType)
+                     .andPrepare(["AB_OBJECTRELATIONTYPE", "OBJECT_TYPE", "type1"], objectType)
                      .andPrepare("AB_OBJECTRELATION.OBJECT1_ROWID", objectRowid))
                  .orSqlCondition(SqlCondition.begin()
-                     .andPrepare("AB_OBJECTRELATION.OBJECT2_TYPE", objectType)
+                     .andPrepare(["AB_OBJECTRELATIONTYPE", "OBJECT_TYPE", "type2"], objectType)
                      .andPrepare("AB_OBJECTRELATION.OBJECT2_ROWID", objectRowid));
     }
     
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js b/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js
index 55044aaa15f3b92080f74775f4c7d02ac05408c1..1b526b9dcedf69e6198fa4e34138a39a7c390b8f 100644
--- a/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/ObjectRelation_entity/recordcontainers/db/fromClauseProcess.js
@@ -1,6 +1,5 @@
 import("system.result");
-import("system.db");
-import("Sql_lib");
-import("ObjectRelation_lib");
 
-result.string(ObjectRelationUtils.getRelationTypeJoin());
\ No newline at end of file
+result.string("AB_OBJECTRELATION \n\
+                join AB_OBJECTRELATIONTYPE type1 on AB_OBJECTRELATIONTYPE1 = type1.AB_OBJECTRELATIONTYPEID \n\
+                join AB_OBJECTRELATIONTYPE type2 on AB_OBJECTRELATIONTYPE2 = type2.AB_OBJECTRELATIONTYPEID");
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js
deleted file mode 100644
index 3333669e4c6812e6963eed21f0b1cd0610069fd2..0000000000000000000000000000000000000000
--- a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_rowid.displayvalue/expression.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("Context_lib");
-
-result.string(ContextUtils.getNameSubselectSql("OBJECT1_TYPE", "OBJECT1_ROWID"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_type.value/expression.js b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_type.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..e5b18cf00226b694da7e012b6424c939f70228a6
--- /dev/null
+++ b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object1_type.value/expression.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("type1.OBJECT_TYPE");
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_rowid.displayvalue/expression.js b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_rowid.displayvalue/expression.js
deleted file mode 100644
index bb0a5084254ca569df6d530ea7dace1656d49924..0000000000000000000000000000000000000000
--- a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_rowid.displayvalue/expression.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.result");
-import("Context_lib");
-
-result.string(ContextUtils.getNameSubselectSql("OBJECT2_TYPE", "OBJECT2_ROWID"))
\ No newline at end of file
diff --git a/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_type.value/expression.js b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_type.value/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..13fa2a157f1b92f7c7727465280ef56d98580e20
--- /dev/null
+++ b/entity/ObjectRelation_entity/recordcontainers/db/recordfieldmappings/object2_type.value/expression.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("type2.OBJECT_TYPE");
\ No newline at end of file
diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod
index ac7eb0435aed226bf90eee399b8de5db83201662..deb8836051c500fc111de1c1bbf4bbfc5483a590 100644
--- a/entity/Object_entity/Object_entity.aod
+++ b/entity/Object_entity/Object_entity.aod
@@ -71,18 +71,18 @@
         <entityDependency>
           <name>9810264a-4e53-4775-98eb-7025668c0021</name>
           <entityName>ObjectRelation_entity</entityName>
-          <fieldName>Objects1</fieldName>
+          <fieldName>Objects</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
-          <name>f7b2a5c1-f108-43b9-afa4-5fe6a67bed4c</name>
-          <entityName>ObjectRelation_entity</entityName>
-          <fieldName>Objects2</fieldName>
+          <name>1586ace7-8c27-43cc-8288-cc7a68670c09</name>
+          <entityName>ActivityLink_entity</entityName>
+          <fieldName>Objects</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
-          <name>1586ace7-8c27-43cc-8288-cc7a68670c09</name>
-          <entityName>ActivityLink_entity</entityName>
+          <name>445b79b3-e826-40d1-b6c2-46d62daf0818</name>
+          <entityName>TaskLink_entity</entityName>
           <fieldName>Objects</fieldName>
           <isConsumer v="false" />
         </entityDependency>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index d1523d93507445f54c874ff6b38fc91e6d6df28e..ba77820ace7e27270b99d31f3d33ad729c9565ce 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -43,7 +43,7 @@
     <entityField>
       <name>PROBABILITY</name>
       <title>Probability</title>
-      <consumer>KeywordProbability</consumer>
+      <consumer>KeywordProbabilities</consumer>
     </entityField>
     <entityField>
       <name>CONTACT_ID</name>
@@ -52,6 +52,7 @@
       <consumer>AnyContacts</consumer>
       <linkedContextProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/linkedContextProcess.js</linkedContextProcess>
       <mandatory v="true" />
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/stateProcess.js</stateProcess>
       <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Offer_entity/entityfields/contact_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/contact_id/onValueChange.js</onValueChange>
@@ -91,7 +92,7 @@
     <entityField>
       <name>HEADER</name>
       <title>Cover letter</title>
-      <contentType>HTML</contentType>
+      <contentType>LONG_TEXT</contentType>
       <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/header/valueProcess.js</valueProcess>
     </entityField>
     <entityConsumer>
@@ -139,6 +140,7 @@
       <fieldType>ACTION</fieldType>
       <title>New offer version</title>
       <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newofferversion/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:CART</iconId>
     </entityActionField>
     <entityField>
       <name>NET</name>
@@ -199,6 +201,7 @@
       <fieldType>ACTION</fieldType>
       <title>Copy offer</title>
       <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/copyoffer/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:COPY</iconId>
     </entityActionField>
     <entityField>
       <name>VERSNR</name>
@@ -245,6 +248,7 @@
       <fieldType>ACTION</fieldType>
       <title>Print Offer</title>
       <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/printoffer/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:FILE_TEXT_O</iconId>
     </entityActionField>
     <entityField>
       <name>CONTACT_ORG_ID</name>
@@ -332,6 +336,7 @@
       <name>ChosenAddress</name>
       <title>Choose address</title>
       <possibleItemsProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/possibleItemsProcess.js</possibleItemsProcess>
+      <stateProcess>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js</stateProcess>
       <onValueChange>%aditoprj%/entity/Offer_entity/entityfields/chosenaddress/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
@@ -347,8 +352,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -362,8 +368,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -372,6 +379,7 @@
       <fieldType>ACTION</fieldType>
       <title>Create receipt</title>
       <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/neworder/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:DOLLAR</iconId>
     </entityActionField>
     <entityConsumer>
       <name>Languages</name>
@@ -379,11 +387,11 @@
       <dependency>
         <name>dependency</name>
         <entityName>Language_entity</entityName>
-        <fieldName>LanguagesISO3Code</fieldName>
+        <fieldName>ISO3Name</fieldName>
       </dependency>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordProbability</name>
+      <name>KeywordProbabilities</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -392,8 +400,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordprobability/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -423,6 +432,8 @@
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityProvider>
       <name>ContactOffers</name>
@@ -434,6 +445,12 @@
           <fieldName>Offers</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>b308795f-3c81-4e60-99ca-3b5f8e82f62a</name>
+          <entityName>Organisation_entity</entityName>
+          <fieldName>Offers</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -444,6 +461,10 @@
           <name>SalesprojectId_param</name>
           <expose v="true" />
         </entityParameter>
+        <entityParameter>
+          <name>OfferLanguage_param</name>
+          <expose v="true" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityParameter>
@@ -495,6 +516,53 @@
       <mandatory v="false" />
       <description>PARAMETER</description>
     </entityParameter>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Offer_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
+    <entityField>
+      <name>PAYMENTTERMS</name>
+      <title>Payment term</title>
+      <consumer>KeywordPaymentTerm</consumer>
+    </entityField>
+    <entityField>
+      <name>DELIVERYTERMS</name>
+      <title>Deliveryspecification</title>
+      <consumer>KeywordDeliveryTerm</consumer>
+    </entityField>
+    <entityConsumer>
+      <name>KeywordPaymentTerm</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>KeywordDeliveryTerm</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>containerName_param</name>
+          <valueProcess>%aditoprj%/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -616,6 +684,22 @@
           <name>PROBABILITY.displayValue</name>
           <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/probability.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PAYMENTTERMS.value</name>
+          <recordfield>OFFER.PAYMENTTERMS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DELIVERYTERMS.value</name>
+          <recordfield>OFFER.DELIVERYTERMS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>DELIVERYTERMS.displayValue</name>
+          <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PAYMENTTERMS.displayValue</name>
+          <expression>%aditoprj%/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js b/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..8553fd8936f517191bb51aacc3649a77359c9bed
--- /dev/null
+++ b/entity/Offer_entity/entityfields/chosenaddress/stateProcess.js
@@ -0,0 +1,8 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_VIEW)
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+else
+    result.string(neon.COMPONENTSTATE_EDITABLE);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/contact_id/stateProcess.js b/entity/Offer_entity/entityfields/contact_id/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..dc6fd1b10e00d0339454f749a9fe9f88c68457fe
--- /dev/null
+++ b/entity/Offer_entity/entityfields/contact_id/stateProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
+    result.string(neon.COMPONENTSTATE_READONLY);
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js b/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
index 4c7780fc3a92a387ce3420c577290d3fc22221a6..05d20a465b202ed4b5be50ffc09f311e0d325de3 100644
--- a/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.currency());
\ No newline at end of file
+result.string($KeywordRegistry.currency());
diff --git a/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js b/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..25f473302308508a77047bc599cfaaae3b8339d1
--- /dev/null
+++ b/entity/Offer_entity/entityfields/keyworddeliveryterm/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.deliveryTerm());
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js b/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js
index 84f4d7951933717d735bd7f88f38fdff4b14f2c9..1b56fa019e14ae7e2652f2d23ed3d6f0306344ff 100644
--- a/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/keywordofferstates/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.offerStatus());
\ No newline at end of file
+result.string($KeywordRegistry.offerStatus());
diff --git a/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js b/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f56caab574a4a81ef3ad1cce2c466198062cef06
--- /dev/null
+++ b/entity/Offer_entity/entityfields/keywordpaymentterm/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.paymentTerm());
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordphase/children/containername_param/valueProcess.js b/entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js
similarity index 61%
rename from entity/SalesprojectCompetition_entity/entityfields/keywordphase/children/containername_param/valueProcess.js
rename to entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js
index 0fda06efff26a459feed87a3433a92ff99b14171..5201e2bd086a135a79c013249a4e96128c326955 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/keywordphase/children/containername_param/valueProcess.js
+++ b/entity/Offer_entity/entityfields/keywordprobabilities/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectPhase());
\ No newline at end of file
+result.string($KeywordRegistry.offerProbability());
diff --git a/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js b/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Offer_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Offer_entity/entityfields/newtask/onActionProcess.js b/entity/Offer_entity/entityfields/newtask/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..8104a3967ef1b1b53910523c9c77475f7f3b9142
--- /dev/null
+++ b/entity/Offer_entity/entityfields/newtask/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Task_lib");
+
+TaskUtils.createNewTask(vars.get("$field.OFFERID"));
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..4cd52520317fbf40caec0fc9adf4b0ddd9283d61
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/deliveryterms.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.deliveryTerm(), "OFFER.DELIVERYTERMS");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..6025b8640845a5a338b0168519c46c3146e107c8
--- /dev/null
+++ b/entity/Offer_entity/recordcontainers/db/recordfieldmappings/paymentterms.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.paymentTerm(), "OFFER.PAYMENTTERMS");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index ef7a5704ad94ffbfc651111d093b60d707890591..2301aa0b4257daa7f7b6d183e822699d92a5d50c 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -68,6 +68,7 @@
       <title>Article</title>
       <consumer>Products</consumer>
       <linkedContext>Product</linkedContext>
+      <displayValueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js</displayValueProcess>
       <onValueChange>%aditoprj%/entity/Offeritem_entity/entityfields/product_id/onValueChange.js</onValueChange>
       <onValueChangeTypes>
         <element>MASK</element>
@@ -187,8 +188,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -202,8 +204,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js b/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
index 0881ceab5803df2043bdf3ca34277137e48b6a6b..e0b3a6dd6b49bace8935531285f8defc51731f36 100644
--- a/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
+++ b/entity/Offeritem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.productGroupcode());
\ No newline at end of file
+result.string($KeywordRegistry.productGroupcode());
diff --git a/entity/Offeritem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js b/entity/Offeritem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
index 116859e4d94e5bae0bce9983a85ffad7b392cba1..f9b47cf535119ec96b469fe551b30a62cd4eb385 100644
--- a/entity/Offeritem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
+++ b/entity/Offeritem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.quantityUnit());
\ No newline at end of file
+result.string($KeywordRegistry.quantityUnit());
diff --git a/entity/Offeritem_entity/entityfields/optional/valueProcess.js b/entity/Offeritem_entity/entityfields/optional/valueProcess.js
index 58162120400747dada1e4c1e2da49ecd5475054c..31b2531af1ad332b9ab67942d5a89d742c9ab368 100644
--- a/entity/Offeritem_entity/entityfields/optional/valueProcess.js
+++ b/entity/Offeritem_entity/entityfields/optional/valueProcess.js
@@ -2,5 +2,5 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && (vars.get("$this.value") == null || vars.get("$this.value") == ""))
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
     result.string("0");
\ No newline at end of file
diff --git a/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..bb3640469b1d952d4ab5fc07f00b5cca1ba4eb2d
--- /dev/null
+++ b/entity/Offeritem_entity/entityfields/product_id/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("");
\ 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 f6173830c1313bf8a59babc8c9f76ba54df6069a..ebd4664e6124e2b62ca40d0d0e97e43003cf22f0 100644
--- a/entity/Offeritem_entity/entityfields/quantity/valueProcess.js
+++ b/entity/Offeritem_entity/entityfields/quantity/valueProcess.js
@@ -2,9 +2,7 @@ import("system.vars");
 import("system.result");
 import("system.neon");
 
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.get("$this.value") == "")
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
 {
     result.string("1");
-}
-else
-    result.string(vars.get("$this.value"));
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/entity/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index a279f454693a961bbb649f309660e85dcc2f255d..f4144c47ef4f8cb65d91e7edc5692c558e918611 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -135,6 +135,7 @@
       <fieldType>ACTION</fieldType>
       <title>New receipt version</title>
       <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/neworderversion/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:DOLLAR</iconId>
     </entityActionField>
     <entityField>
       <name>NET</name>
@@ -169,6 +170,7 @@
       <fieldType>ACTION</fieldType>
       <title>Copy receipt</title>
       <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/neworder/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:COPY</iconId>
     </entityActionField>
     <entityField>
       <name>VERSNR</name>
@@ -295,8 +297,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -310,8 +313,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Order_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -349,7 +353,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Language_entity</entityName>
-        <fieldName>LanguagesISO3Code</fieldName>
+        <fieldName>ISO3Name</fieldName>
       </dependency>
     </entityConsumer>
     <entityParameter>
@@ -385,6 +389,8 @@
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Order_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityField>
       <name>OFFER_ID</name>
@@ -394,6 +400,13 @@
       <valueProcess>%aditoprj%/entity/Order_entity/entityfields/offer_id/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Order_entity/entityfields/offer_id/displayValueProcess.js</displayValueProcess>
     </entityField>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Order_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js b/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
index 4c7780fc3a92a387ce3420c577290d3fc22221a6..05d20a465b202ed4b5be50ffc09f311e0d325de3 100644
--- a/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
+++ b/entity/Order_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.currency());
\ No newline at end of file
+result.string($KeywordRegistry.currency());
diff --git a/entity/Order_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/Order_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
index 21e1ac4efb78a649858f36b6f7cdffbd30509e2c..060269c7e5030175700bec978ac845630a70291c 100644
--- a/entity/Order_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
+++ b/entity/Order_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesorderState());
\ No newline at end of file
+result.string($KeywordRegistry.salesorderState());
diff --git a/entity/Order_entity/entityfields/newactivity/tooltipProcess.js b/entity/Order_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Order_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Order_entity/entityfields/newtask/onActionProcess.js b/entity/Order_entity/entityfields/newtask/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f7ee5f0c7117337c41df2f29c94d19e7a79d3684
--- /dev/null
+++ b/entity/Order_entity/entityfields/newtask/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Task_lib");
+
+TaskUtils.createNewTask(vars.get("$field.SALESORDERID"));
\ No newline at end of file
diff --git a/entity/Orderitem_entity/Orderitem_entity.aod b/entity/Orderitem_entity/Orderitem_entity.aod
index 949fae1568665ef271268184bd77f003be5b2ec2..3cf710815f239ced71514a3dccac03d7443a2340 100644
--- a/entity/Orderitem_entity/Orderitem_entity.aod
+++ b/entity/Orderitem_entity/Orderitem_entity.aod
@@ -181,8 +181,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -196,8 +197,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Orderitem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js b/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
index 0881ceab5803df2043bdf3ca34277137e48b6a6b..e0b3a6dd6b49bace8935531285f8defc51731f36 100644
--- a/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
+++ b/entity/Orderitem_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.productGroupcode());
\ No newline at end of file
+result.string($KeywordRegistry.productGroupcode());
diff --git a/entity/Orderitem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js b/entity/Orderitem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
index 116859e4d94e5bae0bce9983a85ffad7b392cba1..f9b47cf535119ec96b469fe551b30a62cd4eb385 100644
--- a/entity/Orderitem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
+++ b/entity/Orderitem_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.quantityUnit());
\ No newline at end of file
+result.string($KeywordRegistry.quantityUnit());
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index 8546885e0c6fac6514549c4b229952894a742452..6350f617c109e3003dd6053e592f75de3283abae 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -79,7 +79,7 @@
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>Contacts</name>
+      <name>Contact</name>
       <title>Contacts</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
@@ -90,12 +90,11 @@
       <children>
         <entityParameter>
           <name>OrgId_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contacts/children/orgid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js</valueProcess>
           <triggerRecalculation v="true" />
         </entityParameter>
         <entityParameter>
           <name>ContactId_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/contacts/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -117,14 +116,14 @@
       </fields>
     </entityFieldGroup>
     <entityProvider>
-      <name>Organisation</name>
+      <name>Organisations</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <recordContainer>db</recordContainer>
       <dependencies>
         <entityDependency>
           <name>e56d51be-aaf7-4ddc-8bed-7a4a3c42b4dd</name>
           <entityName>AnyContact_entity</entityName>
-          <fieldName>Organisation</fieldName>
+          <fieldName>Organisations</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
@@ -133,6 +132,12 @@
           <fieldName>Organisation</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>19a28531-bec6-49e2-b00d-aae3816e6690</name>
+          <entityName>Person_entity</entityName>
+          <fieldName>Organisations</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
@@ -140,6 +145,10 @@
           <expose v="true" />
           <mandatory v="true" />
         </entityParameter>
+        <entityParameter>
+          <name>WithPrivat_param</name>
+          <expose v="true" />
+        </entityParameter>
       </children>
     </entityProvider>
     <entityConsumer>
@@ -232,12 +241,6 @@
     <entityProvider>
       <name>#PROVIDER</name>
       <dependencies>
-        <entityDependency>
-          <name>72825dbe-c602-4c17-9aa8-546c4b61f2f9</name>
-          <entityName>Person_entity</entityName>
-          <fieldName>Organisations</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
         <entityDependency>
           <name>f78c0ca6-7939-4a0e-903e-0fbbbf512e76</name>
           <entityName>Product_entity</entityName>
@@ -295,6 +298,7 @@
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/openeditdefaultsview/documentation.adoc</documentation>
       <title>Edit defaults</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/openeditdefaultsview/onActionProcess.js</onActionProcess>
+      <actionOrder v="1" />
       <iconId>NEON:WRENCH</iconId>
     </entityActionField>
     <entityActionField>
@@ -303,6 +307,7 @@
       <documentation>%aditoprj%/entity/Organisation_entity/entityfields/newoffer/documentation.adoc</documentation>
       <title>New offer</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <actionOrder v="2" />
       <iconId>VAADIN:CART</iconId>
     </entityActionField>
     <entityField>
@@ -359,13 +364,17 @@
       <fieldType>ACTION</fieldType>
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
+      <actionOrder v="0" />
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Organisation_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityActionField>
       <name>orgReport</name>
       <fieldType>ACTION</fieldType>
       <title>Customer Base Sheet</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/orgreport/onActionProcess.js</onActionProcess>
+      <actionOrder v="4" />
       <iconId>VAADIN:FILE_TEXT_O</iconId>
     </entityActionField>
     <entityConsumer>
@@ -374,7 +383,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Countries_Entity</entityName>
-        <fieldName>ISO2_NAME</fieldName>
+        <fieldName>ISO2Name</fieldName>
       </dependency>
     </entityConsumer>
     <entityConsumer>
@@ -388,14 +397,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>objectRowId_param</name>
+          <name>ObjectRowId_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
-          <expose v="true" />
           <triggerRecalculation v="true" />
         </entityParameter>
         <entityParameter>
-          <name>objectType_param</name>
+          <name>ObjectType_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
           <triggerRecalculation v="true" />
         </entityParameter>
       </children>
@@ -430,8 +439,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -445,8 +455,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordorganisationtypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -456,11 +467,11 @@
       <dependency>
         <name>dependency</name>
         <entityName>Language_entity</entityName>
-        <fieldName>LanguagesISO3Code</fieldName>
+        <fieldName>ISO3Name</fieldName>
       </dependency>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordPrice_Politics</name>
+      <name>KeywordPricePolitics</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -469,13 +480,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordWeakness</name>
+      <name>KeywordWeaknesses</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -484,13 +496,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordStrenght</name>
+      <name>KeywordStrenghts</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -499,8 +512,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -509,32 +523,47 @@
       <fieldType>ACTION</fieldType>
       <title>New task</title>
       <onActionProcess>%aditoprj%/entity/Organisation_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <actionOrder v="3" />
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityConsumer>
-      <name>TaskObjectRelations</name>
-      <title>Tasks</title>
+      <name>Salesprojects</name>
+      <title>Salesprojects</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
+        <entityName>Salesproject_entity</entityName>
+        <fieldName>Salesprojects</fieldName>
       </dependency>
+      <children>
+        <entityParameter>
+          <name>ContactId_param</name>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
     </entityConsumer>
     <entityConsumer>
-      <name>Salesprojects</name>
-      <title>Salesprojects</title>
+      <name>Offers</name>
+      <title>Offers</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
-        <entityName>Salesproject_entity</entityName>
-        <fieldName>Salesprojects</fieldName>
+        <entityName>Offer_entity</entityName>
+        <fieldName>ContactOffers</fieldName>
       </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
-          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/salesprojects/children/contactid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/offers/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityParameter>
+      <name>WithPrivat_param</name>
+      <valueProcess>%aditoprj%/entity/Organisation_entity/entityfields/withprivat_param/valueProcess.js</valueProcess>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
index 008915f61deac19ccdd40fff81701de63eb3b6a2..e8b4e72e74a0a4696ff39e83135aa6100ef908c0 100644
--- a/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Organisation_entity/entityfields/contacts/children/orgid_param/valueProcess.js b/entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js
similarity index 100%
rename from entity/Organisation_entity/entityfields/contacts/children/orgid_param/valueProcess.js
rename to entity/Organisation_entity/entityfields/contact/children/orgid_param/valueProcess.js
diff --git a/entity/Organisation_entity/entityfields/contacts/children/contactid_param/valueProcess.js b/entity/Organisation_entity/entityfields/contacts/children/contactid_param/valueProcess.js
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0519ecba6ea913e21689ec692e81e9e4973fbf73 100644
--- a/entity/Organisation_entity/entityfields/contacts/children/contactid_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/contacts/children/contactid_param/valueProcess.js
@@ -0,0 +1 @@
+ 
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/contract/children/contactid_param/valueProcess.js b/entity/Organisation_entity/entityfields/contract/children/contactid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..70a1c0fcc1293fa4bf37109294829055704eeaea
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/contract/children/contactid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js b/entity/Organisation_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js
index 2f4d03edea3a8ff7253f793a4c8a3585f03db848..43e8d27c6a6cdd11f092f8b404a97dc237577a38 100644
--- a/entity/Organisation_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.contactStatus());
\ No newline at end of file
+result.string($KeywordRegistry.contactStatus());
diff --git a/entity/Organisation_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js b/entity/Organisation_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js
similarity index 57%
rename from entity/Organisation_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js
rename to entity/Organisation_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js
index a76a727534152d479a8b4cbef548371ef4224dc0..8ddda743906a3a7af1ac9036d21925bd20100e9f 100644
--- a/entity/Organisation_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js
+++ b/entity/Organisation_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectPricePolitics());
\ No newline at end of file
+result.string($KeywordRegistry.salesprojectPricePolitics());
diff --git a/entity/Organisation_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js b/entity/Organisation_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b71211967e4a28e997057fbcd50ace129832a7c6
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectStrenght());
diff --git a/entity/Organisation_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js b/entity/Organisation_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..f4e1a14c0058bc49e291493c4e49e6e3715b3fcd
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectWeakness());
diff --git a/entity/Organisation_entity/entityfields/newactivity/tooltipProcess.js b/entity/Organisation_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/newtask/onActionProcess.js b/entity/Organisation_entity/entityfields/newtask/onActionProcess.js
index 184aba3ab162e889d040c46a76c62f651e982d86..ce80aa513d857e9b861681d57a7732b5f9b88079 100644
--- a/entity/Organisation_entity/entityfields/newtask/onActionProcess.js
+++ b/entity/Organisation_entity/entityfields/newtask/onActionProcess.js
@@ -1,8 +1,4 @@
 import("system.vars");
-import("system.neon");
-import("Context_lib");
+import("Task_lib");
 
-var params = {};
-params["ObjectType_param"] = ContextUtils.getCurrentContextId();
-params["RowId_param"] = vars.get("$field.ORGANISATIONID");
-neon.openContext("Task", null, null, neon.OPERATINGSTATE_NEW, params);
\ No newline at end of file
+TaskUtils.createNewTask(vars.get("$field.ORGANISATIONID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/offers/children/contactid_param/valueProcess.js b/entity/Organisation_entity/entityfields/offers/children/contactid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7b6137b4d105e9ba592cf8ef6e796fb838a32b09
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/offers/children/contactid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Organisation_entity/entityfields/withprivat_param/valueProcess.js b/entity/Organisation_entity/entityfields/withprivat_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..755662df1632264e94e6a4d766bb65ead50a553d
--- /dev/null
+++ b/entity/Organisation_entity/entityfields/withprivat_param/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("0")
\ 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 6e3446d992205ac3fe28c2db4ab869102f71fa72..1e07d6451b26971700fd1e10c2c96209fecb57c4 100644
--- a/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Organisation_entity/recordcontainers/db/conditionProcess.js
@@ -4,8 +4,13 @@ import("system.db");
 import("system.result");
 import("Sql_lib");
 
+var cond = SqlCondition.begin()
+                            .andPrepareVars("ORGANISATION.ORGANISATIONID", "$param.ContactId_param");
+                            
+// filter privat company if it is not needed
+if (!vars.exists("$param.WithPrivat_param") || vars.get("$param.WithPrivat_param") != "1")
+    cond.andPrepare("ORGANISATION.ORGANISATIONID", "0", "# <> ?");
+
+logging.log(vars.get("$param.WithPrivat_param"))
 //TODO: use a preparedCondition when available #1030812 #1034026
-result.string(db.translateCondition(
-                SqlCondition.begin()
-                            .andPrepareVars("ORGANISATION.ORGANISATIONID", "$param.ContactId_param")
-                            .build("1 = 1")));
\ No newline at end of file
+result.string(db.translateCondition(cond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 140dfda122631b0b75635246b0c91b8d7a717e02..24c8b57a2cb8e251ef56861dda554ae338927ea8 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -194,7 +194,7 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </entityParameter>
         <entityParameter>
           <name>CommCategory_param</name>
-          <description>TODO: expose auf false. aktuell wird der Code nicht ausgeführt, wenn Expose false ist.</description>
+          <description>TODO: expose auf false. aktuell wird der Code nicht ausgef�hrt, wenn Expose false ist.</description>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -607,6 +607,13 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Person_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
index ee0cddc370f78c08084b64d57e2a36686aad1e82..4170a76c71fa1e8732debf6ab2d719341a786d1a 100644
--- a/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/Person_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.PERSONID"));
\ No newline at end of file
+result.string(vars.get("$field.PERSONID"));
diff --git a/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
index 008915f61deac19ccdd40fff81701de63eb3b6a2..e8b4e72e74a0a4696ff39e83135aa6100ef908c0 100644
--- a/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ b/entity/Person_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Person_entity/entityfields/contract/children/contactid_param/valueProcess.js b/entity/Person_entity/entityfields/contract/children/contactid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..70a1c0fcc1293fa4bf37109294829055704eeaea
--- /dev/null
+++ b/entity/Person_entity/entityfields/contract/children/contactid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/newactivity/tooltipProcess.js b/entity/Person_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Person_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/newtask/onActionProcess.js b/entity/Person_entity/entityfields/newtask/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..56245cc068f4ffb60603045bb335084ff837fda2
--- /dev/null
+++ b/entity/Person_entity/entityfields/newtask/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Task_lib");
+
+TaskUtils.createNewTask(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Person_entity/entityfields/orgaddresses/stateProcess.js b/entity/Person_entity/entityfields/orgaddresses/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..1cc2fa2fc58db255e35557993ad2fafaafdf870f
--- /dev/null
+++ b/entity/Person_entity/entityfields/orgaddresses/stateProcess.js
@@ -0,0 +1,12 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if (vars.get("$field.ORGANISATION_ID") == "0")
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_READONLY);
+}
diff --git a/entity/Person_entity/entityfields/organisations/children/withprivat_param/valueProcess.js b/entity/Person_entity/entityfields/organisations/children/withprivat_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7fbe0afc48df1a87b17cfbf8129c12481f84c99a
--- /dev/null
+++ b/entity/Person_entity/entityfields/organisations/children/withprivat_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.logging");
+import("system.result");
+logging.log("set")
+result.string("1");
\ No newline at end of file
diff --git a/entity/Person_entity/recordcontainers/db/conditionProcess.js b/entity/Person_entity/recordcontainers/db/conditionProcess.js
index e8302d00414fecb5dee552bfcacb6ff20a4a7f77..3d91dc356d820aa415077bbdec47668cc6cd2164 100644
--- a/entity/Person_entity/recordcontainers/db/conditionProcess.js
+++ b/entity/Person_entity/recordcontainers/db/conditionProcess.js
@@ -1,3 +1,4 @@
+import("system.vars");
 import("system.db");
 import("system.result");
 import("Sql_lib");
diff --git a/entity/Prod2prod_entity/Prod2prod_entity.aod b/entity/Prod2prod_entity/Prod2prod_entity.aod
index 31d3adaf749bfa15cf27d5a191accd448e040f9d..f27ce2f8c15c58171225f2a3c3788484e36f1524 100644
--- a/entity/Prod2prod_entity/Prod2prod_entity.aod
+++ b/entity/Prod2prod_entity/Prod2prod_entity.aod
@@ -33,7 +33,7 @@
       <name>SOURCE_ID</name>
       <documentation>%aditoprj%/entity/Prod2prod_entity/entityfields/source_id/documentation.adoc</documentation>
       <title>Product</title>
-      <possibleItemsProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js</possibleItemsProcess>
+      <consumer>Products</consumer>
     </entityField>
     <entityField>
       <name>TAKEPRICE</name>
@@ -41,6 +41,7 @@
       <title>Take price</title>
       <contentType>BOOLEAN</contentType>
       <possibleItemsProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/takeprice/possibleItemsProcess.js</possibleItemsProcess>
+      <valueProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/takeprice/valueProcess.js</valueProcess>
     </entityField>
     <entityParameter>
       <name>ProductId_param</name>
@@ -60,7 +61,8 @@
     <entityProvider>
       <name>ProductLinks</name>
       <fieldType>DEPENDENCY_IN</fieldType>
-      <recordContainer>jdito</recordContainer>
+      <targetContextField>targetContext</targetContextField>
+      <targetIdField>SOURCE_ID</targetIdField>
       <dependencies>
         <entityDependency>
           <name>4bd06e3b-17a0-483e-a61c-818ff7e86be3</name>
@@ -69,20 +71,69 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
+      <children>
+        <entityParameter>
+          <name>ProductId_param</name>
+          <expose v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>CurrentProductId_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
     </entityProvider>
     <entityField>
       <name>PRODUCTCODE</name>
       <title>Product number</title>
     </entityField>
+    <entityField>
+      <name>targetContext</name>
+      <valueProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/targetcontext/valueProcess.js</valueProcess>
+    </entityField>
+    <entityActionGroup>
+      <name>alter</name>
+      <children>
+        <entityActionField>
+          <name>insert</name>
+          <fieldType>ACTION</fieldType>
+          <onActionProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/alter/children/insert/onActionProcess.js</onActionProcess>
+          <isSelectionAction v="true" />
+          <iconId>VAADIN:FILE_TREE_SMALL</iconId>
+        </entityActionField>
+      </children>
+    </entityActionGroup>
+    <entityConsumer>
+      <name>Products</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Product_entity</entityName>
+        <fieldName>Products</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ExcludedProducts_param</name>
+          <valueProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/products/children/excludedproducts_param/valueProcess.js</valueProcess>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>PRODUCTID</name>
+    </entityField>
+    <entityParameter>
+      <name>CurrentProductId_param</name>
+      <valueProcess>%aditoprj%/entity/Prod2prod_entity/entityfields/currentproductid_param/valueProcess.js</valueProcess>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <jDitoRecordContainer>
       <name>jdito</name>
       <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
       <contentProcess>%aditoprj%/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
-      <isSortable v="false" />
       <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>
       <recordFields>
         <element>UID.value</element>
@@ -92,6 +143,7 @@
         <element>OPTIONAL.value</element>
         <element>TAKEPRICE.value</element>
         <element>PRODUCTCODE.value</element>
+        <element>PRODUCTID.value</element>
         <element>SOURCE_ID.value</element>
         <element>DEST_ID.displayValue</element>
       </recordFields>
diff --git a/entity/Prod2prod_entity/entityfields/alter/children/insert/onActionProcess.js b/entity/Prod2prod_entity/entityfields/alter/children/insert/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..9aef9e30447606e854cd1aaf3dc5f7308926a1b4
--- /dev/null
+++ b/entity/Prod2prod_entity/entityfields/alter/children/insert/onActionProcess.js
@@ -0,0 +1,20 @@
+import("system.neon");
+import("system.vars");
+
+if (vars.exists("$local.rows") && vars.get("$local.rows"))
+{
+    var selectedRows = JSON.parse(vars.get("$local.rows"));
+    
+    if (selectedRows.length > 0 && vars.exists("$param.ProductId_param") && vars.getString("$param.ProductId_param"))
+    {
+        var productId = selectedRows[0].PRODUCTID;
+        var params = {
+            "ProductId_param" : vars.getString("$param.ProductId_param"),
+            "CurrentProductId_param" : productId
+        };
+
+        neon.openContext("Prod2prod", "Prod2ProdEdit_view", null, neon.OPERATINGSTATE_NEW, params);
+    }
+    
+    
+}
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/currentproductid_param/valueProcess.js b/entity/Prod2prod_entity/entityfields/currentproductid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..10ba60935fab2384a490edac342f029fe3b7a4a2
--- /dev/null
+++ b/entity/Prod2prod_entity/entityfields/currentproductid_param/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+// default is the ProductId_param
+if (vars.exists("$param.ProductId_param") && vars.get("$param.ProductId_param"))
+{
+    result.string(vars.get("$param.ProductId_param"));
+}
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/dest_id/valueProcess.js b/entity/Prod2prod_entity/entityfields/dest_id/valueProcess.js
index c54ef701cedc01a2fa09b44824bbb22ee9f6a3d7..cdcb38abd09d9cd5853093e27ab6116fc6e3ba17 100644
--- a/entity/Prod2prod_entity/entityfields/dest_id/valueProcess.js
+++ b/entity/Prod2prod_entity/entityfields/dest_id/valueProcess.js
@@ -2,9 +2,9 @@ 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("$sys.recordstate") == neon.OPERATINGSTATE_EDIT)
 {
-    if(vars.exists("$param.ProductId_param") && vars.get("$param.ProductId_param") != null && vars.get("$param.ProductId_param") != "")
-        result.string(vars.getString("$param.ProductId_param"));    
+    if(vars.exists("$param.CurrentProductId_param") && vars.get("$param.CurrentProductId_param"))
+        result.string(vars.getString("$param.CurrentProductId_param"));    
 }
 
diff --git a/entity/Prod2prod_entity/entityfields/optional/valueProcess.js b/entity/Prod2prod_entity/entityfields/optional/valueProcess.js
index 83eed9e7ea62cc80759f20e7d78cabcb73173595..31b2531af1ad332b9ab67942d5a89d742c9ab368 100644
--- a/entity/Prod2prod_entity/entityfields/optional/valueProcess.js
+++ b/entity/Prod2prod_entity/entityfields/optional/valueProcess.js
@@ -1,6 +1,6 @@
-//import("system.vars");
-//import("system.result");
-//import("system.neon");
-//
-//if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-//    result.string("0");
\ No newline at end of file
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("0");
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/products/children/excludedproducts_param/valueProcess.js b/entity/Prod2prod_entity/entityfields/products/children/excludedproducts_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..cc6b35783c6a05dc9deebfb83e491f8ca092bba1
--- /dev/null
+++ b/entity/Prod2prod_entity/entityfields/products/children/excludedproducts_param/valueProcess.js
@@ -0,0 +1,56 @@
+import("system.neon");
+import("system.db");
+import("system.vars");
+import("system.result");
+
+var recordstate = vars.get("$sys.recordstate");
+
+var currentPartID = (vars.exists("$param.CurrentProductId_param") && vars.getString("$param.CurrentProductId_param")) ? vars.getString("$param.CurrentProductId_param") : "";
+var productid = vars.getString("$param.ProductId_param");
+
+var destid = productid; //für Insert ermitteln
+var excludeIDs;
+
+if (recordstate == neon.OPERATINGSTATE_EDIT)
+{    
+    //Ausschließen des geöffneten Datensatzes
+    excludeIDs = [productid]
+    _getParentID([productid, currentPartID], excludeIDs);
+    _getChildrenID([productid, currentPartID], excludeIDs);
+}
+else
+{
+    //Ausschließen des geöffneten Datensatzes und des Produkts auf dem wir "stehen"
+    excludeIDs = [productid, currentPartID];
+    
+    //beide Seiten prüfen ob Über- oder Untergeordnetes Produkt
+    _getParentID([excludeIDs[0], excludeIDs[1]], excludeIDs);
+    _getChildrenID([excludeIDs[0], excludeIDs[1]], excludeIDs);
+}
+
+result.object(excludeIDs);
+
+// TODO: remove code duplication, better param naming and using SqlCondition
+function _getParentID(pID, pIDs)
+{
+    //Ermitteln welche Produkte ausgeschlossen werden müssen.
+    cond = typeof(pID) == "object" ? "in  ('" + pID.join("', '") +"')" : " =  '" + pID + "' "   
+    var parents = db.array(db.COLUMN, "select DEST_ID from PROD2PROD where SOURCE_ID " + cond);
+    for ( var i = 0; i < parents.length; i++)
+    {    
+        pIDs.push(parents[i]);
+        _getParentID(parents[i], pIDs)
+    }
+}
+
+function _getChildrenID(pID, pIDs)
+{
+    //Ermitteln welche Produkte ausgeschlossen werden müssen.
+    cond = typeof(pID) == "object" ? "in  ('" + pID.join("', '") +"')" : " =  '" + pID + "' "
+    var children = db.array(db.COLUMN, "select SOURCE_ID from PROD2PROD where DEST_ID " + cond);
+    for ( var i = 0; i < children.length; i++)
+    {    
+        pIDs.push(children[i]);
+        _getChildrenID(children[i], pIDs)
+    }
+}
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js b/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js
deleted file mode 100644
index dbfb722d579ddde54ef73f90ebddc2c4269c6b25..0000000000000000000000000000000000000000
--- a/entity/Prod2prod_entity/entityfields/source_id/possibleItemsProcess.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import("system.vars");
-import("system.result");
-import("system.db");
-import("system.neon");
-import("Keyword_lib");
-import("Product_lib");
-import("KeywordRegistry_basic");
-
-var condition = "";
-if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_EDIT || vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-{
-    var prodid = vars.get("$field.DEST_ID");
-    var excludeableProds = [prodid];
-    
-    var p2pUtils = new Prod2ProdUtils(prodid);  
-    
-    excludeableProds = excludeableProds.concat(p2pUtils.getPartsListProdIds());
-    excludeableProds = excludeableProds.concat(p2pUtils.getParentProdIds());
-    
-    condition += " where PRODUCTID not in ('" + excludeableProds.join("','") + "')";
-}
-
-var prods = db.table("select PRODUCTID, GROUPCODEID, PRODUCTNAME, PRODUCTCODE from PRODUCT " + condition);
-var res = [];
-for(var i = 0; i < prods.length; i++)
-{
-    res.push([prods[i][0], KeywordUtils.getViewValue($KeywordRegistry.productGroupcode(), prods[i][1]) + " / " + prods[i][2] + " / " + prods[i][3]]);
-}
-
-result.object(res);
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/takeprice/valueProcess.js b/entity/Prod2prod_entity/entityfields/takeprice/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..31b2531af1ad332b9ab67942d5a89d742c9ab368
--- /dev/null
+++ b/entity/Prod2prod_entity/entityfields/takeprice/valueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("0");
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/entityfields/targetcontext/valueProcess.js b/entity/Prod2prod_entity/entityfields/targetcontext/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4fad819079cfa40ce1d3b8a8c579f5e0c46b2f9f
--- /dev/null
+++ b/entity/Prod2prod_entity/entityfields/targetcontext/valueProcess.js
@@ -0,0 +1,3 @@
+import("system.result");
+
+result.string("Product")
\ 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 7a8d1f20d335178965e37be3e00f04dfe3ce9c80..1eca5fb315ce03cf0f9cd20ce70f3b869cddd834 100644
--- a/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js
+++ b/entity/Prod2prod_entity/recordcontainers/jdito/contentProcess.js
@@ -1,15 +1,21 @@
-import("system.logging");
-import("system.result");
-import("system.vars");
-import("system.db");
-import("system.util");
-import("Product_lib");
-
-var prodid = vars.exists("$param.ProductId_param") 
-             && vars.get("$param.ProductId_param") != null ? vars.get("$param.ProductId_param") : "";
-
-if(prodid != "")
-{
-    var p2pUtils = new Prod2ProdUtils(prodid);
-    result.object(p2pUtils.getPartsListForRecordContainer());
+import("system.neon");
+import("system.result");
+import("system.vars");
+import("system.db");
+import("system.util");
+import("Product_lib");
+
+if (vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW)
+{
+    var prodid = vars.exists("$param.ProductId_param") 
+                 && vars.get("$param.ProductId_param") != null ? vars.get("$param.ProductId_param") : "";
+    if(prodid != "")
+    {
+        var p2pUtils = new Prod2ProdUtils(prodid);
+        result.object(p2pUtils.getPartsListForRecordContainer());
+    }
+}
+else
+{
+    result.object([]);
 }
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/onDelete.js b/entity/Prod2prod_entity/recordcontainers/jdito/onDelete.js
index e2c6c0ff0e6a62e643ed0dd4d109907f0fd6c077..75472b57594f5b0bfac9304d844e36c49cd92f69 100644
--- a/entity/Prod2prod_entity/recordcontainers/jdito/onDelete.js
+++ b/entity/Prod2prod_entity/recordcontainers/jdito/onDelete.js
@@ -1,6 +1,10 @@
+import("system.neon");
 import("system.db");
 import("Sql_lib");
 
 db.deleteData("PROD2PROD", SqlCondition.begin()
-                                       .andPrepareVars("PROD2PROD.PROD2PRODID", "$field.UID", "# = ?")
-                                       .build("1 = 0"));
\ No newline at end of file
+                                       .andPrepareVars("PROD2PROD.PROD2PRODID", "$field.PROD2PRODID")
+                                       .build("1=2"));
+
+// Refresh otherwise the children of the deleted node would be moved to the root.
+neon.refresh()
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js b/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js
index d11203f6249b0b7d30c523abe19cf4ac6b577e12..44ffb3c420f002f736b7110a5c4cd2bdf4a39fd9 100644
--- a/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js
+++ b/entity/Prod2prod_entity/recordcontainers/jdito/onInsert.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.datetime");
 import("system.vars");
 import("system.db");
@@ -9,11 +10,12 @@ var cols = [ "PROD2PRODID"
            , "OPTIONAL"
            , "TAKEPRICE" ];
 
-var vals = [ vars.get("$field.UID")
+var vals = [ vars.get("$field.PROD2PRODID")
            , vars.get("$field.DEST_ID")
            , vars.get("$field.SOURCE_ID")
            , vars.get("$field.QUANTITY")
            , vars.get("$field.OPTIONAL")
            , vars.get("$field.TAKEPRICE") ];
 
+logging.log("INSERT!!!!")
 db.insertData("PROD2PROD", cols, null, vals);
\ No newline at end of file
diff --git a/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js b/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js
deleted file mode 100644
index 2d421e9b24ecd061673cbd3273c56e6fa24a7c47..0000000000000000000000000000000000000000
--- a/entity/Prod2prod_entity/recordcontainers/jdito/onUpdate.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import("system.datetime");
-import("system.vars");
-import("system.db");
-imp
-
-var cols = [ "DEST_ID"
-           , "SOURCE_ID"
-           , "QUANTITY"
-           , "OPTIONAL"
-           , "TAKEPRICE" ];
-
-var vals = [ vars.get("$field.DEST_ID")
-           , vars.get("$field.SOURCE_ID")
-           , vars.get("$field.QUANTITY")
-           , vars.get("$field.OPTIONAL")
-           , vars.get("$field.TAKEPRICE") ];
-
-
-db.updateData("PROD2PROD", 
-              cols,
-              null,
-              vals, 
-              SqlCondition.begin()
-                          .andPrepareVars("PROD2PROD.PROD2PRODID", "$field.UID", "# = ?")
-                          .build("1 = 0"));
\ No newline at end of file
diff --git a/entity/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 1a477cb4efeb741f94a6a05935e782a714a44ba4..33f4c12de07859e7d701a75be4788dee25f73609 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -101,7 +101,7 @@
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>Stock</name>
+      <name>Stocks</name>
       <title>Stock</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <selectionMode>SINGLE</selectionMode>
@@ -113,7 +113,7 @@
       <children>
         <entityParameter>
           <name>ProductId_param</name>
-          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/stock/children/productid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/stocks/children/productid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -127,7 +127,7 @@
       </onValueChangeTypes>
     </entityField>
     <entityConsumer>
-      <name>StockCount</name>
+      <name>StockCounts</name>
       <title>Stock</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <state>READONLY</state>
@@ -139,7 +139,7 @@
       <children>
         <entityParameter>
           <name>ProductId_param</name>
-          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/stockcount/children/productid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/stockcounts/children/productid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -253,8 +253,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -268,8 +269,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Product_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -284,7 +286,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Language_entity</entityName>
-        <fieldName>LanguagesISO3Code</fieldName>
+        <fieldName>ISO3Name</fieldName>
       </dependency>
     </entityConsumer>
     <entityConsumer>
@@ -313,6 +315,8 @@
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Product_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityConsumer>
       <name>Attributes</name>
@@ -325,15 +329,47 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>objectType_param</name>
-          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
         <entityParameter>
-          <name>objectRowId_param</name>
-          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityParameter>
+      <name>ExcludedProducts_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityProvider>
+      <name>Products</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <dependencies>
+        <entityDependency>
+          <name>1b12e8ef-74ba-4294-bd2b-9d4afa80798c</name>
+          <entityName>Prod2prod_entity</entityName>
+          <fieldName>Products</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+      <children>
+        <entityParameter>
+          <name>ExcludedProducts_param</name>
+          <expose v="true" />
+        </entityParameter>
+      </children>
+    </entityProvider>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Product_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -341,6 +377,7 @@
       <alias>Data_alias</alias>
       <maximumDbRows v="0" />
       <fromClauseProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/fromClauseProcess.js</fromClauseProcess>
+      <conditionProcess>%aditoprj%/entity/Product_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
       <onDBUpdate>%aditoprj%/entity/Product_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
       <onDBDelete>%aditoprj%/entity/Product_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
diff --git a/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
index 9635e2f4c42188cc99b051125cf236560cffe564..94eb4c992d1e4313fe0a2c41d0cd0d2bd006da5e 100644
--- a/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/Product_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 import("Context_lib");
 
-result.string(vars.get("$field.PRODUCTID"));
\ No newline at end of file
+result.string(vars.get("$field.PRODUCTID"));
diff --git a/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
index 008915f61deac19ccdd40fff81701de63eb3b6a2..e8b4e72e74a0a4696ff39e83135aa6100ef908c0 100644
--- a/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ b/entity/Product_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getCurrentContextId());
\ No newline at end of file
+result.string(ContextUtils.getCurrentContextId());
diff --git a/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js b/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
index 0881ceab5803df2043bdf3ca34277137e48b6a6b..e0b3a6dd6b49bace8935531285f8defc51731f36 100644
--- a/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
+++ b/entity/Product_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.productGroupcode());
\ No newline at end of file
+result.string($KeywordRegistry.productGroupcode());
diff --git a/entity/Product_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js b/entity/Product_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
index 116859e4d94e5bae0bce9983a85ffad7b392cba1..f9b47cf535119ec96b469fe551b30a62cd4eb385 100644
--- a/entity/Product_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
+++ b/entity/Product_entity/entityfields/keywordquantityunits/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.quantityUnit());
\ No newline at end of file
+result.string($KeywordRegistry.quantityUnit());
diff --git a/entity/Product_entity/entityfields/newactivity/tooltipProcess.js b/entity/Product_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Product_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/newtask/onActionProcess.js b/entity/Product_entity/entityfields/newtask/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..3471024a6a7c06a47135bba193d6448aa7799e1f
--- /dev/null
+++ b/entity/Product_entity/entityfields/newtask/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Task_lib");
+
+TaskUtils.createNewTask(vars.get("$field.PRODUCTID"));
\ No newline at end of file
diff --git a/entity/Product_entity/entityfields/stock/children/productid_param/valueProcess.js b/entity/Product_entity/entityfields/stockcounts/children/productid_param/valueProcess.js
similarity index 100%
rename from entity/Product_entity/entityfields/stock/children/productid_param/valueProcess.js
rename to entity/Product_entity/entityfields/stockcounts/children/productid_param/valueProcess.js
diff --git a/entity/Product_entity/entityfields/stockcount/children/productid_param/valueProcess.js b/entity/Product_entity/entityfields/stocks/children/productid_param/valueProcess.js
similarity index 100%
rename from entity/Product_entity/entityfields/stockcount/children/productid_param/valueProcess.js
rename to entity/Product_entity/entityfields/stocks/children/productid_param/valueProcess.js
diff --git a/entity/Product_entity/recordcontainers/db/conditionProcess.js b/entity/Product_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4d4a75621f119a42906a9f3e816b9861cbf968ec
--- /dev/null
+++ b/entity/Product_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,20 @@
+import("system.logging");
+import("system.result");
+import("system.vars");
+import("system.db");
+import("Sql_lib");
+
+var productCond = SqlCondition.begin()
+
+if (vars.exists("$param.ExcludedProducts_param") && vars.get("$param.ExcludedProducts_param"))
+{
+    var excludedIds = JSON.parse(vars.get("$param.ExcludedProducts_param"));
+
+    excludedIds.forEach(function(pId) 
+    {
+        this.andPrepare("PRODUCT.PRODUCTID", pId, "# <> ?");
+    }, productCond);
+}
+
+//TODO: use a preparedCondition when available #1030812 #1034026
+result.string(db.translateCondition(productCond.build("1 = 1")));
\ No newline at end of file
diff --git a/entity/Productprice_entity/Productprice_entity.aod b/entity/Productprice_entity/Productprice_entity.aod
index 811cb33671947750fbc166c2aa2d4cd2cdf26f27..98794639c708d6dac37f8c25888acc02130f32ac 100644
--- a/entity/Productprice_entity/Productprice_entity.aod
+++ b/entity/Productprice_entity/Productprice_entity.aod
@@ -170,8 +170,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/keywordcurrencies/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -185,8 +186,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Productprice_entity/entityfields/keywordpricelists/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
index cab3c0a17ff4df23b59399e852b2dbeae08615de..1385a0beb1c239967198b45cf171764285948af0 100644
--- a/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
+++ b/entity/SalesprojectCompetition_entity/SalesprojectCompetition_entity.aod
@@ -23,6 +23,7 @@
       <name>REASON</name>
       <title>Reason</title>
       <consumer>KeywordWonLost</consumer>
+      <selectionMode>SINGLE</selectionMode>
       <onValidation>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/reason/onValidation.js</onValidation>
     </entityField>
     <entityField>
@@ -36,7 +37,7 @@
     <entityField>
       <name>STATUS</name>
       <title>State</title>
-      <consumer>KeywordState</consumer>
+      <consumer>KeywordStates</consumer>
       <mandatory v="true" />
     </entityField>
     <entityParameter>
@@ -89,7 +90,7 @@
       <dependency>
         <name>dependency</name>
         <entityName>Organisation_entity</entityName>
-        <fieldName>Organisation</fieldName>
+        <fieldName>Organisations</fieldName>
       </dependency>
       <children>
         <entityParameter>
@@ -112,6 +113,7 @@
     <entityConsumer>
       <name>KeywordWonLost</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
       <dependency>
         <name>dependency</name>
         <entityName>KeywordEntry_entity</entityName>
@@ -119,19 +121,19 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess>
-          <documentation>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordwonlost/children/containername_param/documentation.adoc</documentation>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityField>
       <name>PHASE</name>
       <title>Phase</title>
-      <consumer>KeywordPhase</consumer>
+      <consumer>KeywordPhases</consumer>
     </entityField>
     <entityConsumer>
-      <name>KeywordPrice_Politics</name>
+      <name>KeywordPricePolitics</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -140,13 +142,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordWeakness</name>
+      <name>KeywordWeaknesses</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -155,13 +158,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordStrenght</name>
+      <name>KeywordStrenghts</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -170,13 +174,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordPhase</name>
+      <name>KeywordPhases</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -185,13 +190,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordphase/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordphases/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordState</name>
+      <name>KeywordStates</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -200,8 +206,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordstate/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -216,16 +223,19 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>objectType_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <name>FilteredAttributeIds_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
         <entityParameter>
-          <name>objectRowId_param</name>
+          <name>ObjectRowId_param</name>
           <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
         <entityParameter>
-          <name>filteredAttributeIds_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/filteredattributeids_param/valueProcess.js</valueProcess>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
index ef0d5bcac51027b862291e5abd61c0c05773a8df..3cb68cac618f4554bab868476992c09f591fe5fe 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
+++ b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string(vars.get("$field.CONTACT_ID"));
\ No newline at end of file
+result.string(vars.get("$field.CONTACT_ID"));
diff --git a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
index 9e359dfbd05a73d0010c8e90a0a645160e0087e4..41202c0153c75fda1c5eb90ea3a2f09178ba6df9 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
+++ b/entity/SalesprojectCompetition_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -1,3 +1,3 @@
 import("system.result");
 
-result.string("Organisation");
\ No newline at end of file
+result.string("Organisation");
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordphases/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordphases/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d74e92060b4f3939402f40b792aee139e5f73b00
--- /dev/null
+++ b/entity/SalesprojectCompetition_entity/entityfields/keywordphases/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectPhase());
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js
deleted file mode 100644
index a76a727534152d479a8b4cbef548371ef4224dc0..0000000000000000000000000000000000000000
--- a/entity/SalesprojectCompetition_entity/entityfields/keywordprice_politics/children/containername_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string($KeywordRegistry.salesprojectPricePolitics());
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..8ddda743906a3a7af1ac9036d21925bd20100e9f
--- /dev/null
+++ b/entity/SalesprojectCompetition_entity/entityfields/keywordpricepolitics/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectPricePolitics());
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordstate/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordstate/children/containername_param/valueProcess.js
deleted file mode 100644
index 542db3e9e7ca6cd30cc2d00f8144e106e0dca2c3..0000000000000000000000000000000000000000
--- a/entity/SalesprojectCompetition_entity/entityfields/keywordstate/children/containername_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string($KeywordRegistry.salesprojectCompetitionState());
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d86b5c3b6fb28f749eead8761de6aa4f6266d817
--- /dev/null
+++ b/entity/SalesprojectCompetition_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectCompetitionState());
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js
deleted file mode 100644
index cae1ead3876117be7f9a2c2be4fcc91f3f3b5964..0000000000000000000000000000000000000000
--- a/entity/SalesprojectCompetition_entity/entityfields/keywordstrenght/children/containername_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string($KeywordRegistry.salesprojectStrenght());
\ No newline at end of file
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b71211967e4a28e997057fbcd50ace129832a7c6
--- /dev/null
+++ b/entity/SalesprojectCompetition_entity/entityfields/keywordstrenghts/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectStrenght());
diff --git a/entity/SalesprojectCompetition_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js b/entity/SalesprojectCompetition_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js
similarity index 90%
rename from entity/SalesprojectCompetition_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js
rename to entity/SalesprojectCompetition_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js
index 1f3ec844e7b00069d9f8bb49e3f1842402b71bdd..3cfb460e6aa8e27222a301e2e80bd2270aff72bb 100644
--- a/entity/SalesprojectCompetition_entity/entityfields/keywordweakness/children/containername_param/valueProcess.js
+++ b/entity/SalesprojectCompetition_entity/entityfields/keywordweaknesses/children/containername_param/valueProcess.js
@@ -3,4 +3,4 @@ import("Keyword_lib");
 import("KeywordRegistry_basic");
 
 var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectWeakness(), "ORGANISATION.WEAKNESS");
-result.string(sql);
\ No newline at end of file
+result.string(sql);
diff --git a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
index 0d0c6958258a7f614ddfdb5fefdb589d4075130d..becd248bbd77bd68ee37faf2b71d92354084d292 100644
--- a/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
+++ b/entity/SalesprojectForecast_entity/SalesprojectForecast_entity.aod
@@ -75,9 +75,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js</valueProcess>
-          <documentation>%aditoprj%/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/documentation.adoc</documentation>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/documentation.adoc b/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/documentation.adoc
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js b/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
index 0881ceab5803df2043bdf3ca34277137e48b6a6b..e0b3a6dd6b49bace8935531285f8defc51731f36 100644
--- a/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
+++ b/entity/SalesprojectForecast_entity/entityfields/keywordproductgroupcodes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.productGroupcode());
\ No newline at end of file
+result.string($KeywordRegistry.productGroupcode());
diff --git a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
index bac19d2e222c5d52d3278b86abff4a73fbb251f2..62534b1cb44a7a65d9450393b2d41b32995d0be4 100644
--- a/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
+++ b/entity/SalesprojectMember_entity/SalesprojectMember_entity.aod
@@ -98,7 +98,7 @@
       <children>
         <entityParameter>
           <name>ContactId_param</name>
-          <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/currentcontact/children/ContactId_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/currentcontact/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -148,8 +148,9 @@ TODO: intuitive möglichkeit, auf dend Stand aus Relation zurückzusetzen... akt
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js b/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js
index 7042000352a08048c56df02c22a9a1af2b70830d..038f4a4295e2517b9326f918abfcd73b80ef03f5 100644
--- a/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js
+++ b/entity/SalesprojectMember_entity/entityfields/keywordmemberroles/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectMemberRole());
\ No newline at end of file
+result.string($KeywordRegistry.salesprojectMemberRole());
diff --git a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
index aba44317376e981cc9864b5540ebf433e5cb418f..6d2e5169831d0f148786e37bdf637807eecf8ab1 100644
--- a/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
+++ b/entity/SalesprojectSource_entity/SalesprojectSource_entity.aod
@@ -68,8 +68,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/SalesprojectSource_entity/entityfields/keywordsources/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/SalesprojectSource_entity/entityfields/keywordsources/children/containername_param/valueProcess.js b/entity/SalesprojectSource_entity/entityfields/keywordsources/children/containername_param/valueProcess.js
index c2806676a54f2d6c4dd76dd80551413e4ef9cc2a..0647d1069c4169a051c04c030264607f02702454 100644
--- a/entity/SalesprojectSource_entity/entityfields/keywordsources/children/containername_param/valueProcess.js
+++ b/entity/SalesprojectSource_entity/entityfields/keywordsources/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectSource());
\ No newline at end of file
+result.string($KeywordRegistry.salesprojectSource());
diff --git a/entity/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 089cb81db92d660ca6d693bbe7f07e1da63a1694..a2022eaa27d58328c677a3cbd998e940dbe4df20 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -39,7 +39,7 @@
     <entityField>
       <name>PHASE</name>
       <title>Phase</title>
-      <consumer>KeywordPhase</consumer>
+      <consumer>KeywordPhases</consumer>
       <mandatory v="true" />
     </entityField>
     <entityField>
@@ -78,7 +78,7 @@
     <entityField>
       <name>STATE</name>
       <title>Status</title>
-      <consumer>KeywordState</consumer>
+      <consumer>KeywordStates</consumer>
       <mandatory v="true" />
     </entityField>
     <entityField>
@@ -157,6 +157,7 @@
       <name>SalesprojectCompetitions</name>
       <title>Competition</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
       <dependency>
         <name>dependency</name>
         <entityName>SalesprojectCompetition_entity</entityName>
@@ -248,6 +249,7 @@
       <title>New offer</title>
       <description>Opens the Offer context in NEW-Mode and fills salesproject and contact.</description>
       <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:CART</iconId>
     </entityActionField>
     <entityConsumer>
       <name>Timetrackings</name>
@@ -351,6 +353,7 @@
       <title>New time tracking</title>
       <description>Opens the time tracking context in new-mode for the selected salesproject</description>
       <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtimetracking/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:STOPWATCH</iconId>
     </entityActionField>
     <entityConsumer>
       <name>KeywordProbabilties</name>
@@ -362,13 +365,15 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
+          <title></title>
           <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordState</name>
+      <name>KeywordStates</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -377,13 +382,14 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordstate/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
-      <name>KeywordPhase</name>
+      <name>KeywordPhases</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -392,8 +398,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordphase/children/containername_param/valueProcess.js</valueProcess>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -403,6 +410,8 @@
       <title>New activity</title>
       <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityField>
       <name>DAYS_NOTACTIVE</name>
@@ -411,6 +420,34 @@
       <state>READONLY</state>
       <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/days_notactive/valueProcess.js</valueProcess>
     </entityField>
+    <entityConsumer>
+      <name>KeywordWonLost</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <selectionMode>MULTI</selectionMode>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityField>
+      <name>REASONS</name>
+      <title>Reason</title>
+      <consumer>KeywordWonLost</consumer>
+      <mandatoryProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js</mandatoryProcess>
+      <possibleItemsProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js</possibleItemsProcess>
+      <searchable v="true" />
+      <selectionMode>MULTI</selectionMode>
+      <stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/stateProcess.js</stateProcess>
+      <valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js</displayValueProcess>
+    </entityField>
     <entityProvider>
       <name>Salesprojects</name>
       <fieldType>DEPENDENCY_IN</fieldType>
@@ -430,6 +467,13 @@
         </entityParameter>
       </children>
     </entityProvider>
+    <entityActionField>
+      <name>newTask</name>
+      <fieldType>ACTION</fieldType>
+      <title>New task</title>
+      <onActionProcess>%aditoprj%/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <iconId>VAADIN:TASKS</iconId>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -441,14 +485,14 @@
       <onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
       <linkInformation>
         <linkInformation>
-          <name>4c96cc1e-fe7f-4f7f-93c8-5ceeb9e0a56b</name>
+          <name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name>
           <tableName>SALESPROJECT</tableName>
           <primaryKey>SALESPROJECTID</primaryKey>
           <isUIDTable v="true" />
           <readonly v="false" />
         </linkInformation>
         <linkInformation>
-          <name>701d5159-3b17-4ba9-879f-fce34375411e</name>
+          <name>485af2f8-d91d-442f-89c7-c44915dda990</name>
           <tableName>ORGANISATION</tableName>
           <primaryKey>ORGANISATIONID</primaryKey>
           <isUIDTable v="false" />
@@ -516,6 +560,14 @@
           <name>PHASE.displayValue</name>
           <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REASONS.displayValue</name>
+          <expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>REASONS.value</name>
+          <recordfield>SALESPROJECT.REASONS</recordfield>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d74e92060b4f3939402f40b792aee139e5f73b00
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordphases/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectPhase());
diff --git a/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js
index 6ca842dd15dc19ccf7e8af70272fabaee25756af..ac59463181f9370f389bb466248fb9696b50449d 100644
--- a/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js
+++ b/entity/Salesproject_entity/entityfields/keywordprobabilties/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectProbability());
\ No newline at end of file
+result.string($KeywordRegistry.salesprojectProbability());
diff --git a/entity/Salesproject_entity/entityfields/keywordstate/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordstate/children/containername_param/valueProcess.js
deleted file mode 100644
index 9604353462b5f896fe861ef98813706bc705a3e7..0000000000000000000000000000000000000000
--- a/entity/Salesproject_entity/entityfields/keywordstate/children/containername_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string($KeywordRegistry.salesprojectState());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b81ba69778aa69005ee7051dd84ce6e684944331
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectState());
diff --git a/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..cbd1c681941578fe0b1e5234bd3c80837eaaae0a
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/code.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..cfe4e46f28f8f4af7c16aeb186446ecad2a69a61
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js b/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js b/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5eac01fcd5d7b7ced2c66d51619c1a38c00eb27c
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/newtask/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Task_lib");
+
+TaskUtils.createNewTask(vars.get("$field.SALESPROJECTID"));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js b/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..deb08ee45373586274083118dfdd81ee1b5c1c21
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.salesprojectWonLost(), vars.get("$field.REASONS")));
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..086a5d36d49678a0e352341b792f65b46d756025
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474');
+result.string(res);
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js b/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..47fe8c4030f97a558b35b9483b8e4c9765d02c1c
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js
@@ -0,0 +1,9 @@
+/*import("system.vars");
+import("system.result");
+import("system.db");
+
+var res = db.table("select KEYID, TITLE from AB_KEYWORD_ENTRY where CONTAINER = 'SalesprojectWonLost'");
+
+result.object(res);
+*/
+// TODO: multiple select
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/reasons/stateProcess.js b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..871eb8d93a8a009c0653f8863444cd2e6a3e2eba
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/stateProcess.js
@@ -0,0 +1,8 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+if(vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474'))
+        result.string("EDITABLE");
+else
+        result.string("READONLY");
diff --git a/entity/Salesproject_entity/entityfields/reasons/valueProcess.js b/entity/Salesproject_entity/entityfields/reasons/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..33b4bb87b0471fc747abb0399b51f83efa12ed41
--- /dev/null
+++ b/entity/Salesproject_entity/entityfields/reasons/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("system.vars");
+
+// IDs: SalesprojectState Order and Lost
+var state = vars.get("$field.STATE");
+if(state && (state != 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' && state != '130bb53a-a97e-455e-8f34-8d445e985474'))
+    result.string("");
\ No newline at end of file
diff --git a/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js b/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
index 0548f92efeb71ee8742f7b18d5a6a7be24a529a4..18dead55d190447fd1b51dc319abe52f8479776a 100644
--- a/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
+++ b/entity/Salesproject_entity/recordcontainers/db/fromClauseProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("system.result");
 
-result.string("SALESPROJECT join ORGANISATION on CONTACT_ID = ORGANISATIONID ");
\ No newline at end of file
+result.string("SALESPROJECT left join ORGANISATION on CONTACT_ID = ORGANISATIONID ");
\ 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 46e16c3d687c541b66574fd13cfaa2c00fff2b87..47067fdfe5c683417c30b9d75a0d753324d8534d 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBInsert.js
@@ -1,5 +1,6 @@
 import("system.vars");
 import("Salesproject_lib");
 
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
-Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true);
\ No newline at end of file
+// TODO Milestone Value is still an Integer but has to be a String (varchar)
+// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
+// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), 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 222926e7c12d2e84a2f409dd5b6698a8bbbf4c87..20ec5095d25b8ff9dc6674aa5aae7c7053612abd 100644
--- a/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
+++ b/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js
@@ -1,22 +1,78 @@
+import("system.neon");
+import("system.translate");
 import("system.vars");
 import("Salesproject_lib");
+import("Sql_lib");
+import("system.db");
 
-var typeValue, fieldVar
+var needToUpdateForecast = false;
 
 // create Milestones if changed
 vars.get("$local.changed").forEach(function(fieldName) {
+    var typeValue;
+    var fieldVar;
+    
     switch (fieldName) {
         case "SALESPROJECT.PHASE":
             typeValue = 1;
             fieldVar = "$field.PHASE";
             break;
         case "SALESPROJECT.STATE":
+            // Milestone
             typeValue = 2;
             fieldVar = "$field.STATE";
+            
+            // set COMPETITION / OFFER to Lost
+            
+            // Lost
+            if ( vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd')
+            {
+                _updateDataToLost("OFFER", $KeywordRegistry.offerStatus());
+                _updateReasons();
+            }
+            // Order
+            else if(vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474')
+            {
+                _updateDataToLost("SALESPROJECT_COMPETITION", $KeywordRegistry.salesprojectCompetitionState()); 
+                _updateReasons();
+            }
+            else
+                _updateReasons("del");
             break;
     }
 
     if (typeValue) {
-        Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true);
+        needToUpdateForecast = true;
+        // TODO Milestone Value is still an Integer but has to be a String (varchar) -> use new keywords
+        //Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar));
     }
-});
\ No newline at end of file
+});
+
+if (needToUpdateForecast)
+    Salesproject.notifyToUpdateForecast();
+
+neon.refresh()
+
+function _updateReasons(pDelete)
+{
+    var reasons = "";
+    if(!pDelete)
+        vars.getString("field.REASONS");
+    if(reasons != null)
+        db.updateData("SALESPROJECT", ["REASONS"], null, [reasons], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+}
+
+/**
+ * when project is state offer sets competitors to lost, when project is state lost sets offer to lost
+ * @param pTable {String}
+ * @param pContainer {String}
+ */
+function _updateDataToLost(pTable, pContainer )
+{
+     var statusLost = db.table(SqlCondition.begin()
+                .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pContainer)
+                .andPrepare("AB_KEYWORD_ENTRY.TITLE", "Lost")
+                .buildSql("select KEYID from AB_KEYWORD_ENTRY", "1=2"));
+    
+    db.updateData(pTable, ["STATUS"], null, statusLost, SqlCondition.equals(pTable + ".SALESPROJECT_ID", vars.getString("$field.SALESPROJECTID"), "1=2"));
+}
diff --git a/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..c62430bd64ea66ed105355c5d58f78cfdf9a785c
--- /dev/null
+++ b/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js
@@ -0,0 +1,7 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+import("Sql_lib");
+
+var value = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectWonLost(), "SALESPROJECT.REASONS");
+result.string(value);
diff --git a/entity/Stock_entity/Stock_entity.aod b/entity/Stock_entity/Stock_entity.aod
index 2fc3e2fa984debad331b4c7eb62e5aab4bd2cf0e..e4d16494ed79e54da4fd449e3cfc50c497faa464 100644
--- a/entity/Stock_entity/Stock_entity.aod
+++ b/entity/Stock_entity/Stock_entity.aod
@@ -55,13 +55,13 @@
         <entityDependency>
           <name>aa9264c8-2c96-4a7a-94c7-e38bc0ae7df3</name>
           <entityName>Product_entity</entityName>
-          <fieldName>Stock</fieldName>
+          <fieldName>Stocks</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
           <name>e6168337-2f0b-4135-be16-1a4fd1c2ff65</name>
           <entityName>Product_entity</entityName>
-          <fieldName>StockCount</fieldName>
+          <fieldName>StockCounts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
@@ -102,8 +102,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/valueProcess.js b/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/valueProcess.js
index 96b4ada951a400b65e3e56e0885a3f0d196db22c..9442a9d9807cb1443be2561fba749abb57d13037 100644
--- a/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/valueProcess.js
+++ b/entity/Stock_entity/entityfields/keywordwarehouses/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.stockWarehouse());
\ No newline at end of file
+result.string($KeywordRegistry.stockWarehouse());
diff --git a/entity/TaskLink_entity/TaskLink_entity.aod b/entity/TaskLink_entity/TaskLink_entity.aod
new file mode 100644
index 0000000000000000000000000000000000000000..fe50fa73d1c1671b6130d0e4038119fe21525bd8
--- /dev/null
+++ b/entity/TaskLink_entity/TaskLink_entity.aod
@@ -0,0 +1,116 @@
+<?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.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.2.1">
+  <name>TaskLink_entity</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <recordContainer>db</recordContainer>
+  <entityFields>
+    <entityProvider>
+      <name>#PROVIDER</name>
+    </entityProvider>
+    <entityField>
+      <name>TASKLINKID</name>
+      <valueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>TASK_ID</name>
+      <valueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/task_id/valueProcess.js</valueProcess>
+    </entityField>
+    <entityField>
+      <name>OBJECT_TYPE</name>
+      <title>Object type</title>
+      <consumer>Contexts</consumer>
+      <linkedContext>Context</linkedContext>
+      <displayValueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/object_type/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityField>
+      <name>OBJECT_ROWID</name>
+      <title>Relation</title>
+      <consumer>Objects</consumer>
+      <linkedContextProcess>%aditoprj%/entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js</linkedContextProcess>
+      <displayValueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityProvider>
+      <name>Link</name>
+      <fieldType>DEPENDENCY_IN</fieldType>
+      <targetContextField>OBJECT_TYPE</targetContextField>
+      <targetIdField>OBJECT_ROWID</targetIdField>
+      <recordContainer>db</recordContainer>
+      <dependencies>
+        <entityDependency>
+          <name>40cc8bcd-c178-4a77-a968-642e1d8e1f70</name>
+          <entityName>Task_entity</entityName>
+          <fieldName>Links</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
+      </dependencies>
+    </entityProvider>
+    <entityParameter>
+      <name>TaskId_param</name>
+      <expose v="true" />
+      <description>PARAMETER</description>
+    </entityParameter>
+    <entityConsumer>
+      <name>Contexts</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Context_entity</entityName>
+        <fieldName>#PROVIDER</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Objects</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Object_entity</entityName>
+        <fieldName>AllObjects</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js</valueProcess>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+  </entityFields>
+  <recordContainers>
+    <dbRecordContainer>
+      <name>db</name>
+      <alias>Data_alias</alias>
+      <conditionProcess>%aditoprj%/entity/TaskLink_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
+      <linkInformation>
+        <linkInformation>
+          <name>75141ff0-c6de-4dfd-ad35-6bf2fc931fb9</name>
+          <tableName>TASKLINK</tableName>
+          <primaryKey>TASKLINKID</primaryKey>
+          <isUIDTable v="true" />
+          <readonly v="false" />
+        </linkInformation>
+      </linkInformation>
+      <recordFieldMappings>
+        <dbRecordFieldMapping>
+          <name>OBJECT_ROWID.value</name>
+          <recordfield>TASKLINK.OBJECT_ROWID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>OBJECT_TYPE.value</name>
+          <recordfield>TASKLINK.OBJECT_TYPE</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>TASK_ID.value</name>
+          <recordfield>TASKLINK.TASK_ID</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <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>
+</entity>
diff --git a/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js b/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..4bec272246cb114439a2de8479cbfa9c9feebfe7
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/object_rowid/displayValueProcess.js
@@ -0,0 +1,7 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("Context_lib");
+
+if (vars.exists("$field.OBJECT_TYPE") && 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/ObjectRelation_entity/entityfields/object1_rowid/linkedContextProcess.js b/entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js
similarity index 91%
rename from entity/ObjectRelation_entity/entityfields/object1_rowid/linkedContextProcess.js
rename to entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js
index 32aa4d5cf10e5947eece0f6edfc64db38a3591d8..d868fe097f20bc5d880af358b27fdea7a2c86063 100644
--- a/entity/ObjectRelation_entity/entityfields/object1_rowid/linkedContextProcess.js
+++ b/entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js
@@ -2,4 +2,4 @@ import("system.vars");
 import("system.result");
 import("Context_lib");
 
-result.string(ContextUtils.getContextName(vars.get("$field.OBJECT1_TYPE")));
\ No newline at end of file
+result.string(ContextUtils.getContextName(vars.get("$field.OBJECT_TYPE")))
\ No newline at end of file
diff --git a/entity/TaskLink_entity/entityfields/object_type/displayValueProcess.js b/entity/TaskLink_entity/entityfields/object_type/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c629c088234b606e7ea7872787dbb004b886e4ff
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/object_type/displayValueProcess.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("system.neon");
+import("system.vars");
+import("system.project");
+
+if (vars.exists("$field.OBJECT_TYPE") && vars.get("$field.OBJECT_TYPE"))
+{
+    result.string(project.getDataModel(project.DATAMODEL_KIND_CONTEXT, vars.get("$field.OBJECT_TYPE"))[1]);
+}
\ No newline at end of file
diff --git a/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js b/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b1bb16711d793d92bca8f72231ad9c0f745c064d
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/objects/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("system.vars");
+
+result.string(vars.get("$field.OBJECT_TYPE"));
\ No newline at end of file
diff --git a/entity/TaskLink_entity/entityfields/task_id/valueProcess.js b/entity/TaskLink_entity/entityfields/task_id/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..aabf86837330387f89a0f808dce71c16179527bf
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/task_id/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$param.TaskId_param"));
\ No newline at end of file
diff --git a/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js b/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..86ef789e064a4016f2d12c432498dc23474807aa
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/tasklinkid/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.vars");
+import("system.result");
+import("system.neon");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string(util.getNewUUID());
\ No newline at end of file
diff --git a/entity/TaskLink_entity/recordcontainers/db/conditionProcess.js b/entity/TaskLink_entity/recordcontainers/db/conditionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..999bbab7e03925acba9c128902830a9fb5b95f3e
--- /dev/null
+++ b/entity/TaskLink_entity/recordcontainers/db/conditionProcess.js
@@ -0,0 +1,10 @@
+import("system.vars");
+import("system.db");
+import("system.result");
+import("Sql_lib");
+
+var cond = SqlCondition.begin()
+                       .andPrepareVars("TASKLINK.TASK_ID", "$param.TaskId_param");
+
+//TODO: use a preparedCondition when available #1030812 #1034026
+result.string(db.translateCondition(cond.build("1 = 0")));
\ 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
new file mode 100644
index 0000000000000000000000000000000000000000..33554680cccd2c3d363443686457c41e0c1c5729
--- /dev/null
+++ b/entity/TaskLink_entity/recordcontainers/db/recordfieldmappings/object_rowid.displayvalue/expression.js
@@ -0,0 +1,4 @@
+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 9b17a3c0b6901ee6de3b798ca389a3ef110f092a..d8a80cb3455bca38e153dfe561bb51ceed72ad50 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -4,6 +4,7 @@
   <title>Task</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <documentation>%aditoprj%/entity/Task_entity/documentation.adoc</documentation>
+  <afterOperatingState>%aditoprj%/entity/Task_entity/afterOperatingState.js</afterOperatingState>
   <iconId>VAADIN:TASKS</iconId>
   <iconIdProcess>%aditoprj%/entity/Task_entity/iconIdProcess.js</iconIdProcess>
   <recordContainer>db</recordContainer>
@@ -33,14 +34,16 @@
       <mandatory v="true" />
       <groupable v="true" />
       <valueProcess>%aditoprj%/entity/Task_entity/entityfields/status/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/status/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>PRIORITY</name>
       <title>priority</title>
-      <consumer>KeywordPriority</consumer>
+      <consumer>KeywordPriorities</consumer>
       <mandatory v="true" />
       <groupable v="true" />
       <valueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/priority/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
       <name>REQUESTOR_CONTACT_ID</name>
@@ -153,8 +156,9 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -168,29 +172,33 @@
       </dependency>
       <children>
         <entityParameter>
-          <name>containerName_param</name>
+          <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
     <entityConsumer>
       <name>ModuleTrees</name>
-      <title>Tree</title>
+      <title>History</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
         <entityName>ModuleTree_entity</entityName>
-        <fieldName>TreeProvider</fieldName>
+        <fieldName>TreeProviders</fieldName>
       </dependency>
       <children>
         <entityParameter>
-          <name>ID</name>
-          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/id/valueProcess.js</valueProcess>
-          <description>PARAMETER</description>
+          <name>ID_param</name>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/id_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <mandatory v="false" />
         </entityParameter>
         <entityParameter>
-          <name>ContextName</name>
-          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/contextname/valueProcess.js</valueProcess>
+          <name>ContextName_param</name>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+          <mandatory v="false" />
         </entityParameter>
       </children>
     </entityConsumer>
@@ -215,17 +223,20 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityActionField>
-      <name>newActivity_action</name>
+      <name>newActivity</name>
       <fieldType>ACTION</fieldType>
       <title>New activity</title>
-      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity_action/onActionProcess.js</onActionProcess>
+      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/onActionProcess.js</onActionProcess>
       <iconId>NEON:HISTORY</iconId>
+      <tooltip>New activity</tooltip>
+      <tooltipProcess>%aditoprj%/entity/Task_entity/entityfields/newactivity/tooltipProcess.js</tooltipProcess>
     </entityActionField>
     <entityActionField>
-      <name>newTask_action</name>
+      <name>newTask</name>
       <fieldType>ACTION</fieldType>
       <title>New task</title>
-      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newtask_action/onActionProcess.js</onActionProcess>
+      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newtask/onActionProcess.js</onActionProcess>
+      <actionOrder v="1" />
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityParameter>
@@ -239,7 +250,39 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityConsumer>
-      <name>KeywordPriority</name>
+      <name>KeywordPriorities</name>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>ContainerName_param</name>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newOffer</name>
+      <fieldType>ACTION</fieldType>
+      <title>New offer</title>
+      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <actionOrder v="0" />
+      <iconId>VAADIN:CART</iconId>
+    </entityActionField>
+    <entityField>
+      <name>PROGRESS</name>
+      <title>Progress</title>
+      <consumer>KeywordProgress</consumer>
+      <mandatory v="true" />
+      <valueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/valueProcess.js</valueProcess>
+      <displayValueProcess>%aditoprj%/entity/Task_entity/entityfields/progress/displayValueProcess.js</displayValueProcess>
+    </entityField>
+    <entityConsumer>
+      <name>KeywordProgress</name>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -249,7 +292,23 @@
       <children>
         <entityParameter>
           <name>containerName_param</name>
-          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordpriority/children/containername_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityConsumer>
+      <name>Links</name>
+      <title>Connections</title>
+      <fieldType>DEPENDENCY_OUT</fieldType>
+      <dependency>
+        <name>dependency</name>
+        <entityName>TaskLink_entity</entityName>
+        <fieldName>Link</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>TaskId_param</name>
+          <valueProcess>%aditoprj%/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -259,7 +318,7 @@
       <name>db</name>
       <alias>Data_alias</alias>
       <orderClauseProcess>%aditoprj%/entity/Task_entity/recordcontainers/db/orderClauseProcess.js</orderClauseProcess>
-      <onDBInsert>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBInsert.js</onDBInsert>
+      <onDBDelete>%aditoprj%/entity/Task_entity/recordcontainers/db/onDBDelete.js</onDBDelete>
       <linkInformation>
         <linkInformation>
           <name>47e1b4a5-6901-48b0-85ba-bec39b86a2d7</name>
@@ -346,6 +405,14 @@
           <name>PRIORITY.displayValue</name>
           <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/priority.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PROGRESS.value</name>
+          <recordfield>TASK.PROGRESS</recordfield>
+        </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>PROGRESS.displayValue</name>
+          <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Task_entity/afterOperatingState.js b/entity/Task_entity/afterOperatingState.js
new file mode 100644
index 0000000000000000000000000000000000000000..86428a9e4fb03c37531d0e845989459a4e88843a
--- /dev/null
+++ b/entity/Task_entity/afterOperatingState.js
@@ -0,0 +1,15 @@
+import("system.util");
+import("system.db");
+import("system.neon");
+import("system.vars");
+import("Context_lib");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW 
+    && vars.exists("$param.RowId_param") && vars.get("$param.RowId_param")
+    && vars.exists("$param.ObjectId_param") && vars.get("$param.ObjectId_param"))
+{
+    neon.addRecord(null, "Links", {
+        "OBJECT_TYPE" : vars.get("$param.ObjectId_param"), 
+        "OBJECT_ROWID" : vars.get("$param.RowId_param")
+    });
+}
\ No newline at end of file
diff --git a/entity/Attribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js
similarity index 63%
rename from entity/Attribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js
rename to entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js
index dc6dfca332983312b5fc1181f8a357c182ac603f..c021b9c4f2f5568c2c3a5ef6ee1507b35ea52d09 100644
--- a/entity/Attribute_entity/entityfields/keywordattributetype/children/containername_param/valueProcess.js
+++ b/entity/Task_entity/entityfields/keywordpriorities/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.attributeType());
\ No newline at end of file
+result.string($KeywordRegistry.taskPriority());
diff --git a/entity/Task_entity/entityfields/keywordprogress/children/containername_param/code.js b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..b19308201a587f0681e4a6486ea3751b784e1ebb
--- /dev/null
+++ b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/code.js
@@ -0,0 +1,5 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string($KeywordRegistry.taskProgress());
\ No newline at end of file
diff --git a/entity/Salesproject_entity/entityfields/keywordphase/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
similarity index 61%
rename from entity/Salesproject_entity/entityfields/keywordphase/children/containername_param/valueProcess.js
rename to entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
index 0fda06efff26a459feed87a3433a92ff99b14171..b19308201a587f0681e4a6486ea3751b784e1ebb 100644
--- a/entity/Salesproject_entity/entityfields/keywordphase/children/containername_param/valueProcess.js
+++ b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.salesprojectPhase());
\ No newline at end of file
+result.string($KeywordRegistry.taskProgress());
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
index 729ee3d1884b9c7884bcbb920f3f9c4f5c54738a..8590e504f05a614b1c0c4b74901bb008feb47b94 100644
--- a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
+++ b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.taskStatus());
\ No newline at end of file
+result.string($KeywordRegistry.taskStatus());
diff --git a/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js
index 308d10e96440d31d0a01fc030db90ecf88ff9350..b139734c3ee81a4a9d2ce291db74ea5241044e81 100644
--- a/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js
+++ b/entity/Task_entity/entityfields/keywordtypes/children/containername_param/valueProcess.js
@@ -2,4 +2,4 @@ import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.taskType());
\ No newline at end of file
+result.string($KeywordRegistry.taskType());
diff --git a/entity/Task_entity/entityfields/links/children/taskid_param/code.js b/entity/Task_entity/entityfields/links/children/taskid_param/code.js
new file mode 100644
index 0000000000000000000000000000000000000000..cf73f1e2a3c4acf31c86f28a5120f1728fd55aa1
--- /dev/null
+++ b/entity/Task_entity/entityfields/links/children/taskid_param/code.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.TASKID"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js b/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..cf73f1e2a3c4acf31c86f28a5120f1728fd55aa1
--- /dev/null
+++ b/entity/Task_entity/entityfields/links/children/taskid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.TASKID"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/moduletrees/children/contextname/documentation.adoc b/entity/Task_entity/entityfields/moduletrees/children/contextname/documentation.adoc
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/Task_entity/entityfields/moduletrees/children/contextname/valueProcess.js b/entity/Task_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js
similarity index 100%
rename from entity/Task_entity/entityfields/moduletrees/children/contextname/valueProcess.js
rename to entity/Task_entity/entityfields/moduletrees/children/contextname_param/valueProcess.js
diff --git a/entity/Task_entity/entityfields/moduletrees/children/id/valueProcess.js b/entity/Task_entity/entityfields/moduletrees/children/id_param/valueProcess.js
similarity index 100%
rename from entity/Task_entity/entityfields/moduletrees/children/id/valueProcess.js
rename to entity/Task_entity/entityfields/moduletrees/children/id_param/valueProcess.js
diff --git a/entity/Task_entity/entityfields/newactivity_action/onActionProcess.js b/entity/Task_entity/entityfields/newactivity/onActionProcess.js
similarity index 100%
rename from entity/Task_entity/entityfields/newactivity_action/onActionProcess.js
rename to entity/Task_entity/entityfields/newactivity/onActionProcess.js
diff --git a/entity/Task_entity/entityfields/newactivity/tooltipProcess.js b/entity/Task_entity/entityfields/newactivity/tooltipProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..c71e677c22663c2295e524aa7f3ed3dd571724d7
--- /dev/null
+++ b/entity/Task_entity/entityfields/newactivity/tooltipProcess.js
@@ -0,0 +1,4 @@
+import("system.translate");
+import("system.result");
+
+result.string(translate.text("New activity"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/newoffer/onActionProcess.js b/entity/Task_entity/entityfields/newoffer/onActionProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..550d39bb7b56c99d28972f0ddc71b0e2a524e12d
--- /dev/null
+++ b/entity/Task_entity/entityfields/newoffer/onActionProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("Offer_lib");
+
+OfferUtils.createNewOffer(null, vars.getString("$field.TASKID"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/newtask_action/onActionProcess.js b/entity/Task_entity/entityfields/newtask/onActionProcess.js
similarity index 100%
rename from entity/Task_entity/entityfields/newtask_action/onActionProcess.js
rename to entity/Task_entity/entityfields/newtask/onActionProcess.js
diff --git a/entity/Task_entity/entityfields/priority/displayValueProcess.js b/entity/Task_entity/entityfields/priority/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..83b9c66a79bc612731842800f4351568ff30aaa4
--- /dev/null
+++ b/entity/Task_entity/entityfields/priority/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.taskPriority(), vars.get("$field.PRIORITY")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/priority/valueProcess.js b/entity/Task_entity/entityfields/priority/valueProcess.js
index f6d5ec3fa8f24bbb18e03b535d9dece488186913..97f66840686af1eee7e86efa71572140e845aa17 100644
--- a/entity/Task_entity/entityfields/priority/valueProcess.js
+++ b/entity/Task_entity/entityfields/priority/valueProcess.js
@@ -4,4 +4,4 @@ import("system.neon");
 import("system.vars");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string("2");//TODO: do not use int-keys for this; use from keyword
\ No newline at end of file
+    result.string("09072b59-d12f-469b-acbd-18a28232ff70");
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/progress/displayValueProcess.js b/entity/Task_entity/entityfields/progress/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..5acf17db5fe33b5b796c2cdddac86d75e9ccf067
--- /dev/null
+++ b/entity/Task_entity/entityfields/progress/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.taskProgress(), vars.get("$field.PROGRESS")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/progress/valueProcess.js b/entity/Task_entity/entityfields/progress/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..50f7254139de095c53a876a40b2a86fbc83aad8f
--- /dev/null
+++ b/entity/Task_entity/entityfields/progress/valueProcess.js
@@ -0,0 +1,7 @@
+import("system.util");
+import("system.result");
+import("system.neon");
+import("system.vars");
+
+if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+    result.string("ec92271b-eac2-4ec2-be24-ab4abde7e939");
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/status/displayValueProcess.js b/entity/Task_entity/entityfields/status/displayValueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..759b610257ea2c3b32d2835923f9951bc6455d21
--- /dev/null
+++ b/entity/Task_entity/entityfields/status/displayValueProcess.js
@@ -0,0 +1,6 @@
+import("system.vars");
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getViewValue($KeywordRegistry.taskStatus(), vars.get("$field.STATUS")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/status/valueProcess.js b/entity/Task_entity/entityfields/status/valueProcess.js
index 8d9f96e0992902ef55f290f83b4df79c0197c897..b3253f839febecf5f8d9d92bf7e79abe8e5f5c88 100644
--- a/entity/Task_entity/entityfields/status/valueProcess.js
+++ b/entity/Task_entity/entityfields/status/valueProcess.js
@@ -4,4 +4,4 @@ import("system.neon");
 import("system.vars");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string("0");//TODO: do not use int-keys for this; use from keyword
\ No newline at end of file
+    result.string("21bc4d20-1a87-4247-8f7c-8d3a09631850");
\ No newline at end of file
diff --git a/entity/Task_entity/recordcontainers/db/onDBDelete.js b/entity/Task_entity/recordcontainers/db/onDBDelete.js
new file mode 100644
index 0000000000000000000000000000000000000000..7857f671302c87c59f3123e3329ff7057a6b0e20
--- /dev/null
+++ b/entity/Task_entity/recordcontainers/db/onDBDelete.js
@@ -0,0 +1,9 @@
+import("system.vars");
+import("system.db");
+import("Sql_lib");
+
+var condition = SqlCondition.begin()
+    .andPrepareVars("TASKLINK.TASK_ID", "$field.TASKID");
+
+db.deleteData("TASKLINK", condition.build("1=2"));
+
diff --git a/entity/Task_entity/recordcontainers/db/onDBInsert.js b/entity/Task_entity/recordcontainers/db/onDBInsert.js
deleted file mode 100644
index 333d4d3ca97769c16660a9c6fa7459e28669b98e..0000000000000000000000000000000000000000
--- a/entity/Task_entity/recordcontainers/db/onDBInsert.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import("system.vars");
-import("system.util");
-import("system.db");
-
-if (vars.exists("$param.ObjectType_param") && vars.exists("$param.RowId_param") && vars.get("$param.ObjectType_param") && vars.get("$param.RowId_param"))
-    db.insertData("AB_OBJECTRELATION", ["AB_OBJECTRELATIONID", "OBJECT1_TYPE", "OBJECT1_ROWID", "OBJECT2_TYPE", "OBJECT2_ROWID"], null,
-                    [
-                        util.getNewUUID(),
-                        vars.get("$param.ObjectType_param"),
-                        vars.get("$param.RowId_param"),
-                        "Task",
-                        vars.get("$field.TASKID")
-                    ]);
\ No newline at end of file
diff --git a/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js b/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js
new file mode 100644
index 0000000000000000000000000000000000000000..4666f5143991d0e7ade783064a6094470f7f397e
--- /dev/null
+++ b/entity/Task_entity/recordcontainers/db/recordfieldmappings/progress.displayvalue/expression.js
@@ -0,0 +1,6 @@
+import("system.result");
+import("Keyword_lib");
+import("KeywordRegistry_basic");
+
+var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.taskProgress(), "TASK.PROGRESS");
+result.string(sql);
\ No newline at end of file
diff --git a/entity/Turnover_entity/Turnover_entity.aod b/entity/Turnover_entity/Turnover_entity.aod
index 0fdd436343368d07d8afa194e2b9e02d1e5f5525..ef2ca815299e3cf054a9ca866278907c4264adc0 100644
--- a/entity/Turnover_entity/Turnover_entity.aod
+++ b/entity/Turnover_entity/Turnover_entity.aod
@@ -51,7 +51,7 @@
       <description>PARAMETER</description>
     </entityParameter>
     <entityProvider>
-      <name>FilteredTurnover</name>
+      <name>FilteredTurnovers</name>
       <fieldType>DEPENDENCY_IN</fieldType>
       <children>
         <entityParameter>
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 333f1811e09074b643c328dc1f265387f295e881..128002a25d9fa6533e606f4c20dc14465c18ba57 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -682,7 +682,7 @@
       <key>Standard / Individual</key>
     </entry>
     <entry>
-      <key>Please update the forecast.</key>
+      <key>Please update the ${FORECAST_ENGLISH}.</key>
     </entry>
     <entry>
       <key>no Project planned</key>
@@ -2491,7 +2491,7 @@
       <key>member</key>
     </entry>
     <entry>
-      <key>promotion target by</key>
+      <key>promotion target of</key>
     </entry>
     <entry>
       <key>supports</key>
@@ -2556,6 +2556,52 @@
     <entry>
       <key>New attribute</key>
     </entry>
+    <entry>
+      <key>MQC</key>
+    </entry>
+    <entry>
+      <key>Relation type</key>
+    </entry>
+    <entry>
+      <key>History</key>
+    </entry>
+    <entry>
+      <key>Progress</key>
+    </entry>
+    <entry>
+      <key>Module</key>
+    </entry>
+    <entry>
+      <key>7 days net</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>carriage free</key>
+    </entry>
+    <entry>
+      <key>Delivery terms</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>8 days 2% discount, 30 days net</key>
+      <value></value>
+    </entry>
+    <entry>
+      <key>CIF</key>
+    </entry>
+    <entry>
+      <key>ex works</key>
+    </entry>
+    <entry>
+      <key>Relation</key>
+    </entry>
+    <entry>
+      <key>Payment terms</key>
+    </entry>
+    <entry>
+      <key>30 days net</key>
+      <value></value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
@@ -2568,9 +2614,8 @@ union
 select AB_LANGUAGE.NAME_LATIN from AB_LANGUAGE
 union
 select AB_COUNTRYINFO.NAME_LATIN from AB_COUNTRYINFO
-union -- Object1Title and Object2Title for Keyword-Container ObjectRelationType
-select CHAR_VALUE from AB_KEYWORD_ATTRIBUTERELATION
-where AB_KEYWORD_ATTRIBUTE_ID in (&amp;apos;6f81d079-d404-4bda-a7c7-b830ed3d80d5&amp;apos;, &amp;apos;e8c85be3-1acb-45f6-aeea-726ba5811ab8&amp;apos;)</element>
+union
+select AB_OBJECTRELATIONTYPE.RELATION_TITLE from AB_OBJECTRELATIONTYPE</element>
       </statements>
     </languageSql>
   </sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 794fae92df857eaf46e2004a40ebb66f230e07fb..f560f4c32cf8506aed672627ecd5725d913e1867 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -156,7 +156,6 @@
     </entry>
     <entry>
       <key>[%0]the given keyword \&amp;quot;%1\&amp;quot; has no match with the possible keywordlist</key>
-      <value></value>
     </entry>
     <entry>
       <key>Activities</key>
@@ -200,7 +199,6 @@
     </entry>
     <entry>
       <key>the param \&amp;quot;%0\&amp;quot; in \&amp;quot;%1\&amp;quot; is mandatory and has to be set</key>
-      <value></value>
     </entry>
     <entry>
       <key>Address</key>
@@ -312,7 +310,7 @@
     </entry>
     <entry>
       <key>District</key>
-      <value></value>
+      <value>Kreis</value>
     </entry>
     <entry>
       <key>Companies</key>
@@ -367,6 +365,7 @@
     </entry>
     <entry>
       <key>yyyyMMdd</key>
+      <value>yyyyMMdd</value>
     </entry>
     <entry>
       <key>standard address</key>
@@ -719,6 +718,7 @@
     </entry>
     <entry>
       <key>75 %</key>
+      <value></value>
     </entry>
     <entry>
       <key>100 %</key>
@@ -866,6 +866,7 @@
     </entry>
     <entry>
       <key>Waiting for requirements</key>
+      <value>Warten auf Anforderungen</value>
     </entry>
     <entry>
       <key>Parent</key>
@@ -1054,6 +1055,7 @@
     </entry>
     <entry>
       <key>High price strategy</key>
+      <value>Hochpreisstrategie</value>
     </entry>
     <entry>
       <key>Weakness</key>
@@ -1065,13 +1067,13 @@
     </entry>
     <entry>
       <key>Low price strategy</key>
+      <value>Niedrigpreisstrategie</value>
     </entry>
     <entry>
       <key>Uid</key>
     </entry>
     <entry>
       <key>in 6 Months</key>
-      <value></value>
     </entry>
     <entry>
       <key>Sent offers</key>
@@ -1127,9 +1129,11 @@
     </entry>
     <entry>
       <key>Organisation</key>
+      <value>Organisation</value>
     </entry>
     <entry>
       <key>Base</key>
+      <value>Base</value>
     </entry>
     <entry>
       <key>Receipts</key>
@@ -1162,7 +1166,8 @@
       <key>Standard / Individual</key>
     </entry>
     <entry>
-      <key>Please update the forecast.</key>
+      <key>Please update the ${FORECAST_ENGLISH}.</key>
+      <value>Bitte den Forecast überprüfen.</value>
     </entry>
     <entry>
       <key>Industry</key>
@@ -1177,13 +1182,15 @@
     </entry>
     <entry>
       <key>Strength 3</key>
+      <value>Stärke 3</value>
     </entry>
     <entry>
       <key>Strength 1</key>
-      <value></value>
+      <value>Stärke 1</value>
     </entry>
     <entry>
       <key>Strength 2</key>
+      <value>Stärke 2</value>
     </entry>
     <entry>
       <key>Value</key>
@@ -1191,15 +1198,19 @@
     </entry>
     <entry>
       <key>Weakness 1</key>
+      <value>Schwäche 1</value>
     </entry>
     <entry>
       <key>Weakness 2</key>
+      <value>Schwäche 2</value>
     </entry>
     <entry>
       <key>Weakness 3</key>
+      <value>Schwäche 3</value>
     </entry>
     <entry>
       <key>Projectstart</key>
+      <value>Projektstart</value>
     </entry>
     <entry>
       <key>no standard email office</key>
@@ -1244,6 +1255,10 @@
       <key>Put Reciever Into To</key>
       <value>Bitte einen Adressat in &amp;apos;to&amp;apos; eintragen!</value>
     </entry>
+    <entry>
+      <key>History</key>
+      <value>Verlauf</value>
+    </entry>
     <entry>
       <key>Total</key>
       <value>Gesamt</value>
@@ -1254,6 +1269,7 @@
     </entry>
     <entry>
       <key>Native Name</key>
+      <value>Geburtsname</value>
     </entry>
     <entry>
       <key>Rabatt</key>
@@ -1283,7 +1299,7 @@
     </entry>
     <entry>
       <key>dd.MM.yyyy</key>
-      <value></value>
+      <value>dd.MM.yyyy</value>
     </entry>
     <entry>
       <key>Articledescription</key>
@@ -1308,9 +1324,11 @@
     </entry>
     <entry>
       <key>Latin Name</key>
+      <value>Lateinischer Name</value>
     </entry>
     <entry>
       <key>Organisation name</key>
+      <value>Name der Organisation</value>
     </entry>
     <entry>
       <key>Connection</key>
@@ -1338,6 +1356,7 @@
     </entry>
     <entry>
       <key>Price Politics</key>
+      <value>Preispolitik</value>
     </entry>
     <entry>
       <key>Further informations</key>
@@ -1349,9 +1368,11 @@
     </entry>
     <entry>
       <key>Social</key>
+      <value>Sozial</value>
     </entry>
     <entry>
       <key>Facebook Feed</key>
+      <value>Facebook Feed</value>
     </entry>
     <entry>
       <key>Group1</key>
@@ -1361,6 +1382,7 @@
     </entry>
     <entry>
       <key>Details</key>
+      <value>Details</value>
     </entry>
     <entry>
       <key>Prices</key>
@@ -1368,6 +1390,7 @@
     </entry>
     <entry>
       <key>Twitter</key>
+      <value>Twitter</value>
     </entry>
     <entry>
       <key>Connections</key>
@@ -1383,6 +1406,7 @@
     </entry>
     <entry>
       <key>Facebook</key>
+      <value>Facebook</value>
     </entry>
     <entry>
       <key>Creation date</key>
@@ -1394,7 +1418,7 @@
     </entry>
     <entry>
       <key>New receipt version</key>
-      <value></value>
+      <value>Neue Quittungsversion</value>
     </entry>
     <entry>
       <key>Orderitems</key>
@@ -1406,10 +1430,10 @@
     </entry>
     <entry>
       <key>Copy receipt</key>
+      <value>Beleg kopieren</value>
     </entry>
     <entry>
       <key>Orderitem</key>
-      <value></value>
     </entry>
     <entry>
       <key>The order number already exists!</key>
@@ -1446,9 +1470,11 @@
     </entry>
     <entry>
       <key>Twitter Feed</key>
+      <value>Twitter Feed</value>
     </entry>
     <entry>
       <key>November</key>
+      <value>November</value>
     </entry>
     <entry>
       <key>December</key>
@@ -1472,6 +1498,7 @@
     </entry>
     <entry>
       <key>September</key>
+      <value>September</value>
     </entry>
     <entry>
       <key>August</key>
@@ -1488,18 +1515,6 @@
     <entry>
       <key>asdf</key>
     </entry>
-    <entry>
-      <key>Dateityp</key>
-    </entry>
-    <entry>
-      <key>Datei</key>
-    </entry>
-    <entry>
-      <key>Dateiname</key>
-    </entry>
-    <entry>
-      <key>Dateigröße</key>
-    </entry>
     <entry>
       <key>maturity date</key>
       <value>Fälligkeitsdatum</value>
@@ -1534,7 +1549,7 @@
     </entry>
     <entry>
       <key>priority</key>
-      <value>Piorität</value>
+      <value>Priorität</value>
     </entry>
     <entry>
       <key>{$TASK_EDITOR}</key>
@@ -1609,9 +1624,6 @@
     <entry>
       <key>Ihr zuständiger Betreuer:</key>
     </entry>
-    <entry>
-      <key>Datum</key>
-    </entry>
     <entry>
       <key>Termin</key>
     </entry>
@@ -1630,6 +1642,7 @@
     </entry>
     <entry>
       <key>details</key>
+      <value>details</value>
     </entry>
     <entry>
       <key>Kundenstammblatt</key>
@@ -1639,6 +1652,7 @@
     </entry>
     <entry>
       <key>Detail</key>
+      <value>Detail</value>
     </entry>
     <entry>
       <key>Object 2</key>
@@ -1650,9 +1664,11 @@
     </entry>
     <entry>
       <key>Type 2</key>
+      <value>Typ 2</value>
     </entry>
     <entry>
       <key>Type 1</key>
+      <value>Typ 1</value>
     </entry>
     <entry>
       <key>Relations</key>
@@ -1672,7 +1688,7 @@
     </entry>
     <entry>
       <key>Attribute Relation</key>
-      <value></value>
+      <value>Attributbeziehung</value>
     </entry>
     <entry>
       <key>My Dashboard</key>
@@ -1684,6 +1700,7 @@
     </entry>
     <entry>
       <key>Attribute Usage</key>
+      <value>Attributverwendung</value>
     </entry>
     <entry>
       <key>Beziehung</key>
@@ -1706,6 +1723,7 @@
     </entry>
     <entry>
       <key>Administration</key>
+      <value>Administration</value>
     </entry>
     <entry>
       <key>Keyword</key>
@@ -1726,6 +1744,7 @@
     </entry>
     <entry>
       <key>Cambodia</key>
+      <value>Kambodscha</value>
     </entry>
     <entry>
       <key>Resigned</key>
@@ -1741,6 +1760,7 @@
     </entry>
     <entry>
       <key>Paraguay</key>
+      <value>Paraguay</value>
     </entry>
     <entry>
       <key>New attribute</key>
@@ -1748,54 +1768,71 @@
     </entry>
     <entry>
       <key>Solomon Islands</key>
+      <value>Salomon-Inseln</value>
     </entry>
     <entry>
       <key>Montserrat</key>
+      <value>Montserrat</value>
     </entry>
     <entry>
       <key>Guadeloupe</key>
+      <value>Guadeloupe</value>
     </entry>
     <entry>
       <key>Product_technic</key>
+      <value>Produkt_Technik</value>
     </entry>
     <entry>
       <key>Moldova (Republic of)</key>
+      <value>Republik Moldau</value>
     </entry>
     <entry>
       <key>Seychelles</key>
+      <value>Seychellen</value>
     </entry>
     <entry>
       <key>Canadian dollar</key>
+      <value>Kanadischer Dollar</value>
     </entry>
     <entry>
       <key>Bahrain</key>
+      <value>Bahrain</value>
     </entry>
     <entry>
       <key>Comoros</key>
+      <value>Komoren</value>
     </entry>
     <entry>
       <key>Faroe Islands</key>
+      <value>Färöer Inseln</value>
     </entry>
     <entry>
       <key>Finland</key>
+      <value>Finnland</value>
     </entry>
     <entry>
       <key>Project_duration</key>
+      <value>Projekt_Dauer</value>
     </entry>
     <entry>
       <key>Company_internationality</key>
+      <value>Unternehmen_Internationalität</value>
     </entry>
     <entry>
       <key>Eritrea</key>
+      <value>Eritrea</value>
     </entry>
     <entry>
       <key>Puerto Rico</key>
+      <value>Puerto Rico</value>
     </entry>
     <entry>
       <key>Viet Nam</key>
+      <value>Vietnam</value>
     </entry>
     <entry>
       <key>Libya</key>
+      <value>Libyen</value>
     </entry>
     <entry>
       <key>French</key>
@@ -1803,30 +1840,39 @@
     </entry>
     <entry>
       <key>Cocos (Keeling) Islands</key>
+      <value>Kokosinseln (Keelinginseln)</value>
     </entry>
     <entry>
       <key>Saint Helena, Ascension and Tristan da Cunha</key>
+      <value>St. Helena, Himmelfahrt und Tristan da Cunha</value>
     </entry>
     <entry>
       <key>Liechtenstein</key>
+      <value>Liechtenstein</value>
     </entry>
     <entry>
       <key>Product_functionality</key>
+      <value>Produkt_Funktionalität</value>
     </entry>
     <entry>
       <key>Bulgaria</key>
+      <value>Bulgarien</value>
     </entry>
     <entry>
       <key>Jordan</key>
+      <value>Jordan</value>
     </entry>
     <entry>
       <key>Côte d&amp;apos;Ivoire</key>
+      <value>Elfenbeinküste</value>
     </entry>
     <entry>
       <key>United Arab Emirates</key>
+      <value>Vereinigte Arabische Emirate</value>
     </entry>
     <entry>
       <key>Kenya</key>
+      <value>Kenia</value>
     </entry>
     <entry>
       <key>None, individual count</key>
@@ -1834,42 +1880,55 @@
     </entry>
     <entry>
       <key>French Polynesia</key>
+      <value>Französisch Polynesien</value>
     </entry>
     <entry>
       <key>Djibouti</key>
+      <value>Dschibuti</value>
     </entry>
     <entry>
       <key>Cuba</key>
+      <value>Kuba</value>
     </entry>
     <entry>
       <key>Saint Lucia</key>
+      <value>St. Lucia</value>
     </entry>
     <entry>
       <key>Mayotte</key>
+      <value>Mayotte</value>
     </entry>
     <entry>
       <key>Israel</key>
+      <value>Israel</value>
     </entry>
     <entry>
       <key>San Marino</key>
+      <value>San Marino</value>
     </entry>
     <entry>
       <key>Tajikistan</key>
+      <value>Tadschikistan</value>
     </entry>
     <entry>
       <key>Warehouse 2</key>
+      <value>Lager 2</value>
     </entry>
     <entry>
       <key>Warehouse 1</key>
+      <value>Lager 1</value>
     </entry>
     <entry>
       <key>Gibraltar</key>
+      <value>Gibraltar</value>
     </entry>
     <entry>
       <key>Warehouse 3</key>
+      <value>Lager 3</value>
     </entry>
     <entry>
       <key>Cyprus</key>
+      <value>Zypern</value>
     </entry>
     <entry>
       <key>Semiannually</key>
@@ -1877,33 +1936,43 @@
     </entry>
     <entry>
       <key>Northern Mariana Islands</key>
+      <value>Nördliche Marianneninseln</value>
     </entry>
     <entry>
       <key>Malaysia</key>
+      <value>Malaysia</value>
     </entry>
     <entry>
       <key>Armenia</key>
+      <value>Armenien</value>
     </entry>
     <entry>
       <key>Brazil</key>
+      <value>Brasilien</value>
     </entry>
     <entry>
       <key>Turks and Caicos Islands</key>
+      <value>Turks- und Caicosinseln</value>
     </entry>
     <entry>
       <key>Cabo Verde</key>
+      <value>Cabo Verde</value>
     </entry>
     <entry>
       <key>Ecuador</key>
+      <value>Ecuador</value>
     </entry>
     <entry>
       <key>Iran (Islamic Republic of)</key>
+      <value>Iran (Islamische Republik)</value>
     </entry>
     <entry>
       <key>Decision maker</key>
+      <value>Entscheider</value>
     </entry>
     <entry>
       <key>Lao People&amp;apos;s Democratic Republic</key>
+      <value>Demokratische Volksrepublik Laos</value>
     </entry>
     <entry>
       <key>Maintenance contract</key>
@@ -1911,9 +1980,11 @@
     </entry>
     <entry>
       <key>United States Minor Outlying Islands</key>
+      <value>Kleinere abgelegene Inseln der Vereinigten Staaten</value>
     </entry>
     <entry>
       <key>Italy</key>
+      <value>Italien</value>
     </entry>
     <entry>
       <key>${ORGTYPE_OTHER}</key>
@@ -1921,12 +1992,15 @@
     </entry>
     <entry>
       <key>Haiti</key>
+      <value>Haiti</value>
     </entry>
     <entry>
       <key>Afghanistan</key>
+      <value>Afghanistan</value>
     </entry>
     <entry>
       <key>Russian Federation</key>
+      <value>Russische Föderation</value>
     </entry>
     <entry>
       <key>waiting</key>
@@ -1934,12 +2008,15 @@
     </entry>
     <entry>
       <key>American Samoa</key>
+      <value>Amerikanischen Samoa-Inseln</value>
     </entry>
     <entry>
       <key>Korea (Democratic People&amp;apos;s Republic of)</key>
+      <value>Korea, Demokratische Volksrepublik)</value>
     </entry>
     <entry>
       <key>United States dollar</key>
+      <value>US-Dollar</value>
     </entry>
     <entry>
       <key>Superordinate Attribute</key>
@@ -1947,45 +2024,59 @@
     </entry>
     <entry>
       <key>Kyrgyzstan</key>
+      <value>Kirgisistan</value>
     </entry>
     <entry>
       <key>Togo</key>
+      <value>Togo</value>
     </entry>
     <entry>
       <key>Other_existing Customer</key>
+      <value>Sonstiges_Bestandskunde</value>
     </entry>
     <entry>
       <key>Uzbekistan</key>
+      <value>Usbekistan</value>
     </entry>
     <entry>
       <key>Dominica</key>
+      <value>Dominica</value>
     </entry>
     <entry>
       <key>Benin</key>
+      <value>Benin</value>
     </entry>
     <entry>
       <key>Virgin Islands (British)</key>
+      <value>Virgin Inseln, Britisch)</value>
     </entry>
     <entry>
       <key>Sudan</key>
+      <value>Sudan</value>
     </entry>
     <entry>
       <key>Portugal</key>
+      <value>Portugal</value>
     </entry>
     <entry>
       <key>Grenada</key>
+      <value>Grenada</value>
     </entry>
     <entry>
       <key>Latvia</key>
+      <value>Lettland</value>
     </entry>
     <entry>
       <key>Mongolia</key>
+      <value>Mongolei</value>
     </entry>
     <entry>
       <key>Morocco</key>
+      <value>Marokko</value>
     </entry>
     <entry>
       <key>Guatemala</key>
+      <value>Guatemala</value>
     </entry>
     <entry>
       <key>Pieces</key>
@@ -1993,6 +2084,7 @@
     </entry>
     <entry>
       <key>Heard Island and McDonald Islands</key>
+      <value>Heard Island und McDonald Islands</value>
     </entry>
     <entry>
       <key>Incoming</key>
@@ -2000,18 +2092,23 @@
     </entry>
     <entry>
       <key>Ghana</key>
+      <value>Ghana</value>
     </entry>
     <entry>
       <key>Holy See</key>
+      <value>Heiliger Stuhl</value>
     </entry>
     <entry>
       <key>India</key>
+      <value>Indien</value>
     </entry>
     <entry>
       <key>Canada</key>
+      <value>Kanada</value>
     </entry>
     <entry>
       <key>Maldives</key>
+      <value>Malediven</value>
     </entry>
     <entry>
       <key>Service contract</key>
@@ -2019,33 +2116,43 @@
     </entry>
     <entry>
       <key>Taiwan</key>
+      <value>Taiwan</value>
     </entry>
     <entry>
       <key>Central African Republic</key>
+      <value>Zentralafrikanische Republik</value>
     </entry>
     <entry>
       <key>Fiji</key>
+      <value>Fidschi</value>
     </entry>
     <entry>
       <key>Guinea</key>
+      <value>Guinea</value>
     </entry>
     <entry>
       <key>Somalia</key>
+      <value>Somalia</value>
     </entry>
     <entry>
       <key>Sao Tome and Principe</key>
+      <value>Sao Tome und Principe</value>
     </entry>
     <entry>
       <key>United Kingdom of Great Britain and Northern Ireland</key>
+      <value>Vereinigtes Königreich Großbritannien und Nordirland</value>
     </entry>
     <entry>
       <key>Equatorial Guinea</key>
+      <value>Äquatorialguinea</value>
     </entry>
     <entry>
       <key>Kiribati</key>
+      <value>Kiribati</value>
     </entry>
     <entry>
       <key>Costa Rica</key>
+      <value>Costa Rica</value>
     </entry>
     <entry>
       <key>Supplier</key>
@@ -2053,24 +2160,31 @@
     </entry>
     <entry>
       <key>Nigeria</key>
+      <value>Nigeria</value>
     </entry>
     <entry>
       <key>Syrian Arab Republic</key>
+      <value>Syrische Arabische Republik</value>
     </entry>
     <entry>
       <key>Timor-Leste</key>
+      <value>Timor-Leste</value>
     </entry>
     <entry>
       <key>Product_mobile use</key>
+      <value>Produkt_Mobiler Einsatz</value>
     </entry>
     <entry>
       <key>Samoa</key>
+      <value>Samoa</value>
     </entry>
     <entry>
       <key>Spain</key>
+      <value>Spanien</value>
     </entry>
     <entry>
       <key>Palau</key>
+      <value>Palau</value>
     </entry>
     <entry>
       <key>Prospect</key>
@@ -2078,6 +2192,7 @@
     </entry>
     <entry>
       <key>Estonia</key>
+      <value>Estland</value>
     </entry>
     <entry>
       <key>Not signed yet</key>
@@ -2085,24 +2200,31 @@
     </entry>
     <entry>
       <key>Niue</key>
+      <value>Niue</value>
     </entry>
     <entry>
       <key>Mozambique</key>
+      <value>Mosambik</value>
     </entry>
     <entry>
       <key>El Salvador</key>
+      <value>El Salvador</value>
     </entry>
     <entry>
       <key>Guam</key>
+      <value>Guam</value>
     </entry>
     <entry>
       <key>Lesotho</key>
+      <value>Lesotho</value>
     </entry>
     <entry>
       <key>Tonga</key>
+      <value>Tonga</value>
     </entry>
     <entry>
       <key>Western Sahara</key>
+      <value>Westsahara</value>
     </entry>
     <entry>
       <key>new</key>
@@ -2110,39 +2232,55 @@
     </entry>
     <entry>
       <key>Adviser</key>
+      <value>Berater</value>
     </entry>
     <entry>
       <key>Company_size</key>
+      <value>Unternehmen_Größe</value>
     </entry>
     <entry>
       <key>Republic of Kosovo</key>
+      <value>Republik Kosovo</value>
     </entry>
     <entry>
       <key>South Sudan</key>
+      <value>Südsudan</value>
     </entry>
     <entry>
       <key>Mauritius</key>
+      <value>Mauritius</value>
     </entry>
     <entry>
       <key>Bouvet Island</key>
+      <value>Bouvet Island</value>
     </entry>
     <entry>
       <key>Bolivia (Plurinational State of)</key>
+      <value>Bolivien (plurinationaler Staat)</value>
     </entry>
     <entry>
       <key>Norfolk Island</key>
+      <value>Norfolkinsel</value>
     </entry>
     <entry>
       <key>Sint Maarten (Dutch part)</key>
+      <value>Sint Maarten (niederländischer Teil)</value>
     </entry>
     <entry>
       <key>Micronesia (Federated States of)</key>
+      <value>Mikronesien (Föderierte Staaten von)</value>
     </entry>
     <entry>
       <key>Product_industry knowhow</key>
+      <value>Produkt_Branchen KnowHow</value>
+    </entry>
+    <entry>
+      <key>Progress</key>
+      <value>Fortschritt</value>
     </entry>
     <entry>
       <key>United States of America</key>
+      <value>Vereinigte Staaten von Amerika</value>
     </entry>
     <entry>
       <key>In review</key>
@@ -2150,15 +2288,19 @@
     </entry>
     <entry>
       <key>Address purchase</key>
+      <value>Adresserwerb</value>
     </entry>
     <entry>
       <key>Malta</key>
+      <value>Malta</value>
     </entry>
     <entry>
       <key>Project_volume</key>
+      <value>Projekt_Volumen</value>
     </entry>
     <entry>
       <key>Ireland</key>
+      <value>Irland</value>
     </entry>
     <entry>
       <key>Inactive</key>
@@ -2166,12 +2308,15 @@
     </entry>
     <entry>
       <key>France</key>
+      <value>Frankreich</value>
     </entry>
     <entry>
       <key>Lithuania</key>
+      <value>Litauen</value>
     </entry>
     <entry>
       <key>Korea (Republic of)</key>
+      <value>Korea (Republik)</value>
     </entry>
     <entry>
       <key>${PRICELIST_SERVICE}</key>
@@ -2183,84 +2328,111 @@
     </entry>
     <entry>
       <key>Nicaragua</key>
+      <value>Nicaragua</value>
     </entry>
     <entry>
       <key>Macao</key>
+      <value>Macao</value>
     </entry>
     <entry>
       <key>Mexico</key>
+      <value>Mexiko</value>
     </entry>
     <entry>
       <key>Uganda</key>
+      <value>Uganda</value>
     </entry>
     <entry>
       <key>Suriname</key>
+      <value>Suriname</value>
     </entry>
     <entry>
       <key>Greenland</key>
+      <value>Grönland</value>
     </entry>
     <entry>
       <key>Papua New Guinea</key>
+      <value>Papua Neu-Guinea</value>
     </entry>
     <entry>
       <key>Kazakhstan</key>
+      <value>Kasachstan</value>
     </entry>
     <entry>
       <key>Ã…land Islands</key>
+      <value>Ã…landinseln</value>
     </entry>
     <entry>
       <key>Bahamas</key>
+      <value>Bahamas</value>
     </entry>
     <entry>
       <key>Mali</key>
+      <value>Mali</value>
     </entry>
     <entry>
       <key>Marshall Islands</key>
+      <value>Marshallinseln</value>
     </entry>
     <entry>
       <key>Panama</key>
+      <value>Panama</value>
     </entry>
     <entry>
       <key>Bonaire, Sint Eustatius and Saba</key>
+      <value>Bonaire, Sint Eustatius und Saba</value>
     </entry>
     <entry>
       <key>Tanzania, United Republic of</key>
+      <value>Tansania, Vereinigte Republik</value>
     </entry>
     <entry>
       <key>Argentina</key>
+      <value>Argentinien</value>
     </entry>
     <entry>
       <key>Belize</key>
+      <value>Belize</value>
     </entry>
     <entry>
       <key>Zambia</key>
+      <value>Sambia</value>
     </entry>
     <entry>
       <key>Congo</key>
+      <value>Kongo</value>
     </entry>
     <entry>
       <key>Guinea-Bissau</key>
+      <value>Guinea-Bissau</value>
     </entry>
     <entry>
       <key>Namibia</key>
+      <value>Namibia</value>
     </entry>
     <entry>
       <key>External sales manager</key>
+      <value>Externer Verkaufsleiter</value>
     </entry>
     <entry>
       <key>Georgia</key>
+      <value>Georgia</value>
     </entry>
     <entry>
       <key>Saint Kitts and Nevis</key>
+      <value>St. Kitts und Nevis</value>
     </entry>
     <entry>
       <key>Yemen</key>
+      <value>Jemen</value>
     </entry>
     <entry>
       <key>Aruba</key>
+      <value>Aruba</value>
     </entry>
     <entry>
       <key>Madagascar</key>
+      <value>Madagaskar</value>
     </entry>
     <entry>
       <key>Valid, unlimited</key>
@@ -2268,42 +2440,55 @@
     </entry>
     <entry>
       <key>Svalbard and Jan Mayen</key>
+      <value>Svalbard und Jan Mayen</value>
     </entry>
     <entry>
       <key>South Georgia and the South Sandwich Islands</key>
+      <value>Süd-Georgien und die südlichen Sandwich-Inseln</value>
     </entry>
     <entry>
       <key>Sweden</key>
+      <value>Schweden</value>
     </entry>
     <entry>
       <key>Malawi</key>
+      <value>Malawi</value>
     </entry>
     <entry>
       <key>Andorra</key>
+      <value>Andorra</value>
     </entry>
     <entry>
       <key>Poland</key>
+      <value>Polen</value>
     </entry>
     <entry>
       <key>Tunisia</key>
+      <value>Tunesien</value>
     </entry>
     <entry>
       <key>Tuvalu</key>
+      <value>Tuvalu</value>
     </entry>
     <entry>
       <key>Lebanon</key>
+      <value>Libanon</value>
     </entry>
     <entry>
       <key>Azerbaijan</key>
+      <value>Aserbaidschan</value>
     </entry>
     <entry>
       <key>Czech Republic</key>
+      <value>Tschechische Republik</value>
     </entry>
     <entry>
       <key>Mauritania</key>
+      <value>Mauretanien</value>
     </entry>
     <entry>
       <key>Guernsey</key>
+      <value>Guernsey</value>
     </entry>
     <entry>
       <key>Kgs</key>
@@ -2311,36 +2496,47 @@
     </entry>
     <entry>
       <key>Australia</key>
+      <value>Australien</value>
     </entry>
     <entry>
       <key>Myanmar</key>
+      <value>Myanmar</value>
     </entry>
     <entry>
       <key>Cameroon</key>
+      <value>Kamerun</value>
     </entry>
     <entry>
       <key>Iceland</key>
+      <value>Island</value>
     </entry>
     <entry>
       <key>Oman</key>
+      <value>Oman</value>
     </entry>
     <entry>
       <key>Gabon</key>
+      <value>Gabun</value>
     </entry>
     <entry>
       <key>Luxembourg</key>
+      <value>Luxemburg</value>
     </entry>
     <entry>
       <key>Algeria</key>
+      <value>Algerien</value>
     </entry>
     <entry>
       <key>Jersey</key>
+      <value>Jersey</value>
     </entry>
     <entry>
       <key>Slovenia</key>
+      <value>Slowenien</value>
     </entry>
     <entry>
       <key>Antigua and Barbuda</key>
+      <value>Antigua und Barbuda</value>
     </entry>
     <entry>
       <key>Annually</key>
@@ -2348,12 +2544,15 @@
     </entry>
     <entry>
       <key>Colombia</key>
+      <value>Kolumbien</value>
     </entry>
     <entry>
       <key>Project_reference</key>
+      <value>Projekt_Referenz</value>
     </entry>
     <entry>
       <key>Vanuatu</key>
+      <value>Vanuatu</value>
     </entry>
     <entry>
       <key>Valid, limited</key>
@@ -2361,24 +2560,31 @@
     </entry>
     <entry>
       <key>Honduras</key>
+      <value>Honduras</value>
     </entry>
     <entry>
       <key>Antarctica</key>
+      <value>Antarktis</value>
     </entry>
     <entry>
       <key>Nauru</key>
+      <value>Nauru</value>
     </entry>
     <entry>
       <key>Burundi</key>
+      <value>Burundi</value>
     </entry>
     <entry>
       <key>Project manager</key>
+      <value>Projektmanager</value>
     </entry>
     <entry>
       <key>Singapore</key>
+      <value>Singapur</value>
     </entry>
     <entry>
       <key>French Guiana</key>
+      <value>Französisch-Guayana</value>
     </entry>
     <entry>
       <key>Hours</key>
@@ -2390,48 +2596,63 @@
     </entry>
     <entry>
       <key>Christmas Island</key>
+      <value>Weihnachtsinsel</value>
     </entry>
     <entry>
       <key>Netherlands</key>
+      <value>Niederlande</value>
     </entry>
     <entry>
       <key>Product_flexibility</key>
+      <value>Produkt_Flexibilität</value>
     </entry>
     <entry>
       <key>China</key>
+      <value>China</value>
     </entry>
     <entry>
       <key>Martinique</key>
+      <value>Martinique</value>
     </entry>
     <entry>
       <key>Own website</key>
+      <value>Eigene Website</value>
     </entry>
     <entry>
       <key>Saint Pierre and Miquelon</key>
+      <value>Saint Pierre und Miquelon</value>
     </entry>
     <entry>
       <key>Bhutan</key>
+      <value>Bhutan</value>
     </entry>
     <entry>
       <key>Romania</key>
+      <value>Rumänien</value>
     </entry>
     <entry>
       <key>Falkland Islands (Malvinas)</key>
+      <value>Falklandinseln (Malvinas)</value>
     </entry>
     <entry>
       <key>Philippines</key>
+      <value>Philippinen</value>
     </entry>
     <entry>
       <key>Pitcairn</key>
+      <value>Pitcairn</value>
     </entry>
     <entry>
       <key>Zimbabwe</key>
+      <value>Zimbabwe</value>
     </entry>
     <entry>
       <key>British Indian Ocean Territory</key>
+      <value>Britisches Territorium des Indischen Ozeans</value>
     </entry>
     <entry>
       <key>Montenegro</key>
+      <value>Montenegro</value>
     </entry>
     <entry>
       <key>Quarterly</key>
@@ -2439,9 +2660,15 @@
     </entry>
     <entry>
       <key>Indonesia</key>
+      <value>Indonesien</value>
+    </entry>
+    <entry>
+      <key>Module</key>
+      <value>Modul</value>
     </entry>
     <entry>
       <key>Angola</key>
+      <value>Angola</value>
     </entry>
     <entry>
       <key>Internal</key>
@@ -2449,33 +2676,43 @@
     </entry>
     <entry>
       <key>Brunei Darussalam</key>
+      <value>Brunei Darussalam</value>
     </entry>
     <entry>
       <key>New Caledonia</key>
+      <value>Neu-Kaledonien</value>
     </entry>
     <entry>
       <key>Cayman Islands</key>
+      <value>Cayman Inseln</value>
     </entry>
     <entry>
       <key>Congo (Democratic Republic of the)</key>
+      <value>Kongo (Demokratische Republik)</value>
     </entry>
     <entry>
       <key>Greece</key>
+      <value>Griechenland</value>
     </entry>
     <entry>
       <key>Guyana</key>
+      <value>Guyana</value>
     </entry>
     <entry>
       <key>Project assistant</key>
+      <value>Projektassistent</value>
     </entry>
     <entry>
       <key>Iraq</key>
+      <value>Irak</value>
     </entry>
     <entry>
       <key>Chile</key>
+      <value>Chile</value>
     </entry>
     <entry>
       <key>Nepal</key>
+      <value>Nepal</value>
     </entry>
     <entry>
       <key>${PRICELIST_DEFAULT}</key>
@@ -2483,27 +2720,35 @@
     </entry>
     <entry>
       <key>Customer recommendation</key>
+      <value>Kundenempfehlung</value>
     </entry>
     <entry>
       <key>Other_unknown</key>
+      <value>Sonstiges_Unbekannt</value>
     </entry>
     <entry>
       <key>Isle of Man</key>
+      <value>Isle of Man</value>
     </entry>
     <entry>
       <key>Ukraine</key>
+      <value>Ukraine</value>
     </entry>
     <entry>
       <key>Curaçao</key>
+      <value>Curacao</value>
     </entry>
     <entry>
       <key>Anguilla</key>
+      <value>Anguilla</value>
     </entry>
     <entry>
       <key>Euro</key>
+      <value>Euro</value>
     </entry>
     <entry>
       <key>Product_GUI</key>
+      <value>Produkt_GUI</value>
     </entry>
     <entry>
       <key>${GENDER_OTHER}</key>
@@ -2515,39 +2760,51 @@
     </entry>
     <entry>
       <key>Turkey</key>
+      <value>Türkei</value>
     </entry>
     <entry>
       <key>Belgium</key>
+      <value>Belgien</value>
     </entry>
     <entry>
       <key>South Africa</key>
+      <value>Südafrika</value>
     </entry>
     <entry>
       <key>Trinidad and Tobago</key>
+      <value>Trinidad und Tobago</value>
     </entry>
     <entry>
       <key>Bermuda</key>
+      <value>Bermuda</value>
     </entry>
     <entry>
       <key>Jamaica</key>
+      <value>Jamaika</value>
     </entry>
     <entry>
       <key>Peru</key>
+      <value>Peru</value>
     </entry>
     <entry>
       <key>Turkmenistan</key>
+      <value>Turkmenistan</value>
     </entry>
     <entry>
       <key>Venezuela (Bolivarian Republic of)</key>
+      <value>Venezuela (Bolivarische Republik)</value>
     </entry>
     <entry>
       <key>Tokelau</key>
+      <value>Tokelau</value>
     </entry>
     <entry>
       <key>Hong Kong</key>
+      <value>Hongkong</value>
     </entry>
     <entry>
       <key>Chad</key>
+      <value>Tschad</value>
     </entry>
     <entry>
       <key>German</key>
@@ -2555,6 +2812,7 @@
     </entry>
     <entry>
       <key>Thailand</key>
+      <value>Thailand</value>
     </entry>
     <entry>
       <key>in process</key>
@@ -2562,39 +2820,51 @@
     </entry>
     <entry>
       <key>Saint Martin (French part)</key>
+      <value>Saint Martin (französischer Teil)</value>
     </entry>
     <entry>
       <key>Kuwait</key>
+      <value>Kuwait</value>
     </entry>
     <entry>
       <key>Palestine, State of</key>
+      <value>Palästina, Bundesstaat</value>
     </entry>
     <entry>
       <key>Croatia</key>
+      <value>Kroatien</value>
     </entry>
     <entry>
       <key>Cook Islands</key>
+      <value>Cookinseln</value>
     </entry>
     <entry>
       <key>Fair</key>
+      <value>Messe</value>
     </entry>
     <entry>
       <key>Sri Lanka</key>
+      <value>Sri Lanka</value>
     </entry>
     <entry>
       <key>Uruguay</key>
+      <value>Uruguay</value>
     </entry>
     <entry>
       <key>Liberia</key>
+      <value>Liberia</value>
     </entry>
     <entry>
       <key>Burkina Faso</key>
+      <value>Burkina Faso</value>
     </entry>
     <entry>
       <key>Swiss franc</key>
+      <value>Schweizerfranken</value>
     </entry>
     <entry>
       <key>Swaziland</key>
+      <value>Swasiland</value>
     </entry>
     <entry>
       <key>ended</key>
@@ -2602,15 +2872,19 @@
     </entry>
     <entry>
       <key>Saint Barthélemy</key>
+      <value>Saint Barthélemy</value>
     </entry>
     <entry>
       <key>Wallis and Futuna</key>
+      <value>Wallis und Futuna</value>
     </entry>
     <entry>
       <key>Company_industry knowhow</key>
+      <value>Unternehmen_Branchen KnowHow</value>
     </entry>
     <entry>
       <key>Monaco</key>
+      <value>Monaco</value>
     </entry>
     <entry>
       <key>Spanish</key>
@@ -2618,63 +2892,78 @@
     </entry>
     <entry>
       <key>Hungary</key>
+      <value>Ungarn</value>
     </entry>
     <entry>
       <key>Réunion</key>
-    </entry>
-    <entry>
-      <key>Japan</key>
+      <value>Réunion</value>
     </entry>
     <entry>
       <key>Belarus</key>
+      <value>Weißrussland</value>
     </entry>
     <entry>
       <key>Albania</key>
+      <value>Albanien</value>
     </entry>
     <entry>
       <key>Internal sales manager</key>
     </entry>
     <entry>
       <key>Virgin Islands (U.S.)</key>
+      <value>Jungferninseln (US)</value>
     </entry>
     <entry>
       <key>New Zealand</key>
+      <value>Neuseeland</value>
     </entry>
     <entry>
       <key>Senegal</key>
+      <value>Senegal</value>
     </entry>
     <entry>
       <key>Ethiopia</key>
+      <value>Äthiopien</value>
     </entry>
     <entry>
       <key>Macedonia (the former Yugoslav Republic of)</key>
+      <value>Mazedonien (ehemalige jugoslawische Republik)</value>
     </entry>
     <entry>
       <key>Egypt</key>
+      <value>Ägypten</value>
     </entry>
     <entry>
       <key>Sierra Leone</key>
+      <value>Sierra Leone</value>
     </entry>
     <entry>
       <key>Saudi Arabia</key>
+      <value>Saudi Arabien</value>
     </entry>
     <entry>
       <key>Pakistan</key>
+      <value>Pakistan</value>
     </entry>
     <entry>
       <key>Gambia</key>
+      <value>Gambia</value>
     </entry>
     <entry>
       <key>Qatar</key>
+      <value>Katar</value>
     </entry>
     <entry>
       <key>Slovakia</key>
+      <value>Slowakei</value>
     </entry>
     <entry>
       <key>Serbia</key>
+      <value>Serbien</value>
     </entry>
     <entry>
       <key>Bosnia and Herzegovina</key>
+      <value>Bosnien und Herzegowina</value>
     </entry>
     <entry>
       <key>Framework contract</key>
@@ -2682,30 +2971,39 @@
     </entry>
     <entry>
       <key>Niger</key>
+      <value>Niger</value>
     </entry>
     <entry>
       <key>Rwanda</key>
+      <value>Ruanda</value>
     </entry>
     <entry>
       <key>French Southern Territories</key>
+      <value>Südfranzösische Territorien</value>
     </entry>
     <entry>
       <key>Bangladesh</key>
+      <value>Bangladesch</value>
     </entry>
     <entry>
       <key>Barbados</key>
+      <value>Barbados</value>
     </entry>
     <entry>
       <key>Botswana</key>
+      <value>Botswana</value>
     </entry>
     <entry>
       <key>Saint Vincent and the Grenadines</key>
+      <value>St. Vincent und die Grenadinen</value>
     </entry>
     <entry>
       <key>Denmark</key>
+      <value>Dänemark</value>
     </entry>
     <entry>
       <key>Dominican Republic</key>
+      <value>Dominikanische Republik</value>
     </entry>
     <entry>
       <key>MAL</key>
@@ -2724,13 +3022,15 @@
     </entry>
     <entry>
       <key>Checkbox</key>
-      <value></value>
+      <value>Checkbox</value>
     </entry>
     <entry>
       <key>Numeric value</key>
+      <value>Zahlenwert</value>
     </entry>
     <entry>
       <key>decline</key>
+      <value>Ablehnen</value>
     </entry>
     <entry>
       <key>Text</key>
@@ -2740,9 +3040,11 @@
     </entry>
     <entry>
       <key>Combobox</key>
+      <value>Combobox</value>
     </entry>
     <entry>
       <key>tentative</key>
+      <value>Vorläufig</value>
     </entry>
     <entry>
       <key>${NUMBER}</key>
@@ -2770,6 +3072,7 @@
     </entry>
     <entry>
       <key>accept</key>
+      <value>akzeptieren</value>
     </entry>
     <entry>
       <key>The ZIP code does not match the format of the country.</key>
@@ -2777,6 +3080,7 @@
     </entry>
     <entry>
       <key>String value</key>
+      <value>String-Wert</value>
     </entry>
     <entry>
       <key>The code number is not a valid number.</key>
@@ -2784,9 +3088,11 @@
     </entry>
     <entry>
       <key>Linkobject</key>
+      <value>Linkobjekt</value>
     </entry>
     <entry>
       <key>Linktype</key>
+      <value>Linktyp</value>
     </entry>
     <entry>
       <key>${SQL_LIB_UNSUPPORTED_DBTYPE} function: %0</key>
@@ -2794,6 +3100,7 @@
     </entry>
     <entry>
       <key>Links</key>
+      <value>Links</value>
     </entry>
     <entry>
       <key>${PRODUCT_LIB_NO_PRODUCT_ID} function: %0</key>
@@ -2834,6 +3141,7 @@
     </entry>
     <entry>
       <key>Estimation</key>
+      <value>Einschätzung</value>
     </entry>
     <entry>
       <key>Neue Aktivität</key>
@@ -2956,7 +3264,7 @@
       <value>Mitglied</value>
     </entry>
     <entry>
-      <key>promotion target by</key>
+      <key>promotion target of</key>
       <value>Werbezielgruppe von</value>
     </entry>
     <entry>
@@ -2977,9 +3285,11 @@
     </entry>
     <entry>
       <key>Memo</key>
+      <value>Memo</value>
     </entry>
     <entry>
       <key>Function</key>
+      <value>Funktion</value>
     </entry>
     <entry>
       <key>Relational</key>
@@ -2997,6 +3307,64 @@
     <entry>
       <key>Special price list1</key>
     </entry>
+    <entry>
+      <key>MQC</key>
+    </entry>
+    <entry>
+      <key>Relation type</key>
+    </entry>
+    <entry>
+      <key>Dateiname</key>
+    </entry>
+    <entry>
+      <key>Datum</key>
+    </entry>
+    <entry>
+      <key>Dateigröße</key>
+    </entry>
+    <entry>
+      <key>Dateityp</key>
+    </entry>
+    <entry>
+      <key>Datei</key>
+    </entry>
+    <entry>
+      <key>Japan</key>
+      <value>Japan</value>
+    </entry>
+    <entry>
+      <key>7 days net</key>
+      <value>7 Tage netto</value>
+    </entry>
+    <entry>
+      <key>carriage free</key>
+      <value>frei Haus</value>
+    </entry>
+    <entry>
+      <key>Delivery terms</key>
+    </entry>
+    <entry>
+      <key>8 days 2% discount, 30 days net</key>
+      <value>8 Tage 2% Skonto, 30 Tage netto</value>
+    </entry>
+    <entry>
+      <key>CIF</key>
+    </entry>
+    <entry>
+      <key>ex works</key>
+      <value>ab Werk</value>
+    </entry>
+    <entry>
+      <key>Relation</key>
+    </entry>
+    <entry>
+      <key>Payment term</key>
+      <value>Zahlungsbedingung</value>
+    </entry>
+    <entry>
+      <key>30 days net</key>
+      <value>30 Tage netto</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 abbf572093d0f286c71424b49653862be97d33e0..01e1885eece3e9b58259a1a2af47c4c3d937e7cd 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -688,7 +688,8 @@
       <key>Standard / Individual</key>
     </entry>
     <entry>
-      <key>Please update the forecast.</key>
+      <key>Please update the ${FORECAST_ENGLISH}.</key>
+      <value>Please update the forecast.</value>
     </entry>
     <entry>
       <key>no Project planned</key>
@@ -2516,7 +2517,7 @@
       <key>member</key>
     </entry>
     <entry>
-      <key>promotion target by</key>
+      <key>promotion target of</key>
     </entry>
     <entry>
       <key>supports</key>
@@ -2583,6 +2584,48 @@
     <entry>
       <key>New attribute</key>
     </entry>
+    <entry>
+      <key>MQC</key>
+    </entry>
+    <entry>
+      <key>Relation type</key>
+    </entry>
+    <entry>
+      <key>History</key>
+    </entry>
+    <entry>
+      <key>Progress</key>
+    </entry>
+    <entry>
+      <key>Module</key>
+    </entry>
+    <entry>
+      <key>7 days net</key>
+    </entry>
+    <entry>
+      <key>carriage free</key>
+    </entry>
+    <entry>
+      <key>Delivery terms</key>
+    </entry>
+    <entry>
+      <key>8 days 2% discount, 30 days net</key>
+    </entry>
+    <entry>
+      <key>CIF</key>
+    </entry>
+    <entry>
+      <key>ex works</key>
+    </entry>
+    <entry>
+      <key>Relation</key>
+    </entry>
+    <entry>
+      <key>Payment terms</key>
+    </entry>
+    <entry>
+      <key>30 days net</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonContext/ActivityLink/ActivityLink.aod b/neonContext/ActivityLink/ActivityLink.aod
index e27379336dd2e6da91c0f4cdbb96d4b619d33d08..4fbd8877eec53de31499e1132632c4d0729d44e6 100644
--- a/neonContext/ActivityLink/ActivityLink.aod
+++ b/neonContext/ActivityLink/ActivityLink.aod
@@ -14,5 +14,9 @@
       <name>16c750bf-b7b7-4222-86b2-9bd1b28f0c1f</name>
       <view>ActivityLinkPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>0960878d-9077-4707-8239-b48f1b55a5e8</name>
+      <view>ActivityLinkMultiEdit_view</view>
+    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/ObjectRelationType/ObjectRelationType.aod b/neonContext/ObjectRelationType/ObjectRelationType.aod
new file mode 100644
index 0000000000000000000000000000000000000000..f53678bffa1c49164d5f7f1bda27f080528c9cf4
--- /dev/null
+++ b/neonContext/ObjectRelationType/ObjectRelationType.aod
@@ -0,0 +1,6 @@
+<?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.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>ObjectRelationType</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>ObjectRelationType_entity</entity>
+</neonContext>
diff --git a/neonContext/Prod2prod/Prod2prod.aod b/neonContext/Prod2prod/Prod2prod.aod
index 7573a9c94d9de960e75caf33d7b66f716ad36ef9..6e83065bd6555fc554f824366bed9c56a4bd20d8 100644
--- a/neonContext/Prod2prod/Prod2prod.aod
+++ b/neonContext/Prod2prod/Prod2prod.aod
@@ -5,7 +5,7 @@
   <comment>Prod2Prod is mainly used for the parts list of products</comment>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <filterview>Prod2prodFilter_view</filterview>
-  <preview>Prod2prodPreview_view</preview>
+  <editview>Prod2ProdEdit_view</editview>
   <entity>Prod2prod_entity</entity>
   <references>
     <neonViewReference>
@@ -13,8 +13,8 @@
       <view>Prod2prodFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>2a037997-7a55-4005-956e-fccf12ccc9d2</name>
-      <view>Prod2prodPreview_view</view>
+      <name>428b22a1-427f-4547-a478-964442078bc1</name>
+      <view>Prod2ProdEdit_view</view>
     </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/TaskLink/TaskLink.aod b/neonContext/TaskLink/TaskLink.aod
new file mode 100644
index 0000000000000000000000000000000000000000..e17a55a0bc50e30eeea393075a087588e38cbb0f
--- /dev/null
+++ b/neonContext/TaskLink/TaskLink.aod
@@ -0,0 +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.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
+  <name>TaskLink</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <entity>TaskLink_entity</entity>
+  <references>
+    <neonViewReference>
+      <name>10ad5fab-a0c5-4822-af9b-d30cf877dfb5</name>
+      <view>TaskLinkPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>a969be52-00fb-4b0e-96e9-4c8ffb8f5ac0</name>
+      <view>TaskLinkFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>cd180425-6562-49d9-99be-f3a47a88f427</name>
+      <view>TaskLinkMultiEdit_view</view>
+    </neonViewReference>
+  </references>
+</neonContext>
diff --git a/neonView/ActivityDetail_view/ActivityDetail_view.aod b/neonView/ActivityDetail_view/ActivityDetail_view.aod
index 3409dd71072b0365b04e4a66f649950932adbe10..8f868d95abff5cafc58cdb2d240ed5992ae7064c 100644
--- a/neonView/ActivityDetail_view/ActivityDetail_view.aod
+++ b/neonView/ActivityDetail_view/ActivityDetail_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>OfferDetail_template</name>
+      <name>OfferInfo</name>
       <editMode v="false" />
       <showDrawer v="false" />
       <entityField>#ENTITY</entityField>
diff --git a/neonView/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod
index ff037128fb65720e7c309fa29bc07405e1a1fb64..87d9a877e00ae5ba725725e52dcbf3a212b3fd75 100644
--- a/neonView/ActivityEdit_view/ActivityEdit_view.aod
+++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod
@@ -12,7 +12,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Edit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
@@ -36,7 +36,16 @@
           <name>921a6690-43dc-488b-ae0a-4a0ab88a99ab</name>
           <entityField>CATEGORY</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>91514e62-f4f7-4eb7-84c0-8d94adbb3408</name>
+          <entityField>CREATOR</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
+    <neonViewReference>
+      <name>868cfbbe-f5f4-48d1-88cd-56207e0e6dcc</name>
+      <entityField>Links</entityField>
+      <view>ActivityLinkMultiEdit_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/ActivityFilter_view/ActivityFilter_view.aod b/neonView/ActivityFilter_view/ActivityFilter_view.aod
index 804d4a1e67f0d15b58db8f6e4d4c44d0310624e8..7ba6d9910cf60784c52230b75deb48e17456f8f5 100644
--- a/neonView/ActivityFilter_view/ActivityFilter_view.aod
+++ b/neonView/ActivityFilter_view/ActivityFilter_view.aod
@@ -56,7 +56,7 @@
   </layout>
   <children>
     <timelineViewTemplate>
-      <name>TimelineFilter_template</name>
+      <name>ActivitiesTimeline</name>
       <dateField>ENTRYDATE</dateField>
       <titleField>SUBJECT_DETAILS</titleField>
       <descriptionField>INFO</descriptionField>
@@ -64,7 +64,7 @@
       <entityField>#ENTITY</entityField>
     </timelineViewTemplate>
     <tableViewTemplate>
-      <name>table_template</name>
+      <name>ActivitiesTable</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
@@ -90,7 +90,7 @@
       </columns>
     </tableViewTemplate>
     <treetableViewTemplate>
-      <name>Treetable_template</name>
+      <name>ActivitiesTreetable</name>
       <titleField>SUBJECT</titleField>
       <descriptionField>INFO</descriptionField>
       <iconField>#IMAGE</iconField>
diff --git a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
index d7491b7ecf0d1e22859cd53718fcbc68c1b872bc..ac53a5312a8ed5ae03fce3d2952324f294a30007 100644
--- a/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
+++ b/neonView/ActivityLinkFilter_view/ActivityLinkFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>ActivityLinkFilter_template</name>
+      <name>Objects</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod b/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..e2397f34556d25c5dd434bf8235d5134907752ed
--- /dev/null
+++ b/neonView/ActivityLinkMultiEdit_view/ActivityLinkMultiEdit_view.aod
@@ -0,0 +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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>ActivityLinkMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>GenericMultiple</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/ActivityLinkPreview_view/ActivityLinkPreview_view.aod b/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
index 64fab27c810ac15b9c769004b460853b1c234e17..64977bdef4397b8c245e4697e9d36d4c6a8e2310 100644
--- a/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
+++ b/neonView/ActivityLinkPreview_view/ActivityLinkPreview_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>linkData</name>
+      <name>Links</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/ActivityMain_view/ActivityMain_view.aod b/neonView/ActivityMain_view/ActivityMain_view.aod
index 5937e2ba7b21546420d60c63fc05da01b31e76f8..c798fdb99c4bcbf5afa79876c235b6ba63032dff 100644
--- a/neonView/ActivityMain_view/ActivityMain_view.aod
+++ b/neonView/ActivityMain_view/ActivityMain_view.aod
@@ -14,6 +14,11 @@
       <entityField>#ENTITY</entityField>
       <view>ActivityPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>a3a45cd7-587f-4bc0-9980-e6d1c89a8212</name>
       <entityField>#ENTITY</entityField>
@@ -30,9 +35,9 @@
       <view>ActivityLinkFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>f6c6888a-f3d6-410a-b97b-30c34a9dd6a2</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
+      <name>8ffd03a7-a841-4674-96bf-04689d46cf48</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationFilter_view</view>
     </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/ActivityPreview_view/ActivityPreview_view.aod b/neonView/ActivityPreview_view/ActivityPreview_view.aod
index 305b2238fe3da9600e215a63384e90fa0d550fea..f75f507b82508624e57685efc117374d6a4d3d0c 100644
--- a/neonView/ActivityPreview_view/ActivityPreview_view.aod
+++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod
@@ -9,14 +9,15 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>Card_template</name>
+      <name>Header</name>
       <iconField>ICON</iconField>
       <titleField>SUBJECT</titleField>
       <descriptionField>ENTRYDATE</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>ActivityInfo_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
@@ -32,6 +33,10 @@
           <name>b0673d1d-af3d-4daa-b6ec-511f18367e7f</name>
           <entityField>INFO</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>c4569e50-223e-4b99-8253-e8fa72ef45a0</name>
+          <entityField>CREATOR</entityField>
+        </entityFieldLink>
       </fields>
     </genericViewTemplate>
     <neonViewReference>
diff --git a/neonView/ActivityTimeline_view/ActivityTimeline_view.aod b/neonView/ActivityTimeline_view/ActivityTimeline_view.aod
index 1ae938948772d216ef8400867da46773c7290300..0fcfc440b3c25a2626ac4c3cdac604d759d6b029 100644
--- a/neonView/ActivityTimeline_view/ActivityTimeline_view.aod
+++ b/neonView/ActivityTimeline_view/ActivityTimeline_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <timelineViewTemplate>
-      <name>Timeline_template</name>
+      <name>Activities</name>
       <dateField>ENTRYDATE</dateField>
       <titleField>SUBJECT_DETAILS</titleField>
       <descriptionField>INFO</descriptionField>
diff --git a/neonView/AddressEdit_view/AddressEdit_view.aod b/neonView/AddressEdit_view/AddressEdit_view.aod
index 74be246944169d13557a1832e318c6e292494ddb..93637ca8d7d896c180317240146a2da5300c6ddd 100644
--- a/neonView/AddressEdit_view/AddressEdit_view.aod
+++ b/neonView/AddressEdit_view/AddressEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Generic_template</name>
+      <name>Edit</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/AddressFilter_view/AddressFilter_view.aod b/neonView/AddressFilter_view/AddressFilter_view.aod
index 4c33eb1e108945b9ab272e0bff15b1ecfe24f2ce..aa879324206a348549e2b644ad427f66a0c7b677 100644
--- a/neonView/AddressFilter_view/AddressFilter_view.aod
+++ b/neonView/AddressFilter_view/AddressFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Addresses</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/AddressList_view/AddressList_view.aod b/neonView/AddressList_view/AddressList_view.aod
index ab11f3f168a5411ca39e31ab8e53f2c98c64af55..02ba77391983a320ccb7838a54f78b2cd4804202 100644
--- a/neonView/AddressList_view/AddressList_view.aod
+++ b/neonView/AddressList_view/AddressList_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <titledListViewTemplate>
-      <name>TitledList_template</name>
+      <name>Addresses</name>
       <highlightingField>IS_STANDARD</highlightingField>
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
index e343aeea66dcf9790222f33a2c13d9042203bc91..c809fb7987e73d0da7f9b8a7b0322a837db11303 100644
--- a/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
+++ b/neonView/AdressMultiEdit_view/AdressMultiEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>GenericMultiple_template</name>
+      <name>MultipleEdit</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
index c6ca766c71de2386e22e89289b7d6581866cd8c8..c79be24e0e5cad712240557bcbba42694e0d1647 100644
--- a/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
+++ b/neonView/AnyContactLookup_view/AnyContactLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>relationLookupList_template</name>
+      <name>Relations</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
index 81d642c40d54f51d68ef3246add18df5e97f9d6a..4261115e362fb32a275da57841b89d23da34ebfb 100644
--- a/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
+++ b/neonView/AppointmentEdit_view/AppointmentEdit_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <appointmentEditViewTemplate>
-      <name>AppointmentEditTemplate</name>
+      <name>Edit</name>
       <summaryField>SUMMARY</summaryField>
       <descriptionField>DESCRIPTION</descriptionField>
       <beginField>BEGIN</beginField>
diff --git a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
index 0e6f03ca25af5f1f5f76bd87009bc68a788c48c1..5ea0c32b54de594e0d29fba6d53e088237a2695d 100644
--- a/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
+++ b/neonView/AppointmentLinkFilter_view/AppointmentLinkFilter_view.aod
@@ -12,6 +12,8 @@
     <tableViewTemplate>
       <name>Links</name>
       <showHeader v="true" />
+      <isSaveable v="false" />
+      <isEditable v="true" />
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <title>relations</title>
diff --git a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
index e01251e96f33f802d2feb985a6c3ac6829679bc9..bcb316222de7d2a9f4f87453b650d9599708cdd7 100644
--- a/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
+++ b/neonView/AppointmentPreview_view/AppointmentPreview_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <appointmentPreviewViewTemplate>
-      <name>AppointmentPreviewTemplate</name>
+      <name>Appointments</name>
       <summaryField>SUMMARY</summaryField>
       <descriptionField>DESCRIPTION</descriptionField>
       <beginField>BEGIN</beginField>
diff --git a/neonView/AttributeEdit_view/AttributeEdit_view.aod b/neonView/AttributeEdit_view/AttributeEdit_view.aod
index 510c41d637b0abd1b91a31368667097d5b6a7591..4cb7fc75e48944418b78354cb6f84162b4aa1388 100644
--- a/neonView/AttributeEdit_view/AttributeEdit_view.aod
+++ b/neonView/AttributeEdit_view/AttributeEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>AttrEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod
index 626b9f0d2c86e82065ba3be5adb8e8222989920f..18ecb2acf99f5e863c1d3438e7e976914bf59f0a 100644
--- a/neonView/AttributeFilter_view/AttributeFilter_view.aod
+++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod
@@ -11,7 +11,7 @@
   </layout>
   <children>
     <treetableViewTemplate>
-      <name>Treetable_template</name>
+      <name>AttributesTreetable</name>
       <parentField>ATTRIBUTE_PARENT_ID</parentField>
       <favoriteActionGroup1>AttributeActions</favoriteActionGroup1>
       <titleField>ATTRIBUTE_NAME</titleField>
@@ -19,12 +19,12 @@
       <entityField>#ENTITY</entityField>
     </treetableViewTemplate>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>AttributesTable</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>4dae1a23-8798-42ff-998c-7f5fedc7dcc5</name>
-          <entityField>ATTRIBUTE_NAME</entityField>
+          <entityField>FULL_ATTRIBUTE_NAME</entityField>
         </neonTableColumn>
         <neonTableColumn>
           <name>ed7598ea-c29c-4d04-9b28-27ee3b28a5b1</name>
diff --git a/neonView/AttributePreview_view/AttributePreview_view.aod b/neonView/AttributePreview_view/AttributePreview_view.aod
index 4ebba8e503f92b6b617857ec1904bcb729c47d19..71780be9b2cb317a32ace8562481f24a8c1865ac 100644
--- a/neonView/AttributePreview_view/AttributePreview_view.aod
+++ b/neonView/AttributePreview_view/AttributePreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>Attr_template</name>
+      <name>Head</name>
       <titleField>ATTRIBUTE_NAME</titleField>
       <subtitleField>ATTRIBUTE_TYPE</subtitleField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>Generic</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <title></title>
diff --git a/neonView/AttributeRelationEdit_view/AttributeRelationEdit_view.aod b/neonView/AttributeRelationEdit_view/AttributeRelationEdit_view.aod
index b4c8d4ad85db22baaa90965b82fac2e75f090642..6f811c93d2c2c7bbcc7154bc0d7bf58d38616674 100644
--- a/neonView/AttributeRelationEdit_view/AttributeRelationEdit_view.aod
+++ b/neonView/AttributeRelationEdit_view/AttributeRelationEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>MultiEdit</name>
+      <name>MultipleEdit</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
@@ -18,7 +18,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>04dda499-d970-41d1-a524-5e354c0d2bfd</name>
-          <entityField>ATTRIBUTERELATION_VALUE</entityField>
+          <entityField>valueProxy</entityField>
         </neonTableColumn>
       </columns>
     </genericMultipleViewTemplate>
diff --git a/neonView/AttributeRelationFilter_view/AttributeRelationFilter_view.aod b/neonView/AttributeRelationFilter_view/AttributeRelationFilter_view.aod
index 8943bfa0c50cbef9a0e813a1d52d58e43dc4088b..5ae7277d3355d458bb1abd202746e38fc88239eb 100644
--- a/neonView/AttributeRelationFilter_view/AttributeRelationFilter_view.aod
+++ b/neonView/AttributeRelationFilter_view/AttributeRelationFilter_view.aod
@@ -11,7 +11,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table</name>
+      <name>RelationsTable</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
@@ -21,12 +21,12 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>83a10d52-9eaf-4901-935e-2a7410831861</name>
-          <entityField>ATTRIBUTERELATION_VALUE</entityField>
+          <entityField>valueProxy</entityField>
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
     <treetableViewTemplate>
-      <name>Tree</name>
+      <name>RelationsTreetable</name>
       <parentField>ATTRIBUTE_PARENT_ID</parentField>
       <titleField>AB_ATTRIBUTE_ID</titleField>
       <descriptionField>ATTRIBUTERELATION_VALUE</descriptionField>
diff --git a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
index 41ed1f745ebc495d92c4b4cc9c0006764e5e90de..140920fae809d2ed8ed96a578783a911bb6d5d19 100644
--- a/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
+++ b/neonView/AttributeRelationPreviewList/AttributeRelationPreviewList.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <titledListViewTemplate>
-      <name>attributes</name>
+      <name>Relations</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
@@ -18,7 +18,7 @@
         </neonTableColumn>
         <neonTableColumn>
           <name>a4661c55-6e51-4884-b460-0ef1dca7c5f7</name>
-          <entityField>ATTRIBUTERELATION_VALUE</entityField>
+          <entityField>valueProxy</entityField>
         </neonTableColumn>
       </columns>
     </titledListViewTemplate>
diff --git a/neonView/AttributeTree_view/AttributeTree_view.aod b/neonView/AttributeTree_view/AttributeTree_view.aod
index b1bb94f4487d39a4d56c56d9706b3c3b99eebcc5..609401d8e798e075cc6aa61a1439dfa6d79237f3 100644
--- a/neonView/AttributeTree_view/AttributeTree_view.aod
+++ b/neonView/AttributeTree_view/AttributeTree_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <treetableViewTemplate>
-      <name>Treetable</name>
+      <name>Attributes</name>
       <parentField>ATTRIBUTE_PARENT_ID</parentField>
       <titleField>ATTRIBUTE_NAME</titleField>
       <descriptionField>ATTRIBUTE_TYPE</descriptionField>
diff --git a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
index 15c3fd3b9577143daee960012808a8e9b8937e4f..54f22164044ef324dfb226854d888f5fcfc9b80e 100644
--- a/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
+++ b/neonView/AttributeUsageFilter_view/AttributeUsageFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>UsageTable_template</name>
+      <name>Usages</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
index 37108cc1078ff2bcbad081a3022b48f8b2f857d0..6df948ba82771edd17e0e9e62ed7b62c3ff8f598 100644
--- a/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
+++ b/neonView/AttributeUsageMultiEdit_view/AttributeUsageMultiEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>UsageEdit_template</name>
+      <name>MultipleEdit</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/CommunicationEdit_view/CommunicationEdit_view.aod b/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
index d1994e867c426810fd742c594a61418cdd201eb2..ef1c9f29b7987308dd4ea4323a8d8a52b4ec2fa8 100644
--- a/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
+++ b/neonView/CommunicationEdit_view/CommunicationEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Generic_template</name>
+      <name>Edit</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/CommunicationFilter_view/CommunicationFilter_view.aod b/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
index 75f9f952b9f74905af4ea436511fd6016ca62eff..f2c25b10006cd08e70e1433febc38e28ff73c81f 100644
--- a/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
+++ b/neonView/CommunicationFilter_view/CommunicationFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Communications</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/CommunicationList_view/CommunicationList_view.aod b/neonView/CommunicationList_view/CommunicationList_view.aod
index 83862dcc001a0f46a4abe8cc2c6b89641f311196..55a25ba5586a941812df58ba027f84ff2e7722d9 100644
--- a/neonView/CommunicationList_view/CommunicationList_view.aod
+++ b/neonView/CommunicationList_view/CommunicationList_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <titledListViewTemplate>
-      <name>TitledList_template</name>
+      <name>Communications</name>
       <highlightingField>IS_STANDARD</highlightingField>
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod b/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
index b75bc136ec2b14511621975f5997b66ded946ce2..92befc338fc2f55aecada3d31f7de7d3651fb916 100644
--- a/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
+++ b/neonView/CommunicationMultiEdit_view/CommunicationMultiEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>GenericMultiple_template</name>
+      <name>MultipleEdit</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/ContextLookup_view/ContextLookup_view.aod b/neonView/ContextLookup_view/ContextLookup_view.aod
index 71d36233d46d7a753b266393bc6f198214a42519..168e81c53040692f4af92091caf76c505f90b2c4 100644
--- a/neonView/ContextLookup_view/ContextLookup_view.aod
+++ b/neonView/ContextLookup_view/ContextLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>contexts</name>
+      <name>Contexts</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/ContractEdit_view/ContractEdit_view.aod b/neonView/ContractEdit_view/ContractEdit_view.aod
index 1332afb97ccb1dca96ae7bb33dd4cef0d912bbed..bb0778925dd2c86167e34ce7099eb0d8aba78925 100644
--- a/neonView/ContractEdit_view/ContractEdit_view.aod
+++ b/neonView/ContractEdit_view/ContractEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Generic</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/ContractFilter_view/ContractFilter_view.aod b/neonView/ContractFilter_view/ContractFilter_view.aod
index ed39ce42020ae746c45d057de2778f3adf79c146..b8ad46e1ede5ad2418d9d84d3b4e633149bc34bf 100644
--- a/neonView/ContractFilter_view/ContractFilter_view.aod
+++ b/neonView/ContractFilter_view/ContractFilter_view.aod
@@ -31,7 +31,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Contracts</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/ContractPreview_view/ContractPreview_view.aod b/neonView/ContractPreview_view/ContractPreview_view.aod
index 804d7114af9bfbdbe0d8dd1930c10bc87c2eb7c3..83643ff5f00bfaa24581f749c52de73212d534ab 100644
--- a/neonView/ContractPreview_view/ContractPreview_view.aod
+++ b/neonView/ContractPreview_view/ContractPreview_view.aod
@@ -9,14 +9,14 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>ContractHeader_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>CONTRACTCODE_DISPLAY_fieldGroup</titleField>
       <descriptionField>CONTACT_ID</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>ContractInfo_template</name>
+      <name>Details</name>
       <showDrawer v="true" />
       <drawerCaption>Details</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -44,7 +44,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>ContractDescription_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <drawerCaption>Further informations</drawerCaption>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/CountriesPreview_view/CountriesPreview_view.aod b/neonView/CountriesPreview_view/CountriesPreview_view.aod
index 9c96c4f1e8be9095098fda0cc30e1241816160b1..ec4d97c042a4ca457ca718ab3efb438d0fa423ae 100644
--- a/neonView/CountriesPreview_view/CountriesPreview_view.aod
+++ b/neonView/CountriesPreview_view/CountriesPreview_view.aod
@@ -9,14 +9,14 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>basicdata_card_template</name>
+      <name>Header</name>
       <iconField>FLAG</iconField>
       <titleField>NAME_TRANSLATED</titleField>
       <descriptionField>ISO2</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>Generic</name>
+      <name>Info</name>
       <editMode v="false" />
       <showDrawer v="false" />
       <entityField>#ENTITY</entityField>
diff --git a/neonView/CountriesTable_view/CountriesTable_view.aod b/neonView/CountriesTable_view/CountriesTable_view.aod
index 463226fd16fd9b513f5c9add337ca32bc530bbf9..483072f9185a38100e45d66fc6be2e8d53aa4b65 100644
--- a/neonView/CountriesTable_view/CountriesTable_view.aod
+++ b/neonView/CountriesTable_view/CountriesTable_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table</name>
+      <name>Countries</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/DefaultLookup_view/DefaultLookup_view.aod b/neonView/DefaultLookup_view/DefaultLookup_view.aod
index 8f437165f69a8828a2f4daf19e7fb494744377f4..7bbd869c39065baabc1156b8d5f7ebba3ee74499 100644
--- a/neonView/DefaultLookup_view/DefaultLookup_view.aod
+++ b/neonView/DefaultLookup_view/DefaultLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <listViewTemplate>
-      <name>ListTemplate</name>
+      <name>DefaultList</name>
       <entityField>#ENTITY</entityField>
     </listViewTemplate>
   </children>
diff --git a/neonView/DocumentEdit_view/DocumentEdit_view.aod b/neonView/DocumentEdit_view/DocumentEdit_view.aod
index af265987d1c99be75d8a6838628990ce2453e4a6..d9ec8e2effe90bbd497512e908b4030ffc079d74 100644
--- a/neonView/DocumentEdit_view/DocumentEdit_view.aod
+++ b/neonView/DocumentEdit_view/DocumentEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>DocumentGeneric_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/DocumentFilter_view/DocumentFilter_view.aod b/neonView/DocumentFilter_view/DocumentFilter_view.aod
index b0b20b24fc91fb3fb71c30a2fcec7109f21de7e1..2ffa7885c64f37b5a08445e66de5d7dcf817cd90 100644
--- a/neonView/DocumentFilter_view/DocumentFilter_view.aod
+++ b/neonView/DocumentFilter_view/DocumentFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Documents</name>
       <favoriteActionGroup1>Document_actions</favoriteActionGroup1>
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/DocumentList_view/DocumentList_view.aod b/neonView/DocumentList_view/DocumentList_view.aod
index cd69801e1975c0b8d24f5884947288a02d97ac05..3cec5ca4c7e948b4ad5fc7c7a236efc6ebc10840 100644
--- a/neonView/DocumentList_view/DocumentList_view.aod
+++ b/neonView/DocumentList_view/DocumentList_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <actionListViewTemplate>
-      <name>ActionList_template</name>
+      <name>Actions</name>
       <titleField>NAME</titleField>
       <descriptionField>DESCRIPTION</descriptionField>
       <iconField>ICON</iconField>
diff --git a/neonView/DocumentPreview_view/DocumentPreview_view.aod b/neonView/DocumentPreview_view/DocumentPreview_view.aod
index dd5ea73a519265c26ff7821454c2a1a29dfabbac..83d58bbe2bd7c7e8310b4ab3b449a07c8f306fb7 100644
--- a/neonView/DocumentPreview_view/DocumentPreview_view.aod
+++ b/neonView/DocumentPreview_view/DocumentPreview_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>DocumentPreview_card</name>
+      <name>Head</name>
       <iconField>PREVIEW_IMAGE</iconField>
       <titleField>NAME</titleField>
       <descriptionField>DESCRIPTION</descriptionField>
@@ -17,7 +17,7 @@
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>DocumentPreview_generic</name>
+      <name>Info</name>
       <editMode v="false" />
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
diff --git a/neonView/FacebookTimeline_view/FacebookTimeline_view.aod b/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
index f04081147474915cb205fb7605f20d4da7637766..49a680672cc1ae299ee393f57752d923407aebb6 100644
--- a/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
+++ b/neonView/FacebookTimeline_view/FacebookTimeline_view.aod
@@ -61,7 +61,7 @@
   </layout>
   <children>
     <webContentViewTemplate>
-      <name>Facebook_TIMELINE_TEMPLATE</name>
+      <name>Timeline</name>
       <entityField>FACEBOOK_TIMELINE</entityField>
     </webContentViewTemplate>
   </children>
diff --git a/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod b/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
index 69c0e3fca07a06e8c913995bd618eb19b3e88465..7143d9b146199b7288486514f8ef6cc18ad952ce 100644
--- a/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
+++ b/neonView/KeywordAttributeEdit_view/KeywordAttributeEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>mainGeneric</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
index 629a4295a16efb0c1ca7db69ba6cc1e1ffcd5586..38a2f04dce6660e90c7c9b8a7062e8919d508728 100644
--- a/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
+++ b/neonView/KeywordAttributeFilter_view/KeywordAttributeFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>table</name>
+      <name>Attributes</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod b/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
index 617f416bf487f3c1ad7fa1cbb1d18cc8d22a4337..ba0e4b164349d848f40f11aa5567ed66ade8e720 100644
--- a/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
+++ b/neonView/KeywordAttributeRelationRows_view/KeywordAttributeRelationRows_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>main</name>
+      <name>Relations</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
index 90a553cbf1ba7105f93e65b1a7626776cbeed7e5..b9eb4775cd1d474bcf006cb46b8ae810cc267d36 100644
--- a/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
+++ b/neonView/KeywordEntryEdit_view/KeywordEntryEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>mainData</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
index 107d221157400fd66c0bca8377f191310dcc3e7b..f4475555e512b2306eafe46439d457853aa00710 100644
--- a/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
+++ b/neonView/KeywordEntryFilter_view/KeywordEntryFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>table</name>
+      <name>EntriesTable</name>
       <entityField>#ENTITY</entityField>
       <title></title>
       <columns>
@@ -41,7 +41,7 @@
       </columns>
     </tableViewTemplate>
     <treetableViewTemplate>
-      <name>treeTable</name>
+      <name>EntriesTreetable</name>
       <titleField>TITLE</titleField>
       <descriptionField>KEYID</descriptionField>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
index 81e59a0f9d9be3cf73f77d9e3d592d99ef53989b..b3a9be781f359c13e06efe90b0b7b128c42db810 100644
--- a/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
+++ b/neonView/KeywordEntryPreview_view/KeywordEntryPreview_view.aod
@@ -9,14 +9,14 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>card</name>
+      <name>Header</name>
       <titleField>TITLE</titleField>
       <subtitleField>CONTAINER</subtitleField>
       <descriptionField>KEYID</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>data</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <title></title>
diff --git a/neonView/ModuleTree_view/ModuleTree_view.aod b/neonView/ModuleTree_view/ModuleTree_view.aod
index 255c830a3d576467c148efbcc80f6f90635319d9..6e4933f25b43c9240012aa3d0fade6cec2b60cff 100644
--- a/neonView/ModuleTree_view/ModuleTree_view.aod
+++ b/neonView/ModuleTree_view/ModuleTree_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <treetableViewTemplate>
-      <name>Treetable</name>
+      <name>Modules</name>
       <parentField>PARENT_ID</parentField>
       <favoriteActionGroup3></favoriteActionGroup3>
       <titleField>TITLE</titleField>
diff --git a/neonView/ObjectLookup_view/ObjectLookup_view.aod b/neonView/ObjectLookup_view/ObjectLookup_view.aod
index b6116c46e2266e551978c902600a6281349ec249..982340c8c1f39fca053f04b7ce58654d7321468e 100644
--- a/neonView/ObjectLookup_view/ObjectLookup_view.aod
+++ b/neonView/ObjectLookup_view/ObjectLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>objects</name>
+      <name>Objects</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/ObjectRelationEdit_view/ObjectRelationEdit_view.aod b/neonView/ObjectRelationEdit_view/ObjectRelationEdit_view.aod
index 6f701953cc85f6f89e8c69dc54bce9f37638e448..a780ec92502385463a4add59809492474b81c4f0 100644
--- a/neonView/ObjectRelationEdit_view/ObjectRelationEdit_view.aod
+++ b/neonView/ObjectRelationEdit_view/ObjectRelationEdit_view.aod
@@ -9,25 +9,21 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Objects</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
-          <name>4bb47cac-47a7-448f-a8e6-ebab641d984f</name>
-          <entityField>OBJECT1_TYPE</entityField>
+          <name>c3ef719e-2453-4216-a13a-1c1debafe410</name>
+          <entityField>selectedObjectRelationTypeIdProxy</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>3c548c29-1f77-47e1-bbad-b3063b71224d</name>
-          <entityField>OBJECT1_ROWID</entityField>
+          <name>46a6fc38-bd34-434a-bbf3-0a8974a0c438</name>
+          <entityField>objectTypeProxy</entityField>
         </entityFieldLink>
         <entityFieldLink>
-          <name>7cfab0c5-06c7-4b1d-84e8-97aa76d5e4f3</name>
-          <entityField>OBJECT2_TYPE</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>d0b4d4b6-ab29-478f-9e07-9de07fed0c32</name>
-          <entityField>OBJECT2_ROWID</entityField>
+          <name>f60a0e0d-c3a9-4ab7-9b52-b33f5bb61d31</name>
+          <entityField>rowIdProxy</entityField>
         </entityFieldLink>
       </fields>
     </genericViewTemplate>
diff --git a/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod b/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod
index 7ba25afe2f321463c222a106ee5684c4bf4c8900..ec5b852e12f6127e6957f3eb14df0f5f37708583 100644
--- a/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod
+++ b/neonView/ObjectRelationFilter_view/ObjectRelationFilter_view.aod
@@ -11,19 +11,16 @@
   <children>
     <tableViewTemplate>
       <name>ObjectRelations</name>
+      <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
-          <name>88896a05-3fbc-4681-b935-8bd239ecdf5c</name>
-          <entityField>RELATION_TYPE</entityField>
+          <name>02c397e9-092b-4df0-be67-0fa3a1b02432</name>
+          <entityField>selectedObjectRelationTypeIdProxy</entityField>
         </neonTableColumn>
         <neonTableColumn>
-          <name>99904354-1288-45c1-98cb-d40dcff310ce</name>
-          <entityField>OtherObjectType</entityField>
-        </neonTableColumn>
-        <neonTableColumn>
-          <name>654de038-0a31-4009-981a-efc2b5ded7ee</name>
-          <entityField>OtherObjectRowid</entityField>
+          <name>ab25081c-cb63-4d28-87d0-e4c022aac878</name>
+          <entityField>rowIdProxy</entityField>
         </neonTableColumn>
       </columns>
     </tableViewTemplate>
diff --git a/neonView/ObjectRelationPreview_view/ObjectRelationPreview_view.aod b/neonView/ObjectRelationPreview_view/ObjectRelationPreview_view.aod
index 2d823012ed6ce0d76211eceeb3ec27513d5ca101..c5d691f83834286ad1c359f7ffd49ee36db8dd47 100644
--- a/neonView/ObjectRelationPreview_view/ObjectRelationPreview_view.aod
+++ b/neonView/ObjectRelationPreview_view/ObjectRelationPreview_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Object</name>
+      <name>Objects</name>
       <entityField>#ENTITY</entityField>
       <title>Object</title>
       <fields>
diff --git a/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
index e85a4964fbb7a4116241a68932a2666dd19436fb..73deb264450e369c9472025625623d6c8e4d78ee 100644
--- a/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
+++ b/neonView/ObjectRelationTree_view/ObjectRelationTree_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <treetableViewTemplate>
-      <name>objectRelations</name>
+      <name>ObjectRelations</name>
       <entityField>#ENTITY</entityField>
     </treetableViewTemplate>
   </children>
diff --git a/neonView/OfferDetail_view/OfferDetail_view.aod b/neonView/OfferDetail_view/OfferDetail_view.aod
index c2648f53605983db816ceb6aefc6de4e888ddd29..56bff7179c9ce18bc5567aa0b3be2a9009a7678e 100644
--- a/neonView/OfferDetail_view/OfferDetail_view.aod
+++ b/neonView/OfferDetail_view/OfferDetail_view.aod
@@ -10,12 +10,20 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>OfferDetail_template</name>
+      <name>Details</name>
       <showDrawer v="true" />
       <drawerCaption>Detail</drawerCaption>
       <entityField>#ENTITY</entityField>
       <title></title>
       <fields>
+        <entityFieldLink>
+          <name>f0d0c68a-8437-4d9e-b852-575efaa984e8</name>
+          <entityField>DELIVERYTERMS</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>c66f5e5b-82ad-4f93-9951-d96dfb802dbe</name>
+          <entityField>PAYMENTTERMS</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>8bf2a10e-e7e9-4f33-98cf-4ded02bf68a9</name>
           <entityField>HEADER</entityField>
diff --git a/neonView/OfferEdit_view/OfferEdit_view.aod b/neonView/OfferEdit_view/OfferEdit_view.aod
index efa572f6220557d0e0756c872f71ff3c4d3ce4ae..6aa17c0dd3005aa6219dc920e8daa215caf54b51 100644
--- a/neonView/OfferEdit_view/OfferEdit_view.aod
+++ b/neonView/OfferEdit_view/OfferEdit_view.aod
@@ -12,14 +12,10 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>OfferEdit_generic</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
-        <entityFieldLink>
-          <name>839c51a5-f628-4feb-a267-967342e547ef</name>
-          <entityField>OfferCode_VersNr_fieldgroup</entityField>
-        </entityFieldLink>
         <entityFieldLink>
           <name>1b323e80-820d-402a-98d2-f3649ec8e91f</name>
           <entityField>CONTACT_ID</entityField>
@@ -48,6 +44,14 @@
           <name>ac6f81a2-5012-461a-bcf1-4534182b0973</name>
           <entityField>SALESPROJECT_ID</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>ed71986f-303c-4118-a895-51ec31ba8775</name>
           <entityField>HEADER</entityField>
diff --git a/neonView/OfferFilter_view/OfferFilter_view.aod b/neonView/OfferFilter_view/OfferFilter_view.aod
index 53ba05900ebbc11455c07a3b4a5df53d69ee827d..e2b01d35fe1d8cc226bc6c694ab1bfe09239557b 100644
--- a/neonView/OfferFilter_view/OfferFilter_view.aod
+++ b/neonView/OfferFilter_view/OfferFilter_view.aod
@@ -50,13 +50,17 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>OfferFilter_template</name>
+      <name>Offers</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>60b83daa-9349-4bef-94d8-5f1fc350da59</name>
           <entityField>OFFERCODE</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>36b035da-4a57-413e-a5dc-c8974ca3855b</name>
+          <entityField>VERSNR</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>780087e7-ff3c-4592-90be-607357168295</name>
           <entityField>CONTACT_ID</entityField>
diff --git a/neonView/OfferPreview_view/OfferPreview_view.aod b/neonView/OfferPreview_view/OfferPreview_view.aod
index b0d6cffba7e9073c1cb57e24df9ce892e0e45e79..360b681417061924a5b9245ed4933c77e547bc19 100644
--- a/neonView/OfferPreview_view/OfferPreview_view.aod
+++ b/neonView/OfferPreview_view/OfferPreview_view.aod
@@ -9,14 +9,15 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>OfferHeader_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>Offer_OfferCode_VersNr_fieldgroup</titleField>
       <descriptionField>CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>OfferInfo_template</name>
+      <name>Details</name>
       <editMode v="false" />
       <showDrawer v="true" />
       <drawerCaption>Details</drawerCaption>
@@ -45,7 +46,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>OfferPrice_template</name>
+      <name>Prices</name>
       <showDrawer v="true" />
       <drawerCaption>Prices</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -69,7 +70,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>Offer_generic</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
index 9590a8698511a7517637e0717545ebf2bb63d600..bd3ad7c05f63c15cb25704f44c4d41a091fee02e 100644
--- a/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
+++ b/neonView/OfferitemFilter_view/OfferitemFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>OfferitemFilter_table</name>
+      <name>Offeritems</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod b/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
index 8d494baa95622d175a43f4bf4e8de88b9c975fdb..cc0d44ea404096dba8e253e485be17d97999ba67 100644
--- a/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
+++ b/neonView/OfferitemMultiEdit_view/OfferitemMultiEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>OfferitemData</name>
+      <name>MultipleEdit</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
index 0346e38139cea379a4b826288a0e56403dec3eaf..23612067afe53e7b0efc8a43cab7101861e6d0bc 100644
--- a/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
+++ b/neonView/OfferitemPreview_view/OfferitemPreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>OfferitemPreview_header</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>ITEMNAME</titleField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>Offeritem_generic</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/Options1_View/Options1_View.aod b/neonView/Options1_View/Options1_View.aod
index 669aac39c3fbb01ed5794d32cfa3a8f689ebc6f6..a670bda68e57bd0bf6daec227781e7cbab14b742 100644
--- a/neonView/Options1_View/Options1_View.aod
+++ b/neonView/Options1_View/Options1_View.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Generic</name>
+      <name>Options</name>
       <showDrawer v="true" />
       <drawerCaption></drawerCaption>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/Options2_View/Options2_View.aod b/neonView/Options2_View/Options2_View.aod
index 0b91054217f9186770323995d51fcc51d425547e..a49940dfd774833623f16463327b082a48e61b91 100644
--- a/neonView/Options2_View/Options2_View.aod
+++ b/neonView/Options2_View/Options2_View.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Generic</name>
+      <name>Options</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrderEdit_view/OrderEdit_view.aod b/neonView/OrderEdit_view/OrderEdit_view.aod
index dfd1bd1b478b5d88adb1782575b9fa63a9c08ec2..23f63cd45cbb9ac60becfee2806f1e55572fce2a 100644
--- a/neonView/OrderEdit_view/OrderEdit_view.aod
+++ b/neonView/OrderEdit_view/OrderEdit_view.aod
@@ -12,7 +12,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>OrderEdit_generic</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrderFilter_view/OrderFilter_view.aod b/neonView/OrderFilter_view/OrderFilter_view.aod
index 8759414296e0bf6e1921ad3d3068dc57e296599b..b351b465e4b70fe941479140c7b10b9a256b3aff 100644
--- a/neonView/OrderFilter_view/OrderFilter_view.aod
+++ b/neonView/OrderFilter_view/OrderFilter_view.aod
@@ -50,7 +50,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>OrderFilter_template</name>
+      <name>Orders</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/OrderPreview_view/OrderPreview_view.aod b/neonView/OrderPreview_view/OrderPreview_view.aod
index f3a585b3433614f9587f9a282101862ffeaa3062..1806c6b61c7d1d63135fe6b0d0a22e3aa7a386cf 100644
--- a/neonView/OrderPreview_view/OrderPreview_view.aod
+++ b/neonView/OrderPreview_view/OrderPreview_view.aod
@@ -9,14 +9,15 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>OrderHeader_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>Order_OrderCode_VersNr_fieldgroup</titleField>
       <descriptionField>CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>OrderInfo_template</name>
+      <name>Details</name>
       <editMode v="false" />
       <showDrawer v="true" />
       <drawerCaption>Details</drawerCaption>
@@ -37,7 +38,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>OrderPrice_template</name>
+      <name>Prices</name>
       <showDrawer v="true" />
       <drawerCaption>Prices</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -61,7 +62,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>Order_generic</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
index 63409f66aea785fe320183af3a09146b09c0f7b0..e5d4b353d19566c56dca00b269ef405b3b1117cc 100644
--- a/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
+++ b/neonView/OrderitemFilter_view/OrderitemFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>OrderitemFilter_table</name>
+      <name>Orderitems</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod b/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
index 3102dd60c99fe4720a2786a2b10cc2434b8eaa06..e4547bd22d25c1b5f398b41973ebef1ea30d452f 100644
--- a/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
+++ b/neonView/OrderitemMultiEdit_view/OrderitemMultiEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericMultipleViewTemplate>
-      <name>OrderitemData</name>
+      <name>MultipleEdit</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
index f0a175961c47fb69242db3e02c25140a9f78e5f3..4aec996c99539d4676f41e4fe259813588b1e627 100644
--- a/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
+++ b/neonView/OrderitemPreview_view/OrderitemPreview_view.aod
@@ -9,14 +9,14 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>OrderitemPreview_header</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>ITEMNAME</titleField>
       <descriptionField>INFO</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>Orderitem_generic</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod b/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
index 4c660f02d48e4fce4c8af45f2f21198c2cc3fd55..5cfe3f84cda76bbc6e6429b885e1b5e3aef187c0 100644
--- a/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
+++ b/neonView/OrganisationEditDefaults_view/OrganisationEditDefaults_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>EditDefaults_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrganisationEdit_view/OrganisationEdit_view.aod b/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
index 3663da44374d333a97dddbdee952647333d17e74..e9d3939a7a0719e935150c77d31005ba3f1b0bd6 100644
--- a/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
+++ b/neonView/OrganisationEdit_view/OrganisationEdit_view.aod
@@ -12,7 +12,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Edit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
index a8f5cd47c2dbbb9bb37a9c70b53c31a0b0c7e8df..2fd381072d57ccb087bbe90c89f011d16b156d2e 100644
--- a/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
+++ b/neonView/OrganisationFilter_view/OrganisationFilter_view.aod
@@ -31,7 +31,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Organisations</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
index d51544e0e9ef248bca1a46d11f8c2af2d00401ec..18d8a20c7adf79af78e9d21903d933b10d4d9dd4 100644
--- a/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
+++ b/neonView/OrganisationLookup_view/OrganisationLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>orgLookupList_template</name>
+      <name>Organisations</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/OrganisationMain_view/OrganisationMain_view.aod b/neonView/OrganisationMain_view/OrganisationMain_view.aod
index 8983facca327c13b601989999d56186c88738daa..60d239311a5d06d136779712173b512aa5b954da 100644
--- a/neonView/OrganisationMain_view/OrganisationMain_view.aod
+++ b/neonView/OrganisationMain_view/OrganisationMain_view.aod
@@ -22,7 +22,7 @@
     </neonViewReference>
     <neonViewReference>
       <name>c10533a6-d185-4b13-84ee-53a468544c03</name>
-      <entityField>Contacts</entityField>
+      <entityField>Contact</entityField>
       <view>PersonSimpleList_view</view>
     </neonViewReference>
     <neonViewReference>
@@ -35,13 +35,18 @@
       <entityField>Documents</entityField>
       <view>DocumentFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>50f61cda-5f85-4212-b3b2-3a55b9fae54d</name>
+      <entityField>Offers</entityField>
+      <view>OfferFilter_view</view>
+    </neonViewReference>
     <neonViewReference>
       <name>fd099297-e87d-4ada-b7e7-e04afafbd8b0</name>
       <entityField>Contracts</entityField>
       <view>ContractFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>ee7395b9-b787-4662-9021-f6e2d486bd16</name>
+      <name>ab7d3db4-af9d-4903-b28a-6347f2512a54</name>
       <entityField>ObjectRelations</entityField>
       <view>ObjectRelationFilter_view</view>
     </neonViewReference>
diff --git a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
index ab9edb34ec65966950b0c35087da8be1b72f2b85..6c81fc9cd8529ef04536e04483863e1703022954 100644
--- a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
+++ b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
@@ -9,10 +9,11 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>BasicCard_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>NAME</titleField>
       <descriptionField>CUSTOMERCODE_DISPLAY_fieldGroup</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <neonViewReference>
@@ -26,7 +27,7 @@
       <view>AddressList_view</view>
     </neonViewReference>
     <genericViewTemplate>
-      <name>OrgInfo_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/PersonDetail_view/PersonDetail_view.aod b/neonView/PersonDetail_view/PersonDetail_view.aod
index bce9f6a15ffdd29da13f0dfd4a4c1ea2215de626..e57b00a46a5629cb7508a6cb2ecf6f46ee37b831 100644
--- a/neonView/PersonDetail_view/PersonDetail_view.aod
+++ b/neonView/PersonDetail_view/PersonDetail_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>PersInfo_template</name>
+      <name>Details</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod b/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
index 7add841fec2744b73e52c329741a0da133450553..d03b94432ed5a116278853874213d0904cdc27c3 100644
--- a/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
+++ b/neonView/PersonEditDefaults_view/PersonEditDefaults_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>EditPersDefaults_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/PersonEdit_view/PersonEdit_view.aod b/neonView/PersonEdit_view/PersonEdit_view.aod
index ead84cbbd132386d47e232e9f04032eb339b646b..aadb5625acdcd634607e274db3797b9d1816712c 100644
--- a/neonView/PersonEdit_view/PersonEdit_view.aod
+++ b/neonView/PersonEdit_view/PersonEdit_view.aod
@@ -12,7 +12,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>PersEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <showDrawer v="false" />
       <entityField>#ENTITY</entityField>
diff --git a/neonView/PersonFilter_view/PersonFilter_view.aod b/neonView/PersonFilter_view/PersonFilter_view.aod
index 0d52a18a1b932ec96237fcb26c330bff4de24671..71dfce9654a392d907d435b7a402c91e898df725 100644
--- a/neonView/PersonFilter_view/PersonFilter_view.aod
+++ b/neonView/PersonFilter_view/PersonFilter_view.aod
@@ -31,7 +31,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>PersFilter_template</name>
+      <name>Persons</name>
       <showHeader v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/PersonLookup_view/PersonLookup_view.aod b/neonView/PersonLookup_view/PersonLookup_view.aod
index 4c71e4b72b2294d0d34cbe55b9631d063f120299..4cc36b6335672f4246c40c510b674699b91df919 100644
--- a/neonView/PersonLookup_view/PersonLookup_view.aod
+++ b/neonView/PersonLookup_view/PersonLookup_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>persLookupList_template</name>
+      <name>Persons</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/PersonPreview_view/PersonPreview_view.aod b/neonView/PersonPreview_view/PersonPreview_view.aod
index a46e953f3c5307e1248693928966ddaf93a78b68..c0b9aa5c9e2b73bfc3ed0337fb394badab65f45f 100644
--- a/neonView/PersonPreview_view/PersonPreview_view.aod
+++ b/neonView/PersonPreview_view/PersonPreview_view.aod
@@ -9,10 +9,11 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>PersHeader_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>FULL_NAME_fieldGroup</titleField>
       <descriptionField>ORGANISATION_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <neonViewReference>
@@ -31,7 +32,7 @@
       <view>AddressList_view</view>
     </neonViewReference>
     <genericViewTemplate>
-      <name>PersInfo_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <drawerCaption>weitere Informationen</drawerCaption>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
index 03023d6a3acf8df1f29f66dd328b0b76ea756645..23a4b86b305206b34ebf09e437908782107424fb 100644
--- a/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
+++ b/neonView/PersonSimpleList_view/PersonSimpleList_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>persTable_template</name>
+      <name>Persons</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod b/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..90875ab7fb7f07339f46bb3a569266bd166d0e36
--- /dev/null
+++ b/neonView/Prod2ProdEdit_view/Prod2ProdEdit_view.aod
@@ -0,0 +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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>Prod2ProdEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>linkData</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 c458b6242b94b01f3dd56e22a8258981ac69d72b..396e72b87968bd15aae4ba48a39deea1f279190d 100644
--- a/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod
+++ b/neonView/Prod2prodFilter_view/Prod2prodFilter_view.aod
@@ -10,8 +10,9 @@
   </layout>
   <children>
     <treetableViewTemplate>
-      <name>partlist</name>
+      <name>Partlist</name>
       <parentField>PARENTID</parentField>
+      <favoriteActionGroup1>alter</favoriteActionGroup1>
       <titleField>PRODUCTCODE</titleField>
       <descriptionField>QUANTITY</descriptionField>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/ProductDescription_view/ProductDescription_view.aod b/neonView/ProductDescription_view/ProductDescription_view.aod
index 1443c025a557e5deffeca0ba2c69110d9aa293f9..68ea0b04dd451342f4f2c2111366361b77196c53 100644
--- a/neonView/ProductDescription_view/ProductDescription_view.aod
+++ b/neonView/ProductDescription_view/ProductDescription_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>ProductDescription_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <drawerCaption>Description</drawerCaption>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/ProductEdit_view/ProductEdit_view.aod b/neonView/ProductEdit_view/ProductEdit_view.aod
index 41bf0883f27b1183420e034cef8489fef0bf23d5..2ccd248922cc225f1f903bb0aef8c2f9fc88b5ab 100644
--- a/neonView/ProductEdit_view/ProductEdit_view.aod
+++ b/neonView/ProductEdit_view/ProductEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>ProductEdit_generic</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/ProductFilter_view/ProductFilter_view.aod b/neonView/ProductFilter_view/ProductFilter_view.aod
index 487ef7184828122708d3da3af001bff987dc0535..ae5dc5a7ba3d1879c8d094330a8ecfa8115fa2e3 100644
--- a/neonView/ProductFilter_view/ProductFilter_view.aod
+++ b/neonView/ProductFilter_view/ProductFilter_view.aod
@@ -31,13 +31,17 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Products</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
           <name>bf58edbf-0708-41a7-a092-ebc87a60c3c2</name>
           <entityField>IMAGE</entityField>
         </neonTableColumn>
+        <neonTableColumn>
+          <name>913381d1-91cc-4ec7-b732-b35ddab01b90</name>
+          <entityField>test</entityField>
+        </neonTableColumn>
         <neonTableColumn>
           <name>ee627d12-c60c-48c2-a86e-2a144f5853e6</name>
           <entityField>PRODUCTCODE</entityField>
diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod
index ec357f90b38dd8275058f1310dedab536c091ed7..af0a4e3c36e3444755114831126c839e36575a0a 100644
--- a/neonView/ProductPreview_view/ProductPreview_view.aod
+++ b/neonView/ProductPreview_view/ProductPreview_view.aod
@@ -9,14 +9,15 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>ProductHeader_template</name>
+      <name>Header</name>
       <iconField>IMAGE</iconField>
       <titleField>PRODUCTCODE</titleField>
       <descriptionField>PRODUCTNAME</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>ProductInfo_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <drawerCaption>Details</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -48,7 +49,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>ProductPriceCurrent_template</name>
+      <name>ProductPriceCurrent</name>
       <showDrawer v="true" />
       <drawerCaption>Prices</drawerCaption>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod b/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
index 867fcfc0b4a69b217396e3a4e219d7f8eabc65ab..b1b22ede16b2ec58ea6b930f3250aae1b7d4eb3b 100644
--- a/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
+++ b/neonView/ProductpriceEdit_view/ProductpriceEdit_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>Productprice_generic</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod b/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
index 9044cb6adc656964251f56bb2ef0819c1d766726..afa1bba8b0c24828b262d9eda4cf59684cd30918 100644
--- a/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
+++ b/neonView/ProductpriceFilter_view/ProductpriceFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>Prices</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
index 7d0c287f8589035410157b40263a35aaba214f05..5e6470cc381702417259cccc7c23f978003ebf89 100644
--- a/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
+++ b/neonView/ProductpriceRelation_view/ProductpriceRelation_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>Table_template</name>
+      <name>PriceRelations</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/SalesprojectClassificationEntryEdit_view/SalesprojectClassificationEntryEdit_view.aod b/neonView/SalesprojectClassificationEntryEdit_view/SalesprojectClassificationEntryEdit_view.aod
index 006ba7de60573095d68f0651f1925f157d9ba70c..6a8c90e4cc9574b7e8dbcae38bb67c4f93584485 100644
--- a/neonView/SalesprojectClassificationEntryEdit_view/SalesprojectClassificationEntryEdit_view.aod
+++ b/neonView/SalesprojectClassificationEntryEdit_view/SalesprojectClassificationEntryEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectClassificationEntryData_template</name>
+      <name>Edit</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/SalesprojectClassificationEntryPreview_view/SalesprojectClassificationEntryPreview_view.aod b/neonView/SalesprojectClassificationEntryPreview_view/SalesprojectClassificationEntryPreview_view.aod
index 8ad3101fd742c394aade32092feb495f8fbf9d20..d71591095da5d05a7478403e99a0569393f7bda2 100644
--- a/neonView/SalesprojectClassificationEntryPreview_view/SalesprojectClassificationEntryPreview_view.aod
+++ b/neonView/SalesprojectClassificationEntryPreview_view/SalesprojectClassificationEntryPreview_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <titledListViewTemplate>
-      <name>SalesprojectClassificationEntryData_template</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/SalesprojectClassificationFilter_view/SalesprojectClassificationFilter_view.aod b/neonView/SalesprojectClassificationFilter_view/SalesprojectClassificationFilter_view.aod
index 6ca2bfd6a65c151850bd31d79c00b283398c27f9..06753041a8a50c9eb8525532f144b4b7bb73029d 100644
--- a/neonView/SalesprojectClassificationFilter_view/SalesprojectClassificationFilter_view.aod
+++ b/neonView/SalesprojectClassificationFilter_view/SalesprojectClassificationFilter_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectClassificationData_template</name>
+      <name>Classifications</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/SalesprojectClassificationPreview_view/SalesprojectClassificationPreview_view.aod b/neonView/SalesprojectClassificationPreview_view/SalesprojectClassificationPreview_view.aod
index eb623b4fad182b31fc6f7f790be940a2db376b76..e5e95d8c62544d0678dc47e672edffa99d9e6660 100644
--- a/neonView/SalesprojectClassificationPreview_view/SalesprojectClassificationPreview_view.aod
+++ b/neonView/SalesprojectClassificationPreview_view/SalesprojectClassificationPreview_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>rfff</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/SalesprojectCompetitionEdit_view/SalesprojectCompetitionEdit_view.aod b/neonView/SalesprojectCompetitionEdit_view/SalesprojectCompetitionEdit_view.aod
index 858a5b24772af730677e7cadb8659880cdeb9e9d..2537d585ddfe5a5fe09c9ac624a1b50573e5233a 100644
--- a/neonView/SalesprojectCompetitionEdit_view/SalesprojectCompetitionEdit_view.aod
+++ b/neonView/SalesprojectCompetitionEdit_view/SalesprojectCompetitionEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectCompetitionEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/SalesprojectCompetitionFilter_view/SalesprojectCompetitionFilter_view.aod b/neonView/SalesprojectCompetitionFilter_view/SalesprojectCompetitionFilter_view.aod
index 2e038d42282a35dae05b4170458c63a83482a408..216b398b5dbea3d8c449f5e7b5c4884cc3db3d2b 100644
--- a/neonView/SalesprojectCompetitionFilter_view/SalesprojectCompetitionFilter_view.aod
+++ b/neonView/SalesprojectCompetitionFilter_view/SalesprojectCompetitionFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectCompetitionFilter_template</name>
+      <name>Competitions</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod b/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod
index a75b6dbedd4669e0e74988874158a0b115adb5c2..55f23878481a0fb00144870044ed7933cdc30504 100644
--- a/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod
+++ b/neonView/SalesprojectCompetitionPreview_view/SalesprojectCompetitionPreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectCompetitionHeader_template</name>
+      <name>Header</name>
       <titleField>CONTACT_ID</titleField>
       <descriptionField>INFO</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectCompetitionInfo_template</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod b/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod
index c678f05e9ab6ec63523cd2d6bad3035e9a4bae1d..9ffceb4a51797981e39af4925ab879069c1de2e1 100644
--- a/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod
+++ b/neonView/SalesprojectCycleEdit_view/SalesprojectCycleEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectCycleEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod b/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod
index 2a7d1b5ab98d4440d82b1f6d7649ab4dbb63e7b6..f0836de8505f8beb0b33953d2cd9ff2c0cc25203 100644
--- a/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod
+++ b/neonView/SalesprojectCycleFilter_view/SalesprojectCycleFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectCycleFilter_template</name>
+      <name>Cycles</name>
       <autoNewRow v="true" />
       <entityField>#ENTITY</entityField>
       <columns>
diff --git a/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod b/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod
index d8ed26196daf4abb69b2de5bfc30f340cf6ae491..be4768faf2c2b90349565a61094bba1e7d0c1493 100644
--- a/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod
+++ b/neonView/SalesprojectCyclePreview_view/SalesprojectCyclePreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectCycleHeader_template</name>
+      <name>Header</name>
       <titleField>VALUE</titleField>
       <descriptionField>DATE_START</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectForecastInfo_template</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
index 5e0a05ce09a55d27e751210dc2426f0d84c30ade..835768dd2859d518e198da621bd5ec29a627641b 100644
--- a/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
+++ b/neonView/SalesprojectEdit_view/SalesprojectEdit_view.aod
@@ -12,7 +12,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
@@ -36,6 +36,10 @@
           <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>
diff --git a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
index 2181c73016332558c0b0bd74e3f74f0cf09592b0..593405a0514b25b4afdae87248371f1d39288a01 100644
--- a/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
+++ b/neonView/SalesprojectFilter_view/SalesprojectFilter_view.aod
@@ -50,7 +50,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectFilter_table</name>
+      <name>Salesprojects</name>
       <entityField>#ENTITY</entityField>
       <title></title>
       <columns>
diff --git a/neonView/SalesprojectForecastEdit_view/SalesprojectForecastEdit_view.aod b/neonView/SalesprojectForecastEdit_view/SalesprojectForecastEdit_view.aod
index 073a35f6fde4101a8a6a5f190cccf2f6c0bca33b..ace0a0752837729ac0bd12bea77ba840a6a3fc0d 100644
--- a/neonView/SalesprojectForecastEdit_view/SalesprojectForecastEdit_view.aod
+++ b/neonView/SalesprojectForecastEdit_view/SalesprojectForecastEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectForecastEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/SalesprojectForecastFilter_view/SalesprojectForecastFilter_view.aod b/neonView/SalesprojectForecastFilter_view/SalesprojectForecastFilter_view.aod
index 5ba261bf7b8a7d9a9bd62af9a72fdc78466c4cbe..0c71d3c8eb407620a7a8112d9dd544e2e2125fa9 100644
--- a/neonView/SalesprojectForecastFilter_view/SalesprojectForecastFilter_view.aod
+++ b/neonView/SalesprojectForecastFilter_view/SalesprojectForecastFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectForecastFilter_template</name>
+      <name>Forecasts</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/SalesprojectForecastPreview_view/SalesprojectForecastPreview_view.aod b/neonView/SalesprojectForecastPreview_view/SalesprojectForecastPreview_view.aod
index 54966c16db05f856268988b3e97f6c04a83ab2d7..e4833d7143f90d4fbaec879cd7984cd476932850 100644
--- a/neonView/SalesprojectForecastPreview_view/SalesprojectForecastPreview_view.aod
+++ b/neonView/SalesprojectForecastPreview_view/SalesprojectForecastPreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectForecastHeader_template</name>
+      <name>Header</name>
       <titleField>TYPE</titleField>
       <descriptionField>DATE_START</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectForecastInfo_template</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod b/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod
index 879bdb7cd710969745e19a7cb503510656de3e60..755141ad8a614c7477258901aaf8e4c9acd0da66 100644
--- a/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod
+++ b/neonView/SalesprojectMemberEdit_view/SalesprojectMemberEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectMemberEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod b/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod
index 325028978da8c455396bc3871c94340d38de2ee9..169043149e96691513370e4516096e8d06ec7141 100644
--- a/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod
+++ b/neonView/SalesprojectMemberFilter_view/SalesprojectMemberFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectMemberFilter_template</name>
+      <name>Members</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod b/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod
index dc494029004cf195eeb62b92d4b27b187d13c1e2..f048677fa8d1211a710aae260daee1aa39a75358 100644
--- a/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod
+++ b/neonView/SalesprojectMemberPreview_view/SalesprojectMemberPreview_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectMemberHeader_template</name>
+      <name>Header</name>
       <titleField>CONTACT_ID</titleField>
       <descriptionField>SALESPROJECT_ROLE</descriptionField>
       <entityField>#ENTITY</entityField>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index ca19051792ee7cf6d39757603d4df7b3dfc5d4a3..20545e034759e3930befa346723fca10c9d42056 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -9,14 +9,15 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectPreview_template</name>
+      <name>Head</name>
       <iconField>IMAGE</iconField>
       <titleField>PROJECTTITLE</titleField>
       <descriptionField>PROJECTCODE</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectInfo_template</name>
+      <name>Details</name>
       <showDrawer v="true" />
       <drawerCaption>Details</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -29,6 +30,10 @@
           <name>4e3d7a37-f55b-4c18-9ba1-ab4ab0bbb442</name>
           <entityField>STATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>2867e662-b824-4bbf-8eaf-bbd34f44598e</name>
+          <entityField>REASONS</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>ff0dcd67-56ec-4db1-8c53-531f22fda716</name>
           <entityField>PHASE</entityField>
@@ -56,7 +61,7 @@
       </fields>
     </genericViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectDescription_template</name>
+      <name>Info</name>
       <showDrawer v="true" />
       <drawerCaption>Further informations</drawerCaption>
       <entityField>#ENTITY</entityField>
@@ -72,5 +77,15 @@
       <entityField>MainDocuments</entityField>
       <view>DocumentList_view</view>
     </neonViewReference>
+    <scoreCardViewTemplate>
+      <name>AdditionalInfo</name>
+      <entityField>#ENTITY</entityField>
+      <fields>
+        <entityFieldLink>
+          <name>79490331-6be4-422f-9450-da0db56f0654</name>
+          <entityField>DAYS_NOTACTIVE</entityField>
+        </entityFieldLink>
+      </fields>
+    </scoreCardViewTemplate>
   </children>
 </neonView>
diff --git a/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod b/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
index a137793544423149313145f1bf0306ea0a92dfcc..0630e05a808461f5177045b65f8087102d7c6b8e 100644
--- a/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
+++ b/neonView/SalesprojectSourceEdit_view/SalesprojectSourceEdit_view.aod
@@ -9,7 +9,7 @@
   </layout>
   <children>
     <genericViewTemplate>
-      <name>SalesprojectSourceEdit_template</name>
+      <name>Edit</name>
       <editMode v="true" />
       <entityField>#ENTITY</entityField>
       <fields>
diff --git a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
index cde4a6d650941e485a4af1a2626a67a4739a65e1..d2ac9aae0d330f54d0099326cbf4db895a41d715 100644
--- a/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
+++ b/neonView/SalesprojectSourceFilter_view/SalesprojectSourceFilter_view.aod
@@ -10,7 +10,7 @@
   </layout>
   <children>
     <tableViewTemplate>
-      <name>SalesprojectSourceFilter_template</name>
+      <name>Entries</name>
       <entityField>#ENTITY</entityField>
       <columns>
         <neonTableColumn>
diff --git a/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod b/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
index 296012a2a88b1364de15b4ed4263cec07c9a9373..32f84523f10f458ee658cb745fa97c6d8b1e438a 100644
--- a/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
+++ b/neonView/SalesprojectSourcePreview_view/SalesprojectSourcePreview_view.aod
@@ -9,13 +9,13 @@
   </layout>
   <children>
     <cardViewTemplate>
-      <name>SalesprojectSourceHeader_template</name>
+      <name>Header</name>
       <titleField>SOURCE</titleField>
       <descriptionField>ENTRYDATE</descriptionField>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
-      <name>SalesprojectSourceInfo_template</name>
+      <name>Info</name>
       <entityField>#ENTITY</entityField>
       <fields>
         <entityFieldLink>
diff --git a/neonView/TaskEdit_view/TaskEdit_view.aod b/neonView/TaskEdit_view/TaskEdit_view.aod
index 24df599d7a43e21be159443d1179c7aeaa2d5683..b0a1d9bbfefdc8cafc03fbeee6ca9ce6c42e93e4 100644
--- a/neonView/TaskEdit_view/TaskEdit_view.aod
+++ b/neonView/TaskEdit_view/TaskEdit_view.aod
@@ -29,6 +29,10 @@
           <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>
@@ -51,5 +55,10 @@
         </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/TaskLinkFilter_view/TaskLinkFilter_view.aod b/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..89f515694cca37afd30c64cfb79a79e035bc50c9
--- /dev/null
+++ b/neonView/TaskLinkFilter_view/TaskLinkFilter_view.aod
@@ -0,0 +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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>TaskLinkFilter_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <tableViewTemplate>
+      <name>Table</name>
+      <autoNewRow v="true" />
+      <entityField>#ENTITY</entityField>
+      <columns>
+        <neonTableColumn>
+          <name>4d2b280c-adb2-4977-b70a-ba07959e44c2</name>
+          <entityField>OBJECT_TYPE</entityField>
+        </neonTableColumn>
+        <neonTableColumn>
+          <name>d8467d50-50c8-42df-90c3-dcb3359f1267</name>
+          <entityField>OBJECT_ROWID</entityField>
+        </neonTableColumn>
+      </columns>
+    </tableViewTemplate>
+  </children>
+</neonView>
diff --git a/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..77930d0a1b180e0533848add9d3ac9785dca4998
--- /dev/null
+++ b/neonView/TaskLinkMultiEdit_view/TaskLinkMultiEdit_view.aod
@@ -0,0 +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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
+  <name>TaskLinkMultiEdit_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <boxLayout>
+      <name>layout</name>
+    </boxLayout>
+  </layout>
+  <children>
+    <genericMultipleViewTemplate>
+      <name>GenericMultiple</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/Prod2prodPreview_view/Prod2prodPreview_view.aod b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
similarity index 50%
rename from neonView/Prod2prodPreview_view/Prod2prodPreview_view.aod
rename to neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
index 26f5a6c4d4601aa29d863407433af53b303d99be..60cdf3b08b918313763c16cd74381ea8ae40d6cd 100644
--- a/neonView/Prod2prodPreview_view/Prod2prodPreview_view.aod
+++ b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
@@ -1,10 +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.0.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.1">
-  <name>Prod2prodPreview_view</name>
+  <name>TaskLinkPreview_view</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <boxLayout>
       <name>layout</name>
     </boxLayout>
   </layout>
+  <children>
+    <genericViewTemplate>
+      <name>Generic</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/TaskMainPreview_view/TaskMainPreview_view.aod b/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
index 89cb729d600f3fd342ccc93240dfe1cefac6c9ea..8c75d55dc95019e0062a0b66ab49cde0aaef6a68 100644
--- a/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
+++ b/neonView/TaskMainPreview_view/TaskMainPreview_view.aod
@@ -12,6 +12,7 @@
       <name>head</name>
       <iconField>#ICON</iconField>
       <titleField>SUBJECT</titleField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
diff --git a/neonView/TaskMain_view/TaskMain_view.aod b/neonView/TaskMain_view/TaskMain_view.aod
index 4be843f93960bac853acd429f72aacbba0c61fae..7f4ea5b571e4dadf992eb4840eee7e3f3b4fb80c 100644
--- a/neonView/TaskMain_view/TaskMain_view.aod
+++ b/neonView/TaskMain_view/TaskMain_view.aod
@@ -14,6 +14,11 @@
       <entityField>#ENTITY</entityField>
       <view>TaskMainPreview_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
     <genericViewTemplate>
       <name>details</name>
       <showDrawer v="true" />
@@ -36,9 +41,9 @@
       <view>DocumentFilter_view</view>
     </neonViewReference>
     <neonViewReference>
-      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
+      <name>37975d30-f449-4a9f-8eac-81dcad4bbf97</name>
+      <entityField>Links</entityField>
+      <view>TaskLinkFilter_view</view>
     </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/TaskPreview_view/TaskPreview_view.aod b/neonView/TaskPreview_view/TaskPreview_view.aod
index cce489a22fc53fab49f62e16ecd82e94dec69397..836ca3935e03bd1225e0bf073d3d3c3238cc4de9 100644
--- a/neonView/TaskPreview_view/TaskPreview_view.aod
+++ b/neonView/TaskPreview_view/TaskPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>#ICON</iconField>
       <titleField>SUBJECT</titleField>
       <descriptionField>STATUS</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
@@ -28,6 +29,10 @@
           <name>dda6aefc-9d4f-4d93-9a45-bc97a278c050</name>
           <entityField>MATURITY_DATE</entityField>
         </entityFieldLink>
+        <entityFieldLink>
+          <name>3c7f0603-f659-47ea-adbf-4a4b0b0c6b37</name>
+          <entityField>PROGRESS</entityField>
+        </entityFieldLink>
         <entityFieldLink>
           <name>ebdffed8-4999-4ec1-ac4d-c22514dfed0c</name>
           <entityField>PRIORITY</entityField>
diff --git a/neonView/TwitterTimeline_view/TwitterTimeline_view.aod b/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
index 25c658f82ad88d6c76b77c1f5a3493e2dd63dff4..6763318663ae659f1b860d44eeb69ac067c851d3 100644
--- a/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
+++ b/neonView/TwitterTimeline_view/TwitterTimeline_view.aod
@@ -61,7 +61,7 @@
   </layout>
   <children>
     <webContentViewTemplate>
-      <name>TIMELINE_TEMPLATE</name>
+      <name>Timeline</name>
       <entityField>TWITTER_TIMELINE</entityField>
     </webContentViewTemplate>
   </children>
diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_DeliveryTerm.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_DeliveryTerm.xml
new file mode 100644
index 0000000000000000000000000000000000000000..895edb0305d2c1564a21eaf218aa245b8f1cffb6
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_DeliveryTerm.xml
@@ -0,0 +1,55 @@
+<?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.listl" id="7fb6a9f2-88c3-49cf-9c93-9210c4ccc127">
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="9509c6b8-208a-4e97-bdcd-53642d0c7489"/>
+
+            <column name="KEYID" value="7ab99d69-2a1e-4ef1-af62-aeabc7a3bc97"/>
+            <column name="TITLE" value="carriage free"/>
+            <column name="CONTAINER" value="DeliveryTerm"/>
+            <column name="SORTING" valueNumeric="0"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="d713c45a-6f87-4516-ae21-1d8f1c217949"/>
+
+            <column name="KEYID" value="aa8713c9-ae12-4ce3-a588-0303cea11b44"/>
+            <column name="TITLE" value="CIF"/>
+            <column name="CONTAINER" value="DeliveryTerm"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="410a389b-67d4-4155-8d9e-1e8d816ecfb9"/>
+
+            <column name="KEYID" value="a4d40341-a015-4c59-9bde-f8e59582269b"/>
+            <column name="TITLE" value="ex works"/>
+            <column name="CONTAINER" value="DeliveryTerm"/>
+            <column name="SORTING" valueNumeric="2"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <rollback>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="9509c6b8-208a-4e97-bdcd-53642d0c7489" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="d713c45a-6f87-4516-ae21-1d8f1c217949" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="410a389b-67d4-4155-8d9e-1e8d816ecfb9" />
+                </whereParams>
+            </delete>
+        </rollback>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_PaymentTerm.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_PaymentTerm.xml
new file mode 100644
index 0000000000000000000000000000000000000000..dafc82509cd4f22c65d3d16cd3b944d899e18622
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_PaymentTerm.xml
@@ -0,0 +1,55 @@
+<?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.listl" id="c603e739-e01a-48ca-9ef4-4dc6ecc226c1">
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="b8409c4a-6447-408a-bd06-dfe67054a4f1"/>
+
+            <column name="KEYID" value="178aabbf-3f4c-415b-98bd-5f2510ea72b4"/>
+            <column name="TITLE" value="7 days net"/>
+            <column name="CONTAINER" value="PaymentTerm"/>
+            <column name="SORTING" valueNumeric="0"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="edba1a8f-766b-4dfa-9360-1a2aca8569d6"/>
+
+            <column name="KEYID" value="c67ba0fc-2f2f-46d8-8d4d-e8fb4c27e09a"/>
+            <column name="TITLE" value="30 days net"/>
+            <column name="CONTAINER" value="PaymentTerm"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="ed1b3d39-9cab-4c3c-84c5-438a8b67be53"/>
+
+            <column name="KEYID" value="860d8e1c-ea85-426d-91c2-a78dcd14df8d"/>
+            <column name="TITLE" value="8 days 2% discount, 30 days net"/>
+            <column name="CONTAINER" value="PaymentTerm"/>
+            <column name="SORTING" valueNumeric="2"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <rollback>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="b8409c4a-6447-408a-bd06-dfe67054a4f1" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="edba1a8f-766b-4dfa-9360-1a2aca8569d6" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="ed1b3d39-9cab-4c3c-84c5-438a8b67be53" />
+                </whereParams>
+            </delete>
+        </rollback>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_TaskProgress.xml b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_TaskProgress.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3ece432b8883adb68b8a781a7c0a2f1295cbffa4
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/AditoBasic/init_TaskProgress.xml
@@ -0,0 +1,87 @@
+<?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.listl" id="e73a241c-e04a-4e7e-af93-a88c5a63526d">
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="9887b380-8e6a-4fab-a99c-46172cb9ecc5"/>
+
+            <column name="KEYID" value="ec92271b-eac2-4ec2-be24-ab4abde7e939"/>
+            <column name="TITLE" value="0%"/>
+            <column name="CONTAINER" value="TaskProgress"/>
+            <column name="SORTING" valueNumeric="0"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="c228d007-5f1b-41a9-baaf-4bac444e2d63"/>
+
+            <column name="KEYID" value="5098fde4-660f-4381-9ff5-6d29a858e68e"/>
+            <column name="TITLE" value="25%"/>
+            <column name="CONTAINER" value="TaskProgress"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="9c24af78-bb51-4706-ae3c-35f450fc4034"/>
+
+            <column name="KEYID" value="be372581-b785-44f4-be6a-c0d7b4d32a72"/>
+            <column name="TITLE" value="50%"/>
+            <column name="CONTAINER" value="TaskProgress"/>
+            <column name="SORTING" valueNumeric="2"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="612acb5c-9cde-4229-8910-6ca6eb7bed8c"/>
+
+            <column name="KEYID" value="be372581-b785-44f4-be6a-c0d7b4d32a72"/>
+            <column name="TITLE" value="75%"/>
+            <column name="CONTAINER" value="TaskProgress"/>
+            <column name="SORTING" valueNumeric="3"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="711db73d-eed2-43a6-ac57-a608a831eb8d"/>
+
+            <column name="KEYID" value="5928d5ec-d256-4088-be0c-2cdfd5a8f7fa"/>
+            <column name="TITLE" value="100%"/>
+            <column name="CONTAINER" value="TaskProgress"/>
+            <column name="SORTING" valueNumeric="4"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <rollback>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="9887b380-8e6a-4fab-a99c-46172cb9ecc5" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="c228d007-5f1b-41a9-baaf-4bac444e2d63" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="9c24af78-bb51-4706-ae3c-35f450fc4034" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="612acb5c-9cde-4229-8910-6ca6eb7bed8c" />
+                </whereParams>
+            </delete>
+            <delete tableName="AB_KEYWORD_ENTRY">
+                <where>AB_KEYWORD_ENTRYID = ?</where>
+                <whereParams>
+                    <param value="711db73d-eed2-43a6-ac57-a608a831eb8d" />
+                </whereParams>
+            </delete>
+        </rollback>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml b/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml
index 9e0b5a7112973263fbffaa25761aa8e5b95f23b6..0186627b55d3410360406bd0a6263d5bbccd04d0 100644
--- a/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml
+++ b/others/db_changes/data_alias/basic/2019.2/AttributeKeyword.xml
@@ -1,17 +1,20 @@
-<?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.listl" id="f527a5cc-f1e5-497f-a069-33aee944d421">
-	<addColumn tableName="AB_ATTRIBUTE">
-            <column name="KEYWORD_CONTAINER" type="VARCHAR(80)"/>
-	</addColumn>
-        <addColumn tableName="AB_ATTRIBUTE">
-            <column name="ATTRIBUTE_INFO" type="NCLOB"/>
-	</addColumn>
-        <addColumn tableName="AB_ATTRIBUTE">
-            <column name="SORTING" type="INTEGER"/>
-	</addColumn>
-	<addColumn tableName="AB_ATTRIBUTERELATION">
-            <column name="MEMO_VALUE" type="NCLOB"/>
-	</addColumn>
-    </changeSet>
+<?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.listl" id="f527a5cc-f1e5-497f-a069-33aee944d421">
+	<addColumn tableName="AB_ATTRIBUTE">
+            <column name="KEYWORD_CONTAINER" type="VARCHAR(80)"/>
+	</addColumn>
+        <addColumn tableName="AB_ATTRIBUTE">
+            <column name="ATTRIBUTE_INFO" type="NCLOB"/>
+	</addColumn>
+        <addColumn tableName="AB_ATTRIBUTE">
+            <column name="SORTING" type="INTEGER"/>
+	</addColumn>
+	<addColumn tableName="AB_ATTRIBUTERELATION">
+            <column name="MEMO_VALUE" type="NCLOB"/>
+	</addColumn>
+	<createIndex indexName="IDX_ATTRPARENT" tableName="AB_ATTRIBUTE">
+		<column name="ATTRIBUTE_PARENT_ID"/>
+	</createIndex>
+    </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/ChangeNotes.txt b/others/db_changes/data_alias/basic/2019.2/ChangeNotes.txt
index a567af3fbd00e9aa95d7858f28965087221b66a3..066e6c71255e79e041f34f99c06e7055206a63a2 100644
--- a/others/db_changes/data_alias/basic/2019.2/ChangeNotes.txt
+++ b/others/db_changes/data_alias/basic/2019.2/ChangeNotes.txt
@@ -1,4 +1,5 @@
 * all TaskTypes are deleted, new Type "Task" is created
  - you may have to update all Tasks to use type "Tak" (keyid: 4dee8727-8299-422e-ae41-6cdf9de2dfd799)
 * Column CODE is reset to NULL on all tasks (it is curently  not needed by basic)
-* ESTIMATION and ESTIMATIONVALUE from salesproject are droped
\ No newline at end of file
+* ESTIMATION and ESTIMATIONVALUE from salesproject are droped
+* ObjectRelation: Types are moved from AB_OBJECTRELATION to AB_OBJECTRELATIONTYPE
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml b/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml
deleted file mode 100644
index 5928e9f4869d10562fbb2e0a461308ad674b8e54..0000000000000000000000000000000000000000
--- a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type_exampleData.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2">
-        <insert tableName="AB_OBJECTRELATION">
-            <column name="AB_OBJECTRELATIONID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="OBJECT1_TYPE" value="Person"/>
-            <column name="OBJECT1_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="OBJECT2_TYPE" value="Person"/>
-            <column name="OBJECT2_ROWID" value="73d72702-e7f5-11e8-9f32-f2801f1b9fd1"/>
-            <column name="RELATION_TYPE" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-        </insert>
-        <insert tableName="AB_OBJECTRELATION">
-            <column name="AB_OBJECTRELATIONID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/>
-            <column name="OBJECT1_TYPE" value="Organisation"/>
-            <column name="OBJECT1_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
-            <column name="OBJECT2_TYPE" value="Organisation"/>
-            <column name="OBJECT2_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-            <column name="RELATION_TYPE" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/>
-        </insert>
-        <insert tableName="AB_OBJECTRELATION">
-            <column name="AB_OBJECTRELATIONID" value="5c545235-231f-4082-9e74-4ec4512eb98d"/>
-            <column name="OBJECT1_TYPE" value="Person"/>
-            <column name="OBJECT1_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="OBJECT2_TYPE" value="Organisation"/>
-            <column name="OBJECT2_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
-            <column name="RELATION_TYPE" value="600cd496-c7c1-4be0-a339-76f057711025"/>
-        </insert>
-        <insert tableName="AB_OBJECTRELATION">
-            <column name="AB_OBJECTRELATIONID" value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9"/>
-            <column name="OBJECT1_TYPE" value="Person"/>
-            <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
-            <column name="OBJECT2_TYPE" value="Person"/>
-            <column name="OBJECT2_ROWID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
-            <column name="RELATION_TYPE" value="493ecd1a-c1ba-457c-bbe1-0f9279ad653e"/>
-        </insert>
-        <rollback>
-            <delete tableName="AB_OBJECTRELATION">
-            <where>AB_OBJECTRELATIONID = in(?, ?, ?, ?)</where>
-            <whereParams>
-                <param value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7" />
-                <param value="85ad4578-dce2-49df-a844-d162f1bd9f2f" />
-                <param value="5c545235-231f-4082-9e74-4ec4512eb98d" />
-                <param value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9" />
-            </whereParams>
-        </delete>
-        </rollback>
-    </changeSet>
-</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/Offer_terms.xml b/others/db_changes/data_alias/basic/2019.2/Offer_terms.xml
new file mode 100644
index 0000000000000000000000000000000000000000..89189b968b50b200f77fb830071f62f5837e3614
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/Offer_terms.xml
@@ -0,0 +1,11 @@
+<?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.listl" id="09de84ad-de1a-42f6-a403-6032480be850">
+	<addColumn tableName="OFFER">
+            <column name="PAYMENTTERMS" type="CHAR(36)"/>
+	</addColumn>
+        <addColumn tableName="OFFER">
+            <column name="DELIVERYTERMS" type="CHAR(36)"/>
+	</addColumn>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml b/others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml
similarity index 70%
rename from others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml
rename to others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml
index 0fd9deec3ba9940127f7e0a7d4f99887cf328fa1..a40ddf6bd75ea8cfbbe67b3da653db70d1cd58a3 100644
--- a/others/db_changes/data_alias/basic/2019.2/ObjectRelation_add_type.xml
+++ b/others/db_changes/data_alias/basic/2019.2/Salesproject_add_column.xml
@@ -1,8 +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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2">
-        <addColumn tableName="AB_OBJECTRELATION">
-            <column name="RELATION_TYPE" type="CHAR(36)"/>
+	<changeSet author="m.hofmann" id="e148d42d-ba3c-4cb7-a414-f2da9a9f2ae0">
+		<addColumn tableName="SALESPROJECT">
+			<!-- space for 13 entries as Multistring encoded -->
+            <column name="REASONS" type="VARCHAR(498)"/>
         </addColumn>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml b/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml
deleted file mode 100644
index d62b568bdd6032a3928f1ad4493b0aae8e0b7ac8..0000000000000000000000000000000000000000
--- a/others/db_changes/data_alias/basic/2019.2/add_ObjectRelationKeyword.xml
+++ /dev/null
@@ -1,444 +0,0 @@
-<?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="e19fc338-8596-4dbb-81e0-0cb6a1af6bf2">
-        <!-- define attributes for the object relation -->
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="NAME" value="Object1Title"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="NAME" value="Object2Title"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="NAME" value="Object1Type"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="NAME" value="Object2Type"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="NAME" value="Hierarchy"/>
-            <column name="TYPE" value="BOOL_VALUE"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-        </insert>
-        
-      
-        <!-- insert the possible relations --> 
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="KEYID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/>
-            <column name="TITLE" value="parent company - subsidiary"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="0"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4e986a5a-2262-4ec0-b421-c2f5d88be018"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="CHAR_VALUE" value="parent company"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7b9e8730-b6c8-482a-8a75-aee066a8efe5"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="CHAR_VALUE" value="subsidiary"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b6526d57-2ad9-48dc-94a7-689e8d263c16"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d9a32354-81a5-4172-bab7-fef08a49ca74"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ae4d4dc8-a581-4e59-ace0-7f01e716e5a6"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
-            <column name="BOOL_VALUE" valueNumeric="1"/>
-        </insert>
-    
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="KEYID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="TITLE" value="parent of - child of"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="1"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="8a59bb48-9a59-44d4-a850-2efe195c86a3"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="CHAR_VALUE" value="parent of"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="df713320-3aa3-4fb0-949d-8d23e03bdcbf"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="CHAR_VALUE" value="child of"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="361a2bbf-2e1b-49fc-8d5d-8926b6ad279f"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="f8671437-0f70-406f-bd45-8013709b8b00"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d9da1d2d-de57-411e-9e7b-341711134270"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="727959cf-35ae-4f31-94f0-03f1aa86ce63"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="KEYID" value="1276bd28-7cac-4445-8d73-2ee99d97bfc7"/>
-            <column name="TITLE" value="supports - supported by"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="2"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="00e6118c-5c94-49c9-b0da-f46575540148"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="CHAR_VALUE" value="supports"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b5ad48e3-1a96-4357-bae7-977835defcf2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="CHAR_VALUE" value="supported by"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1f7f6020-298d-430c-a1f4-ca0ca334ff67"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="5ed69afb-38bf-4f08-938e-ecdca1d16a04"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9b136732-6472-4b21-a1f7-3e1014471158"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="d912e828-a3de-4798-b169-52db380d6d1c"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-    
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="KEYID" value="8792ea2b-f1bc-48bb-899b-1de01acbfc5a"/>
-            <column name="TITLE" value="supervisor of - reports to"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="3"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="94fa8dc2-cc7c-4f71-9a88-72ee0bd9f79a"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="CHAR_VALUE" value="supervisor of"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c88680d8-a9d2-467b-9337-dce1539b20ca"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="CHAR_VALUE" value="reports to"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="30cf7f61-2e22-4b91-91eb-d5eda5e53fa8"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="96d5c7d1-023a-4705-984e-c4a269650138"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="765a4200-0e87-4e7f-9ac1-f78fc249cbad"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="a7a9338b-7508-414b-9e88-7d813dc9ee3a"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="KEYID" value="600cd496-c7c1-4be0-a339-76f057711025"/>
-            <column name="TITLE" value="promotion target by - solicits"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="4"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="08348377-9319-4b64-a252-f8e3f02e4140"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="CHAR_VALUE" value="promotion target by"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c80eeaee-5434-407c-b454-cfbfefdb2092"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="CHAR_VALUE" value="solicits"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="e8f5072a-3705-4f54-a845-92dafa37439c"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cddccada-b6df-4d91-9b87-d130b5eecc69"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cb0b466b-2b3d-4255-9f0b-40e14d687d05"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/>
-            <column name="KEYID" value="a19802ad-f5aa-47dc-abb3-02791a4aa7ac"/>
-            <column name="TITLE" value="competitor"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="5"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="6213ea88-eb7f-476e-aa00-956a83ba9c6d"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/>
-            <column name="CHAR_VALUE" value="competitor"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7f0df183-d0ff-467b-a12b-fc6a0b96fd48"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="740289a9-54d1-48e0-8e3a-207e9501853f"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="ba666b30-27b0-46ba-8ea7-442518cb862f"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eb8338f-0e10-4667-bd4a-fb32a844c1a4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e7c904f-8ddc-4364-be5d-eee3561248b6"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="KEYID" value="a35a0962-9607-41ff-83d0-666d74b4259a"/>
-            <column name="TITLE" value="society - member"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="6"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="a3d86cfb-b784-4c38-9c5d-eb403c120bb5"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="CHAR_VALUE" value="society"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c44695d7-73da-4d42-9ecc-ade12952e3b1"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="CHAR_VALUE" value="member"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cd13e7a1-e7c0-4aae-8f5b-5c813d25de65"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="68a5fd04-85e8-4dab-9812-24e829bf62d9"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="4b1d8f5e-620a-465a-89b1-dbde63a13c87"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9f8c0b60-5677-4f9b-8929-5e55a13f7910"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/>
-            <column name="KEYID" value="493ecd1a-c1ba-457c-bbe1-0f9279ad653e"/>
-            <column name="TITLE" value="acquainted with"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="7"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="195b8f8b-9a3d-47b0-8f54-d36d2d91d921"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/>
-            <column name="CHAR_VALUE" value="acquainted with"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="d0326c46-28b3-4aee-918b-2389b076947b"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="04bc8d76-08c2-4f3f-b2ae-82769c824aad"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="0492943c-a14c-43bb-ad15-18ac8b6c696f"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="c4e1e83f-55be-46aa-a29c-0564ae22df9b"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/>
-            <column name="KEYID" value="003e1f5f-aa21-47aa-bd21-2aa3b4154792"/>
-            <column name="TITLE" value="collaboration with"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="8"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="2f54c8cd-44d4-422e-a8c0-be6c26793b32"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/>
-            <column name="CHAR_VALUE" value="collaboration with"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="236adff1-8c85-4546-9391-0ef838e0fb8a"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ac5dac4c-df10-4095-a3ca-5d700def4266"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/>
-            <column name="CHAR_VALUE" value="Organisation"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3acce4b1-a1c9-4793-b221-039412db7a67"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="6727c8f1-7712-4886-b3d4-a83ef721a174"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-                
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="KEYID" value="7a932349-b7bd-4b46-90f6-1f82d48615da"/>
-            <column name="TITLE" value="grandparents of - ankle of"/>
-            <column name="CONTAINER" value="ObjectRelationType"/>
-            <column name="SORTING" valueNumeric="9"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="0"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b01c8949-9a73-4ef0-bb4e-8d7d524305fc"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="CHAR_VALUE" value="grandparents of"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b7805a07-1c8a-4790-984d-d3c528a6d1e0"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="CHAR_VALUE" value="ankle of"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="737371f2-a2c6-4e6f-8533-cf57ff94dfad"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c0737adb-17eb-438d-86f6-4975fff54494"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="CHAR_VALUE" value="Person"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="29cbc01b-3f21-4b4d-902b-d9ffba462cc8"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7e875176-e580-4757-affc-739a80c85363"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="bad1ccc0-1fa4-43eb-b650-4087c4c56522"/>
-            <column name="BOOL_VALUE" valueNumeric="0"/>
-        </insert>
-        
-        <rollback>
-            <delete tableName="AB_KEYWORD_ATTRIBUTE">
-                <where>CONTAINER = ?</where>
-                <whereParams>
-                    <param value="ObjectRelationType"/>
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>CONTAINER = ?</where>
-                <whereParams>
-                    <param value="ObjectRelationType"/>
-                </whereParams>
-            </delete>
-            <delete tableName="AB_KEYWORD_ATTRIBUTERELATION">
-                <where>AB_KEYWORD_ATTRIBUTE_ID in (?, ?, ?, ?)</where>
-                <whereParams>
-                    <param value="6f81d079-d404-4bda-a7c7-b830ed3d80d5"/>
-                    <param value="e8c85be3-1acb-45f6-aeea-726ba5811ab8"/>
-                    <param value="c81d7fda-9779-46cc-b170-a1c49300b8c2"/>
-                    <param value="0b5d7e46-45c2-48f3-a48a-b3d1a0af674c"/>
-                </whereParams>
-            </delete>
-        </rollback>
-    </changeSet>
-</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/add_ObjectRelation_type.xml b/others/db_changes/data_alias/basic/2019.2/add_ObjectRelation_type.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1fe970cb978fa75867033eedcd40729919b23316
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/add_ObjectRelation_type.xml
@@ -0,0 +1,164 @@
+<?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="c3c9e36e-24af-4c4c-9463-1a14f5c3fba6">
+        <createTable tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_AB_OBJECTRELATIONTYPE_AB_OBJECTRELATIONTYPEID"/>
+            </column>
+            <column name="OBJECT_TYPE" type="NVARCHAR(50)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="RELATION_TITLE" type="NVARCHAR(80)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="RELATION_TYPE" type="CHAR(36)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="SIDE" type="INTEGER">
+                <constraints nullable="false"/>
+            </column>
+        </createTable>
+        
+        <addColumn tableName="AB_OBJECTRELATION">
+            <column name="AB_OBJECTRELATIONTYPE1" type="CHAR(36)"/>
+            <column name="AB_OBJECTRELATIONTYPE2" type="CHAR(36)"/>
+        </addColumn>
+        
+        <dropIndex tableName="AB_OBJECTRELATION" indexName="IDX_AB_OBJECTRELATION_OBJECT1"/>
+        <dropIndex tableName="AB_OBJECTRELATION" indexName="IDX_AB_OBJECTRELATION_OBJECT2"/>
+        <dropColumn tableName="AB_OBJECTRELATION" columnName="OBJECT1_TYPE"/>
+        <dropColumn tableName="AB_OBJECTRELATION" columnName="OBJECT2_TYPE"/>
+        
+        
+      
+        <!-- insert the possible relations --> 
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="c9b7ce6b-1100-46f6-8498-2da6ac24189e"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="parent company"/>
+            <column name="RELATION_TYPE" value="a054875d-b9a2-499d-877b-ccec31358324"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="259babbd-7827-44d4-b9ec-8245d27b5f70"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="subsidiary"/>
+            <column name="RELATION_TYPE" value="a054875d-b9a2-499d-877b-ccec31358324"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+        
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="c74ad02c-1db9-4f47-8691-aba349dbe316"/>
+            <column name="OBJECT_TYPE" value="Person"/><!-- TODO: use Private, Private -->
+            <column name="RELATION_TITLE" value="parent of"/>
+            <column name="RELATION_TYPE" value="52f3ec58-71d5-469f-85e4-37ef2eeeb3e0"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="b3b85332-1c86-4cd8-a3b9-34c49c51f01a"/>
+            <column name="OBJECT_TYPE" value="Person"/><!-- TODO: use Private, Private -->
+            <column name="RELATION_TITLE" value="child of"/>
+            <column name="RELATION_TYPE" value="52f3ec58-71d5-469f-85e4-37ef2eeeb3e0"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="3d2808bf-397b-4220-a563-36b066b5c9a9"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="supports"/>
+            <column name="RELATION_TYPE" value="5ab4d256-4220-4c28-88d6-1db01e2f4667"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="a51e23c0-d44a-4e39-a79b-7a357fb79cc2"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="supported by"/>
+            <column name="RELATION_TYPE" value="5ab4d256-4220-4c28-88d6-1db01e2f4667"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+    
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="b96a36ff-bc43-4159-a6e7-3d53cba67189"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="supervisor of"/>
+            <column name="RELATION_TYPE" value="4df4160d-6efc-43b3-9b02-710ab3d0228c"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="0a47c346-9b6f-4cdd-8c38-77800d7012f5"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="reports to"/>
+            <column name="RELATION_TYPE" value="4df4160d-6efc-43b3-9b02-710ab3d0228c"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+    
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="9d4739ba-33b0-4e87-b281-561e2cbdd277"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="promotion target of"/>
+            <column name="RELATION_TYPE" value="ddad6aa3-267b-4784-afbb-98242218fcf5"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="e397b595-38ae-4365-908e-75ee388838eb"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="solicits"/>
+            <column name="RELATION_TYPE" value="ddad6aa3-267b-4784-afbb-98242218fcf5"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="0795a3cd-295b-421b-aed1-decc09b05362"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="competitor"/>
+            <column name="RELATION_TYPE" value="032ebe0a-7204-4eec-82a2-cb13b65850d7"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="society"/>
+            <column name="RELATION_TYPE" value="9f65f915-2767-40c4-9e7b-e818e915648f"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="member"/>
+            <column name="RELATION_TYPE" value="9f65f915-2767-40c4-9e7b-e818e915648f"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="acquainted with"/>
+            <column name="RELATION_TYPE" value="84120fad-e7a2-4961-8c29-d00da41efe48"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="47a9e611-79b6-46b6-b767-3a0dfed9d010"/>
+            <column name="OBJECT_TYPE" value="Organisation"/>
+            <column name="RELATION_TITLE" value="collaboration with"/>
+            <column name="RELATION_TYPE" value="091d866f-67e8-4fd6-afdc-e40d0f2be224"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="39e73949-c8d9-46a2-a0b5-18be95e7ba11"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="grandparents of"/>
+            <column name="RELATION_TYPE" value="f36c69c2-6d03-45ef-81a0-f9118ce3f4c6"/>
+            <column name="SIDE" valueNumeric="1"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATIONTYPE">
+            <column name="AB_OBJECTRELATIONTYPEID" value="a2296f93-2371-4ab8-9f29-ef0795d1e9b2"/>
+            <column name="OBJECT_TYPE" value="Person"/>
+            <column name="RELATION_TITLE" value="ankle of"/>
+            <column name="RELATION_TYPE" value="f36c69c2-6d03-45ef-81a0-f9118ce3f4c6"/>
+            <column name="SIDE" valueNumeric="2"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/changelog.xml b/others/db_changes/data_alias/basic/2019.2/changelog.xml
index 64b6861a57843b46fae97676f4ff215d486f3bd7..139a4d6f4512a4ad12688edf19af74d879ee6007 100644
--- a/others/db_changes/data_alias/basic/2019.2/changelog.xml
+++ b/others/db_changes/data_alias/basic/2019.2/changelog.xml
@@ -41,10 +41,6 @@
     <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1009.xml" context="example"/>
     <include relativeToChangelogFile="true" file="data/example_task/base.xml" context="example"/>
     
-    <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/>
-    <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/>
-	
     <include relativeToChangelogFile="true" file="update_TaskType_Task.xml"/>
     
     <include relativeToChangelogFile="true" file="removeTaskCode.xml"/>
@@ -55,11 +51,7 @@
     <include relativeToChangelogFile="true" file="create_salutation.xml"/>
     
     <include relativeToChangelogFile="true" file="drop_estimation_salesproject.xml"/>
-    <!--
-    <include relativeToChangelogFile="true" file="add_ObjectRelationKeyword.xml"/>
-    <include relativeToChangelogFile="true" file="ObjectRelation_add_type.xml"/>
-    <include relativeToChangelogFile="true" file="ObjectRelation_add_type_exampleData.xml" context="example"/>
-    -->
+    
     <!--References to the Keyword Values-->
     <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/OfferProbability.xml"/>
     <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/ActivityCategory.xml"/>
@@ -82,13 +74,19 @@
     <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectState.xml"/>
     <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectPhase.xml"/>
     <include relativeToChangelogFile="true" file="AditoBasic/init_TaskPriority.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_TaskProgress.xml"/>
     <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectCompetitionState.xml"/>
     <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeType.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_PaymentTerm.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_DeliveryTerm.xml"/>
+    <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/>
     <include relativeToChangelogFile="true" file="Contact_add_columns.xml"/>
     <include relativeToChangelogFile="true" file="SalesOrder_source_offer.xml"/>
-    
     <include relativeToChangelogFile="true" file="Product_remove_fk.xml"/>
     
+    <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/>
+	
     <include relativeToChangelogFile="true" file="drop_contact_id_sp_forecast.xml"/>
     
     <include relativeToChangelogFile="true" file="fix_sp_phases.xml"/>
@@ -96,4 +94,13 @@
     <include relativeToChangelogFile="true" file="drop_pricePolitics-weakness-strength.xml"/>
     
     <include relativeToChangelogFile="true" file="update_pricelist_keyword.xml"/>
+    
+    <include relativeToChangelogFile="true" file="create_taskLink.xml"/>
+    
+    <include relativeToChangelogFile="true" file="Offer_terms.xml"/>
+    
+    <include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
+    <include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
+    
+    <include relativeToChangelogFile="true" file="Salesproject_add_column.xml"/>
 </databaseChangeLog>
diff --git a/others/db_changes/data_alias/basic/2019.2/create_taskLink.xml b/others/db_changes/data_alias/basic/2019.2/create_taskLink.xml
new file mode 100644
index 0000000000000000000000000000000000000000..16d830a4a6366a2c6a3dd9452b33cd787b645451
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/create_taskLink.xml
@@ -0,0 +1,19 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="s.listl" id="19316d54-36f6-4a96-97b6-0279c9a33520">
+        <createTable tableName="TASKLINK">
+            <column name="TASKLINKID" type="CHAR(36)">
+                <constraints primaryKey="true" primaryKeyName="PK_TASKLINK_TASKLINKID"/>
+            </column>
+            <column name="TASK_ID" type="CHAR(36)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="OBJECT_TYPE" type="NVARCHAR(63)">
+                <constraints nullable="false"/>
+            </column>
+            <column name="OBJECT_ROWID" type="CHAR(36)">
+                <constraints nullable="false"/>
+            </column>
+        </createTable>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/data/AditoBasic/ObjectRelation_exampleData.xml b/others/db_changes/data_alias/basic/2019.2/data/AditoBasic/ObjectRelation_exampleData.xml
new file mode 100644
index 0000000000000000000000000000000000000000..db8fa70a9c5427c29c02f22db8e08f93f8fa83b5
--- /dev/null
+++ b/others/db_changes/data_alias/basic/2019.2/data/AditoBasic/ObjectRelation_exampleData.xml
@@ -0,0 +1,35 @@
+<?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="44c06ef1-d9b7-4c5a-a3ee-276ed84caca3">
+        <delete tableName="AB_OBJECTRELATION"/>
+        
+        <insert tableName="AB_OBJECTRELATION">
+            <column name="AB_OBJECTRELATIONID" value="1a67eaa7-21da-4a18-97ab-755ac5cb74f7"/>
+            <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+            <column name="OBJECT2_ROWID" value="73d72702-e7f5-11e8-9f32-f2801f1b9fd1"/>
+            <column name="AB_OBJECTRELATIONTYPE1" value="c74ad02c-1db9-4f47-8691-aba349dbe316"/>
+            <column name="AB_OBJECTRELATIONTYPE2" value="b3b85332-1c86-4cd8-a3b9-34c49c51f01a"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATION">
+            <column name="AB_OBJECTRELATIONID" value="85ad4578-dce2-49df-a844-d162f1bd9f2f"/>
+            <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+            <column name="OBJECT2_ROWID" value="73d7306c-e7f5-11e8-9f32-f2801f1b9fd1"/>
+            <column name="AB_OBJECTRELATIONTYPE1" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
+            <column name="AB_OBJECTRELATIONTYPE2" value="090f6adc-c2b8-44b7-8c61-39dbb5660aa0"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATION">
+            <column name="AB_OBJECTRELATIONID" value="5c545235-231f-4082-9e74-4ec4512eb98d"/>
+            <column name="OBJECT1_ROWID" value="ef345d11-a40d-59e0-a24c-afcb6095d2cb"/>
+            <column name="OBJECT2_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+            <column name="AB_OBJECTRELATIONTYPE1" value="9d4739ba-33b0-4e87-b281-561e2cbdd277"/>
+            <column name="AB_OBJECTRELATIONTYPE2" value="e397b595-38ae-4365-908e-75ee388838eb"/>
+        </insert>
+        <insert tableName="AB_OBJECTRELATION">
+            <column name="AB_OBJECTRELATIONID" value="4c9bc7f3-c13b-4e55-9c23-012ba40196c9"/>
+            <column name="OBJECT1_ROWID" value="e6da1393-f46b-41a4-826b-2c7d22de2246"/>
+            <column name="OBJECT2_ROWID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
+            <column name="AB_OBJECTRELATIONTYPE1" value="3cee0474-504f-43cc-844a-715f1a0db271"/>
+            <column name="AB_OBJECTRELATIONTYPE2" value="fa879afd-b2c5-4eee-9799-d63c6764b348"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml b/others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml
index 8bfd59c5eb3e9eda032162397fd7b55c06cfc0f1..396afa3108f89c7676306554c938882bca21393f 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/ORGANISATION_private.xml
@@ -7,6 +7,13 @@
             <column name="CUSTOMERCODE" value=""/>
             <column name="TYPE" value="9cac8c7f-b9d8-45ad-ba0a-7ac17341c970"/>
 	</insert>
+        <insert tableName="CONTACT">
+            <column name="CONTACTID" value="0"/>
+            <column name="ORGANISATION_ID" value="0"/>
+            <column name="LANGUAGE" value="deu"/>
+            <column name="STATUS" value="BSIC0rel-stat-actv-ae03-b6b04430e90b"/>
+            <column name="ADDRESS_ID" value="0"/>
+        </insert>
 	<rollback>
 		<delete tableName="ORGANISATION">
 			<where>ORGANISATIONID = ?</where>
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml
index 9ccc46c08d8a92dbf13ea0b33e0bbe3d1e85add3..7ad3f95ced078aeeab93939d4abdade69125db82 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_attribute/Attribute.xml
@@ -876,6 +876,7 @@
 	<column name="ATTRIBUTE_NAME" value="Zahlungskondition"/>
 	<column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/>
 	<column name="ATTRIBUTE_TYPE" value="KEYWORD                             "/>
+	<column name="KEYWORD_CONTAINER" value="PaymentTerm"/>
 </insert>
 <insert tableName="AB_ATTRIBUTE">
 	<column name="AB_ATTRIBUTEID" value="3a6e11fc-b00a-4cf3-975a-a5e8b60fc5cb"/>
@@ -884,6 +885,7 @@
 	<column name="ATTRIBUTE_NAME" value="Lieferkondition"/>
 	<column name="ATTRIBUTE_PARENT_ID" value="ab545654-1fce-4993-b763-0ec469781302"/>
 	<column name="ATTRIBUTE_TYPE" value="KEYWORD                             "/>
+	<column name="KEYWORD_CONTAINER" value="DeliveryTerm"/>
 </insert>
 <insert tableName="AB_ATTRIBUTE">
 	<column name="AB_ATTRIBUTEID" value="97b449a5-d9b4-42ff-b9b0-4f8b27b8a9ec"/>
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1000.xml b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1000.xml
index d5f2beace64934a0155e9401247be9a22892e04d..1310ef2cb4c02e3e775e08dea9c3d27b51477774 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1000.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1000.xml
@@ -14,6 +14,9 @@
             <column name="VAT" valueNumeric="39.90"/>
             <column name="CURRENCY" value="EUR"/>
             <column name="LANGUAGE" value="deu"/>
+            <column name="ADDRESS" value="Gfk AG 
+Wilhelm-Straße 4
+80807 München"/>
         </insert>
         
         <insert tableName="OFFERITEM">
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1001.xml b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1001.xml
index e604de5004b913b688d1b072415d3312bcaed6ac..223dcabb82d4353d2ced6cd5a13de06ec257069a 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1001.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1001.xml
@@ -14,6 +14,9 @@
             <column name="VAT" valueNumeric="79.80"/>
             <column name="CURRENCY" value="EUR"/>
             <column name="LANGUAGE" value="deu"/>
+            <column name="ADDRESS" value="Gfk AG 
+Wilhelm-Straße 4
+80807 München"/>
         </insert>
         
         <insert tableName="OFFERITEM">
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1002.xml b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1002.xml
index 414555f8209c2e1f2030afa0474f3b29aad7b2b9..2ddfc1f59db0f0d42c0429d911a788fc7565542a 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1002.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1002.xml
@@ -14,6 +14,9 @@
             <column name="VAT" valueNumeric="119.70"/>
             <column name="CURRENCY" value="EUR"/>
             <column name="LANGUAGE" value="deu"/>
+            <column name="ADDRESS" value="Gfk AG 
+Wilhelm-Straße 4
+80807 München"/>
         </insert>
         
         <insert tableName="OFFERITEM">
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1003.xml b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1003.xml
index 67ef28daa92589254dd8979e710d11f8cc87537f..8da2be150f7011f2336a53411184f285c4e6f707 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1003.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1003.xml
@@ -14,6 +14,9 @@
             <column name="VAT" valueNumeric="79.80"/>
             <column name="CURRENCY" value="EUR"/>
             <column name="LANGUAGE" value="deu"/>
+            <column name="ADDRESS" value="Gfk AG 
+Wilhelm-Straße 4
+80807 München"/>
         </insert>
         
         <insert tableName="OFFERITEM">
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1004.xml b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1004.xml
index 9c4753ea768df26f0371526429e9d0c64f64e436..9a14770741c1783622163387f1411440828723ad 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1004.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_offer/OFFER_1004.xml
@@ -14,6 +14,9 @@
             <column name="VAT" valueNumeric="159.60"/>
             <column name="CURRENCY" value="EUR"/>
             <column name="LANGUAGE" value="deu"/>
+            <column name="ADDRESS" value="Gfk AG 
+Wilhelm-Straße 4
+80807 München"/>
         </insert>
         
         <insert tableName="OFFERITEM">
diff --git a/others/db_changes/data_alias/basic/2019.2/data/example_salesproject/SALESPROJECT_jkl.xml b/others/db_changes/data_alias/basic/2019.2/data/example_salesproject/SALESPROJECT_jkl.xml
index 530eacad2339a51bb508c32ce79e65f0b7ecff18..de505b1336fc9bd283cb8425038c939ca3eb661b 100644
--- a/others/db_changes/data_alias/basic/2019.2/data/example_salesproject/SALESPROJECT_jkl.xml
+++ b/others/db_changes/data_alias/basic/2019.2/data/example_salesproject/SALESPROJECT_jkl.xml
@@ -3,9 +3,9 @@
 <changeSet author="j.hoermanns" id="76912d9-ced7-4626-a031-d7138dfc948e">
     <insert tableName="SALESPROJECT">
         <column name="SALESPROJECTID" value="eaf8096b-2a1a-4336-932e-716e6c054b80"/>
-        <column name="PROJECTCODE" valueNumeric="2000"/>
+        <column name="PROJECTCODE" valueNumeric="1001"/>
         <column name="PROJECTTITLE" value="Jkl"/>
-        <column name="CONTACT_ID" value="d321e2b4-f97e-4754-ba16-ab4853512c3c"/>
+        <column name="CONTACT_ID" value="b219b58a-f120-42d8-9a64-0b176501eac7"/>
         <column name="INFO" value="evtl. noch mit Berater Huber sprechen, ob ihm bekannt"/>
         <column name="STATE" valueNumeric="1"/>
         <column name="PHASE" valueNumeric="4"/>
diff --git a/others/db_changes/data_alias/basic/2019.2/task_add_parent.xml b/others/db_changes/data_alias/basic/2019.2/task_add_parent.xml
index 0bf722803a32e15b3c0661159914fcbc48fa120e..2deaf06e53d313bdeafcce1344a135ccd4cc5c0b 100644
--- a/others/db_changes/data_alias/basic/2019.2/task_add_parent.xml
+++ b/others/db_changes/data_alias/basic/2019.2/task_add_parent.xml
@@ -4,6 +4,7 @@
         <addColumn tableName="TASK">
             <column name="PARENT_CONTEXT" type="VARCHAR(64)"/>
             <column name="PARENT_ID" type="CHAR(36)"/>
+            <column name="PROGRESS" type="CHAR(36)"/>
         </addColumn>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/others/db_changes/readme.adoc b/others/db_changes/readme.adoc
index e9bf2e4ff2a4a42d4252dc99c44fc2230751d85d..240dfacc5017f2e44ee53aa96535bc83ce96a311 100644
--- a/others/db_changes/readme.adoc
+++ b/others/db_changes/readme.adoc
@@ -31,7 +31,7 @@ So, that's where all our changes are located - but what about the changes _itsel
 As you can think of, they're stored in files located in the folders `struct` for DDL-stuff like _create_, _alter_ etc. 
 and `data` for DML-stuff like _insert_, _update_ etc. 
 
-If you want to know what to do add in these files take a look at the official liquibase documentation for futher information how to fill these XML files: http://www.liquibase.org/documentation/index.html
+If you want to know what to do add in these files take a look at the official liquibase documentation for further information how to fill these XML files: http://www.liquibase.org/documentation/index.html
 
 IMPORTANT: Always remember that you might have to define some rollback-entries. +
 This is e.g. not needed for create-entries but for others like insert.
diff --git a/others/guide/CodingGuidelines.adoc b/others/guide/CodingGuidelines.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..7fbd1bf92c5ecca6d93d8ffe076b933618cb861b
--- /dev/null
+++ b/others/guide/CodingGuidelines.adoc
@@ -0,0 +1,8 @@
+= Sample Document
+Doc Writer <doc.writer@asciidoc.org>; John Smith <john.smith@asciidoc.org>
+v1.0, 2013-05-20: First draft
+:title: Sample Document
+:tags: [document, example]
+
+
+Preamble...
diff --git a/process/Attribute_lib/process.js b/process/Attribute_lib/process.js
index 010f064aef2e1a8bfc867c756aae7b2065b5b58a..bc1a40ea598397c16c6f2507c697da2a19ec276e 100644
--- a/process/Attribute_lib/process.js
+++ b/process/Attribute_lib/process.js
@@ -64,6 +64,8 @@ AttributeUtil.getPossibleAttributes = function (pObjectType, pIncludeGroups, pFi
  */
 AttributeUtil.getFullAttributeName = function (pAttributeId) 
 {
+    if (!pAttributeId)
+        return "";
     var attributeNames = [];
     var attribute;
     var idType = SqlUtils.getSingleColumnType("AB_ATTRIBUTE.AB_ATTRIBUTEID");
diff --git a/process/Context_lib/process.js b/process/Context_lib/process.js
index a2480fc3437ee723677644de79d322af03cdda1a..b0c76ff639da5056b0064b34780b0df8248d90e8 100644
--- a/process/Context_lib/process.js
+++ b/process/Context_lib/process.js
@@ -156,7 +156,10 @@ ContextUtils.getNameSubselectSql = function(pContextIdDbField, pRowIdDbField)
 ContextUtils.getNameSql = function(pContextId, pRowId)
 {
     var selectMap = ContextUtils._getSelectMap()
-    return SqlCondition.begin().andPrepare(selectMap[pContextId][1] + "." + selectMap[pContextId][2], pRowId).buildSql("select " + selectMap[pContextId][0] + " from " + selectMap[pContextId][1], "1=2");
+    if (selectMap[pContextId] != undefined)
+        return SqlCondition.begin().andPrepare(selectMap[pContextId][1] + "." + selectMap[pContextId][2], pRowId).buildSql("select " + selectMap[pContextId][0] + " from " + selectMap[pContextId][1], "1=2");
+    else
+        return "select 1 from person where 1=2";
 }
 
 /**
diff --git a/process/Data_lib/process.js b/process/Data_lib/process.js
index f61e69c016b751cb6c849e090b1563efe5a9ee15..fe628720ef18b4a5d94ab82884a9cc3bf2f4cd96 100644
--- a/process/Data_lib/process.js
+++ b/process/Data_lib/process.js
@@ -375,8 +375,10 @@ DataTree.prototype.toArray = function(pMaxDepth)
     var uidMap = {};
     __push(this.rootId, tree[this.rootId], 0);
     
-    function __push(pParent, pNode, pDepth) {   
-        for (var i = 0; i < pNode.ids.length; i++) {
+    function __push(pParent, pNode, pDepth) {
+        if (pNode != undefined)
+        {
+            for (var i = 0; i < pNode.ids.length; i++) {
             if (pNode.parent == that.baseId)
             {
                 // set UUID to "" if it is a root-node
@@ -388,6 +390,7 @@ DataTree.prototype.toArray = function(pMaxDepth)
             
             if (pMaxDepth == undefined || pDepth < pMaxDepth)
                 __push(nextUid, tree[pNode.ids[i]], pDepth+1);
+            }
         }
     }
     
diff --git a/process/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index b57b5acc67c6766ede94b1b657d829464a0edc1f..ffd3454e5163c3277b89d3bdc1f44d9b52934a40 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -55,5 +55,8 @@ $KeywordRegistry.salesprojectStrenght = function(){return "SalesprojectStrenght"
 $KeywordRegistry.salesprojectState = function(){return "SalesprojectState"};
 $KeywordRegistry.salesprojectPhase = function(){return "SalesprojectPhase"};
 $KeywordRegistry.taskPriority = function(){return "TaskPriority"};
+$KeywordRegistry.taskProgress = function(){return "TaskProgress"};
 $KeywordRegistry.salesprojectCompetitionState = function(){return "SalesprojectCompetitionState"};
 $KeywordRegistry.objectRelationType = function(){return "ObjectRelationType"};
+$KeywordRegistry.deliveryTerm = function(){return "DeliveryTerm"};
+$KeywordRegistry.paymentTerm = function(){return "PaymentTerm"};
diff --git a/process/ObjectRelation_lib/process.js b/process/ObjectRelation_lib/process.js
deleted file mode 100644
index fa9c6bd8b2f23e5f85295f4528c18b0ca49f25af..0000000000000000000000000000000000000000
--- a/process/ObjectRelation_lib/process.js
+++ /dev/null
@@ -1,51 +0,0 @@
-import("system.vars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic")
-/**
- * Methods to manage objectRelations.
- * Do not create an instance of this!
- * 
- * @class
- */
-function ObjectRelationUtils() {}
-   
-
-ObjectRelationUtils.getRelationTypeJoin = function(pObjectTypeParamName) 
-{
-    return db.translateStatement(
-            SqlCondition.begin()
-                .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", $KeywordRegistry.objectRelationType())
-                .andSqlCondition(SqlCondition.begin()
-                                    .orPrepareVars(["AB_KEYWORD_ATTRIBUTERELATION", "CHAR_VALUE", "objType1"], pObjectTypeParamName)
-                                    .orPrepareVars(["AB_KEYWORD_ATTRIBUTERELATION", "CHAR_VALUE", "objType2"], pObjectTypeParamName))
-                .buildSql( // subselect should be cached by the sql-server because it is not correlated
-                    "AB_OBJECTRELATION \n\
-                    join AB_KEYWORD_ENTRY on KEYID = RELATION_TYPE \n\
-                        and KEYID in ( \n\
-                    select KEYID from AB_KEYWORD_ENTRY  \n\
-                        join AB_KEYWORD_ATTRIBUTERELATION objType1 on AB_KEYWORD_ENTRYID = objType1.AB_KEYWORD_ENTRY_ID and objType1.AB_KEYWORD_ATTRIBUTE_ID = 'c81d7fda-9779-46cc-b170-a1c49300b8c2' \n\
-                        join AB_KEYWORD_ATTRIBUTERELATION objType2 on AB_KEYWORD_ENTRYID = objType2.AB_KEYWORD_ENTRY_ID and objType2.AB_KEYWORD_ATTRIBUTE_ID = '0b5d7e46-45c2-48f3-a48a-b3d1a0af674c'"
-                     ,"", ")"));
-}
-
-ObjectRelationUtils.getCurrentObjectNum = function(pObjectTypeParamName, pObjectRowidParamName, pObject1TypeFieldName, pObject1RowidFieldName, pObject2TypeFieldName, pObject2RowidFieldName)
-{
-    var objectType = vars.get(pObjectTypeParamName);
-    var objectRowid = vars.get(pObjectRowidParamName);
-    
-    var object1Type = vars.get(pObject1TypeFieldName);
-    var object1Rowid = vars.get(pObject1RowidFieldName);
-    
-    var object2Type = vars.get(pObject2TypeFieldName);
-    var object2Rowid = vars.get(pObject2RowidFieldName);
-    
-    if (objectType == object1Type && objectRowid == object1Rowid)
-        return 1;
-    
-    if (objectType == object2Type && objectRowid == object2Rowid)
-        return 2;
-    
-    return -1
-}
\ No newline at end of file
diff --git a/process/OfferOrder_lib/process.js b/process/OfferOrder_lib/process.js
index d96c87ce756caa5319eac5ad3ddba88aa09625e1..2473019db2af91cba4a9e959b6efd56e2d855c13 100644
--- a/process/OfferOrder_lib/process.js
+++ b/process/OfferOrder_lib/process.js
@@ -218,7 +218,6 @@ ItemUtils.prototype.getItemVAT = function(pQuantity, pPrice, pDiscount, pVat, pO
     pPrice = pPrice || 0;
     pDiscount = pDiscount || 0;
     pVat = pVat || 0;
-    logging.log(pOptional.toSource())
     return pOptional == "0" ? (MoneyUtils.getVat(parseFloat(pVat), parseFloat(pPrice), parseFloat(pQuantity), parseFloat(pDiscount))) 
                     : 0;
 }
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index ef2ffc8cce809ab59037685c7007be611fc7cab6..b7ee707a8fcb27cc592b76705c1f072d24f11799 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -88,110 +88,115 @@ OfferUtils.createNewOffer = function(pSalesprojectId, pRelationId)
  *
  * @return {[]}
  */
-OfferUtils.openOfferReport = function(pOfferID)
+OfferUtils.openOfferReport = function (pOfferID)
 {    
     var offerReport = new Report("RPTJ_OFFER");  
     
     var sqlUtil = new SqlMaskingUtils();
     
-    // get data from DB
-    // TODO: OFFER.ADDRESS
-    var fields = [
-        /*"OFFER.ADDRESS"*/ "''", 
-        "OFFER.CONTACT_ID", 
-        "OFFER.LANGUAGE", 
-        /*"OFFER.PAYMENTTERMS"*/ "'DUMMY_OFFER.PAYMENTTERMS'", // 3
-        /*"OFFER.DELIVERYTERMS"*/ "'DUMMY_OFFER.DELIVERYTERMS'", 
-        "OFFER.OFFERCODE", 
-        "OFFER.CURRENCY", 
-        "OFFER.OFFERDATE", // 7
-        "OFFER.OFFERID", 
-        "OFFERITEM.OFFER_ID", 
+    var offerFields = [
+        "ADDRESS", 
+        "CONTACT_ID", 
+        "LANGUAGE", 
+        "PAYMENTTERMS", 
+        "DELIVERYTERMS", //4
+        "OFFERCODE", 
+        "CURRENCY", 
+        "OFFERDATE", 
+        "HEADER", //8
+        "VAT", 
+        sqlUtil.isNull("VERSNR", "0"),
+        sqlUtil.isNull("OFFERCODE", "0"), 
+        "SALESPROJECT_ID" //12
+    ];
+   
+    var offerSql = SqlCondition.begin()
+        .andPrepare("OFFER.OFFERID", pOfferID)
+        .buildSql("select " + offerFields.join(", ") + " from OFFER", "1 = 0");
+    var offerData = db.array(db.ROW, offerSql);
+    
+    offerData[7] = datetime.toDate(offerData[7], translate.text("dd.MM.yyyy", language));
+    
+    //TODO: use new keyword logic for language when possible
+    var language = "DE";
+    var contactId = offerData[1];
+    
+    
+    var offerItemFields = [
         "OFFERITEM.INFO", 
-        "OFFERITEM.ASSIGNEDTO", // 11
-        "OFFERITEM.PRODUCT_ID",
-        "OFFERITEM.ITEMNAME" , // 13
+        "OFFERITEM.ASSIGNEDTO",
+        "OFFERITEM.PRODUCT_ID", 
+        "OFFERITEM.ITEMNAME" , //3
         "OFFERITEM.OPTIONAL", 
-        "OFFERITEM.ITEMPOSITION", // 15
+        "OFFERITEM.ITEMPOSITION", 
         "PRODUCT.PRODUCTCODE", 
         "PRODUCT.PRODUCTID", 
-        "OFFER.HEADER", 
-        "OFFERITEM.UNIT", 
-        "OFFER.VAT", // 20
-        sqlUtil.isNull("OFFERITEM.QUANTITY", "0"),
+        "OFFERITEM.UNIT", //8
+        sqlUtil.isNull("OFFERITEM.QUANTITY", "0"), 
         sqlUtil.isNull("OFFERITEM.PRICE", "0"),
-        sqlUtil.isNull("OFFERITEM.DISCOUNT", "0"), // 23
-        sqlUtil.isNull("OFFER.VERSNR", "0"),
-        sqlUtil.isNull("OFFER.OFFERCODE", "0"),
+        sqlUtil.isNull("OFFERITEM.DISCOUNT", "0"), //11
         sqlUtil.isNull("OFFERITEM.VAT", "0"),
         "0", 
-        "''", 
-        "SALESPROJECT_ID" // 29
+        "''"
     ]; 
     
-    var offerFromSql = " from PRODUCT" 
-                     + " inner join OFFERITEM on (PRODUCT.PRODUCTID = OFFERITEM.PRODUCT_ID) "
-                     + " inner join OFFER on (OFFERITEM.OFFER_ID = OFFER.OFFERID)";
-   
-    var offerCondition = SqlCondition.begin()
-        .andPrepare("OFFER.OFFERID", pOfferID);
-    var rptdata = db.table(offerCondition.buildSql("select " + fields.join(", ") + offerFromSql, "1 = 0"));
+    var offerItemSql = SqlCondition.begin()
+        .andPrepare("OFFERITEM.OFFER_ID", pOfferID)
+        .buildSql(
+            "select " + offerItemFields.join(", ") + " from OFFERITEM join PRODUCT on PRODUCT.PRODUCTID = OFFERITEM.PRODUCT_ID", 
+            "1 = 0"
+        );
+    var itemData = db.table(offerItemSql);
     
-    //TODO: use new keyword logic for language when possible
-    var language = "DE";
-    var relid = rptdata[0][1];
     
     // TODO: AddrObject implementieren
-    //var addrobj = new AddrObject(relid);
+    //var addrobj = new AddrObject(contactId);
     
-    // new logik: Relationid from Org is always also the OrgId
-    var orgrelid = relid;
-    
-    var fullPrice= 0;
+    var fullPrice = 0;
     var itemSum = 0;
     var sumItemSum = 0;
     var total = 0;
     var sums = [];
     var vatsum = 0;
     
-    var data = rptdata.map(function (row)
+    itemData = itemData.map(function (item)
     {
         //quantity * price
-        fullPrice = eMath.mulDec(parseFloat(row[21]), parseFloat(row[22]));
+        fullPrice = eMath.mulDec(parseFloat(item[9]), parseFloat(item[10]));
         
-        if (row[14] != "1") //optional
+        if (item[4] != "1") //optional
         {
             //itemSum = (fullPrice * (100 - discount)) / 100
-            itemSum = eMath.roundDec(eMath.divDec(eMath.mulDec(fullPrice, eMath.subDec(100, row[23])), 100), 2, eMath.ROUND_HALF_EVEN); //sum of the item
+            itemSum = eMath.roundDec(eMath.divDec(eMath.mulDec(fullPrice, eMath.subDec(100, item[11])), 100), 2, eMath.ROUND_HALF_EVEN); //sum of the item
             sumItemSum += itemSum; //total sum (without vat) 
         }
         //vatsum = itemSum * vat / 100
-        vatsum = eMath.divDec(eMath.mulDec(itemSum, row[26]), 100); //vat per product
-        if(row[26] > 0) 
-            sums.push([row[26], vatsum]); //MWSteuerwerte für Map vorbereiten
+        vatsum = eMath.divDec(eMath.mulDec(itemSum, item[12]), 100); //vat per product
+        if(item[12] > 0) 
+            sums.push([item[12], vatsum]); //MWSteuerwerte für Map vorbereiten
         
         // sumItemSum + vat
-        total = eMath.addDec(sumItemSum, row[20]); //total sum with vat
+        total = eMath.addDec(sumItemSum, offerData[9]); //total sum with vat
         
         return [
-            row[6], //currency
-            datetime.toDate(row[7], translate.text("dd.MM.yyyy", language)), //offerdate
-            row[8],  //offerId
-            row[10], //info
-            row[11], //assignedTo
-            row[13], //itemname
-            row[14], //optional
-            row[15], //itemposition
-            row[16], //productcode
-            text.html2text(row[18]), //header 
-            text.formatDouble(row[21], translate.text("#,##0"), true),       //quantity
-            text.formatDouble(row[22], translate.text("#,##0.00"), true),    //price
-            text.formatDouble(row[23], translate.text("0.00"), true),        //discount
-            row[24], //versnr
-            row[25], //offercode
-            text.formatDouble(row[26], translate.text("#,##0.00"), true),    //vat
-            text.formatDouble(itemSum, translate.text("#,##0.00"), true),    //itemsum
-            KeywordUtils.getViewValue($KeywordRegistry.quantityUnit(), row[19]) //unittext
+            offerData[6],   //currency
+            offerData[7],   //offerdate
+            pOfferId,       //offerId
+            item[0],        //info
+            item[1],        //assignedTo
+            item[3],        //itemname
+            item[4],        //optional
+            item[5],        //itemposition
+            item[6],        //productcode
+            offerData[8],   //header 
+            text.formatDouble(item[9], translate.text("#,##0"), true),          //quantity
+            text.formatDouble(item[10], translate.text("#,##0.00"), true),      //price
+            text.formatDouble(item[11], translate.text("0.00"), true),          //discount
+            offerData[10],  //versnr
+            offerData[5],   //offercode
+            text.formatDouble(item[12], translate.text("#,##0.00"), true),      //vat
+            text.formatDouble(itemSum, translate.text("#,##0.00"), true),       //itemsum
+            KeywordUtils.getViewValue($KeywordRegistry.quantityUnit(), item[8]) //unittext
         ];
     });
     
@@ -207,13 +212,23 @@ OfferUtils.openOfferReport = function(pOfferID)
                    "base64:iVBORw0KGgoAAAANSUhEUgAAAM4AAABRCAYAAACaL5lSAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDA4QzAyM0IwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDA4QzAyM0MwREIwMTFFNEFGMDREM0VEMjExRjlBRTIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDhDMDIzOTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowMDhDMDIzQTBEQjAxMUU0QUYwNEQzRUQyMTFGOUFFMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PhF3nYoAAAlvSURBVHja7J1fjBXVHcfPJQJRoe1urQYJRBYlMUJisqwvGNjY3WgEUtN2CeWBIGb3Ju6LElsW+gA8AHe1UfuwTcBASB/Q7CZNG0tjw2pWU15kNzEBJFnLqmvQBNEbU0pbX+jve+9vlrOzM/fOnTtz78zs95P8cv/MOTPnzJzvnN/5zZ+Tu3XrliGE1MYC7gJCKBxCKBxCKBxCKBxCKBxCCIVDCIVDCIVDCIVDyDzmDq8/d+1/PY5trRB7VGyt2BqxVWLLxe4RW6JpbohdF7sq9qnYpNhFsY/Evoi6QKeOvMAWQKITToQ8LPaEWKfYBrFlVdL/SO1BsU3W/1+JnRMbE3tP7DIPHcmicLrFfia2VWxlBOuD4H6pNi32tthfxM7yEJIsCAc9yw6x7WJLYyozhNgvtlPsLbHT2hMRkjrhYPzynNhu/d4IIMxesafEToqdiGMcREhcwnlKe4AtTaoDhHpArF1sSOwdHlYSN/WGo/Niv2+iaGy2aFnyPKwkqT1OTmyf2pIE1Qdh7t+J/VjsqBgfbyWJEU5OXaMDCa0ThHxYbJHYIYqHJMVV25dg0dgc0LIS0nTh5FPWGPdxzEOaLRxEz/YkbEwTxG3bo2UnpOHCQci3XwffaWONln0FDzdptHBwcXNLiuu5RetASMOE02nKdwSknd1aF0IaIpwdGXFzVmhdCIldOLjLeXuG6rtd60RIrMLBowFLM1TfpVonQmITDh5C25rBOm/VuhESi3Dw5ObKDNZ5pdaNkFiE05nhenfy0JM4hIMI1IYM13uD4QVREoNw8DaaZRmu9zKtIyGh8HusYG3UG/pJ6w/NKy89O/P70j+nzSsn/zTz+5EHV5oHlt9rep58fFa+sQ8vmEtXps35C5/4+12PrTMP3H9v6dMGeZAX6/Cp49tsAiRK4TTsnrS771xsdj3TZTrWPeQrCtiljmnzhzfPmH//538zyyC0/l9tLonSC6wT1tmxzgxJ3q+//a4pdSTzx1Vb1SjR/Hr3L3xFY4MeCWnt3wf7d/iKxgYC+83un7vTruLhJ1H3OMsbsfHnpbdAo0Yv8rcPzpsz74/P6i3QU0AgtgA2b1pvPhQXDHltd+7MB+MzPQrSIa/tukE0mzeuN6f+/O6cOuZyubrr0tvb12bK73nDZ/cbbxwfzWKD2Tnw2l75KIiN/rHwYibvwggyobSfcO6Ju3COINDYX5axjsuNKo1PYLue+eksATy9scN0rF1T6q0AxkkYL9l8dvWaOXX1XfPZl9dK+W23zxJY1HXsUtEANK7RBDf+s1reakyJOFa7/utz6ivr6ZLlmTxBhHXVGvawmsfYYxYjf//HrHENBIMexVnmFs2cwIJr+WO33cKo64gGNKXfBzPcZo479Z2voqnU4zQENGz0DpWAaJAOLpoNxGa7dn6cv/jJbHfv/vtiqYu4ZhDN6pQd/5rdLUk/mPETQ109zo2GCOf8hUDpPr4yHTqvu8exAgQ3DCERC+d63BtGT1Ktt3G45uHK+VybmYPbDbSEc52Hn0QtnKtxb7jSuKZaWojOHvfUkt8JKjSijmT+jXEwqdOmeHuc/4bOe7OOvK46etLb24eoWI8pv4/aHhSP+IWZNRx9RX/mJd3xasvlP2wDUSo7wlUaQ8jyYrUKhClnvewceO2Yltkr4maHq0vLEXkz5SijU8duJ6jgXpf8btPfe937Q5YXNU+LpilYaSY0zUiVsrdrObD+FmsR8o1Uyx+kx5mcByeNSa/GLzauB6XdtRgH66w21rqR9aDRDJu5YWGsf1yF5pe3YeWsU2QoW6DQt6a94hLNzP6AYFRY4y7RGN0Hwypav/UXrLwtrsU91fIHFc7FeSCci67G2KIHGQehqL1CDmbK0TLnbFSQtH11brtPbdDaRqu5Hept82hAzShnveDEgN5ltZzNc2pePaFTJ5S9Fel89sewfs876zPlR+GdywAFFZcX7VYPtj5E/kCuGubcxPSBWb1D+iuto01BDwp2YreGl0vo923SEIf17LTXOqhhaHe7c+qa5VUYJRdOvg94uGxRlhMXMStdJu+u41oNyjgRMNzdoq7SNucPdc3y2pC7rBPJNtulQvkkTd7cnp2vx3iHyydUcFP2nzXkD9TjYIKmcxnubc4ZaxIqbazO2XnQbowunB0KV6m9ju2PusdALn/bfZZsVjnrZTCCtPZ+8hyHqLinLMEajzQDbtG48hcr5Q/a44AxU55zM4uMefi4Xg13FtJQJ6Qh2o16IqxwAi5ri7mcsd5vVsNguyhp/co44fPdzZTur7aQxZ0wwW5DqioczO6Mq4dZfO/Aex5uhcO3VqOr5l6EpVih0RcrbL/R5ayHqSj2RwURhdqeFZWzx5s1i62ScDAlOh706s+gcC4npHHVSoshoRDB9Fjjw7qpdq8apkTH7M5LM75fnTNeUc74rSxn5kTjXFtyGLDHUAhE1HDHeCDhYGWYEr13nginBQPwIBcfWc5UsdcKLmyLYoVB3h192mR/GvRRnwE4y5n+3qbdcnErBSvaoxbOmNjJLO9cRKGsgWehylX7rmZdlU9LOdM2RtS7ClqiFg44IfbXtO6thQvvuBkgWd7auePuRqcN8Zi5faGsWaSlnIlAw9yOS1vQIIEjmDb7frkogwMOcNWGTPnNMGl7O8zknYsX/UA+76p2NpcGB/93WBslzugFn+QTzapMWsqZMPLW/sI9ae7l3ToOChxxq2UO0HfEXjXpegAMZX118aKFNwM2SvjAqzXqUvRohPi/tdkv4khLORPU64yoONxjHNyVsD7MbUU5rzd67Nr/eqU8+8UOp2Sf/VbsiN/CU0deYKsioVgQIs9RsUMpqNshLSshkRPmZR23tFF+L7bPJG/69hsqmKNaVkISIRxHPHCBvhHbk6CAwaSOw47x0JIkCscBDfRzU76frdnTuSNcPqRBDEISLRyjDfWSKUdzMCV6o+edQagcF2hPmOzf4UAyJByn8R405bsMMCU6ZneO+8bQf5nyfXSnzdznawhJhXAcxtQQL8fszpioNurnefCMEB53wJ3bvDpOMiEch7NqGHNgotpOU54+MOw7DPCOgHMqSjyEdpmHjmRROA6X1YZ07IPpAzETGqJwmJ8GU21g1gAnpI1QMt6wiZcF4r1niJLhbTQfcfxCkkQuyFwghJDZLOAuIITCIYTCIYTCIYTCIYTCIYRQOIRQOIRQOIRQOIRQOISQWvi/AAMA9UczDEaG0p8AAAAASUVORK5CYII="]
                 // getMyASYS_ICONSdata();
     
+    // TODO: implementieren wenn Attribute möglich sind
+    var adma = ""
+    /*var adm = getAddressData( [GetAttributeKey( "Aussendienst", "1", orgrelid, pUser )[0]],
+        [["Person","function", "concat( ['SALUTATION', 'TITLE', 'FIRSTNAME','LASTNAME'])"],
+        ["Telefon", "function", "getCommAddrSQL('Telefon', 'CONTACT.CONTACTID')"],
+        ["Email", "function", "getCommAddrSQL('E-Mail', 'CONTACT.CONTACTID')"]
+        ] );
+    var adma = "";
+    if (adm[1] != undefined)  adma = adm[1].join("\n");*/
+    
     var params = {
         "Zahlungsbedingung" : translate.text("Conditions of payment", language),
         "Artikelbezeichnung" : translate.text("Articledescription", language),
         "Lieferbedingung" : translate.text("Deliveryspecification", language),
         "OFFERPers" : (AddressUtils.getLetterSalutation() + ",").toString(), // TODO: AddrObject implementieren (addrobj.formatAddress("{ls},");)
         "Artikel-Nr" : translate.text("Articlenumber", language),
-        "OFFERAddr" : AddressUtils.getAddress(relid).toString(), // TODO: OFFER.ADDRESS 
+        "OFFERAddr" : AddressUtils.getAddress(contactId).toString(), // TODO: OFFER.ADDRESS 
         "zzglUMST" : translate.text("Plus Salestax", language),
         "Einzelpreis" : translate.text("Unitprice", language),
         "Nummer" : translate.text("Number", language),
@@ -226,23 +241,16 @@ OfferUtils.openOfferReport = function(pOfferID)
         "Pos" : translate.text("Pos.", language),
         "myAddr" : imgData[0],
         // TODO: payment / delivery-Terms implement (if needed)
-        "OFFERPay" : "", //getKeyName(rptdata[0][3] , "PAYMENTTERMS", "KEYNAME1", language);
-        "OFFERDel" : "" //getKeyName(rptdata[0][4] , "DELIVERYTERMS", "KEYNAME1", language);
+        
+        "OFFERPay" : KeywordUtils.getViewValue($KeywordRegistry.paymentTerm(), offerData[3]),
+        "OFFERDel" : KeywordUtils.getViewValue($KeywordRegistry.deliveryTerm(), offerData[4]),
+        "AD_Name" : adma,
+        "SUMITEMSUM" : sumItemSum,
+        "TOTAL" : text.formatDouble(total, translate.text("#,##0.00"), true),
+        "anzahl" : countDiscounts
     };
     
-    // TODO: implementieren wenn Attribute möglich sind
-    var adma = ""
-    /*var adm = getAddressData( [GetAttributeKey( "Aussendienst", "1", orgrelid, pUser )[0]],
-        [["Person","function", "concat( ['SALUTATION', 'TITLE', 'FIRSTNAME','LASTNAME'])"],
-        ["Telefon", "function", "getCommAddrSQL('Telefon', 'CONTACT.CONTACTID')"],
-        ["Email", "function", "getCommAddrSQL('E-Mail', 'CONTACT.CONTACTID')"]
-        ] );
-    var adma = "";
-    if (adm[1] != undefined)  adma = adm[1].join("\n");*/
-    params["AD_Name"] = adma;
-    params["SUMITEMSUM"] = sumItemSum;
-    params["TOTAL"] = text.formatDouble(total, translate.text("#,##0.00"), true);
-    params["anzahl"] = countDiscounts;
+    
 
     offerReport.addImage("myLogo", imgData[1]);
 
@@ -270,7 +278,7 @@ OfferUtils.openOfferReport = function(pOfferID)
             "ITEMSUM", // 16
             "OFFERITEM_UNITTEXT" //17
         ])
-        .add(data));
+        .add(itemData));
     
     offerReport.openReport();
 }
diff --git a/process/Product_lib/process.js b/process/Product_lib/process.js
index 99a29735c11b6866fa20079f8846c6fcaeded0d3..03b268f9d67c76fc3f4b754bb522c5489bb90d00 100644
--- a/process/Product_lib/process.js
+++ b/process/Product_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.util");
 import("system.SQLTYPES");
 import("system.datetime");
@@ -427,7 +428,8 @@ Prod2ProdUtils.prototype.getPartsListObject = function() {
  *                    , "QUANTITY"
  *                    , "OPTIONAL"
  *                    , "TAKEPRICE"
- *                    , "PRODUCTCODE"] ]
+ *                    , "PRODUCTCODE"
+ *                    , "PRODUCTID"] ]
  */
 Prod2ProdUtils.prototype.getPartsListForRecordContainer = function() {
     var tree = this._relateChilds();
@@ -488,7 +490,7 @@ Prod2ProdUtils.prototype.getParentProdIds = function() {
 */
 Prod2ProdUtils.prototype._initProd2ProdData = function() {
     if (this.data == undefined) {
-        this.data = db.table("select SOURCE_ID, DEST_ID, PROD2PRODID, QUANTITY, OPTIONAL, TAKEPRICE, PRODUCTCODE, SOURCE_ID, DEST_ID "
+        this.data = db.table("select SOURCE_ID, DEST_ID, PROD2PRODID, QUANTITY, OPTIONAL, TAKEPRICE, PRODUCTCODE, PRODUCTID, SOURCE_ID, DEST_ID "
                     + "from PROD2PROD join PRODUCT on PROD2PROD.SOURCE_ID = PRODUCTID "
                     + "order by PRODUCTCODE ");
     }
@@ -500,7 +502,7 @@ Prod2ProdUtils.prototype._initProd2ProdData = function() {
 Prod2ProdUtils.prototype._buildTree = function(supervised) {
     this._initProd2ProdData();
     var productId = this.productId;
-    
+        
     var tree = DataTree.begin(this.productId).addArray(this.data,
         function(pUid, pNode)
         {
@@ -522,6 +524,7 @@ Prod2ProdUtils.prototype._buildTree = function(supervised) {
                     pNode["optional"] = pNode.data[2];
                     pNode["takeprice"] = pNode.data[3];
                     pNode["productcode"] = pNode.data[4];
+                    pNode["productid"] = pNode.data[5];
                 }
             }
         }
@@ -538,11 +541,14 @@ Prod2ProdUtils.prototype._relateChilds = function() {
 
     function __relate(id) {
         var treeObject = tree.getTreeObject();
-        for (var treeId in treeObject) {
-            if (treeObject[treeId].destid == treeObject[id].sourceid && treeObject[id].ids.indexOf(treeId) == -1) { 
-                treeObject[id].ids.push(treeId);
-                __relate(treeId);
-            }    
+        if (treeObject[id] != undefined)
+        {
+            for (var treeId in treeObject) {
+                if (treeObject[treeId].destid == treeObject[id].sourceid && treeObject[id].ids.indexOf(treeId) == -1) { 
+                    treeObject[id].ids.push(treeId);
+                    __relate(treeId);
+                }    
+            }
         }
     }
 }
@@ -557,11 +563,14 @@ Prod2ProdUtils.prototype._relateParents = function() {
 
     function __relate(id) {
         var treeObject = tree.getTreeObject();
-        for (var treeId in treeObject) {
-            if (treeObject[treeId].sourceid == treeObject[id].destid && treeObject[id].ids.indexOf(treeId) == -1) {   
-                treeObject[id].ids.push(treeId);
-                __relate(treeId);
-            }    
+        if (treeObject[id] != undefined)
+        {
+            for (var treeId in treeObject) {
+                if (treeObject[treeId].sourceid == treeObject[id].destid && treeObject[id].ids.indexOf(treeId) == -1) {   
+                    treeObject[id].ids.push(treeId);
+                    __relate(treeId);
+                }    
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/process/Salesproject_lib/process.js b/process/Salesproject_lib/process.js
index cadd2a4a1b46dffb081cc55939a6a5769624c2dd..1e98c785d072feb6509c4959ecc89c84e2ad39a2 100644
--- a/process/Salesproject_lib/process.js
+++ b/process/Salesproject_lib/process.js
@@ -54,7 +54,6 @@ Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForec
             ["SALESPROJECT_CYCLEID", "SALESPROJECT_ID", "TYPE", "VALUE", "DATE_START"],
             null,
             [util.getNewUUID(), salesprojectId, type, value, vars.get("$sys.date")]);
-            
         if (notifyForecast) {
             Salesproject.notifyToUpdateForecast()
         }
@@ -69,6 +68,7 @@ Salesproject.insertMilestone = function(salesprojectId, type, value, notifyForec
 Salesproject.notifyToUpdateForecast = function() {
    // TODO: logging.show durch sinnvolle Meldung ersetzen oder ähnlich...
    // logging.show(translate.text("Please update the forecast."));
+   question.showMessage(translate.text("Please update the ${FORECAST_ENGLISH}."), question.INFORMATION, translate.text("${FORECAST_ENGLISH}"))
 }
 
 /**
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index e677069ded29df17642361879c8b9d2fa146cd85..195c85cb415d1ab8dfcd35cf22bfff512480a6bd 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1207,7 +1207,7 @@ SqlUtils.getSqlInStatement = function(pFieldname, pData, pQuoteSymbol) {
 * 
 * @return {String} a SQL-expression (case-when-statement) that resolves the KEYID into the title -> as preparedSatement-elements
 */
-SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale)
+SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale) 
 {
     var keyData = pKeyValueArray;
     if (keyData.length == 0)
diff --git a/process/ObjectRelation_lib/ObjectRelation_lib.aod b/process/Task_lib/Task_lib.aod
similarity index 77%
rename from process/ObjectRelation_lib/ObjectRelation_lib.aod
rename to process/Task_lib/Task_lib.aod
index 77cc2f184e4c94f8e0a4bde129557dcb4873bb49..573ed1da0c9c559b096a27b6617529599aba1e9a 100644
--- a/process/ObjectRelation_lib/ObjectRelation_lib.aod
+++ b/process/Task_lib/Task_lib.aod
@@ -1,8 +1,8 @@
 <?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.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
-  <name>ObjectRelation_lib</name>
+  <name>Task_lib</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <process>%aditoprj%/process/ObjectRelation_lib/process.js</process>
+  <process>%aditoprj%/process/Task_lib/process.js</process>
   <variants>
     <element>LIBRARY</element>
   </variants>
diff --git a/process/Task_lib/process.js b/process/Task_lib/process.js
new file mode 100644
index 0000000000000000000000000000000000000000..c92cad22927c4f32a2378273cc98dd146ea23ba0
--- /dev/null
+++ b/process/Task_lib/process.js
@@ -0,0 +1,22 @@
+import("system.neon");
+import("Context_lib");
+
+/**
+ * Methods used by for tasks.
+ * Do not create an instance of this!
+ * 
+ * @class
+ */
+function TaskUtils () {}
+   
+
+/**
+ * Create a new task
+ */
+TaskUtils.createNewTask = function (pRowId)
+{
+    var params = {};
+    params["ObjectType_param"] = ContextUtils.getCurrentContextId();
+    params["RowId_param"] = pRowId;
+    neon.openContext("Task", null, null, neon.OPERATINGSTATE_NEW, params);
+}
\ No newline at end of file
diff --git a/report/RPTJ_OFFER/reportData.jrxml b/report/RPTJ_OFFER/reportData.jrxml
index eb3f94233e15c3ef7e83778cb2158003ea1b2a37..8b2770cb5478bfdf07ba53199fc3d93e03070191 100644
--- a/report/RPTJ_OFFER/reportData.jrxml
+++ b/report/RPTJ_OFFER/reportData.jrxml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="e7a916c8-3f9a-497d-84bb-3909b15271ea">
-	<property name="ireport.zoom" value="1.4641000000000006"/>
+	<property name="ireport.zoom" value="1.0"/>
 	<property name="ireport.x" value="0"/>
-	<property name="ireport.y" value="75"/>
+	<property name="ireport.y" value="0"/>
 	<parameter name="myAddr" class="java.lang.String"/>
 	<parameter name="Pos" class="java.lang.String"/>
 	<parameter name="Artikelbezeichnung" class="java.lang.String"/>
@@ -24,7 +24,7 @@
 	<parameter name="OFFERDel" class="java.lang.String"/>
 	<parameter name="AD_Name" class="java.lang.String"/>
 	<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
-		<defaultValueExpression><![CDATA["C:\\Entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\RPTJ_OFFER\\"]]></defaultValueExpression>
+		<defaultValueExpression><![CDATA["C:\\entwicklungszweige\\0.0\\project\\xRM-Basic2019\\report\\RPTJ_OFFER\\"]]></defaultValueExpression>
 	</parameter>
 	<parameter name="adito.datasource.subdata" class="java.lang.Object"/>
 	<parameter name="SUMITEMSUM" class="java.lang.Double"/>
diff --git a/report/RPTJ_OFFER/reportData_subreport1.jrxml b/report/RPTJ_OFFER/reportData_subreport1.jrxml
index 3704cb6ed86eee69055cfb7d5d0fd3eb21c6bfc0..64c7bed355e5b67b1af4d11fbbff85398b6c3105 100644
--- a/report/RPTJ_OFFER/reportData_subreport1.jrxml
+++ b/report/RPTJ_OFFER/reportData_subreport1.jrxml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="reportData_subreport1" pageWidth="200" pageHeight="802" columnWidth="200" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="65da6912-abcf-40ed-a854-750d851fe857">
-	<property name="ireport.zoom" value="1.3310000000000004"/>
+	<property name="ireport.zoom" value="6.72749994932561"/>
 	<property name="ireport.x" value="0"/>
 	<property name="ireport.y" value="0"/>
 	<parameter name="zzglUMST" class="java.lang.String"/>
@@ -22,7 +22,7 @@
 					<textElement>
 						<font fontName="Segoe UI" size="8"/>
 					</textElement>
-					<textFieldExpression><![CDATA[$P{zzglUMST} + " ( " + $F{VAT} + " %) "]]></textFieldExpression>
+					<textFieldExpression><![CDATA[$P{zzglUMST} + " (" + $F{VAT} + " %) "]]></textFieldExpression>
 				</textField>
 				<textField evaluationTime="Group" evaluationGroup="VAT" pattern="#,##0.00;-#,##0.00">
 					<reportElement x="117" y="0" width="80" height="15" uuid="6bba70aa-7399-45b7-805a-1590fbe07209"/>