From 5f0f0194acb460a5d6c03c777ff4339f46977262 Mon Sep 17 00:00:00 2001
From: Johannes Hoermann <j.hoermann@adito.de>
Date: Wed, 29 May 2019 15:37:08 +0200
Subject: [PATCH] =?UTF-8?q?Task:=20konfigurierbarkeit=20=C3=BCber=20keywor?=
 =?UTF-8?q?d?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../insertTicketAttributes_TaskType_Task.xml  | 124 ++++++
 .../Ticketmanagement/insert_TaskType_Task.xml |  98 +++++
 .../insert_TicketStatus_Task.xml              | 107 ++++++
 .../update_TaskStatus_add_icon.xml            |  36 ++
 .../Data_alias/basic/2019.2/changelog.xml     | 357 +++++++++---------
 .../basic/2019.2/update_TaskType_Task.xml     | 129 +------
 .../AttributeRelation_entity.aod              |   6 +
 .../exclusivecontexts_param/valueProcess.js   |  29 +-
 entity/Task_entity/Task_entity.aod            |  26 +-
 .../entityfields/attributes/onValidation.js   |   6 +
 .../entityfields/attributes/stateProcess.js   |  13 +
 .../entityfields/code/stateProcess.js         |   2 +-
 .../exportliquibase/iconIdProcess.js          |   0
 .../exportliquibase/onActionProcess.js        |  16 +
 .../containername_param/valueProcess.js       |   6 +-
 .../priority_icon/valueProcess.js             |  26 +-
 .../status/displayValueProcess.js             |   4 +-
 .../entityfields/status/valueProcess.js       |  17 +-
 .../entityfields/type/valueProcess.js         |   2 +-
 .../status.displayvalue/expression.js         |   8 +-
 .../_____LANGUAGE_EXTRA.aod                   |   9 +
 .../_____LANGUAGE_de/_____LANGUAGE_de.aod     |  12 +
 .../_____LANGUAGE_en/_____LANGUAGE_en.aod     |   9 +
 neonView/TaskEdit_view/TaskEdit_view.aod      |   5 +
 neonView/TaskMain_view/TaskMain_view.aod      | 109 +++---
 .../TaskPreview_view/TaskPreview_view.aod     |   1 +
 process/ActivityTask_lib/process.js           |  30 ++
 process/Keyword_lib/process.js                |   7 +-
 process/Sql_lib/process.js                    |  18 +-
 process/Task_lib/Task_lib.aod                 |   9 -
 process/Task_lib/process.js                   |  56 ---
 31 files changed, 802 insertions(+), 475 deletions(-)
 create mode 100644 .liquibase/Data_alias/basic/2019.2/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
 create mode 100644 .liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml
 create mode 100644 .liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml
 create mode 100644 .liquibase/Data_alias/basic/2019.2/Ticketmanagement/update_TaskStatus_add_icon.xml
 create mode 100644 entity/Task_entity/entityfields/attributes/onValidation.js
 create mode 100644 entity/Task_entity/entityfields/attributes/stateProcess.js
 create mode 100644 entity/Task_entity/entityfields/exportliquibase/iconIdProcess.js
 create mode 100644 entity/Task_entity/entityfields/exportliquibase/onActionProcess.js
 delete mode 100644 process/Task_lib/Task_lib.aod
 delete mode 100644 process/Task_lib/process.js

diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
new file mode 100644
index 0000000000..a8f2feb6ac
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insertTicketAttributes_TaskType_Task.xml
@@ -0,0 +1,124 @@
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+  <changeSet author="j.hoermann" id="e06fe9ba-7cad-4d83-a366-06882ebc7fff">
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="                                    "/>
+      <column name="ATTRIBUTE_TYPE" value="GROUP                               "/>
+      <column name="ATTRIBUTE_NAME" value="Ticket"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
+      <column name="ATTRIBUTE_TYPE" value="GROUP                               "/>
+      <column name="ATTRIBUTE_NAME" value="Bug Ticket"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="5a580b0d-4c63-4d2f-ae5b-87f5e2d84abd"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_TYPE" value="TEXT                                "/>
+      <column name="ATTRIBUTE_NAME" value="Version betroffen"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="ff8b1caf-cf30-4edb-b5ca-a9a219ba8399"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBO                               "/>
+      <column name="ATTRIBUTE_NAME" value="Kategorie"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="2"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="72bcad07-6f26-48c0-84b0-1e6ab46d88a9"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="Allgemein"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="02e77970-3ea4-4fff-9ffa-099746b5f3c8"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="Server"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="2"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="abc52bbb-047c-405c-9d58-c2e8ac8eb585"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="92dde095-1b3a-4e90-9a90-1947d3e5d734"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="Client"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="3"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="01d761e0-802a-46d0-827f-b6ca5d9a2148"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="753d9c44-58d2-40b5-b981-cd0ab15dddc2"/>
+      <column name="ATTRIBUTE_TYPE" value="GROUP                               "/>
+      <column name="ATTRIBUTE_NAME" value="Support Ticket"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="2"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="3fda569e-2ed3-44b8-b82e-a42c4f7ea464"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="01d761e0-802a-46d0-827f-b6ca5d9a2148"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBO                               "/>
+      <column name="ATTRIBUTE_NAME" value="Status"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="edf6f743-2b01-4961-9738-e61c472c96ec"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="3fda569e-2ed3-44b8-b82e-a42c4f7ea464"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="erfasst"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="1"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="fa771c64-464c-46d7-9350-16ef03b2e227"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="3fda569e-2ed3-44b8-b82e-a42c4f7ea464"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="in Bearbeitung"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="2"/>
+    </insert>
+    <insert tableName="AB_ATTRIBUTE">
+      <column name="AB_ATTRIBUTEID" value="44f986ab-07c7-4413-b3f1-662995ecc254"/>
+      <column name="ATTRIBUTE_PARENT_ID" value="3fda569e-2ed3-44b8-b82e-a42c4f7ea464"/>
+      <column name="ATTRIBUTE_TYPE" value="COMBOVALUE                          "/>
+      <column name="ATTRIBUTE_NAME" value="abgeschlossen"/>
+      <column name="ATTRIBUTE_ACTIVE" valueNumeric="1"/>
+      <column name="KEYWORD_CONTAINER"/>
+      <column name="ATTRIBUTE_INFO"/>
+      <column name="SORTING" valueNumeric="3"/>
+    </insert>
+  </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml
new file mode 100644
index 0000000000..06961462da
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TaskType_Task.xml
@@ -0,0 +1,98 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">       
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
+            <column name="NAME" value="group"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
+            <column name="NAME" value="attributes"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
+            <column name="NAME" value="status"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="9ac96671-b519-488b-bbad-6dea3e5baafd"/>
+            <column name="NAME" value="showCode"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="TYPE" value="BOOL_VALUE"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eef7882-90eb-4c5b-a01a-c6cf1ea7a82b"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
+            <column name="CHAR_VALUE" value="Task"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="cd293e92-224f-4bc3-9552-b3f7caa95c99"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="9ac96671-b519-488b-bbad-6dea3e5baafd"/>
+            <column name="BOOL_VALUE" valueNumeric="0"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
+            <column name="KEYID" value="f3da0edd-49d9-4061-98c1-8fda8631be7e"/>
+            <column name="TITLE" value="Bug Ticket"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ca8e16d4-0bae-45e7-a288-0f8a846193f1"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
+            <column name="CHAR_VALUE" value="Ticket"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="fa35bb8d-1aa6-47fd-a674-0fdb7c838ddd"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
+            <column name="CHAR_VALUE" value="[&quot;ff8b1caf-cf30-4edb-b5ca-a9a219ba8399&quot;]"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1e35235b-fc50-4098-bf10-2b05b4c37373"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
+            <column name="CHAR_VALUE" value="TicketStatus"/>
+        </insert>
+
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
+            <column name="KEYID" value="7bf77721-470f-4cdf-a6af-452bf05a405b"/>
+            <column name="TITLE" value="Support ticket"/>
+            <column name="CONTAINER" value="TaskType"/>
+            <column name="SORTING" valueNumeric="2"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="6e54c8f3-f24b-411f-a3e3-eba878fdaa1b"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
+            <column name="CHAR_VALUE" value="Ticket"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7f1bed92-7158-4c89-b811-85dea257fa6a"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="af6a0af9-0102-426b-a1f7-c8abfea79793"/>
+            <column name="CHAR_VALUE" value="[&quot;01d761e0-802a-46d0-827f-b6ca5d9a2148&quot;]"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="713685f5-18d6-4c8a-ad4c-1d193ca0b592"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="6f10015d-b7ee-43aa-99f9-87960ec2e4fd"/>
+            <column name="CHAR_VALUE" value="TicketStatus"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml
new file mode 100644
index 0000000000..4a5f7e51ee
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/insert_TicketStatus_Task.xml
@@ -0,0 +1,107 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="NAME" value="icon"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="9cd52d5f-7438-45f9-96d9-47d093dc3245"/>
+            <column name="KEYID" value="ea5a0f80-4ba2-442f-892d-4992d664705b"/>
+            <column name="TITLE" value="new"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="0"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1a93bc02-6cec-4f56-9b63-fac2f5ff4dc5"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="9cd52d5f-7438-45f9-96d9-47d093dc3245"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_NOT_STARTED"/>
+        </insert>
+
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="75175699-62bd-43bf-81a1-0e0ace930e39"/>
+            <column name="KEYID" value="6f5fb83d-9a2a-420a-a73c-22bd7d31d3d5"/>
+            <column name="TITLE" value="in process"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="1"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="c67cdf5a-18e6-45ff-a077-5a8b0a174c00"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="75175699-62bd-43bf-81a1-0e0ace930e39"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_IN_PROGRESS"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="d9c2402b-62d2-4d3e-9d48-c102c45935bd"/>
+            <column name="KEYID" value="34327ed4-75ed-4040-adc2-2919afe99209"/>
+            <column name="TITLE" value="testing"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="2"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="b429d563-2e04-4df8-a800-e3abf0c2bb66"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="d9c2402b-62d2-4d3e-9d48-c102c45935bd"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/>
+            <column name="KEYID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/>
+            <column name="TITLE" value="waiting"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="3"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="e07e624c-1556-4908-a80f-7656fc5f2009"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="b0549a0d-d0e2-46be-9e57-741d6ddfc2ae"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="5d938aa3-cf32-4cd0-97a5-2b685ff7dc1b"/>
+            <column name="KEYID" value="84b84207-25ae-4988-ba0a-f998f64afb37"/>
+            <column name="TITLE" value="double"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="4"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3b295993-8bbb-442f-8405-99adbad3ad7d"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="5d938aa3-cf32-4cd0-97a5-2b685ff7dc1b"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_DONE"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ENTRY">
+            <column name="AB_KEYWORD_ENTRYID" value="73a6493d-37a4-47ce-8d38-53a5e72e76c1"/>
+            <column name="KEYID" value="18ca0cb6-54d2-4696-8f24-b67c8aa56a77"/>
+            <column name="TITLE" value="closed"/>
+            <column name="CONTAINER" value="TicketStatus"/>
+            <column name="SORTING" valueNumeric="5"/>
+            <column name="ISACTIVE" valueNumeric="1"/>
+            <column name="ISESSENTIAL" valueNumeric="0"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="22bac516-3dd6-47f1-a95b-26712031630b"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="73a6493d-37a4-47ce-8d38-53a5e72e76c1"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="7186d414-710b-4171-902f-f96f728fe38f"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_DONE"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/update_TaskStatus_add_icon.xml b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/update_TaskStatus_add_icon.xml
new file mode 100644
index 0000000000..567a96007e
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.2/Ticketmanagement/update_TaskStatus_add_icon.xml
@@ -0,0 +1,36 @@
+<?xml version="1.1" encoding="UTF-8" standalone="no"?>
+<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
+    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">
+        <insert tableName="AB_KEYWORD_ATTRIBUTE">
+            <column name="AB_KEYWORD_ATTRIBUTEID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
+            <column name="NAME" value="icon"/>
+            <column name="CONTAINER" value="TaskStatus"/>
+            <column name="TYPE" value="CHAR_VALUE"/>
+        </insert>
+        
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="3a2e147c-614e-49ae-8b7e-16a8a16d0c05"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="6ab0cc9e-021c-42ef-abfd-f9f7a58aa76c"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_NOT_STARTED"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="f0ec52a0-81f1-43b7-bb5b-d9e925d525aa"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="6a479d71-2c05-4496-9c6c-c9aeef929bcf"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_IN_PROGRESS"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="9b9eac4b-886b-46b1-a099-2ead6cfbc99d"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="34701d4d-7435-43bc-8b2f-ad2a70065a75"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_WAITING"/>
+        </insert>
+        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="7f4d36bd-4ab2-4ccc-bdf5-ae05d817c255"/>
+            <column name="AB_KEYWORD_ENTRY_ID" value="7311d8c5-edf2-492e-be4d-6f0469334611"/>
+            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="472f9bc2-3331-49f9-aba2-72d5eeb89654"/>
+            <column name="CHAR_VALUE" value="NEON:STATUS_DONE"/>
+        </insert>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/.liquibase/Data_alias/basic/2019.2/changelog.xml b/.liquibase/Data_alias/basic/2019.2/changelog.xml
index 0fba6576ae..ae8273cc27 100644
--- a/.liquibase/Data_alias/basic/2019.2/changelog.xml
+++ b/.liquibase/Data_alias/basic/2019.2/changelog.xml
@@ -1,176 +1,181 @@
-<?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">
-    <include relativeToChangelogFile="true" file="data/ORGANISATION_private.xml"/>
-    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_gfk.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_mnf.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_lichtenstein.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_kaeltetechnik.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_pichelmaier.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_pfiffig.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_sommer.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_muller.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_leicht.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_kanzler.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_gruener.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_obermeier.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_smith.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_lustig.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1000.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1001.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1002.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1003.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1004.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_product/PRODUCT_42154311.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesproject/SALESPROJECT_gfk.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesproject/SALESPROJECT_jkl.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_activity/ACTIVITY_gfk.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1000.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1001.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1002.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1003.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1004.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1000.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1001.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1002.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1003.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1004.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1005.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1006.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1007.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1008.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1009.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_task/base.xml" context="example"/>
-
-    <include relativeToChangelogFile="true" file="update_TaskType_Task.xml"/>
-
-    <include relativeToChangelogFile="true" file="removeTaskCode.xml"/>
-
-    <include relativeToChangelogFile="true" file="activity_add_parent.xml"/>
-    <include relativeToChangelogFile="true" file="task_add_parent.xml"/>
-
-    <include relativeToChangelogFile="true" file="create_salutation.xml"/>
-
-    <include relativeToChangelogFile="true" file="drop_estimation_salesproject.xml"/>
-
-    <!--References to the Keyword Values-->
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/OfferProbability.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/ActivityCategory.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/CommunicationMedium.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/AddressType.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectStrength.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPhase.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectState.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectWeakness.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPricePolitics.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/TaskPriority.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesprojectCompetitionState.xml"/>
-    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectCompetitionPhase.xml"/>
-
-    <!--References to the reference files-->
-    <include relativeToChangelogFile="true" file="AditoBasic/init_OfferProbability.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_ActivityCategory.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_CommunicationMedium.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_AddressType.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectState.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectPhase.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_TaskPriority.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_TaskProgress.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectCompetitionState.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeType.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_PaymentTerm.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_DeliveryTerm.xml"/>
-    <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/>
-    <include relativeToChangelogFile="true" file="Contact_add_columns.xml"/>
-    <include relativeToChangelogFile="true" file="SalesOrder_source_offer.xml"/>
-    <include relativeToChangelogFile="true" file="Product_remove_fk.xml"/>
-
-    <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/>
-    <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/>
-
-    <include relativeToChangelogFile="true" file="drop_contact_id_sp_forecast.xml"/>
-
-    <include relativeToChangelogFile="true" file="fix_sp_phases.xml"/>
-
-    <include relativeToChangelogFile="true" file="drop_pricePolitics-weakness-strength.xml"/>
-
-    <include relativeToChangelogFile="true" file="update_pricelist_keyword.xml"/>
-
-    <include relativeToChangelogFile="true" file="create_taskLink.xml"/>
-
-    <include relativeToChangelogFile="true" file="Offer_terms.xml"/>
-
-    <include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
-    <include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
-
-    <include relativeToChangelogFile="true" file="Salesproject_add_column.xml"/>
-
-    <include relativeToChangelogFile="true" file="AditoBasic/update_Strength_Weakness.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactDepartment.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactContactrole.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactPosition.xml"/>
-
-    <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeKeyword_target_group.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/insert_offer_status_keyword.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/insert_salesproject_state_keyword.xml"/>
-
-
-    <include relativeToChangelogFile="true" file="organisation_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="person_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="address_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="contact_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="activity_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="activitylink_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="product_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="offer_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="attributerelation_add_date_editnew_user_editnew.xml"/>
-    <include relativeToChangelogFile="true" file="communication_add_date_editnew_user_editnew.xml"/>
-
-    <include relativeToChangelogFile="true" file="indicesRefactor/ContactManagement.xml"/>
-    <include relativeToChangelogFile="true" file="indicesRefactor/Keyword.xml"/>
-    <include relativeToChangelogFile="true" file="indicesRefactor/Activity.xml"/>
-    <include relativeToChangelogFile="true" file="indicesRefactor/Task.xml"/>
-
-    <include relativeToChangelogFile="true" file="update_Keyword_Essentials.xml" />
-    <include relativeToChangelogFile="true" file="Contactmanagement_added_ImageBlobs.xml" />
-	
-    <include relativeToChangelogFile="true" file="alter_activityLink.xml" />
-    
-    <include relativeToChangelogFile="true" file="renameCycle_to_Milestone.xml" />
-    <include relativeToChangelogFile="true" file="change_Milestone_datatype_to_new_Keyword_logic.xml" />
-    <include relativeToChangelogFile="true" file="update_Milestone_to_new_Keyword.xml" />
-
-    <include relativeToChangelogFile="true" file="data/example_person/PERSON_admin.xml" context="example"/>
-    
-    <include relativeToChangelogFile="true" file="addDefaultAddresses.xml" context="example"/>  
-    <include relativeToChangelogFile="true" file="AditoBasic/create_ab_loghistory.xml"/>
-    
-    <include relativeToChangelogFile="true" file="activity_rename_Creator_to_Responsible.xml" />
-
-    <include relativeToChangelogFile="true" file="create_documenttemplate.xml" />
-    <include relativeToChangelogFile="true" file="create_documenttemplatelink.xml" />
-    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateType.xml" />
-    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateTypeCategory.xml" />
-    <include relativeToChangelogFile="true" file="miscellaneous/Contact_additionalColumns.xml" />
-
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaign.xml"/>
-    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateTypeCategory.xml" />
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignStep.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignParticipant.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignParticipantLog.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignState.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignStepState.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignCost.xml"/>
-    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignCostCategory.xml"/>
-    
-    <include relativeToChangelogFile="true" file="AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml"/>
-
-    <include relativeToChangelogFile="true" file="Classification/create_classification_tables.xml"/>
-    <include relativeToChangelogFile="true" file="Classification/insert_classification_scores.xml"/>
-    <include relativeToChangelogFile="true" file="Classification/insert_classification_types.xml"/>
-    <include relativeToChangelogFile="true" file="Classification/delete_salesprocejctClassification.xml"/>
-
-    <include relativeToChangelogFile="true" file="AditoBasic/extendKeywordOrganisationType.xml"/>
-    <include relativeToChangelogFile="true" file="AditoBasic/removeAttributeKeywordTargetGroup.xml"/>
-    
-    <include relativeToChangelogFile="true" file="AditoBasic/insert_permission_keyword.xml"/>
-</databaseChangeLog>
+<?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">
+    <include relativeToChangelogFile="true" file="data/ORGANISATION_private.xml"/>
+    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_gfk.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_mnf.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_lichtenstein.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_kaeltetechnik.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_organisation/ORGANISATION_pichelmaier.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_pfiffig.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_sommer.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_muller.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_leicht.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_kanzler.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_gruener.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_obermeier.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_smith.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_lustig.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1000.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1001.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1002.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1003.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_contract/CONTRACT_1004.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_product/PRODUCT_42154311.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesproject/SALESPROJECT_gfk.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesproject/SALESPROJECT_jkl.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_activity/ACTIVITY_gfk.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1000.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1001.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1002.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1003.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_offer/OFFER_1004.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1000.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1001.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1002.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1003.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1004.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1005.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1006.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1007.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1008.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_salesorder/SALESORDER_1009.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_task/base.xml" context="example"/>
+    
+    <include relativeToChangelogFile="true" file="update_TaskType_Task.xml"/>
+    
+    <include relativeToChangelogFile="true" file="removeTaskCode.xml"/>
+
+    <include relativeToChangelogFile="true" file="activity_add_parent.xml"/>
+    <include relativeToChangelogFile="true" file="task_add_parent.xml"/>
+
+    <include relativeToChangelogFile="true" file="create_salutation.xml"/>
+
+    <include relativeToChangelogFile="true" file="drop_estimation_salesproject.xml"/>
+
+    <!--References to the Keyword Values-->
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/OfferProbability.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/ActivityCategory.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/CommunicationMedium.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/AddressType.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectStrength.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPhase.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectState.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectWeakness.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectPricePolitics.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/TaskPriority.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesprojectCompetitionState.xml"/>
+    <include relativeToChangelogFile="true" file="KeywordRelatedStructureChanges/SalesProjectCompetitionPhase.xml"/>
+
+    <!--References to the reference files-->
+    <include relativeToChangelogFile="true" file="AditoBasic/init_OfferProbability.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_ActivityCategory.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_CommunicationMedium.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_AddressType.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectState.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectPhase.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_TaskPriority.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_TaskProgress.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_SalesprojectCompetitionState.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeType.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_PaymentTerm.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_DeliveryTerm.xml"/>
+    <include relativeToChangelogFile="true" file="AttributeKeyword.xml"/>
+    <include relativeToChangelogFile="true" file="Contact_add_columns.xml"/>
+    <include relativeToChangelogFile="true" file="SalesOrder_source_offer.xml"/>
+    <include relativeToChangelogFile="true" file="Product_remove_fk.xml"/>
+
+    <include relativeToChangelogFile="true" file="data/example_attribute/Attribute.xml" context="example"/>
+    <include relativeToChangelogFile="true" file="data/example_attribute/AttributeUsage.xml" context="example"/>
+
+    <include relativeToChangelogFile="true" file="drop_contact_id_sp_forecast.xml"/>
+
+    <include relativeToChangelogFile="true" file="fix_sp_phases.xml"/>
+
+    <include relativeToChangelogFile="true" file="drop_pricePolitics-weakness-strength.xml"/>
+
+    <include relativeToChangelogFile="true" file="update_pricelist_keyword.xml"/>
+
+    <include relativeToChangelogFile="true" file="create_taskLink.xml"/>
+
+    <include relativeToChangelogFile="true" file="Offer_terms.xml"/>
+
+    <include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
+    <include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
+
+    <include relativeToChangelogFile="true" file="Salesproject_add_column.xml"/>
+
+    <include relativeToChangelogFile="true" file="AditoBasic/update_Strength_Weakness.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactDepartment.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactContactrole.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/init_ContactPosition.xml"/>
+
+    <include relativeToChangelogFile="true" file="AditoBasic/init_AttributeKeyword_target_group.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/insert_offer_status_keyword.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/insert_salesproject_state_keyword.xml"/>
+
+
+    <include relativeToChangelogFile="true" file="organisation_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="person_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="address_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="contact_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="activity_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="activitylink_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="product_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="offer_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="attributerelation_add_date_editnew_user_editnew.xml"/>
+    <include relativeToChangelogFile="true" file="communication_add_date_editnew_user_editnew.xml"/>
+
+    <include relativeToChangelogFile="true" file="indicesRefactor/ContactManagement.xml"/>
+    <include relativeToChangelogFile="true" file="indicesRefactor/Keyword.xml"/>
+    <include relativeToChangelogFile="true" file="indicesRefactor/Activity.xml"/>
+    <include relativeToChangelogFile="true" file="indicesRefactor/Task.xml"/>
+
+    <include relativeToChangelogFile="true" file="update_Keyword_Essentials.xml" />
+    <include relativeToChangelogFile="true" file="Contactmanagement_added_ImageBlobs.xml" />
+	
+    <include relativeToChangelogFile="true" file="alter_activityLink.xml" />
+    
+    <include relativeToChangelogFile="true" file="renameCycle_to_Milestone.xml" />
+    <include relativeToChangelogFile="true" file="change_Milestone_datatype_to_new_Keyword_logic.xml" />
+    <include relativeToChangelogFile="true" file="update_Milestone_to_new_Keyword.xml" />
+
+    <include relativeToChangelogFile="true" file="data/example_person/PERSON_admin.xml" context="example"/>
+    
+    <include relativeToChangelogFile="true" file="addDefaultAddresses.xml" context="example"/>  
+    <include relativeToChangelogFile="true" file="AditoBasic/create_ab_loghistory.xml"/>
+    
+    <include relativeToChangelogFile="true" file="activity_rename_Creator_to_Responsible.xml" />
+
+    <include relativeToChangelogFile="true" file="create_documenttemplate.xml" />
+    <include relativeToChangelogFile="true" file="create_documenttemplatelink.xml" />
+    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateType.xml" />
+    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateTypeCategory.xml" />
+    <include relativeToChangelogFile="true" file="miscellaneous/Contact_additionalColumns.xml" />
+
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaign.xml"/>
+    <include relativeToChangelogFile="true" file="data/init_DocumentTemplateTypeCategory.xml" />
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignStep.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignParticipant.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignParticipantLog.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignState.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignStepState.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignCost.xml"/>
+    <include relativeToChangelogFile="true" file="CampaignManagement/create_campaignCostCategory.xml"/>
+    
+    <include relativeToChangelogFile="true" file="AditoBasic/ActivityDirectionKeyword_add_icon_attr.xml"/>
+
+    <include relativeToChangelogFile="true" file="Classification/create_classification_tables.xml"/>
+    <include relativeToChangelogFile="true" file="Classification/insert_classification_scores.xml"/>
+    <include relativeToChangelogFile="true" file="Classification/insert_classification_types.xml"/>
+    <include relativeToChangelogFile="true" file="Classification/delete_salesprocejctClassification.xml"/>
+
+    <include relativeToChangelogFile="true" file="AditoBasic/extendKeywordOrganisationType.xml"/>
+    <include relativeToChangelogFile="true" file="AditoBasic/removeAttributeKeywordTargetGroup.xml"/>
+    
+    <include relativeToChangelogFile="true" file="AditoBasic/insert_permission_keyword.xml"/>
+    
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insertTicketAttributes_TaskType_Task.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TaskType_Task.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/insert_TicketStatus_Task.xml"/>
+    <include relativeToChangelogFile="true" file="Ticketmanagement/update_TaskStatus_add_icon.xml"/>
+</databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2019.2/update_TaskType_Task.xml b/.liquibase/Data_alias/basic/2019.2/update_TaskType_Task.xml
index 06db96f69c..ed33a9a787 100644
--- a/.liquibase/Data_alias/basic/2019.2/update_TaskType_Task.xml
+++ b/.liquibase/Data_alias/basic/2019.2/update_TaskType_Task.xml
@@ -1,14 +1,16 @@
 <?xml version="1.1" encoding="UTF-8" standalone="no"?>
 <databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
-    <changeSet author="a.loreth" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">
-        <insert tableName="AB_KEYWORD_ATTRIBUTE">
-            <column name="AB_KEYWORD_ATTRIBUTEID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-
-            <column name="NAME" value="group"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="TYPE" value="CHAR_VALUE"/>
-        </insert>
-
+    <changeSet author="j.hoermann" id="d1440b93-e01c-406b-9f0d-c55cac877fcd">
+        <delete tableName="AB_KEYWORD_ENTRY">
+            <where>AB_KEYWORD_ENTRYID in (?, ?, ?, ?)</where>
+            <whereParams>
+                <param value="7bd67c84-cb9d-4bb8-9189-4dd92c4b38a0" />
+                <param value="971b9424-9dda-4a4b-b6db-66c3ae3258ad" />
+                <param value="54231fc1-050e-4f00-91e1-4968387a6370" />
+                <param value="ac87d05f-2cf5-4c77-8342-c11e0cce7c8b" />
+            </whereParams>
+        </delete>
+        
         <insert tableName="AB_KEYWORD_ENTRY">
             <column name="AB_KEYWORD_ENTRYID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
             <column name="KEYID" value="4dee8727-8299-422e-ae41-6cdf9de2dfd7"/>
@@ -18,114 +20,5 @@
             <column name="ISACTIVE" valueNumeric="1"/>
             <column name="ISESSENTIAL" valueNumeric="1"/>
         </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="1eef7882-90eb-4c5b-a01a-c6cf1ea7a82b"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Task"/>
-        </insert>
-        
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="KEYID" value="f3da0edd-49d9-4061-98c1-8fda8631be7e"/>
-            <column name="TITLE" value="Ticket"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="SORTING" valueNumeric="1"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="1"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="ca8e16d4-0bae-45e7-a288-0f8a846193f1"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="2ef84e0e-988a-44b4-9d14-3461555d2f18"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Ticket"/>
-        </insert>
-
-        <insert tableName="AB_KEYWORD_ENTRY">
-            <column name="AB_KEYWORD_ENTRYID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="KEYID" value="7bf77721-470f-4cdf-a6af-452bf05a405b"/>
-            <column name="TITLE" value="Support ticket"/>
-            <column name="CONTAINER" value="TaskType"/>
-            <column name="SORTING" valueNumeric="2"/>
-            <column name="ISACTIVE" valueNumeric="1"/>
-            <column name="ISESSENTIAL" valueNumeric="1"/>
-        </insert>
-        <insert tableName="AB_KEYWORD_ATTRIBUTERELATION">
-            <column name="AB_KEYWORD_ATTRIBUTERELATIONID" value="6e54c8f3-f24b-411f-a3e3-eba878fdaa1b"/>
-            <column name="AB_KEYWORD_ENTRY_ID" value="9d326a2a-923c-41de-adb9-b0f86417e7c2"/>
-            <column name="AB_KEYWORD_ATTRIBUTE_ID" value="e8e3e2e9-8cce-4582-a71b-7f66593c7ade"/>
-            <column name="CHAR_VALUE" value="Ticket"/>
-        </insert>
-
-        <delete tableName="AB_KEYWORD_ENTRY">
-            <where>AB_KEYWORD_ENTRYID = ?</where>
-            <whereParams>
-                <param value="7bd67c84-cb9d-4bb8-9189-4dd92c4b38a0" />
-            </whereParams>
-        </delete>
-        <delete tableName="AB_KEYWORD_ENTRY">
-            <where>AB_KEYWORD_ENTRYID = ?</where>
-            <whereParams>
-                <param value="971b9424-9dda-4a4b-b6db-66c3ae3258ad" />
-            </whereParams>
-        </delete>
-        <delete tableName="AB_KEYWORD_ENTRY">
-            <where>AB_KEYWORD_ENTRYID = ?</where>
-            <whereParams>
-                <param value="54231fc1-050e-4f00-91e1-4968387a6370" />
-            </whereParams>
-        </delete>
-        <delete tableName="AB_KEYWORD_ENTRY">
-            <where>AB_KEYWORD_ENTRYID = ?</where>
-            <whereParams>
-                <param value="ac87d05f-2cf5-4c77-8342-c11e0cce7c8b" />
-            </whereParams>
-        </delete>
-    
-    
-        <rollback>
-            <delete tableName="AB_KEYWORD_ENTRY">
-                <where>AB_KEYWORD_ENTRYID = ?</where>
-                <whereParams>
-                    <param value="9e30365b-a9a6-4b57-ae6b-140c9e5a4eb4"/>
-                </whereParams>
-            </delete>
-            <insert tableName="AB_KEYWORD_ENTRY">
-                <column name="AB_KEYWORD_ENTRYID" value="7bd67c84-cb9d-4bb8-9189-4dd92c4b38a0"/>
-                <column name="KEYID" value="2594110a-a5a2-4516-a581-7540167e3976"/>
-                <column name="TITLE" value="Visit"/>
-                <column name="CONTAINER" value="TaskType"/>
-                <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="971b9424-9dda-4a4b-b6db-66c3ae3258ad"/>
-                <column name="KEYID" value="d1765fbd-3388-4ac1-a67e-22533f14ef94"/>
-                <column name="TITLE" value="E-Mail"/>
-                <column name="CONTAINER" value="TaskType"/>
-                <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="54231fc1-050e-4f00-91e1-4968387a6370"/>
-                <column name="KEYID" value="c402d3ad-9c46-4e79-b7fa-f70b771cb9d0"/>
-                <column name="TITLE" value="Phone"/>
-                <column name="CONTAINER" value="TaskType"/>
-                <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="ac87d05f-2cf5-4c77-8342-c11e0cce7c8b"/>
-                <column name="KEYID" value="76188d38-a969-420e-bb99-d713ad7ce6fb"/>
-                <column name="TITLE" value="Online-Meeting"/>
-                <column name="CONTAINER" value="TaskType"/>
-                <column name="SORTING" valueNumeric="3"/>
-                <column name="ISACTIVE" valueNumeric="1"/>
-                <column name="ISESSENTIAL" valueNumeric="0"/>
-            </insert>
-        </rollback>
     </changeSet>
 </databaseChangeLog>
\ No newline at end of file
diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index ee39c3c531..2aa783d06c 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -217,6 +217,12 @@
           <fieldName>AttributeConditions</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>fc4a1e51-6bdb-46dd-9ffc-a45480051d28</name>
+          <entityName>Task_entity</entityName>
+          <fieldName>Attributes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
       <children>
         <entityParameter>
diff --git a/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
index ee42105a13..75a6896220 100644
--- a/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
+++ b/entity/AttributeUsage_entity/entityfields/context/children/exclusivecontexts_param/valueProcess.js
@@ -1,15 +1,16 @@
-import("system.result");
-
-result.object([
-    "Organisation",
-    "Person",
-    "Contract",
-    "Product",
-    "Activity",
-    "Offer",
-    "Order",
-    "Employee",
-    "Salesproject",
-    "Campaign",
-    "DocumentTemplate"
+import("system.result");
+
+result.object([
+    "Organisation",
+    "Person",
+    "Contract",
+    "Product",
+    "Activity",
+    "Offer",
+    "Order",
+    "Employee",
+    "Salesproject",
+    "Campaign",
+    "DocumentTemplate",
+    "Task"
 ]);
\ No newline at end of file
diff --git a/entity/Task_entity/Task_entity.aod b/entity/Task_entity/Task_entity.aod
index 03bc57daf9..8e95d5b14d 100644
--- a/entity/Task_entity/Task_entity.aod
+++ b/entity/Task_entity/Task_entity.aod
@@ -137,9 +137,6 @@
         <fieldName>#PROVIDER</fieldName>
       </dependency>
       <children>
-        <entityParameter>
-          <name>AssignmentName_param</name>
-        </entityParameter>
         <entityParameter>
           <name>AssignmentRowId_param</name>
           <valueProcess>%aditoprj%/entity/Task_entity/entityfields/maindocuments/children/assignmentrowid_param/valueProcess.js</valueProcess>
@@ -441,6 +438,21 @@
         </entityParameter>
       </children>
     </entityConsumer>
+    <entityConsumer>
+      <name>Attributes</name>
+      <stateProcess>%aditoprj%/entity/Task_entity/entityfields/attributes/stateProcess.js</stateProcess>
+      <onValidation>%aditoprj%/entity/Task_entity/entityfields/attributes/onValidation.js</onValidation>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
+    </entityConsumer>
+    <entityActionField>
+      <name>exportLiquibase</name>
+      <onActionProcess>%aditoprj%/entity/Task_entity/entityfields/exportliquibase/onActionProcess.js</onActionProcess>
+      <iconIdProcess>%aditoprj%/entity/Task_entity/entityfields/exportliquibase/iconIdProcess.js</iconIdProcess>
+    </entityActionField>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
@@ -520,10 +532,6 @@
           <name>TYPE.displayValue</name>
           <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/type.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
-        <dbRecordFieldMapping>
-          <name>STATUS.displayValue</name>
-          <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
-        </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>PARENT_CONTEXT.value</name>
           <recordfield>TASK.PARENT_CONTEXT</recordfield>
@@ -548,6 +556,10 @@
           <name>SUBJECT_DETAILS.value</name>
           <recordfield>TASK.SUBJECT</recordfield>
         </dbRecordFieldMapping>
+        <dbRecordFieldMapping>
+          <name>STATUS.displayValue</name>
+          <expression>%aditoprj%/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js</expression>
+        </dbRecordFieldMapping>
       </recordFieldMappings>
     </dbRecordContainer>
   </recordContainers>
diff --git a/entity/Task_entity/entityfields/attributes/onValidation.js b/entity/Task_entity/entityfields/attributes/onValidation.js
new file mode 100644
index 0000000000..508c2b5e94
--- /dev/null
+++ b/entity/Task_entity/entityfields/attributes/onValidation.js
@@ -0,0 +1,6 @@
+import("Context_lib");
+import("system.vars");
+import("Attribute_lib");
+import("system.result");
+
+result.string(AttributeRelationUtils.validateAttributeCount(vars.get("$sys.uid"), ContextUtils.getCurrentContextId(), "Attributes"));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/attributes/stateProcess.js b/entity/Task_entity/entityfields/attributes/stateProcess.js
new file mode 100644
index 0000000000..8c4ca0d7a0
--- /dev/null
+++ b/entity/Task_entity/entityfields/attributes/stateProcess.js
@@ -0,0 +1,13 @@
+import("system.result");
+import("system.vars");
+import("system.neon");
+import("ActivityTask_lib");
+
+if (TaskUtils.typeHasAttributes(vars.get("$field.TYPE")))
+{
+    result.string(neon.COMPONENTSTATE_EDITABLE);
+}
+else
+{
+    result.string(neon.COMPONENTSTATE_INVISIBLE);
+}
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/code/stateProcess.js b/entity/Task_entity/entityfields/code/stateProcess.js
index 7043cdcb8a..b066ae31a4 100644
--- a/entity/Task_entity/entityfields/code/stateProcess.js
+++ b/entity/Task_entity/entityfields/code/stateProcess.js
@@ -3,7 +3,7 @@ import("system.result");
 import("system.vars");
 import("ActivityTask_lib");
 
-if (TaskUtils.getTypeGroup(vars.get("$field.TYPE")) == "Ticket")
+if (TaskUtils.getShowCode(vars.get("$field.TYPE")))
 {
     result.string(neon.COMPONENTSTATE_READONLY);
 }
diff --git a/entity/Task_entity/entityfields/exportliquibase/iconIdProcess.js b/entity/Task_entity/entityfields/exportliquibase/iconIdProcess.js
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/entity/Task_entity/entityfields/exportliquibase/onActionProcess.js b/entity/Task_entity/entityfields/exportliquibase/onActionProcess.js
new file mode 100644
index 0000000000..8619730a18
--- /dev/null
+++ b/entity/Task_entity/entityfields/exportliquibase/onActionProcess.js
@@ -0,0 +1,16 @@
+import("system.logging");
+import("Sql_lib");
+
+logging.log(SqlUtils.exportToLiquibase("j.hoermann", "AB_ATTRIBUTE", ["AB_ATTRIBUTEID", "ATTRIBUTE_PARENT_ID", "ATTRIBUTE_TYPE", "ATTRIBUTE_NAME", "ATTRIBUTE_ACTIVE", "KEYWORD_CONTAINER", "ATTRIBUTE_INFO", "SORTING"], [], "where ATTRIBUTE_NAME = 'Ticket' or ATTRIBUTE_PARENT_ID in ( \n\
+    select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_NAME = 'Ticket'  \n\
+        or ATTRIBUTE_PARENT_ID = (select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_NAME = 'Ticket') \n\
+    ) \n\
+    or ATTRIBUTE_PARENT_ID in \n\
+    ( \n\
+    select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_PARENT_ID in ( \n\
+    select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_NAME = 'Ticket'  \n\
+        or ATTRIBUTE_PARENT_ID = (select AB_ATTRIBUTEID from AB_ATTRIBUTE where ATTRIBUTE_NAME = 'Ticket') \n\
+    ))"))
+
+
+logging.log(SqlUtils.exportToLiquibase("j.hoermann", "AB_KEYWORD_ATTRIBUTERELATION", ["CHAR_VALUE"], [], "where AB_KEYWORD_ATTRIBUTERELATIONID = 'fa35bb8d-1aa6-47fd-a674-0fdb7c838ddd'"))
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
index 8590e504f0..d2a77dbd12 100644
--- a/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
+++ b/entity/Task_entity/entityfields/keywordstates/children/containername_param/valueProcess.js
@@ -1,5 +1,5 @@
+import("system.vars");
+import("ActivityTask_lib");
 import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
 
-result.string($KeywordRegistry.taskStatus());
+result.string(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/priority_icon/valueProcess.js b/entity/Task_entity/entityfields/priority_icon/valueProcess.js
index 1d877139db..74ff67f1f2 100644
--- a/entity/Task_entity/entityfields/priority_icon/valueProcess.js
+++ b/entity/Task_entity/entityfields/priority_icon/valueProcess.js
@@ -1,20 +1,6 @@
-import("system.vars");
-import("KeywordRegistry_basic");
-import("system.result");
-
-switch(vars.getString("$field.STATUS"))
-{
-    case $KeywordRegistry.taskStatus$new():
-        result.string("NEON:STATUS_NOT_STARTED");
-        break;
-    case $KeywordRegistry.taskStatus$inProcess():
-        result.string("NEON:STATUS_IN_PROGRESS");
-        break;
-    case $KeywordRegistry.taskStatus$waiting():
-        result.string("NEON:STATUS_WAITING");
-        break;
-    case $KeywordRegistry.taskStatus$ended():
-        result.string("NEON:STATUS_DONE");
-        break;
-}
-
+import("system.vars");
+import("ActivityTask_lib");
+import("KeywordRegistry_basic");
+import("system.result");
+
+result.string(TaskUtils.getStatusIcon(vars.getString("$field.TYPE"), vars.getString("$field.STATUS")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/status/displayValueProcess.js b/entity/Task_entity/entityfields/status/displayValueProcess.js
index 759b610257..db468b03a5 100644
--- a/entity/Task_entity/entityfields/status/displayValueProcess.js
+++ b/entity/Task_entity/entityfields/status/displayValueProcess.js
@@ -1,6 +1,8 @@
+import("system.logging");
+import("ActivityTask_lib");
 import("system.vars");
 import("system.result");
 import("Keyword_lib");
 import("KeywordRegistry_basic");
 
-result.string(KeywordUtils.getViewValue($KeywordRegistry.taskStatus(), vars.get("$field.STATUS")));
\ No newline at end of file
+result.string(KeywordUtils.getViewValue(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE")), vars.get("$field.STATUS")));
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/status/valueProcess.js b/entity/Task_entity/entityfields/status/valueProcess.js
index fe5d8581fd..0ae2702e8c 100644
--- a/entity/Task_entity/entityfields/status/valueProcess.js
+++ b/entity/Task_entity/entityfields/status/valueProcess.js
@@ -1,8 +1,23 @@
+import("system.logging");
+import("ActivityTask_lib");
 import("system.util");
 import("system.result");
 import("system.neon");
 import("system.vars");
 import("KeywordRegistry_basic");
+import("Keyword_lib");
 
 if(vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
-    result.string($KeywordRegistry.taskStatus$new());
\ No newline at end of file
+{
+    var states = KeywordUtils.getEntryNamesAndIdsByContainer(TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE")))
+    if (states.length > 0)
+    {
+        logging.log(states[0][0])
+        result.string(states[0][0]);
+    }
+    else
+    {
+        logging.log(states.toSource())
+        result.string("");
+    }
+}
\ No newline at end of file
diff --git a/entity/Task_entity/entityfields/type/valueProcess.js b/entity/Task_entity/entityfields/type/valueProcess.js
index acfedf9c89..281636ad38 100644
--- a/entity/Task_entity/entityfields/type/valueProcess.js
+++ b/entity/Task_entity/entityfields/type/valueProcess.js
@@ -3,7 +3,7 @@ import("system.vars");
 import("system.neon");
 import("KeywordRegistry_basic");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && !vars.get("$this.value"))
 {
     // Sets the type to "Task" as default value.
     result.string($KeywordRegistry.taskType$Task());
diff --git a/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js b/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
index 30eb95f588..2ff9626978 100644
--- a/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
+++ b/entity/Task_entity/recordcontainers/db/recordfieldmappings/status.displayvalue/expression.js
@@ -1,6 +1,2 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-var sql = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.taskStatus(), "TASK.STATUS");
-result.string(sql);
+// do not use this, because TaskUtils.getTypeStatusKeyword(vars.get("$field.TYPE")) has to be called, which is not possible in a subselect.
+// --> only use display value process
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index a6a01ddd75..67144fee26 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -3945,6 +3945,15 @@
     <entry>
       <key>Ticket</key>
     </entry>
+    <entry>
+      <key>testing</key>
+    </entry>
+    <entry>
+      <key>double</key>
+    </entry>
+    <entry>
+      <key>closed</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 58c8541bc1..598ba7e84f 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -22,6 +22,10 @@
       <key>Notifications</key>
       <value>Benachrichtigungen</value>
     </entry>
+    <entry>
+      <key>testing</key>
+      <value>testen</value>
+    </entry>
     <entry>
       <key>Add to Campaign</key>
       <value>Zu Kampagne hinzufügen</value>
@@ -118,6 +122,10 @@
       <key>${COUNT_PREPOSITION_MULTIPLE}</key>
       <value>mal</value>
     </entry>
+    <entry>
+      <key>double</key>
+      <value>Dublette</value>
+    </entry>
     <entry>
       <key>SalesprojectPhase</key>
       <value>Phase</value>
@@ -1500,6 +1508,10 @@
       <key>Details</key>
       <value>Details</value>
     </entry>
+    <entry>
+      <key>closed</key>
+      <value>abgeschlossen</value>
+    </entry>
     <entry>
       <key>Prices</key>
       <value>Preise</value>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 63a17fcf83..48f4ded417 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -3998,6 +3998,15 @@
     <entry>
       <key>Ticket</key>
     </entry>
+    <entry>
+      <key>testing</key>
+    </entry>
+    <entry>
+      <key>double</key>
+    </entry>
+    <entry>
+      <key>closed</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/TaskEdit_view/TaskEdit_view.aod b/neonView/TaskEdit_view/TaskEdit_view.aod
index 828ade1dff..5ab58f628b 100644
--- a/neonView/TaskEdit_view/TaskEdit_view.aod
+++ b/neonView/TaskEdit_view/TaskEdit_view.aod
@@ -64,5 +64,10 @@
       <entityField>Links</entityField>
       <view>TaskLinkMultiEdit_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>74f3f70d-c25f-455c-a619-593f569360a6</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/TaskMain_view/TaskMain_view.aod b/neonView/TaskMain_view/TaskMain_view.aod
index b2e0db985e..adf0d2c480 100644
--- a/neonView/TaskMain_view/TaskMain_view.aod
+++ b/neonView/TaskMain_view/TaskMain_view.aod
@@ -1,52 +1,57 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
-  <name>TaskMain_view</name>
-  <majorModelMode>DISTRIBUTED</majorModelMode>
-  <layout>
-    <masterSlaveLayout>
-      <name>layout</name>
-      <master>bfecc398-890e-485f-afa0-74e24f41b019</master>
-    </masterSlaveLayout>
-  </layout>
-  <children>
-    <genericViewTemplate>
-      <name>details</name>
-      <showDrawer v="true" />
-      <drawerCaption></drawerCaption>
-      <fixedDrawer v="true" />
-      <hideLabels v="false" />
-      <entityField>#ENTITY</entityField>
-      <title>details</title>
-      <fields>
-        <entityFieldLink>
-          <name>e95918f5-d21e-4c99-8d05-d70811aa3d89</name>
-          <entityField>PROTECTIONLEVEL</entityField>
-        </entityFieldLink>
-        <entityFieldLink>
-          <name>fea59f13-750b-427d-bf33-cc1bead95446</name>
-          <entityField>DESCRIPTION</entityField>
-        </entityFieldLink>
-      </fields>
-    </genericViewTemplate>
-    <neonViewReference>
-      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
-      <entityField>ModuleTrees</entityField>
-      <view>ModuleTree_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>6846f680-84ef-46da-a0ea-6797044cf693</name>
-      <entityField>Documents</entityField>
-      <view>DocumentFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>ffa776bd-013c-4d4d-aedd-490625ef0fe1</name>
-      <entityField>LogHistories</entityField>
-      <view>LogHistoryFilter_view</view>
-    </neonViewReference>
-    <neonViewReference>
-      <name>bfecc398-890e-485f-afa0-74e24f41b019</name>
-      <entityField>#ENTITY</entityField>
-      <view>TaskPreview_view</view>
-    </neonViewReference>
-  </children>
-</neonView>
+<?xml version="1.0" encoding="UTF-8"?>
+<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
+  <name>TaskMain_view</name>
+  <majorModelMode>DISTRIBUTED</majorModelMode>
+  <layout>
+    <masterSlaveLayout>
+      <name>layout</name>
+      <master>bfecc398-890e-485f-afa0-74e24f41b019</master>
+    </masterSlaveLayout>
+  </layout>
+  <children>
+    <genericViewTemplate>
+      <name>details</name>
+      <showDrawer v="true" />
+      <drawerCaption></drawerCaption>
+      <fixedDrawer v="true" />
+      <hideLabels v="false" />
+      <entityField>#ENTITY</entityField>
+      <title>details</title>
+      <fields>
+        <entityFieldLink>
+          <name>e95918f5-d21e-4c99-8d05-d70811aa3d89</name>
+          <entityField>PROTECTIONLEVEL</entityField>
+        </entityFieldLink>
+        <entityFieldLink>
+          <name>fea59f13-750b-427d-bf33-cc1bead95446</name>
+          <entityField>DESCRIPTION</entityField>
+        </entityFieldLink>
+      </fields>
+    </genericViewTemplate>
+    <neonViewReference>
+      <name>4211b2cf-3a1f-4447-ad1c-f521d2d3f258</name>
+      <entityField>ModuleTrees</entityField>
+      <view>ModuleTree_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>6846f680-84ef-46da-a0ea-6797044cf693</name>
+      <entityField>Documents</entityField>
+      <view>DocumentFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>ffa776bd-013c-4d4d-aedd-490625ef0fe1</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>bfecc398-890e-485f-afa0-74e24f41b019</name>
+      <entityField>#ENTITY</entityField>
+      <view>TaskPreview_view</view>
+    </neonViewReference>
+    <neonViewReference>
+      <name>f45ff4cb-e469-46ee-808f-8c406eccbcd2</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationTree_view</view>
+    </neonViewReference>
+  </children>
+</neonView>
diff --git a/neonView/TaskPreview_view/TaskPreview_view.aod b/neonView/TaskPreview_view/TaskPreview_view.aod
index d217cda004..c9c0f3de9c 100644
--- a/neonView/TaskPreview_view/TaskPreview_view.aod
+++ b/neonView/TaskPreview_view/TaskPreview_view.aod
@@ -13,6 +13,7 @@
       <name>Header</name>
       <iconField>PRIORITY_ICON</iconField>
       <titleField>SUBJECT</titleField>
+      <subtitleField>CODE</subtitleField>
       <descriptionField>STATUS</descriptionField>
       <favoriteAction1>newActivity</favoriteAction1>
       <entityField>#ENTITY</entityField>
diff --git a/process/ActivityTask_lib/process.js b/process/ActivityTask_lib/process.js
index a201c8776b..1baa70ca7f 100644
--- a/process/ActivityTask_lib/process.js
+++ b/process/ActivityTask_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("system.vars");
 import("system.util");
 import("system.datetime");
@@ -108,6 +109,9 @@ TaskUtils.hasTasks = function(pRowId, pObjectType)
 TaskUtils.setCode = function(pTaskId)
 {
     var max = db.cell("select max(CODE) from TASK");
+    if (!max)
+        max = -1;
+    
     db.updateData("TASK", ["CODE"], null, [parseInt(max)+1], SqlCondition.equals("TASK.TASKID", pTaskId, "1=2"));
 }
 
@@ -116,6 +120,32 @@ TaskUtils.getTypeGroup = function(pType)
     return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "group", "Task");
 }
 
+TaskUtils.typeHasAttributes = function(pType)
+{
+    return TaskUtils.getTypeAttributes(pType).length > 0;
+}
+
+TaskUtils.getTypeAttributes = function(pType)
+{
+    return JSON.parse(KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "attributes", "[]"));
+}
+
+TaskUtils.getTypeStatusKeyword = function(pType)
+{
+    return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "status", $KeywordRegistry.taskStatus());
+}
+
+TaskUtils.getShowCode = function(pType)
+{
+    return KeywordUtils.getAttributeRelation(pType, $KeywordRegistry.taskType(), "showCode", true);
+}
+
+TaskUtils.getStatusIcon = function(pType, pStatus)
+{
+    var status = TaskUtils.getTypeStatusKeyword(pType)
+    return KeywordUtils.getAttributeRelation(pStatus, status, "icon", "NEON:STATUS_NOT_STARTED");
+}
+
 /**
  * add the links to the link-table in new mode
  * 
diff --git a/process/Keyword_lib/process.js b/process/Keyword_lib/process.js
index e524280ccc..f640f2bd4b 100644
--- a/process/Keyword_lib/process.js
+++ b/process/Keyword_lib/process.js
@@ -1,3 +1,4 @@
+import("system.logging");
 import("KeywordRegistry_basic");
 import("KeywordData_lib");
 import("system.vars");
@@ -91,8 +92,10 @@ KeywordUtils.getAttributeRelationsByKey = function(pKeyId, pContainerName)
 KeywordUtils.getAttributeRelation = function(pKeyId, pContainerName, pAttrName, pDefault)
 {
     var attributes = KeywordUtils.getAttributeRelationsByKey(pKeyId, pContainerName);
-    if (attributes && attributes[pAttrName])
+    if (attributes && attributes[pAttrName] != null)
+    {
         return attributes[pAttrName];
+    }
     return pDefault ? pDefault : null;
 };
 
@@ -143,7 +146,7 @@ KeywordUtils.getEntryNamesAndIdsByContainer = function(pContainerName, pLocale)
     //TODO: this can be propably removed when the "Salesproject_entity.REASONS.dropDownProcess.js" is replaced by a consumer
     var sql = SqlCondition.begin()
                           .andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pContainerName)
-                          .buildSql("select AB_KEYWORD_ENTRY.AB_KEYWORD_ENTRYID, AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY", null, "order by AB_KEYWORD_ENTRY.SORTING asc, AB_KEYWORD_ENTRY.TITLE asc")
+                          .buildSql("select AB_KEYWORD_ENTRY.KEYID, AB_KEYWORD_ENTRY.TITLE from AB_KEYWORD_ENTRY", null, "order by AB_KEYWORD_ENTRY.SORTING asc, AB_KEYWORD_ENTRY.TITLE asc")
                           
     var list = db.table(sql).map(function (elem){
         elem[1] = pLocale ? translate.text(elem[1], pLocale) : translate.text(elem[1]);
diff --git a/process/Sql_lib/process.js b/process/Sql_lib/process.js
index 38ded284be..0818e81815 100644
--- a/process/Sql_lib/process.js
+++ b/process/Sql_lib/process.js
@@ -1387,7 +1387,7 @@ SqlUtils.getResolvingCaseWhen = function(pKeyValueArray, pDbFieldName, pLocale)
     return resSql;
 };
 
-SqlUtils.exportToLiquibase = function(pAuthor, pTableName, pColumns, pNewUUIDForIndexes) 
+SqlUtils.exportToLiquibase = function(pAuthor, pTableName, pColumns, pNewUUIDForIndexes, pCondition) 
 {
     if(!pNewUUIDForIndexes) 
         pNewUUIDForIndexes = []
@@ -1397,7 +1397,7 @@ SqlUtils.exportToLiquibase = function(pAuthor, pTableName, pColumns, pNewUUIDFor
     xmlData.changeSet.@author = pAuthor
     xmlData.changeSet.@id = util.getNewUUID()
     
-    var dbData = db.table("select " + pColumns.join(", ") + " from " + pTableName);
+    var dbData = db.table("select " + pColumns.join(", ") + " from " + pTableName + " " + (pCondition ? pCondition : ""));
     var types = db.getColumnTypes(pTableName, pColumns);
     
     dbData.forEach(function(pRow) {
@@ -1423,17 +1423,19 @@ SqlUtils.exportToLiquibase = function(pAuthor, pTableName, pColumns, pNewUUIDFor
             var col = <column/>;
             col.@name = pColumns[i];
         
-            if (SQLTYPES.isNumberType(types[i]))
-                col.@valueNumeric = value;
-            else
-                col.@value = value;
+            // do not add value if null
+            if (value)
+            {               
+                if (SQLTYPES.isNumberType(types[i]))
+                    col.@valueNumeric = value;
+                else
+                    col.@value = value;
+            }
         
             node.appendChild(col);
         }
         this.appendChild(node);
     }, xmlData.changeSet);
-
-    //xmlData.changeSet.push(<insert>6</insert>);
     
     return xmlData.toXMLString()
 };
diff --git a/process/Task_lib/Task_lib.aod b/process/Task_lib/Task_lib.aod
deleted file mode 100644
index 30e91db22c..0000000000
--- a/process/Task_lib/Task_lib.aod
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.1">
-  <name>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
deleted file mode 100644
index f1d04087af..0000000000
--- a/process/Task_lib/process.js
+++ /dev/null
@@ -1,56 +0,0 @@
-import("system.vars");
-import("Keyword_lib")
-import("KeywordRegistry_basic")
-/**
- * Methods to manage entities, which show different Fields and / or different modules based on a Type.
- * 
- * DO NOT USE THIS, IF YOU NEED DIFFERENT LOGIK IN (STATE, MANDATORY, ...-)PROCESSES!
- * IF YOU HAVE THIS CASE, IT IS MUCH CLEANER TO CREATE A SEPERATE ENTITY AND CONTEXT WHICH USES THE SAME DATASOURCE!!!
- * 
- * @class
- */
-function MultiEntityUtils(pType) {
-    this._loadTypeInfo(pType);
-    this.fieldVar = "$" + vars.getString("$this.name");
-    this.fieldName = fieldVar.split(".")[1];
-}
-
-/**
- * 
- */
-MultiEntityUtils.prototype._loadTypeInfo = function(pType)
-{
-    if (this._typeData != undefined)
-    {
-        return this._typeData;
-    }
-    
-    if (KeywordUtils.exists(pType, $KeywordRegistry.taskType()))
-    {
-        var attributes = KeywordUtils.getAttributeRelationsByKey(pType, $KeywordRegistry.taskType());
-        if (attributes != null && attributes.fields)
-        {
-            // read json
-            attributes.fields = JSON.parse(attributes.fields)
-            this._typeData = attributes;
-        }
-    }
-    
-    return vars.getString("$sys.currentcontextname");
-}
-
-MultiEntityUtils.prototype.getFieldCustomProp = function(pPropName, pDefault) {
-    if (this._typeData.fields[this.fieldName] && this._typeData.fields[this.fieldName][pPropName]) {
-        return this._typeData.fields[this.fieldName][pPropName];
-    }
-    
-    return pDefault;
-}
-
-MultiEntityUtils.prototype.getMandatory = function(pDefault) {
-    return this.getFieldCustomProp("mandatory", pDefault);
-}
-
-MultiEntityUtils.prototype.getState = function(pDefault) {
-    return this.getFieldCustomProp("state", pDefault);
-}
\ No newline at end of file
-- 
GitLab