diff --git a/.liquibase/Data_alias/basic/2019.3.2/changelog.xml b/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
index e5c49a6ae25de3cd1de49c9cc4c5b663c8df43f1..edc8f2873350c12db43dba973114d437efe0a302 100644
--- a/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
+++ b/.liquibase/Data_alias/basic/2019.3.2/changelog.xml
@@ -6,4 +6,5 @@
     <include relativeToChangelogFile="true" file="rename_supportticket.xml"/>
     <include relativeToChangelogFile="true" file="leadimport/changelog.xml"/>
     <include relativeToChangelogFile="true" file="AttributeLoyalty_newValue_unknown.xml"/>
+    <include relativeToChangelogFile="true" file="reworkDbIndexes.xml"/>
 </databaseChangeLog>
diff --git a/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0795451c9742a487d86b032339906892a882ce38
--- /dev/null
+++ b/.liquibase/Data_alias/basic/2019.3.2/reworkDbIndexes.xml
@@ -0,0 +1,283 @@
+<?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">
+    <!--
+    The Index names need to be maximal 30 characters long because oracle11 only supports up to 30 characters per index identifier
+    Therefore, the index names have been shortend and may not be very good readable
+    -->
+    <changeSet author="j.goderbauer" id="5a0b62f4-6770-454c-9a0e-d60ca16596dd">
+        <!--remove problematic indexes-->
+        <dropUniqueConstraint constraintName="UNIQUE_CONTRACT_CONTRACTCODE"
+                              tableName="CONTRACT"
+                              uniqueColumns="CONTRACTCODE"/>
+        
+        <dropIndex tableName="PERSON" indexName="IDX_PERS_NAME" />
+        <dropIndex tableName="CONTACT" indexName="IDX_CONTACT_ANY_CONTACT" />
+        <dropIndex tableName="ACTIVITYLINK" indexName="IDX_ACTIVITYLINK_OBJECT" />
+        <dropIndex tableName="ACTIVITY" indexName="IDX_ACTIVITY_PARENT" />
+        <dropIndex tableName="TASK" indexName="IDX_TASK_PARENT" />
+        <!--additional indexes that are usefull-->
+        <createIndex indexName="IDX_AB_CTILOG_CALLID" tableName="AB_CTILOG">
+            <column name="CALLID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_OBJECT_TYPE" tableName="ACTIVITYLINK">
+            <column name="OBJECT_TYPE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_ID_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="ID_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_DATE_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="DATE_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_NUMBER_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="NUMBER_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_INT_VALUE" tableName="AB_ATTRIBUTERELATION">
+            <column name="INT_VALUE"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_KEYWORD_ENTRY_KEYID" tableName="AB_KEYWORD_ENTRY">
+            <column name="KEYID"/>
+        </createIndex>
+        
+        <!--set all the referencing ids as single index now-->
+        <createIndex indexName="IDX_TICKET_TASK_ID" tableName="TICKET">
+            <column name="TASK_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTACT_ORGANISATION_ID" tableName="CONTACT">
+            <column name="ORGANISATION_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTACT_PERSON_ID" tableName="CONTACT">
+            <column name="PERSON_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CONTRACT_CONTACT_ID" tableName="CONTRACT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCT_CONTACT_ID" tableName="PRODUCT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PROD2PROD_SOURCE_ID" tableName="PROD2PROD">
+            <column name="SOURCE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PROD2PROD_DEST_ID" tableName="PROD2PROD">
+            <column name="DEST_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCTPRICE_PRODUCT_ID" tableName="PRODUCTPRICE">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_PRODUCTPRICE_CONTACT_ID" tableName="PRODUCTPRICE">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_STOCK_PRODUCT_ID" tableName="STOCK">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_CONTACT_ID" tableName="OFFER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_OFFER_ID" tableName="OFFER">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFER_OBJECT_ROWID" tableName="OFFER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFERITEM_OFFER_ID" tableName="OFFERITEM">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OFFERITEM_PRODUCT_ID" tableName="OFFERITEM">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPROJECT_CONTACT_ID" tableName="SALESPROJECT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_OBJECT_ID" tableName="TIMETRACKING">
+            <column name="OBJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_CONTACT_ID" tableName="TIMETRACKING">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TIMETRACKING_ROW_ID" tableName="TIMETRACKING">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITY_PARENT_ID" tableName="ACTIVITY">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_SALESORDER_ID" tableName="SALESORDER">
+            <column name="SALESORDER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_CONTACT_ID" tableName="SALESORDER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_OFFER_ID" tableName="SALESORDER">
+            <column name="OFFER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDER_OBJECT_ROWID" tableName="SALESORDER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESORDERITEM_PRODUCT_ID" tableName="SALESORDERITEM">
+            <column name="PRODUCT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALEODITEM_SALESORDER_ID" tableName="SALESORDERITEM">
+            <column name="SALESORDER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TASK_PARENT_ID" tableName="TASK">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_OBJREL_OBJECT2_ROWID" tableName="AB_OBJECTRELATION">
+            <column name="OBJECT2_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_OBJREL_OBJECT1_ROWID" tableName="AB_OBJECTRELATION">
+            <column name="OBJECT1_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRUSE_AB_ATTRIBUTE_ID" tableName="AB_ATTRIBUTEUSAGE">
+            <column name="AB_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_OBJECT_ROWID" tableName="AB_ATTRIBUTERELATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_ATTRREL_AB_ATTRIBUTE_ID" tableName="AB_ATTRIBUTERELATION">
+            <column name="AB_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_OBJECT_ROWID" tableName="ACTIVITYLINK">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_ACTIVITYLINK_ACTIVITY_ID" tableName="ACTIVITYLINK">
+            <column name="ACTIVITY_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_KWD_ATTRREL_ATTR_ID" tableName="AB_KEYWORD_ATTRIBUTERELATION">
+            <column name="AB_KEYWORD_ATTRIBUTE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_TASKLINK_OBJECT_ROWID" tableName="TASKLINK">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPRJMLSTONE_SALEPRJ_ID" tableName="SALESPROJECT_MILESTONE">
+            <column name="SALESPROJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPRJMLSTONE_PARENT_ID" tableName="SALESPROJECT_MILESTONE">
+            <column name="PARENT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CMP_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CONTACT_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPARTCPNT_CMPSTEP_ID" tableName="CAMPAIGNPARTICIPANT">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGN_EMPL_CONTACT_ID" tableName="CAMPAIGN">
+            <column name="EMPLOYEE_CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CAMPAIGNSTEP_CAMPAIGN_ID" tableName="CAMPAIGNSTEP">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNSTP_EMPL_CONTACT_ID" tableName="CAMPAIGNSTEP">
+            <column name="EMPLOYEE_CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNSTP_PREDCSSRSTEP_ID" tableName="CAMPAIGNSTEP">
+            <column name="PREDECESSORSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_CAMPAIGN_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_PTCPT_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGNPARTICIPANT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_CMPSTEP_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNPTCPTLG_PRE_STEP_ID" tableName="CAMPAIGNPARTICIPANTLOG">
+            <column name="PREVIOUS_CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CAMPAIGNCOST_CAMPAIGN_ID" tableName="CAMPAIGNCOST">
+            <column name="CAMPAIGN_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CMPAIGNCST_CAMPAIGNSTEP_ID" tableName="CAMPAIGNCOST">
+            <column name="CAMPAIGNSTEP_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_TYPE_ID" tableName="CLASSIFICATION">
+            <column name="CLASSIFICATIONTYPE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_OBJECT_ROWID" tableName="CLASSIFICATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTION_SCORE_ID" tableName="CLASSIFICATION">
+            <column name="CLASSIFICATIONSCORE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_CLSSIFICTIONSCRE_TYPE_ID" tableName="CLASSIFICATIONSCORE">
+            <column name="CLASSIFICATIONTYPE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_FORECAST_OBJECT_ROWID" tableName="FORECAST">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMPETITION_OBJECT_ROWID" tableName="COMPETITION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMPETITION_CONTACT_ID" tableName="COMPETITION">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_COMMRESTRICTION_CONTACT_ID" tableName="COMMRESTRICTION">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAIL_DOCTEMPLT_ID" tableName="BULKMAIL">
+            <column name="DOCUMENTTEMPLATE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAILRCPT_BULKMAIL_ID" tableName="BULKMAILRECIPIENT">
+            <column name="BULKMAIL_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_BLKMAILRCPT_CONTACT_ID" tableName="BULKMAILRECIPIENT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVO_CONTACT_ID" tableName="DSGVO">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVO_ROW_ID" tableName="DSGVO">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DESCTRLATION_OBJECT_ROWID" tableName="DESCRIPTIONTRANSLATION">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_AB_CTILOG_CONTACT_ID" tableName="AB_CTILOG">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DSGVOINFO_CONTACT_ID" tableName="DSGVOINFO">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LTTRRCPT_SERIALLETTER_ID" tableName="LETTERRECIPIENT">
+            <column name="SERIALLETTER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LETTERRECIPIENT_CONTACT_ID" tableName="LETTERRECIPIENT">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SERIALLTTR_DOCTEMPLT_ID" tableName="SERIALLETTER">
+            <column name="DOCUMENTTEMPLATE_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OBJECTMEMBER_OBJECT_ROWID" tableName="OBJECTMEMBER">
+            <column name="OBJECT_ROWID"/>
+        </createIndex>
+        <createIndex indexName="IDX_OBJECTMEMBER_CONTACT_ID" tableName="OBJECTMEMBER">
+            <column name="CONTACT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_SALESPR_TCHPNT_SALEPRJ_ID" tableName="SALESPROJECT_TOUCHPOINT">
+            <column name="SALESPROJECT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_DUPSCNRESFLDCFG_DUPSCN_ID" tableName="DUPLICATESCANNERRESULTFIELDCONFIG">
+            <column name="DUPLICATESCANNER_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEADLOG_LEADIMPORT_ID" tableName="LEADLOG">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEADTEMP_ROW_ID" tableName="LEADTEMP">
+            <column name="ROW_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_IMPORTFIELD_LEADIMPORT_ID" tableName="IMPORTFIELD">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_LEADIMPORT_ID" tableName="LEAD">
+            <column name="LEADIMPORT_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_PERSON_ID" tableName="LEAD">
+            <column name="PERSON_ID"/>
+        </createIndex>
+        <createIndex indexName="IDX_LEAD_ORGANISATION_ID" tableName="LEAD">
+            <column name="ORGANISATION_ID"/>
+        </createIndex>
+    </changeSet>
+</databaseChangeLog>
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/Data_alias.aod b/aliasDefinition/Data_alias/Data_alias.aod
index 2151b7bf5572159c83ed679b8248c825b399c469..ca01adccf5513a6e2f6909f13db58640d2a560c0 100644
--- a/aliasDefinition/Data_alias/Data_alias.aod
+++ b/aliasDefinition/Data_alias/Data_alias.aod
@@ -287,7 +287,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Company</title>
                 <description></description>
                 <customProperties>
@@ -344,7 +344,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Contact</title>
                 <description></description>
                 <customProperties>
@@ -1447,8 +1447,8 @@
                 <size v="30" />
                 <scale v="0" />
                 <notNull v="true" />
-                <isUnique v="true" />
-                <index v="true" />
+                <isUnique v="false" />
+                <index v="false" />
                 <title>Contract number</title>
                 <description></description>
                 <customProperties>
@@ -1501,7 +1501,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Connection</title>
                 <description></description>
                 <customProperties>
@@ -1743,7 +1743,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Developer</title>
                 <description></description>
@@ -1897,7 +1897,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Product</title>
                 <description></description>
                 <customProperties>
@@ -1944,7 +1944,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Destination Id</title>
                 <description></description>
                 <customProperties>
@@ -2103,7 +2103,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Product</title>
                 <description></description>
                 <customProperties>
@@ -2175,7 +2175,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Company</title>
                 <description></description>
                 <customProperties>
@@ -2340,7 +2340,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Product Id</title>
                 <description></description>
                 <customProperties>
@@ -2732,7 +2732,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Connection</title>
                 <description></description>
                 <customProperties>
@@ -2802,7 +2802,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Offer Id</title>
                 <description></description>
@@ -2994,7 +2994,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -3168,7 +3168,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Offer Id</title>
                 <description></description>
                 <customProperties>
@@ -3206,7 +3206,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Article</title>
                 <description></description>
                 <customProperties>
@@ -3554,7 +3554,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <title>Company</title>
                 <description></description>
                 <customProperties>
@@ -3698,7 +3698,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Object Id</title>
                 <description></description>
@@ -3719,7 +3719,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Creator</title>
                 <description></description>
@@ -3761,7 +3761,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Connection</title>
                 <description></description>
@@ -3839,6 +3839,11 @@
                     <global v="false" />
                     <property v="true" />
                   </customBooleanProperty>
+                  <customStringProperty>
+                    <name>keyword</name>
+                    <global v="false" />
+                    <property>ActivityDirection</property>
+                  </customStringProperty>
                 </customProperties>
               </entityFieldDb>
               <entityFieldDb>
@@ -3873,7 +3878,7 @@
                 <isUnique v="false" />
                 <index v="true" />
                 <documentation></documentation>
-                <title>Entry date</title>
+                <title>Entrydate</title>
                 <description></description>
                 <customProperties>
                   <customBooleanProperty>
@@ -3902,6 +3907,11 @@
                     <global v="false" />
                     <property v="true" />
                   </customBooleanProperty>
+                  <customJDitoProperty>
+                    <name>translate4Log</name>
+                    <global v="false" />
+                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/info/customproperties/translate4log/property.js</property>
+                  </customJDitoProperty>
                 </customProperties>
               </entityFieldDb>
               <entityFieldDb>
@@ -3937,6 +3947,11 @@
                     <global v="false" />
                     <property v="true" />
                   </customBooleanProperty>
+                  <customStringProperty>
+                    <name>keyword</name>
+                    <global v="false" />
+                    <property>ActivityCategory</property>
+                  </customStringProperty>
                 </customProperties>
               </entityFieldDb>
               <entityFieldDb>
@@ -3969,7 +3984,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Parent Id</title>
                 <description></description>
@@ -4056,6 +4071,11 @@
                     <global v="false" />
                     <property v="true" />
                   </customBooleanProperty>
+                  <customJDitoProperty>
+                    <name>translate4Log</name>
+                    <global v="false" />
+                    <property>%aditoprj%/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/responsible/customproperties/translate4log/property.js</property>
+                  </customJDitoProperty>
                 </customProperties>
               </entityFieldDb>
             </entityFields>
@@ -4233,7 +4253,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Salesorder Id</title>
                 <description></description>
@@ -4254,7 +4274,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Connection</title>
                 <description></description>
@@ -4315,7 +4335,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Offer</title>
                 <description></description>
@@ -4504,7 +4524,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -4696,7 +4716,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Article</title>
                 <description></description>
@@ -4836,7 +4856,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Salesorder Id</title>
                 <description></description>
@@ -5212,7 +5232,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Parent Id</title>
                 <description></description>
@@ -5299,7 +5319,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Object 2 row Id</title>
                 <description></description>
@@ -5320,7 +5340,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Object 1 row Id</title>
                 <description></description>
@@ -5451,7 +5471,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Attribute Id</title>
                 <description></description>
@@ -5748,7 +5768,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Object row Id</title>
                 <description></description>
@@ -5769,7 +5789,7 @@
                 <scale v="9" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Date value</title>
                 <description></description>
@@ -5790,7 +5810,7 @@
                 <scale v="2" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Number value</title>
                 <description></description>
@@ -5867,7 +5887,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Attribute</title>
                 <description></description>
@@ -5888,7 +5908,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Id value</title>
                 <description></description>
@@ -5965,7 +5985,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Int value</title>
                 <description></description>
@@ -6005,7 +6025,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>{$OBJECTLINK_OBJECT}</title>
                 <description></description>
@@ -6040,7 +6060,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Activity Id</title>
                 <description></description>
@@ -6061,7 +6081,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>{$OBJECTLINK_TYPE}</title>
                 <description></description>
@@ -6241,7 +6261,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Key</title>
                 <description></description>
@@ -6627,7 +6647,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Keyword Attribute</title>
                 <description></description>
@@ -6778,7 +6798,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>{$OBJECTLINK_OBJECT}</title>
                 <description></description>
@@ -7765,7 +7785,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Salesproject Id</title>
                 <description></description>
@@ -7821,7 +7841,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -7883,7 +7903,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -7925,7 +7945,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -7981,7 +8001,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8335,7 +8355,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8467,7 +8487,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8565,7 +8585,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8649,7 +8669,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8711,7 +8731,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8739,7 +8759,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8809,7 +8829,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8823,7 +8843,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8857,7 +8877,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -8969,7 +8989,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9079,7 +9099,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9093,7 +9113,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9107,7 +9127,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9225,7 +9245,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9259,7 +9279,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9377,7 +9397,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9419,7 +9439,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9579,7 +9599,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9627,7 +9647,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Document Template</title>
                 <description></description>
@@ -9855,7 +9875,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -9883,7 +9903,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10077,7 +10097,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10133,7 +10153,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10209,7 +10229,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10487,7 +10507,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10529,7 +10549,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10661,7 +10681,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10695,7 +10715,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10723,7 +10743,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10757,7 +10777,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title>Document Template</title>
                 <description></description>
@@ -10887,7 +10907,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -10915,7 +10935,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -11047,7 +11067,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -11407,7 +11427,7 @@
                 <scale v="0" />
                 <notNull v="true" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -11623,7 +11643,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -12147,7 +12167,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -12495,7 +12515,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -12781,7 +12801,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -12949,7 +12969,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -13103,7 +13123,7 @@
                 <scale v="0" />
                 <notNull v="false" />
                 <isUnique v="false" />
-                <index v="false" />
+                <index v="true" />
                 <documentation></documentation>
                 <title></title>
                 <description></description>
@@ -13240,118 +13260,4 @@
       </entityGroup>
     </aliasDefDb>
   </aliasDefinitionSub>
-  <indexSearchGroups>
-    <indexSearchGroup>
-      <name>ORGANISATION</name>
-      <title>Company</title>
-      <icon>VAADIN:BUILDING</icon>
-      <idColumn>CONTACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js</query>
-      <subQueries>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/subQueries.js</subQueries>
-      <resultContextNeon>Organisation</resultContextNeon>
-      <affectedTables>
-        <element>ADDRESS</element>
-        <element>COMMUNICATION</element>
-        <element>CONTACT</element>
-        <element>ORGANISATION</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/organisation/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>PERSON</name>
-      <title>Contact</title>
-      <icon>VAADIN:USERS</icon>
-      <idColumn>CONTACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/query.js</query>
-      <subQueries>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/subQueries.js</subQueries>
-      <resultContextNeon>Person</resultContextNeon>
-      <affectedTables>
-        <element>ADDRESS</element>
-        <element>COMMUNICATION</element>
-        <element>PERSON</element>
-        <element>CONTACT</element>
-        <element>ORGANISATION</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/person/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>OFFER</name>
-      <title>Offer</title>
-      <icon>VAADIN:CART</icon>
-      <active v="true" />
-      <idColumn>OFFERID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js</query>
-      <resultContextNeon>Offer</resultContextNeon>
-      <affectedTables>
-        <element>OFFER</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/offer/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>SALESORDER</name>
-      <title>Receipt</title>
-      <icon>VAADIN:DOLLAR</icon>
-      <active v="true" />
-      <idColumn>SALESORDERID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js</query>
-      <resultContextNeon>Order</resultContextNeon>
-      <affectedTables>
-        <element>SALESORDER</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesorder/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>CONTRACT</name>
-      <title>Contract</title>
-      <icon>VAADIN:FILE_TEXT</icon>
-      <active v="true" />
-      <idColumn>CONTRACTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js</query>
-      <resultContextNeon>Contract</resultContextNeon>
-      <affectedTables>
-        <element>CONTRACT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/contract/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>PRODUCT</name>
-      <title>Product</title>
-      <icon>VAADIN:HAMMER</icon>
-      <active v="true" />
-      <idColumn>PRODUCTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/product/query.js</query>
-      <resultContextNeon>Product</resultContextNeon>
-      <affectedTables>
-        <element>PRODUCT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/product/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-    <indexSearchGroup>
-      <name>SALESPROJECT</name>
-      <title>Salesproject</title>
-      <icon>VAADIN:BOOK_DOLLAR</icon>
-      <active v="true" />
-      <idColumn>SALESPROJECTID</idColumn>
-      <titleColumn>TITLECOLUMN</titleColumn>
-      <descriptionColumn>DESCCOLUMN</descriptionColumn>
-      <query>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js</query>
-      <resultContextNeon>Salesproject</resultContextNeon>
-      <affectedTables>
-        <element>SALESPROJECT</element>
-      </affectedTables>
-      <affectedIds>%aditoprj%/aliasDefinition/Data_alias/indexsearchgroups/salesproject/affectedIds.js</affectedIds>
-    </indexSearchGroup>
-  </indexSearchGroups>
 </aliasDefinition>
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/info/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/info/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..abc63572fd79ad6f74ed2c55b7263bff15a04f05
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/info/customproperties/translate4log/property.js
@@ -0,0 +1,9 @@
+import("system.result");
+import("system.text");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var htmlText = params.value;
+var plainText = text.html2text(htmlText);
+
+result.string(plainText); 
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/responsible/customproperties/translate4log/property.js b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/responsible/customproperties/translate4log/property.js
new file mode 100644
index 0000000000000000000000000000000000000000..f35d37ab09f059046b3b6f3d672cf01c66fe58c4
--- /dev/null
+++ b/aliasDefinition/Data_alias/aliasdefinitionsub/entitygroup/entities/activity/entityfields/responsible/customproperties/translate4log/property.js
@@ -0,0 +1,7 @@
+import("Contact_lib");
+import("system.result");
+import("Loghistory_lib");
+
+var params = Translate4LogParams.load();
+var res = ContactUtils.getFullTitleByContactId(params.value);
+result.string(res);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/contract/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/contract/affectedIds.js
deleted file mode 100644
index 548f327a66b7b08252086a013c0152cd52f8da20..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/contract/affectedIds.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.object([vars.getString("$local.idvalue")]);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js b/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js
deleted file mode 100644
index c80b55a38be25139beeefac4cbcbeb4b08a88cad..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/contract/query.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where CONTRACTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select CONTRACTID, " 
-    + sqlHelper.concat(["CONTRACTCODE", KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractStatus(), "CONTRACTSTATUS")], " | ")
-    + " as TITLECOLUMN, " 
-    + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Type of contract") + ":'", 
-            KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.contractType(), "CONTRACTTYPE")]) 
-    + " as DESCCOLUMN, CONTRACTCODE, ORGANISATION.NAME, CUSTOMERCODE " 
-    + " from CONTRACT "
-    + " join CONTACT on CONTRACT.CONTACT_ID = CONTACTID "
-    + " join ORGANISATION on ORGANISATIONID = CONTACT.ORGANISATION_ID "
-    + queryCondition + " order by CONTRACTCODE ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/offer/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/offer/affectedIds.js
deleted file mode 100644
index 548f327a66b7b08252086a013c0152cd52f8da20..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/offer/affectedIds.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.object([vars.getString("$local.idvalue")]);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js b/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js
deleted file mode 100644
index b2022eb648b08cd5b436a248d35430560222f5e7..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/offer/query.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import("system.SQLTYPES");
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where OFFERID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select OFFERID, " 
-    + sqlHelper.concat([sqlHelper.cast("OFFERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.offerStatus(), "OFFER.STATUS")], " | ")
-    + " as TITLECOLUMN, " 
-    + sqlHelper.concat(["ORGANISATION.NAME", "'| " + translate.text("Description") + ":'", sqlHelper.castLob("OFFER.INFO", 250)])  
-    + " as DESCCOLUMN, OFFERCODE, ORGANISATION.NAME, CUSTOMERCODE " 
-    + " from OFFER "
-    + " join CONTACT on OFFER.CONTACT_ID = CONTACTID "
-    + " join ORGANISATION on ORGANISATIONID = CONTACT.ORGANISATION_ID "
-    + queryCondition + " order by OFFERCODE ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/organisation/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/organisation/affectedIds.js
deleted file mode 100644
index 2741393ffd7c0907b067f6250129b5db6373eab4..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/organisation/affectedIds.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import("system.db");
-import("system.result");
-import("system.vars");
-import("IndexSearch_lib");
-import("Sql_lib");
-
-var infoContainer, onUpdFn, tableName, res;
-
-tableName = vars.get("$local.table");
-idValue = vars.get("$local.idvalue");
-infoContainer =  IndexsearchUtils.createAffectedInfoContainer(idValue, null, vars.get("$local.action")
-    ,function (){return vars.get("$local.columns")}
-    ,function (){return vars.get("$local.oldvalues")}
-    ,function (){return vars.get("$local.values")});
-
-switch (tableName)
-{
-    case "CONTACT":
-        res = [idValue];
-        break;    
-    case "ORGANISATION":
-        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID is null and CONTACT.ORGANISATION_ID = '" + idValue + "'");
-        break;
-    case "ADDRESS":
-        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select ADDRESS.CONTACT_ID from ADDRESS where ADDRESS.ADDRESSID = ?", [
-                    [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")]
-            ]]);
-        });
-        break;
-    case "COMMUNICATION":
-        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select COMMUNICATION.CONTACT_ID from COMMUNICATION where COMMUNICATIONID = ?", [
-                    [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")]
-            ]]);
-        });
-        break;
-}
-
-if (res) {
-    result.object(res);
-}
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js b/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js
deleted file mode 100644
index bbcf88e142807d6dc584df47ee496b22912a63b8..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/organisation/query.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Sql_lib");
-import("Communication_lib");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where CONTACT.CONTACTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select CONTACT.CONTACTID "
-    + "," + sqlHelper.concat(["ORGANISATION.NAME", "'|'", "ORGANISATION.CUSTOMERCODE"]) 
-    + " as TITLECOLUMN "
-    + "," + sqlHelper.concat([
-         sqlHelper.concat(["defaultAddress.ADDRESS", "defaultAddress.BUILDINGNO", "'-'"
-            ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
-        ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
-        ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
-        ], " | ") + " as DESCCOLUMN "
-    //additional indexed fields
-    + ",ORGANISATION.NAME, COMMUNICATION.ADDR "
-    + " from ORGANISATION "
-    + " join CONTACT on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID and CONTACT.PERSON_ID is null "
-    + " left join ADDRESS defaultAddress on defaultAddress.ADDRESSID = CONTACT.ADDRESS_ID "
-    + " left join COMMUNICATION on COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID "
-    + (queryCondition || "") 
-    + " order by CONTACT.CONTACTID ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/organisation/subQueries.js b/aliasDefinition/Data_alias/indexsearchgroups/organisation/subQueries.js
deleted file mode 100644
index 17a37f0ca6aa9488c56d0bd230066e8fd35e77c2..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/organisation/subQueries.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import("system.result");
-
-result.string("select ADDRESS.ZIP, ADDRESS.CITY, ADDRESS.COUNTRY, ADDRESS.ADDRESS from ADDRESS where ADDRESS.CONTACT_ID = '@@@'");
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/person/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/person/affectedIds.js
deleted file mode 100644
index 488e44a0b18fefa686a5a6640db77c4564faae81..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/person/affectedIds.js
+++ /dev/null
@@ -1,46 +0,0 @@
-import("system.db");
-import("system.result");
-import("system.vars");
-import("IndexSearch_lib");
-import("Sql_lib");
-
-var infoContainer, onUpdFn, tableName, res;
-
-tableName = vars.get("$local.table");
-idValue = vars.get("$local.idvalue");
-infoContainer =  IndexsearchUtils.createAffectedInfoContainer(idValue, null, vars.get("$local.action")
-    ,function (){return vars.get("$local.columns")}
-    ,function (){return vars.get("$local.oldvalues")}
-    ,function (){return vars.get("$local.values")});
-
-switch (tableName)
-{
-    case "CONTACT":
-        res = [idValue];
-        break;    
-    case "PERSON":
-        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID = '" + idValue + "'");
-        break;
-    case "ORGANISATION":
-        res = db.array(db.COLUMN, "select CONTACT.CONTACTID from CONTACT where CONTACT.PERSON_ID is not null and CONTACT.ORGANISATION_ID = '" + idValue + "'");
-        break;
-    case "ADDRESS":
-        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select ADDRESS.CONTACT_ID from ADDRESS where ADDRESS.ADDRESSID = ?", [
-                    [id, SqlUtils.getSingleColumnType("ADDRESS", "ADDRESSID")]
-            ]]);
-        });
-        break;
-    case "COMMUNICATION":
-        res = IndexsearchUtils.getAffectedIdValues("CONTACT_ID", infoContainer, function (id){
-            return db.array(db.COLUMN, ["select COMMUNICATION.CONTACT_ID from COMMUNICATION where COMMUNICATIONID = ?", [
-                    [id, SqlUtils.getSingleColumnType("COMMUNICATION", "COMMUNICATIONID")]
-            ]]);
-        });
-        break;
-}
-
-if (res) {
-    result.object(res);
-}
-    
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/person/query.js b/aliasDefinition/Data_alias/indexsearchgroups/person/query.js
deleted file mode 100644
index 719efe080e627c040b043e12f994c936dcf855c6..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/person/query.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Sql_lib");
-import("Communication_lib");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where CONTACT.CONTACTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select CONTACT.CONTACTID "
-    + "," + sqlHelper.concat(["PERSON.SALUTATION", "PERSON.FIRSTNAME", "PERSON.LASTNAME", "'|'", "ORGANISATION.NAME"]) 
-    + " as TITLECOLUMN "
-    + "," + sqlHelper.concat([
-         sqlHelper.concat(["defaultAddress.ADDRESS", "defaultAddress.BUILDINGNO", "'-'"
-            ,"defaultAddress.COUNTRY", "defaultAddress.ZIP", "defaultAddress.CITY"])
-        ,sqlHelper.concat(["'" + translate.text("Phone") + ":'", "(" + CommUtil.getStandardSubSqlPhone() + ")"])
-        ,sqlHelper.concat(["'" + translate.text("Email") + ":'", "(" + CommUtil.getStandardSubSqlMail() + ")"])
-        ], " | ") + " as DESCCOLUMN "
-    //additional indexed fields
-    + ",ORGANISATION.NAME, COMMUNICATION.ADDR "
-    + " from PERSON "
-    + " join CONTACT on CONTACT.PERSON_ID = PERSON.PERSONID "
-    + " join ORGANISATION on CONTACT.ORGANISATION_ID = ORGANISATION.ORGANISATIONID "
-    + " left join ADDRESS defaultAddress on defaultAddress.ADDRESSID = CONTACT.ADDRESS_ID "
-    + " left join COMMUNICATION on COMMUNICATION.CONTACT_ID = CONTACT.CONTACTID "
-    + (queryCondition || "") 
-    + " order by CONTACT.CONTACTID ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/person/subQueries.js b/aliasDefinition/Data_alias/indexsearchgroups/person/subQueries.js
deleted file mode 100644
index 17a37f0ca6aa9488c56d0bd230066e8fd35e77c2..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/person/subQueries.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import("system.result");
-
-result.string("select ADDRESS.ZIP, ADDRESS.CITY, ADDRESS.COUNTRY, ADDRESS.ADDRESS from ADDRESS where ADDRESS.CONTACT_ID = '@@@'");
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/product/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/product/affectedIds.js
deleted file mode 100644
index 548f327a66b7b08252086a013c0152cd52f8da20..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/product/affectedIds.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.object([vars.getString("$local.idvalue")]);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/product/query.js b/aliasDefinition/Data_alias/indexsearchgroups/product/query.js
deleted file mode 100644
index 9f8b8240c20e0a74ef734bcc01787ba192206ffa..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/product/query.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where PRODUCTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select PRODUCTID, " 
-    + sqlHelper.concat(["PRODUCTCODE", "PRODUCTNAME"], " | ")
-    + " as TITLECOLUMN, " 
-    + KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.productGroupcode(), "GROUPCODEID")
-    + " as DESCCOLUMN, PRODUCTCODE " 
-    + " from PRODUCT "
-    + queryCondition + " order by PRODUCTCODE ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/salesorder/affectedIds.js
deleted file mode 100644
index 548f327a66b7b08252086a013c0152cd52f8da20..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/affectedIds.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.object([vars.getString("$local.idvalue")]);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js
deleted file mode 100644
index 2ffeb89a270aad2faa93e843109cfcd93defb5e9..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesorder/query.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import("system.SQLTYPES");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Sql_lib");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where SALESORDERID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?) ----> use SqlCondition Lib
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select SALESORDERID, " 
-    + sqlHelper.concat([sqlHelper.cast("SALESORDERCODE", SQLTYPES.CHAR, 10), KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesorderState(), "SALESORDER.STATUS")], " | ")
-    + " as TITLECOLUMN, " 
-    + sqlHelper.concat(["ORGANISATION.NAME"], " | ") 
-    + " as DESCCOLUMN, SALESORDERCODE, ORGANISATION.NAME, CUSTOMERCODE "
-    + " from SALESORDER "
-    + " join CONTACT on SALESORDER.CONTACT_ID = CONTACTID "
-    + " join ORGANISATION on ORGANISATIONID = CONTACT.ORGANISATION_ID "
-    + queryCondition + " order by SALESORDERCODE ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/affectedIds.js b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/affectedIds.js
deleted file mode 100644
index 548f327a66b7b08252086a013c0152cd52f8da20..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/affectedIds.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.object([vars.getString("$local.idvalue")]);
\ No newline at end of file
diff --git a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js b/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
deleted file mode 100644
index 079117e9028cc73670823798d0325902cc451055..0000000000000000000000000000000000000000
--- a/aliasDefinition/Data_alias/indexsearchgroups/salesproject/query.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import("system.translate");
-import("system.result");
-import("system.vars");
-import("system.calendars");
-import("system.db");
-import("Keyword_lib");
-import("Sql_lib");
-import("KeywordRegistry_basic");
-
-var sqlQuery, sqlHelper, queryCondition, affectedIds;
-queryCondition = "";
-if (vars.exists("$local.idvalue")) {
-    affectedIds = vars.get("$local.idvalue");
-    queryCondition = "where SALESPROJECTID in ('" + affectedIds.map(function (v){return db.quote(v);}).join("', '") + "')";
-    //TODO: refactor this for incremental indexer (injections?)
-}
-sqlHelper = new SqlMaskingUtils();
-sqlQuery = "select SALESPROJECTID, PROJECTTITLE as TITLECOLUMN, " 
-    + sqlHelper.concat([
-        "'" + translate.text("Status") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectState(), "STATUS"),
-        "'| " + translate.text("Phase") + ":'",  KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectPhase(), "PHASE")
-      ]) 
-    + " as DESCCOLUMN, PROJECTCODE " 
-    + " from SALESPROJECT "
-    + queryCondition + " order by PROJECTCODE ";
-result.string(sqlQuery);
\ No newline at end of file
diff --git a/entity/Activity_entity/Activity_entity.aod b/entity/Activity_entity/Activity_entity.aod
index 2a22f91ada4dbd7c6f1f54483281528182029f93..2f8b91974fb97d4e7baebbb894d1e886bb837d7d 100644
--- a/entity/Activity_entity/Activity_entity.aod
+++ b/entity/Activity_entity/Activity_entity.aod
@@ -50,7 +50,7 @@
       <title>Category</title>
       <consumer>KeywordCategories</consumer>
       <groupable v="true" />
-      <mandatory v="false" />
+      <mandatory v="true" />
       <displayValueProcess>%aditoprj%/entity/Activity_entity/entityfields/category/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
@@ -563,6 +563,20 @@
       <expose v="true" />
       <description>Links that will be inserted, required in QuickEntry</description>
     </entityParameter>
+    <entityConsumer>
+      <name>LogHistories</name>
+      <dependency>
+        <name>dependency</name>
+        <entityName>LogHistory_entity</entityName>
+        <fieldName>LogHistoryProvider</fieldName>
+      </dependency>
+      <children>
+        <entityParameter>
+          <name>tablenames_param</name>
+          <valueProcess>%aditoprj%/entity/Activity_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Activity_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js b/entity/Activity_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..540ffa373e968dfaef6a1cf591218be6700dd665
--- /dev/null
+++ b/entity/Activity_entity/entityfields/loghistories/children/tablenames_param/valueProcess.js
@@ -0,0 +1,13 @@
+import("system.vars");
+import("system.result");
+import("Context_lib");
+
+var res = [ 
+    {
+        id: vars.get("$field.ACTIVITYID"), 
+        tableNames: ["ACTIVITY", "AB_ATTRIBUTERELATION"]
+    }
+];
+
+res = JSON.stringify(res);//currently only strings  can be passed as param
+result.object(res);
\ No newline at end of file
diff --git a/entity/Activity_entity/entityfields/newoffer/onActionProcess.js b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js
index 5fb22c69b6b1cabfb3610a0fe947e6b5f294a1d3..2973002c2cfac6ea1cf0ff1bc79b0c50aa31d5db 100644
--- a/entity/Activity_entity/entityfields/newoffer/onActionProcess.js
+++ b/entity/Activity_entity/entityfields/newoffer/onActionProcess.js
@@ -1,4 +1,4 @@
 import("system.vars");
 import("Offer_lib");
 
-OfferUtils.createNewOffer();
\ No newline at end of file
+OfferUtils.createNewOffer(null, null, null, vars.get("$field.ACTIVITYID"));
\ No newline at end of file
diff --git a/entity/Appointment_entity/Appointment_entity.aod b/entity/Appointment_entity/Appointment_entity.aod
index 70b0a8424a4386f214bbce4566e0ed1caf64457e..402ad694bcbc0729fdf21983438ea7f188e874cd 100644
--- a/entity/Appointment_entity/Appointment_entity.aod
+++ b/entity/Appointment_entity/Appointment_entity.aod
@@ -191,7 +191,6 @@
       <iconId>VAADIN:TRASH</iconId>
       <state>AUTO</state>
       <stateProcess>%aditoprj%/entity/Appointment_entity/entityfields/deleteseries/stateProcess.js</stateProcess>
-      <tooltip>series delete action</tooltip>
     </entityActionField>
     <entityParameter>
       <name>LinkedObjectId_param</name>
diff --git a/entity/LogHistory_entity/LogHistory_entity.aod b/entity/LogHistory_entity/LogHistory_entity.aod
index c3af72e2ae5245cf051299b9f11930c473ace442..931a3446ae9b7c83c7a603da6070083b593b1230 100644
--- a/entity/LogHistory_entity/LogHistory_entity.aod
+++ b/entity/LogHistory_entity/LogHistory_entity.aod
@@ -105,6 +105,12 @@
           <fieldName>LogHistoryC</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>3426c963-c46f-48a1-96e8-8176b5b093c4</name>
+          <entityName>Activity_entity</entityName>
+          <fieldName>LogHistories</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityParameter>
diff --git a/entity/Offer_entity/Offer_entity.aod b/entity/Offer_entity/Offer_entity.aod
index 3eef0efb486ce5f5475060985092621781e35f0c..1bf4f3eda2fc15c8abb73cf009105a1b6abdfb33 100644
--- a/entity/Offer_entity/Offer_entity.aod
+++ b/entity/Offer_entity/Offer_entity.aod
@@ -932,6 +932,12 @@
       <name>OfferStatus_param</name>
       <expose v="true" />
     </entityParameter>
+    <entityParameter>
+      <name>ActivityId_param</name>
+      <expose v="true" />
+      <mandatory v="false" />
+      <documentation>%aditoprj%/entity/Offer_entity/entityfields/activityid_param/documentation.adoc</documentation>
+    </entityParameter>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Offer_entity/entityfields/activityid_param/documentation.adoc b/entity/Offer_entity/entityfields/activityid_param/documentation.adoc
new file mode 100644
index 0000000000000000000000000000000000000000..0e34cbb98e3556f3369542bc4912e3b655305449
--- /dev/null
+++ b/entity/Offer_entity/entityfields/activityid_param/documentation.adoc
@@ -0,0 +1,2 @@
+Param to automatically add an activitylink in an existing activity to a newly created offer. This will be done in on save.
+Usefull when creating a new offer from the activity point of view.
\ No newline at end of file
diff --git a/entity/Offer_entity/recordcontainers/db/onDBInsert.js b/entity/Offer_entity/recordcontainers/db/onDBInsert.js
index cf7eb05721dd07df50aec9a891e3bdce9a3cd49b..74f0bb15903ab295028f738c2b747ef22c014234 100644
--- a/entity/Offer_entity/recordcontainers/db/onDBInsert.js
+++ b/entity/Offer_entity/recordcontainers/db/onDBInsert.js
@@ -1,6 +1,20 @@
+import("system.db");
+import("system.datetime");
+import("system.util");
 import("system.neon");
 import("system.vars");
 import("Offer_lib");
 
-if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.exists("$param.OfferOriginal_Id_param"))
-    OfferUtils.copyOfferItems(vars.getString("$param.OfferOriginal_Id_param"), vars.get("$local.uid"));
+if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW)
+{
+    if (vars.exists("$param.OfferOriginal_Id_param"))
+        OfferUtils.copyOfferItems(vars.getString("$param.OfferOriginal_Id_param"), vars.get("$local.uid"));
+    
+    var activityId = vars.get("$param.ActivityId_param");
+    if (activityId)
+    {
+        var activityLinkColumns = ["ACTIVITYLINKID", "ACTIVITY_ID", "DATE_NEW", "USER_NEW", "OBJECT_TYPE", "OBJECT_ROWID"];
+        var activityLinkValues = [util.getNewUUID(), activityId,  datetime.date(), vars.get("$sys.user"), "Offer", vars.get("$field.OFFERID")];
+        db.insertData("ACTIVITYLINK", activityLinkColumns, null, activityLinkValues);
+    }
+}
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 4bda0f67b215bee07388df1e4af54935e6bc4dac..4af5e779b7763be81e74b33d8ba98a228750f040 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -5921,6 +5921,24 @@
     <entry>
       <key>No advertising by</key>
     </entry>
+    <entry>
+      <key>series delete action</key>
+    </entry>
+    <entry>
+      <key>Choose a campaign and a step to add the contact to a  campaign</key>
+    </entry>
+    <entry>
+      <key>Download e-mail</key>
+    </entry>
+    <entry>
+      <key>ZIP</key>
+    </entry>
+    <entry>
+      <key>Try to create activity automatically and ask for more information if necessary</key>
+    </entry>
+    <entry>
+      <key>New Appointment</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 01f7641510fd62bddde2e960607d42849e24a84c..db47b8c3d09bdd197a3f4f92fc1fb8064bd87d79 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -6029,7 +6029,7 @@
     </entry>
     <entry>
       <key>Unknown accepted call from %0 to %1, duration: %2</key>
-      <value>Unbekannter angenommener Anruf von %0 nach %2, Dauer: %3</value>
+      <value>Unbekannter angenommener Anruf von %0 nach %1, Dauer: %2</value>
     </entry>
     <entry>
       <key>Missed</key>
@@ -7284,6 +7284,7 @@
     </entry>
     <entry>
       <key>archive</key>
+      <value>archivieren</value>
     </entry>
     <entry>
       <key>Scan pattern</key>
@@ -7438,6 +7439,26 @@
       <key>No advertising by</key>
       <value>Keine Werbung durch</value>
     </entry>
+    <entry>
+      <key>Choose a campaign and a step to add the contact to a  campaign</key>
+      <value>Kampagne und -stufe wählen um Kontakt zu Kampagne hinzuzufügen</value>
+    </entry>
+    <entry>
+      <key>Download e-mail</key>
+      <value>E-Mail herunterladen</value>
+    </entry>
+    <entry>
+      <key>ZIP</key>
+      <value>PLZ</value>
+    </entry>
+    <entry>
+      <key>Try to create activity automatically and ask for more information if necessary</key>
+      <value>Versuche Aktivität automatisch anzulegen und fordert weitere Informationen an wenn nötig</value>
+    </entry>
+    <entry>
+      <key>New Appointment</key>
+      <value>Neuer Termin</value>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index d77cfa098ac685b557befad1fcccb08b94a505f6..93e98574ca2f19b8bf3bf42fdf2460b06c19be02 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -5971,6 +5971,24 @@
     <entry>
       <key>No advertising by</key>
     </entry>
+    <entry>
+      <key>series delete action</key>
+    </entry>
+    <entry>
+      <key>Choose a campaign and a step to add the contact to a  campaign</key>
+    </entry>
+    <entry>
+      <key>Download e-mail</key>
+    </entry>
+    <entry>
+      <key>ZIP</key>
+    </entry>
+    <entry>
+      <key>Try to create activity automatically and ask for more information if necessary</key>
+    </entry>
+    <entry>
+      <key>New Appointment</key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonView/ActivityMain_view/ActivityMain_view.aod b/neonView/ActivityMain_view/ActivityMain_view.aod
index 2d300e8eafaea909b754b098b2e8c16e38fcdef3..fa57b68aa20181113a6357780ecefd6fab4bab1c 100644
--- a/neonView/ActivityMain_view/ActivityMain_view.aod
+++ b/neonView/ActivityMain_view/ActivityMain_view.aod
@@ -34,5 +34,10 @@
       <entityField>Documents</entityField>
       <view>DocumentFilter_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>8b6d9b7d-588e-481b-84ac-a3f918b266dc</name>
+      <entityField>LogHistories</entityField>
+      <view>LogHistoryFilter_view</view>
+    </neonViewReference>
   </children>
 </neonView>
diff --git a/process/ImporterMappingFunctions_lib/process.js b/process/ImporterMappingFunctions_lib/process.js
index 5c4e17f8c5915720c206c1213bf21c78c36caac3..ab2334fe292f238ac26f05f0794bc5756cf25f6f 100644
--- a/process/ImporterMappingFunctions_lib/process.js
+++ b/process/ImporterMappingFunctions_lib/process.js
@@ -436,7 +436,7 @@ function iDocument(pObject)
         var desc = "";
         if(pObject.Description != undefined) desc = this.InputRecord[pObject.Description];
         var keyw = "";
-        if(pObject.Keywords != undefined) desc = this.InputRecord[pObject.Keywords];
+        if(pObject.Keywords != undefined) keyw = this.InputRecord[pObject.Keywords];
 
         if(pObject.Rowid != "" && pObject.Filename != "")
             db.insertBinary(
diff --git a/process/Loghistory_lib/process.js b/process/Loghistory_lib/process.js
index 88d811340f29cd9caaa27a4cb6a97a28be0a001b..469b06030d790cf13eb0544f5cf3b0676ec9c393 100644
--- a/process/Loghistory_lib/process.js
+++ b/process/Loghistory_lib/process.js
@@ -126,7 +126,10 @@ LogHistoryExecutor.prototype.execute = function ()
         {
             idvalue = newvalues[conf.IDs[0]];
             var data = this._getDataForExtras(newvalues[conf.IDs[1]], newvalues);
-            description.push(translate.withArguments("%0 \"%1\"", [conf.Description + " " + data[0] + ":", data[1]], this.translationLanguage));
+            if (data[1])
+                description.push(translate.withArguments("%0 \"%1\"", [conf.Description + " " + data[0] + ":", data[1]], this.translationLanguage));
+            else //this may happen for Attributes of type VOID (=attributes that have no values, compareable to "tags")
+                description.push(conf.Description + " " + data[0]);
         }
         if (this.sqlAction == 'U')
         {
@@ -143,7 +146,7 @@ LogHistoryExecutor.prototype.execute = function ()
                 else
                     description.push(translate.withArguments("%0 from \"%1\" to %2 \"%3\"", [conf.Description + " " + olddata[0], olddata[1], conf.Description + " " + newdata[0] , newdata[1]], this.translationLanguage));
             } 
-            else if(this.affectedTable == "COMMUNICATION" && olddata[0] != newdata[0])//fyi: no change of the "Standard"-flag will be logged
+            else if(olddata[0] != newdata[0])//fyi: no change of the "Standard"-flag will be logged
             {
                 description.push(translate.withArguments("%0 from \"%1\" to \"%2\"", [conf.Description, olddata[0], newdata[0]], this.translationLanguage));
             }
@@ -181,15 +184,19 @@ LogHistoryExecutor.prototype.execute = function ()
                 var logfieldTitle = (logfield.title ? translate.text(logfield.title, this.translationLanguage) : translate.text("Value", this.translationLanguage));
                 if (this.sqlAction == 'U' && this.oldValues[i] != this.newValues[i])
                 {
-                    if (this.oldValues[i] == "[CLOB]" || this.oldValues[i] == "")
+                    //TODO: CLOB-check should be done by viewing the structure column type
+                    //use .trim() for "[CLOB]" check because in some case the value "[CLOB]\n" my be given
+                    if (this.oldValues[i].trim() == "[CLOB]" || this.oldValues[i] == "")
                         description.push(translate.withArguments("%0 \"%1\"", [logfieldTitle + ":", this.newValues[i]], this.translationLanguage));
                     else
                         description.push(translate.withArguments("%0 from \"%1\" to \"%2\"", [logfieldTitle + ":", this.oldValues[i], this.newValues[i]], this.translationLanguage));
                         
                 }
-                if (this.sqlAction == 'I' && this.newValues[i] != "" && this.newValues[i] != "[CLOB]")
+                //use .trim() for "[CLOB]" check because in some case the value "[CLOB]\n" my be given
+                if (this.sqlAction == 'I' && this.newValues[i] != "" && this.newValues[i].trim() != "[CLOB]")
                     description.push(logfieldTitle + ": \"" + this.newValues[i] + "\"");
-                if (this.sqlAction == 'D' && this.oldValues[i] != "" && this.oldValues[i] != "[CLOB]")
+                //use .trim() for "[CLOB]" check because in some case the value "[CLOB]\n" my be given
+                if (this.sqlAction == 'D' && this.oldValues[i] != "" && this.oldValues[i].trim() != "[CLOB]")
                     description.push(logfieldTitle + ": \"" + this.oldValues[i] + "\"");
             }
         }
diff --git a/process/Offer_lib/process.js b/process/Offer_lib/process.js
index b4f0a19bf3aab875400cfb8ad181436a0830446b..d244cba0b21e8f8f3b12c42f9951438d83fc200b 100644
--- a/process/Offer_lib/process.js
+++ b/process/Offer_lib/process.js
@@ -72,8 +72,9 @@ OfferUtils.isDeletable = function(status) {
 
 /**
  * Create a new offer and open the offer context in NEW-mode
+ * //TODO: function comment
  */
-OfferUtils.createNewOffer = function(pContextId, pRowId, pRelationId)
+OfferUtils.createNewOffer = function(pContextId, pRowId, pRelationId, pActivityId)
 {
     var params = {};
     
@@ -86,6 +87,9 @@ OfferUtils.createNewOffer = function(pContextId, pRowId, pRelationId)
     if (pRelationId)
         params["ContactId_param"] = pRelationId;
     
+    if (pActivityId)
+        params["ActivityId_param"] = pActivityId;
+    
     neon.openContext("Offer", null, null, neon.OPERATINGSTATE_NEW, params);
 }
 
diff --git a/process/ctiServerEvents/process.js b/process/ctiServerEvents/process.js
index f1d066d995e3529f60ea448e46f0b7dfc2e2fac3..c96cf85a4a84c7a15a8a9bee3c8ee46445e69157 100644
--- a/process/ctiServerEvents/process.js
+++ b/process/ctiServerEvents/process.js
@@ -99,6 +99,10 @@ var disconnectingHandlerFn = function()
     }
     db.updateData("AB_CTILOG", cols, null, vals, sqlCond.build());
 
+    //do not notify the user when the call is outgoing since the user knows when he/she does initiate a call
+    if (!this.callData.isIncomingCall)
+        return null;
+
     this.usersLocal.forEach(function _notify(userObj){
         var targetLocale = this.getLocaleFromUser(userObj);