diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 8727d11ea5bb9cc29c5cbf56ed56f3a591bc25a2..8a42653e859a888cca6db0bdfc78a369efe0631a 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -90,6 +90,48 @@
                 <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>
@@ -3702,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>
@@ -3736,11 +3792,11 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>OBJECT1_ROWID</name>
+                <name>OBJECT2_TYPE</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="1" />
-                <size v="36" />
+                <columnType v="12" />
+                <size v="63" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
@@ -3750,27 +3806,27 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>AB_OBJECTRELATIONID</name>
+                <name>OBJECT1_TYPE</name>
                 <dbName></dbName>
-                <primaryKey v="true" />
-                <columnType v="1" />
-                <size v="36" />
+                <primaryKey v="false" />
+                <columnType v="12" />
+                <size v="50" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="true" />
+                <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPE1</name>
+                <name>OBJECT1_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>
@@ -3778,14 +3834,14 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPE2</name>
+                <name>AB_OBJECTRELATIONID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
+                <primaryKey v="true" />
                 <columnType v="1" />
                 <size v="36" />
                 <scale v="0" />
-                <notNull v="false" />
-                <isUnique v="false" />
+                <notNull v="true" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
@@ -3964,7 +4020,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -4721,9 +4777,9 @@
             </entityFields>
           </entityDb>
           <entityDb>
-            <name>AB_OBJECTRELATIONTYPE</name>
+            <name>TASKLINK</name>
             <dbName></dbName>
-            <idColumn>AB_OBJECTRELATIONTYPEID</idColumn>
+            <idColumn>TASKLINKID</idColumn>
             <idGeneratorType v="0" />
             <idGeneratorInterval v="1" />
             <documentation></documentation>
@@ -4739,14 +4795,14 @@
             </auditSyncConfig>
             <entityFields>
               <entityFieldDb>
-                <name>AB_OBJECTRELATIONTYPEID</name>
+                <name>OBJECT_ROWID</name>
                 <dbName></dbName>
-                <primaryKey v="true" />
+                <primaryKey v="false" />
                 <columnType v="1" />
                 <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="true" />
+                <isUnique v="false" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
@@ -4757,7 +4813,7 @@
                 <dbName></dbName>
                 <primaryKey v="false" />
                 <columnType v="12" />
-                <size v="50" />
+                <size v="63" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
@@ -4767,39 +4823,25 @@
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>RELATION_TYPE</name>
+                <name>TASKLINKID</name>
                 <dbName></dbName>
-                <primaryKey v="false" />
+                <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>RELATION_TITLE</name>
-                <dbName></dbName>
-                <primaryKey v="false" />
-                <columnType v="12" />
-                <size v="80" />
-                <scale v="0" />
-                <notNull v="true" />
-                <isUnique v="false" />
+                <isUnique v="true" />
                 <index v="false" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
               </entityFieldDb>
               <entityFieldDb>
-                <name>SIDE</name>
+                <name>TASK_ID</name>
                 <dbName></dbName>
                 <primaryKey v="false" />
-                <columnType v="4" />
-                <size v="10" />
+                <columnType v="1" />
+                <size v="36" />
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index f8c7af04b1f75331bbe83a26980787f53783455d..b8bf5ba734410d5145cf7c6e18fd7e3610dcae2a 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>
@@ -254,12 +255,14 @@
     <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>
@@ -278,17 +281,17 @@
       </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>
     </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>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityParameter>
@@ -334,6 +337,42 @@
       <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>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>objectType_param</name>
+          <triggerRecalculation v="true" />
+        </entityParameter>
+      </children>
+    </entityConsumer>
+    <entityActionField>
+      <name>newOffer</name>
+      <fieldType>ACTION</fieldType>
+      <title>New offer</title>
+      <onActionProcess>%aditoprj%/entity/Activity_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <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>
@@ -397,6 +436,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..e2a61f97758bb5de2d74741e1feeec6b5b4d17e8
--- /dev/null
+++ b/entity/Activity_entity/afterOperatingState.js
@@ -0,0 +1,19 @@
+//import("system.logging");
+//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"))
+//{
+//    logging.log(vars.get("$field.ACTIVITYID"))
+//    neon.addRecord(null, "Links", {
+//        "OBJECT_TYPE" : vars.get("$param.ObjectId_param"), 
+//        "OBJECT_ROWID" : vars.get("$param.RowId_param"),
+//        "ACTIVITY_ID" : vars.getString("$field.ACTIVITYID"),
+//        "ActivityId_param" : vars.getString("$field.ACTIVITYID")
+//    });
+//}
\ 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/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/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/recordcontainers/db/onDBInsert.js b/entity/Activity_entity/recordcontainers/db/onDBInsert.js
index 5fed0f59c560f716f04969b39d9aae3fc0849a17..309f19972fbe819442e918970e9c80d38c1a764f 100644
--- a/entity/Activity_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Activity_entity/recordcontainers/db/onDBInsert.js
@@ -7,9 +7,18 @@ 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")]);
+    var rowIds = vars.get("$param.RowId_param");
+    if (/^\[.*\]$/.test(rowIds))
+        rowIds = JSON.parse(rowIds);
+    else 
+        rowIds = [rowIds];
+    rowIds.forEach(function (rowId) 
+    {
+        //TODO: remove this and use neon.addRecord
+        db.insertData(
+            "ACTIVITYLINK",
+            ["ACTIVITYLINKID", "OBJECT_TYPE", "OBJECT_ROWID", "ACTIVITY_ID"],
+            null,
+            [util.getNewUUID(), vars.get("$param.ObjectId_param"), rowId, 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/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index ebbadacc5653fb76a17b02a44683522eed474ac6..ea6aa21dbd64b2e0d9b401efd879ad2ffcf0eb3f 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -88,6 +88,12 @@
           <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>
@@ -130,6 +136,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>
diff --git a/entity/AttributeUsage_entity/AttributeUsage_entity.aod b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
index 52b0452a524d0b0271b46df4869adf16fb68d16c..f35db01ad23996692b004f21314bcd8d1784d692 100644
--- a/entity/AttributeUsage_entity/AttributeUsage_entity.aod
+++ b/entity/AttributeUsage_entity/AttributeUsage_entity.aod
@@ -11,7 +11,7 @@
     </entityProvider>
     <entityField>
       <name>OBJECT_TYPE</name>
-      <title>Context</title>
+      <title>Module</title>
       <consumer>Contexts</consumer>
     </entityField>
     <entityField>
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/full_attribute_name/valueProcess.js b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
index bb5f44d124ef66e4da13d4e661679b6e1b003a11..923d08e23b6c1ae3516c39c934dad4e50f90c722 100644
--- a/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
+++ b/entity/Attribute_entity/entityfields/full_attribute_name/valueProcess.js
@@ -2,4 +2,5 @@ import("system.vars");
 import("system.result");
 import("Attribute_lib");
 
-result.string(AttributeUtil.getFullAttributeName(vars.get("$field.AB_ATTRIBUTEID")));
+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/Context_entity/Context_entity.aod b/entity/Context_entity/Context_entity.aod
index ba84fe0c8b88c17267a1ba9857dbf78def146671..15af48b45e3a5f290ed753245861f43ca339a116 100644
--- a/entity/Context_entity/Context_entity.aod
+++ b/entity/Context_entity/Context_entity.aod
@@ -22,6 +22,12 @@
           <fieldName>Contexts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>2dcb4637-6096-43fc-b07e-d44fb51fbc1b</name>
+          <entityName>TaskLink_entity</entityName>
+          <fieldName>Contexts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index 7ccd487bae928857010181eacc695a2abf1f0417..61a243030f198d4b0934d0914a12f70f8358c103 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -336,6 +336,12 @@
           <fieldName>KeywordState</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>5d9e0e48-ece8-4b8e-ab72-beef77b5dcc3</name>
+          <entityName>Task_entity</entityName>
+          <fieldName>KeywordProgress</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Object_entity/Object_entity.aod b/entity/Object_entity/Object_entity.aod
index 2f3331e452e36f994993c65de2e794c94c1afad8..deb8836051c500fc111de1c1bbf4bbfc5483a590 100644
--- a/entity/Object_entity/Object_entity.aod
+++ b/entity/Object_entity/Object_entity.aod
@@ -80,6 +80,12 @@
           <fieldName>Objects</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>445b79b3-e826-40d1-b6c2-46d62daf0818</name>
+          <entityName>TaskLink_entity</entityName>
+          <fieldName>Objects</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index d1523d93507445f54c874ff6b38fc91e6d6df28e..f610a2634c23570dbefb6b337a7fc3d343909560 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -495,6 +495,13 @@
       <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>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
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/Order_entity/Order_entity.aod b/entity/Order_entity/Order_entity.aod
index a279f454693a961bbb649f309660e85dcc2f255d..7ef4bc3429e9acc6bf39b8fdba23626b476058b7 100644
--- a/entity/Order_entity/Order_entity.aod
+++ b/entity/Order_entity/Order_entity.aod
@@ -394,6 +394,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/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/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/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index b255e2c78b72477ba9f350fb44a3a8a88fe9f9ea..17fba221bd029b4c9bee3d1c718b39bb15d590ff 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -277,6 +277,12 @@ Usually this is used for filtering COMMUNICATION-entries by a specified contact
           <fieldName>Contacts</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>ffdbb464-fa37-4bb7-a66d-d9e0d3a9bc56</name>
+          <entityName>Activity_entity</entityName>
+          <fieldName>Contacts</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
@@ -550,6 +556,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/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/Product_entity/Product_entity.aod b/entity/Product_entity/Product_entity.aod
index 1a477cb4efeb741f94a6a05935e782a714a44ba4..daf1095ab993de330005659847bed045e1e39b2f 100644
--- a/entity/Product_entity/Product_entity.aod
+++ b/entity/Product_entity/Product_entity.aod
@@ -334,6 +334,13 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <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>
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/Salesproject_entity/Salesproject_entity.aod b/entity/Salesproject_entity/Salesproject_entity.aod
index 089cb81db92d660ca6d693bbe7f07e1da63a1694..29c788355bd388815e39500992384f2fa419efa3 100644
--- a/entity/Salesproject_entity/Salesproject_entity.aod
+++ b/entity/Salesproject_entity/Salesproject_entity.aod
@@ -430,6 +430,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>
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/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/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js b/entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..d868fe097f20bc5d880af358b27fdea7a2c86063
--- /dev/null
+++ b/entity/TaskLink_entity/entityfields/object_rowid/linkedContextProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+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..7bbeed559ca783194d000902fe7ae43c7f5081f1 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>
@@ -175,7 +176,7 @@
     </entityConsumer>
     <entityConsumer>
       <name>ModuleTrees</name>
-      <title>Tree</title>
+      <title>History</title>
       <fieldType>DEPENDENCY_OUT</fieldType>
       <dependency>
         <name>dependency</name>
@@ -215,17 +216,17 @@
       <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>
     </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>
       <iconId>VAADIN:TASKS</iconId>
     </entityActionField>
     <entityParameter>
@@ -253,6 +254,51 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityActionField>
+      <name>newOffer</name>
+      <fieldType>ACTION</fieldType>
+      <title>New offer</title>
+      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/newoffer/onActionProcess.js</onActionProcess>
+      <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>
+    </entityField>
+    <entityConsumer>
+      <name>KeywordProgress</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/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>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -260,6 +306,7 @@
       <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 +393,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..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
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/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..b19308201a587f0681e4a6486ea3751b784e1ebb
--- /dev/null
+++ b/entity/Task_entity/entityfields/keywordprogress/children/containername_param/valueProcess.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/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/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/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/valueProcess.js b/entity/Task_entity/entityfields/priority/valueProcess.js
index f6d5ec3fa8f24bbb18e03b535d9dece488186913..81d3400864d415754cd22dd9057ed91d14563ffd 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("4467b33c-3a68-4c8b-ba4a-1eb666a6c774");
\ 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/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
index 333d4d3ca97769c16660a9c6fa7459e28669b98e..832d42b125946d7c2ffa983cfa4a91f03c21670f 100644
--- a/entity/Task_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Task_entity/recordcontainers/db/onDBInsert.js
@@ -3,11 +3,10 @@ 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
+    db.insertData("TASKLINK", ["TASKLINKID", "OBJECT_TYPE", "OBJECT_ROWID", "TASK_ID"], null,
+        [
+            util.getNewUUID(),
+            vars.get("$param.ObjectType_param"),
+            vars.get("$param.RowId_param"),
+            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/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index e4ca214b200d9885b827a6d5d554c3441b7fdd3d..5c651ab9b9f64375957196797f7526a7c48f92f5 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -2562,6 +2562,12 @@
     <entry>
       <key>Relation type</key>
     </entry>
+    <entry>
+      <key>History</key>
+    </entry>
+    <entry>
+      <key>Progress</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
   <sqlModels>
diff --git a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
index 522be629dc254a126b70c336861981ee814d72fb..1b9c09e7083008c9ffcb9c30fe897116e87090f6 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>
@@ -866,6 +865,7 @@
     </entry>
     <entry>
       <key>Waiting for requirements</key>
+      <value>Warten auf Anforderungen</value>
     </entry>
     <entry>
       <key>Parent</key>
@@ -1054,6 +1054,7 @@
     </entry>
     <entry>
       <key>High price strategy</key>
+      <value>Hochpreisstrategie</value>
     </entry>
     <entry>
       <key>Weakness</key>
@@ -1065,13 +1066,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 +1128,11 @@
     </entry>
     <entry>
       <key>Organisation</key>
+      <value>Organisation</value>
     </entry>
     <entry>
       <key>Base</key>
+      <value>Base</value>
     </entry>
     <entry>
       <key>Receipts</key>
@@ -1177,13 +1180,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 +1196,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 +1253,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 +1267,7 @@
     </entry>
     <entry>
       <key>Native Name</key>
+      <value>Geburtsname</value>
     </entry>
     <entry>
       <key>Rabatt</key>
@@ -1283,7 +1297,7 @@
     </entry>
     <entry>
       <key>dd.MM.yyyy</key>
-      <value></value>
+      <value>dd.MM.yyyy</value>
     </entry>
     <entry>
       <key>Articledescription</key>
@@ -1308,9 +1322,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 +1354,7 @@
     </entry>
     <entry>
       <key>Price Politics</key>
+      <value>Preispolitik</value>
     </entry>
     <entry>
       <key>Further informations</key>
@@ -1349,9 +1366,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 +1380,7 @@
     </entry>
     <entry>
       <key>Details</key>
+      <value>Details</value>
     </entry>
     <entry>
       <key>Prices</key>
@@ -1368,6 +1388,7 @@
     </entry>
     <entry>
       <key>Twitter</key>
+      <value>Twitter</value>
     </entry>
     <entry>
       <key>Connections</key>
@@ -1383,6 +1404,7 @@
     </entry>
     <entry>
       <key>Facebook</key>
+      <value>Facebook</value>
     </entry>
     <entry>
       <key>Creation date</key>
@@ -1394,7 +1416,7 @@
     </entry>
     <entry>
       <key>New receipt version</key>
-      <value></value>
+      <value>Neue Quittungsversion</value>
     </entry>
     <entry>
       <key>Orderitems</key>
@@ -1406,10 +1428,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 +1468,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 +1496,7 @@
     </entry>
     <entry>
       <key>September</key>
+      <value>September</value>
     </entry>
     <entry>
       <key>August</key>
@@ -1488,18 +1513,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 +1547,7 @@
     </entry>
     <entry>
       <key>priority</key>
-      <value>Piorität</value>
+      <value>Priorität</value>
     </entry>
     <entry>
       <key>{$TASK_EDITOR}</key>
@@ -1609,9 +1622,6 @@
     <entry>
       <key>Ihr zuständiger Betreuer:</key>
     </entry>
-    <entry>
-      <key>Datum</key>
-    </entry>
     <entry>
       <key>Termin</key>
     </entry>
@@ -1630,6 +1640,7 @@
     </entry>
     <entry>
       <key>details</key>
+      <value>details</value>
     </entry>
     <entry>
       <key>Kundenstammblatt</key>
@@ -1639,6 +1650,7 @@
     </entry>
     <entry>
       <key>Detail</key>
+      <value>Detail</value>
     </entry>
     <entry>
       <key>Object 2</key>
@@ -1650,9 +1662,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 +1686,7 @@
     </entry>
     <entry>
       <key>Attribute Relation</key>
-      <value></value>
+      <value>Attributbeziehung</value>
     </entry>
     <entry>
       <key>My Dashboard</key>
@@ -1684,6 +1698,7 @@
     </entry>
     <entry>
       <key>Attribute Usage</key>
+      <value>Attributverwendung</value>
     </entry>
     <entry>
       <key>Beziehung</key>
@@ -1706,6 +1721,7 @@
     </entry>
     <entry>
       <key>Administration</key>
+      <value>Administration</value>
     </entry>
     <entry>
       <key>Keyword</key>
@@ -1726,6 +1742,7 @@
     </entry>
     <entry>
       <key>Cambodia</key>
+      <value>Kambodscha</value>
     </entry>
     <entry>
       <key>Resigned</key>
@@ -1741,6 +1758,7 @@
     </entry>
     <entry>
       <key>Paraguay</key>
+      <value>Paraguay</value>
     </entry>
     <entry>
       <key>New attribute</key>
@@ -1748,36 +1766,46 @@
     </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>
     </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>
@@ -1787,15 +1815,19 @@
     </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 +1835,38 @@
     </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>
     </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 +1874,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 +1930,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 +1974,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 +1986,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 +2002,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 +2018,58 @@
     </entry>
     <entry>
       <key>Kyrgyzstan</key>
+      <value>Kirgisistan</value>
     </entry>
     <entry>
       <key>Togo</key>
+      <value>Togo</value>
     </entry>
     <entry>
       <key>Other_existing Customer</key>
     </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 +2077,7 @@
     </entry>
     <entry>
       <key>Heard Island and McDonald Islands</key>
+      <value>Heard Island und McDonald Islands</value>
     </entry>
     <entry>
       <key>Incoming</key>
@@ -2000,18 +2085,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 +2109,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 +2153,30 @@
     </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>
     </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 +2184,7 @@
     </entry>
     <entry>
       <key>Estonia</key>
+      <value>Estland</value>
     </entry>
     <entry>
       <key>Not signed yet</key>
@@ -2085,24 +2192,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 +2224,53 @@
     </entry>
     <entry>
       <key>Adviser</key>
+      <value>Berater</value>
     </entry>
     <entry>
       <key>Company_size</key>
     </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>
     </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 +2278,18 @@
     </entry>
     <entry>
       <key>Address purchase</key>
+      <value>Adresserwerb</value>
     </entry>
     <entry>
       <key>Malta</key>
+      <value>Malta</value>
     </entry>
     <entry>
       <key>Project_volume</key>
     </entry>
     <entry>
       <key>Ireland</key>
+      <value>Irland</value>
     </entry>
     <entry>
       <key>Inactive</key>
@@ -2166,12 +2297,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 +2317,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 +2429,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 +2485,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 +2533,14 @@
     </entry>
     <entry>
       <key>Colombia</key>
+      <value>Kolumbien</value>
     </entry>
     <entry>
       <key>Project_reference</key>
     </entry>
     <entry>
       <key>Vanuatu</key>
+      <value>Vanuatu</value>
     </entry>
     <entry>
       <key>Valid, limited</key>
@@ -2361,24 +2548,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 +2584,62 @@
     </entry>
     <entry>
       <key>Christmas Island</key>
+      <value>Weihnachtsinsel</value>
     </entry>
     <entry>
       <key>Netherlands</key>
+      <value>Niederlande</value>
     </entry>
     <entry>
       <key>Product_flexibility</key>
     </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 +2647,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 +2663,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,24 +2707,30 @@
     </entry>
     <entry>
       <key>Customer recommendation</key>
+      <value>Kundenempfehlung</value>
     </entry>
     <entry>
       <key>Other_unknown</key>
     </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>
@@ -2515,39 +2745,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 +2797,7 @@
     </entry>
     <entry>
       <key>Thailand</key>
+      <value>Thailand</value>
     </entry>
     <entry>
       <key>in process</key>
@@ -2562,39 +2805,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 +2857,18 @@
     </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>
     </entry>
     <entry>
       <key>Monaco</key>
+      <value>Monaco</value>
     </entry>
     <entry>
       <key>Spanish</key>
@@ -2618,63 +2876,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 +2955,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 +3006,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 +3024,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 +3056,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 +3064,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 +3072,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 +3084,7 @@
     </entry>
     <entry>
       <key>Links</key>
+      <value>Links</value>
     </entry>
     <entry>
       <key>${PRODUCT_LIB_NO_PRODUCT_ID} function: %0</key>
@@ -2834,6 +3125,7 @@
     </entry>
     <entry>
       <key>Estimation</key>
+      <value>Einschätzung</value>
     </entry>
     <entry>
       <key>Neue Aktivität</key>
@@ -2977,9 +3269,11 @@
     </entry>
     <entry>
       <key>Memo</key>
+      <value>Memo</value>
     </entry>
     <entry>
       <key>Function</key>
+      <value>Funktion</value>
     </entry>
     <entry>
       <key>Relational</key>
@@ -3003,6 +3297,25 @@
     <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>
   </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 bee9e3c109e54f036367ce99c05c6da756ee34a5..89482f2d09e3521ea6104087cea0e09388248fd3 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -2589,6 +2589,12 @@
     <entry>
       <key>Relation type</key>
     </entry>
+    <entry>
+      <key>History</key>
+    </entry>
+    <entry>
+      <key>Progress</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/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/ActivityEdit_view/ActivityEdit_view.aod b/neonView/ActivityEdit_view/ActivityEdit_view.aod
index ff037128fb65720e7c309fa29bc07405e1a1fb64..bf43d84f217ac17265446677618128a118db6b13 100644
--- a/neonView/ActivityEdit_view/ActivityEdit_view.aod
+++ b/neonView/ActivityEdit_view/ActivityEdit_view.aod
@@ -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/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/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..d66ba53d9b79cb61b994009094c0e4d2492f7b92 100644
--- a/neonView/ActivityPreview_view/ActivityPreview_view.aod
+++ b/neonView/ActivityPreview_view/ActivityPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>ICON</iconField>
       <titleField>SUBJECT</titleField>
       <descriptionField>ENTRYDATE</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
@@ -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/AttributeFilter_view/AttributeFilter_view.aod b/neonView/AttributeFilter_view/AttributeFilter_view.aod
index 626b9f0d2c86e82065ba3be5adb8e8222989920f..08bcb8f5ecfa8157443befceebc07e9af05f9932 100644
--- a/neonView/AttributeFilter_view/AttributeFilter_view.aod
+++ b/neonView/AttributeFilter_view/AttributeFilter_view.aod
@@ -24,7 +24,7 @@
       <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/OfferPreview_view/OfferPreview_view.aod b/neonView/OfferPreview_view/OfferPreview_view.aod
index b0d6cffba7e9073c1cb57e24df9ce892e0e45e79..557da913e40a8b37696bffc21ef6dc4f2739730d 100644
--- a/neonView/OfferPreview_view/OfferPreview_view.aod
+++ b/neonView/OfferPreview_view/OfferPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>Offer_OfferCode_VersNr_fieldgroup</titleField>
       <descriptionField>CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
diff --git a/neonView/OrderPreview_view/OrderPreview_view.aod b/neonView/OrderPreview_view/OrderPreview_view.aod
index f3a585b3433614f9587f9a282101862ffeaa3062..80e86b5307565c844102b7048f52e3873db3981f 100644
--- a/neonView/OrderPreview_view/OrderPreview_view.aod
+++ b/neonView/OrderPreview_view/OrderPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>Order_OrderCode_VersNr_fieldgroup</titleField>
       <descriptionField>CONTACT_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
diff --git a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
index ab9edb34ec65966950b0c35087da8be1b72f2b85..834aef029e22855dca538ed6518172f7afb23276 100644
--- a/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
+++ b/neonView/OrganisationPreview_view/OrganisationPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>NAME</titleField>
       <descriptionField>CUSTOMERCODE_DISPLAY_fieldGroup</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <neonViewReference>
diff --git a/neonView/PersonPreview_view/PersonPreview_view.aod b/neonView/PersonPreview_view/PersonPreview_view.aod
index a46e953f3c5307e1248693928966ddaf93a78b68..657b071091ce85c40f00699d0c8f28f1cba23c04 100644
--- a/neonView/PersonPreview_view/PersonPreview_view.aod
+++ b/neonView/PersonPreview_view/PersonPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>FULL_NAME_fieldGroup</titleField>
       <descriptionField>ORGANISATION_ID</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <neonViewReference>
diff --git a/neonView/ProductPreview_view/ProductPreview_view.aod b/neonView/ProductPreview_view/ProductPreview_view.aod
index ec357f90b38dd8275058f1310dedab536c091ed7..0c098ee2f5d822ed43af28eec055d02e840a3add 100644
--- a/neonView/ProductPreview_view/ProductPreview_view.aod
+++ b/neonView/ProductPreview_view/ProductPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>PRODUCTCODE</titleField>
       <descriptionField>PRODUCTNAME</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
diff --git a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
index e75219d501812337ef524570dbea61824d95c949..f4c24b28ee034c8306df912b4d176d79a14c6e90 100644
--- a/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
+++ b/neonView/SalesprojectPreview_view/SalesprojectPreview_view.aod
@@ -13,6 +13,7 @@
       <iconField>IMAGE</iconField>
       <titleField>PROJECTTITLE</titleField>
       <descriptionField>PROJECTCODE</descriptionField>
+      <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
     </cardViewTemplate>
     <genericViewTemplate>
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/TaskLinkPreview_view/TaskLinkPreview_view.aod b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
new file mode 100644
index 0000000000000000000000000000000000000000..60cdf3b08b918313763c16cd74381ea8ae40d6cd
--- /dev/null
+++ b/neonView/TaskLinkPreview_view/TaskLinkPreview_view.aod
@@ -0,0 +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>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/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/changelog.xml b/others/db_changes/data_alias/basic/2019.2/changelog.xml
index 90370e1732bce374d7601e10a9120b008326c8ac..c736ceb9e34909da0ffb88eb2a20bc03067c9808 100644
--- a/others/db_changes/data_alias/basic/2019.2/changelog.xml
+++ b/others/db_changes/data_alias/basic/2019.2/changelog.xml
@@ -72,6 +72,7 @@
     <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="AttributeKeyword.xml"/>
@@ -87,6 +88,8 @@
     
     <include relativeToChangelogFile="true" file="update_pricelist_keyword.xml"/>
     
+    <include relativeToChangelogFile="true" file="create_taskLink.xml"/>
+    
     <include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
     <include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
 </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/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/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/KeywordRegistry_basic/process.js b/process/KeywordRegistry_basic/process.js
index b57b5acc67c6766ede94b1b657d829464a0edc1f..6c571b3e1ac1a1e843a8bc2d56aba2fe0fdee0e7 100644
--- a/process/KeywordRegistry_basic/process.js
+++ b/process/KeywordRegistry_basic/process.js
@@ -55,5 +55,6 @@ $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"};
diff --git a/process/Task_lib/Task_lib.aod b/process/Task_lib/Task_lib.aod
new file mode 100644
index 0000000000000000000000000000000000000000..573ed1da0c9c559b096a27b6617529599aba1e9a
--- /dev/null
+++ b/process/Task_lib/Task_lib.aod
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
+  <name>Task_lib</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <process>%aditoprj%/process/Task_lib/process.js</process>
+  <variants>
+    <element>LIBRARY</element>
+  </variants>
+</process>
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