diff --git a/.aditoprj/ignoredScanServiceTasks.json b/.aditoprj/ignoredScanServiceTasks.json
index 1ba3e77ba9398cb9b521fa6b87cd1427243e295f..55389c3975437d54ff7ea48078b39cda2f338d4b 100644
--- a/.aditoprj/ignoredScanServiceTasks.json
+++ b/.aditoprj/ignoredScanServiceTasks.json
@@ -24,6 +24,12 @@
       "description": "There is no index for the column \"TESTING_CONTACT_ID\" in the table \"BULKMAIL\" [59]",
       "groupName": "nb-tasklist-warning"
     },
+    {
+      "target": "aliasDefinition/Data_alias_noAudit/Data_alias_noAudit.aod",
+      "line": -1,
+      "description": "The table \"DATABASECHANGELOG\" has no primary key [65]",
+      "groupName": "nb-tasklist-warning"
+    },
     {
       "target": "aliasDefinition/_____SYSTEMALIAS/_____SYSTEMALIAS.aod",
       "line": -1,
diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index 040e3dfeaeef7181ad13197a1fae39c3d7fd22df..05c0bf6f0734e4ea7c8fbbd41efd67172e936955 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -250,7 +250,6 @@
       <children>
         <entityParameter>
           <name>GetTree_param</name>
-          <valueProcess>%aditoprj%/entity/AttributeRelation_entity/entityfields/attributerelations/children/gettree_param/valueProcess.js</valueProcess>
           <expose v="false" />
         </entityParameter>
       </children>
diff --git a/entity/AttributeRelation_entity/entityfields/attributerelations/children/gettree_param/valueProcess.js b/entity/AttributeRelation_entity/entityfields/attributerelations/children/gettree_param/valueProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js b/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
index db090bed7fe1e8f31f659c42f7936638a44050f5..6759a0538060f2485b14c7a15d014401e8bb9f19 100644
--- a/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
+++ b/entity/BulkMailRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
@@ -2,12 +2,13 @@ import("Contact_lib");
 import("system.neon");
 import("Sql_lib");
 import("KeywordRegistry_basic");
+import("MarketingCondition_lib");
 
 var recipientIds = newSelect("BULKMAILRECIPIENTID")
     .from("BULKMAILRECIPIENT")
     .join("CONTACT", newWhere()
         .and("BULKMAILRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
-        .and(ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$mail())))
+        .and(new CommunicationSettingsCondition().emails().rejected().existSettings().buildCondition()))
     .whereIfSet("BULKMAILRECIPIENT.BULKMAIL_ID", "$param.BulkMailId_param")
     .arrayColumn();
 
diff --git a/entity/BulkMail_entity/BulkMail_entity.aod b/entity/BulkMail_entity/BulkMail_entity.aod
index c7e6b94645dc0d668cc1fadfa90a9a20140afdf3..fa5dbdfb873f990fcce98daa797e3af44035bbb3 100644
--- a/entity/BulkMail_entity/BulkMail_entity.aod
+++ b/entity/BulkMail_entity/BulkMail_entity.aod
@@ -387,7 +387,7 @@
       <name>INTEREST_ID</name>
       <title>Interest</title>
       <consumer>Interests</consumer>
-      <displayValueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/interests_id/displayValueProcess.js</displayValueProcess>
+      <displayValueProcess>%aditoprj%/entity/BulkMail_entity/entityfields/interest_id/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityConsumer>
       <name>Interests</name>
diff --git a/entity/BulkMail_entity/entityfields/interests_id/displayValueProcess.js b/entity/BulkMail_entity/entityfields/interest_id/displayValueProcess.js
similarity index 100%
rename from entity/BulkMail_entity/entityfields/interests_id/displayValueProcess.js
rename to entity/BulkMail_entity/entityfields/interest_id/displayValueProcess.js
diff --git a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
index 76ea4711ebda2c2dfbaa5585ed538ad0583f06d3..a2abae787462a97a218444ae973f98b146fdc156 100644
--- a/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
+++ b/entity/CampaignAddParticipants_entity/CampaignAddParticipants_entity.aod
@@ -38,7 +38,6 @@
       <mandatory v="true" />
       <state>EDITABLE</state>
       <displayValueProcess>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/displayValueProcess.js</displayValueProcess>
-      <onValueChange>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValueChange.js</onValueChange>
       <onValidation>%aditoprj%/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValidation.js</onValidation>
     </entityField>
     <entityField>
diff --git a/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValueChange.js b/entity/CampaignAddParticipants_entity/entityfields/campaignstep_id/onValueChange.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod b/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod
index 3c3d5fcfcec9ea062aa7822673fa8ec2743e9341..d6c10b05f9d1f4a57c866e5a062c1f963f185e24 100644
--- a/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod
+++ b/entity/CommunicationSettings_entity/CommunicationSettings_entity.aod
@@ -173,7 +173,7 @@
         </entityParameter>
         <entityParameter>
           <name>CommunicationCategory_param</name>
-          <valueProcess>%aditoprj%/entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationmedium_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationcategory_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -261,7 +261,7 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>MEDIUM.displayValue</name>
-          <expression>%aditoprj%/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium_id.displayvalue/expression.js</expression>
+          <expression>%aditoprj%/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js</expression>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>STATUS.displayValue</name>
diff --git a/entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationmedium_param/valueProcess.js b/entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationcategory_param/valueProcess.js
similarity index 100%
rename from entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationmedium_param/valueProcess.js
rename to entity/CommunicationSettings_entity/entityfields/communicationchannels/children/communicationcategory_param/valueProcess.js
diff --git a/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium_id.displayvalue/expression.js b/entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js
similarity index 100%
rename from entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium_id.displayvalue/expression.js
rename to entity/CommunicationSettings_entity/recordcontainers/db/recordfieldmappings/medium.displayvalue/expression.js
diff --git a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
index b94abcf3580c347872603d09949c5acf1e2a1f4e..220ca8da86b7ff352ba94fa259602a9f004e9585 100644
--- a/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
+++ b/entity/DuplicateScanner_entity/DuplicateScanner_entity.aod
@@ -97,6 +97,7 @@
       <name>DBRecordContainer</name>
       <onDBInsert>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBInsert.js</onDBInsert>
       <onDBUpdate>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBUpdate.js</onDBUpdate>
+      <onDBDelete>%aditoprj%/entity/DuplicateScanner_entity/recordcontainers/dbrecordcontainer/onDBDelete.js</onDBDelete>
       <alias>Data_alias</alias>
       <recordFieldMappings>
         <dbRecordFieldMapping>
diff --git a/entity/KeywordEntry_entity/KeywordEntry_entity.aod b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
index 148a373040cd117345be41d95f1641dc582d1d15..c4d78ac71327446ef3e34ecf2d2b14fb151d7b3c 100644
--- a/entity/KeywordEntry_entity/KeywordEntry_entity.aod
+++ b/entity/KeywordEntry_entity/KeywordEntry_entity.aod
@@ -645,7 +645,6 @@
         </entityDependency>
         <entityDependency>
           <name>98608b12-9927-4197-adfe-1398a388bcb0</name>
-          <entityName>WebtrackingTag_entity</entityName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
@@ -692,8 +691,6 @@
         </entityDependency>
         <entityDependency>
           <name>a4d04777-82dc-4384-a4a5-c6a4a71e7a65</name>
-          <entityName>CommunicationBlacklist_entity</entityName>
-          <fieldName>BlacklistTypeKeyword</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
diff --git a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
index 8b54190ef14b5fc4f16d0af6c67e4e84d8773602..21b3e80d49548da9a8276548790b5c7e81fefc27 100644
--- a/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
+++ b/entity/LetterRecipient_entity/entityfields/recipientactions/children/removewithcommrestriction/onActionProcess.js
@@ -2,13 +2,14 @@ import("Contact_lib");
 import("system.neon");
 import("Sql_lib");
 import("KeywordRegistry_basic");
+import("MarketingCondition_lib");
 
 var recipientIds = new SqlBuilder()
     .select("LETTERRECIPIENTID")
     .from("LETTERRECIPIENT")
     .join("CONTACT", 
         newWhere("LETTERRECIPIENT.CONTACT_ID = CONTACT.CONTACTID")
-        .and(ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$letter())))
+        .and(new CommunicationSettingsCondition().address().rejected().existSettings().buildCondition()))
     .whereIfSet("LETTERRECIPIENT.SERIALLETTER_ID", "$param.SerialLetterId_param")
     .arrayColumn();
 
diff --git a/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js b/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
index c4cd2c2544b5f45d0c4c2a7604c40204f18a2867..7377540477a297626079e8dd215c1a66f4fb6b1f 100644
--- a/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
+++ b/entity/LetterRecipient_entity/recordcontainers/db/recordfieldmappings/hascommrestriction.value/expression.js
@@ -3,7 +3,10 @@ import("KeywordRegistry_basic");
 import("Contact_lib");
 import("system.db");
 import("system.result");
+import("MarketingCondition_lib");
 
-var commRestrictionCond = ContactUtils.getCommRestrictionCondition($KeywordRegistry.communicationMediumCampaign$letter()).build();
-var sql = "case when (" + SqlUtils.translateStatementWithQuotes(commRestrictionCond) + ") then 'true' else 'false' end";
+var sql = SqlBuilder.caseWhen(new CommunicationSettingsCondition().address().rejected().existSettings().buildCondition())
+    .thenString("true")
+    .elseString("false")
+    .build();
 result.string(sql);
diff --git a/entity/MailLog_entity/MailLog_entity.aod b/entity/MailLog_entity/MailLog_entity.aod
index 37a6fcbb87d0ffe78e25a1818ff8b9d15ba206af..5fc9bcb17eebf99fc06079ac53dab8df9e8ec35e 100644
--- a/entity/MailLog_entity/MailLog_entity.aod
+++ b/entity/MailLog_entity/MailLog_entity.aod
@@ -181,7 +181,6 @@
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>BCC_EMAIL.value</name>
-          <recordfield>MAIL_LOG.BCC_EMAIL</recordfield>
         </dbRecordFieldMapping>
         <dbRecordFieldMapping>
           <name>CONTACT_ID.displayValue</name>
diff --git a/entity/ObservationMultiple_entity/ObservationMultiple_entity.aod b/entity/ObservationMultiple_entity/ObservationMultiple_entity.aod
index 2f9186f4f69144ae457fa6dcadbc871057f6643f..e62d9e9e4ef8ed6a3586b6bec41912cca0f5ebd1 100644
--- a/entity/ObservationMultiple_entity/ObservationMultiple_entity.aod
+++ b/entity/ObservationMultiple_entity/ObservationMultiple_entity.aod
@@ -109,7 +109,6 @@
       <children>
         <entityParameter>
           <name>Blacklist_param</name>
-          <valueProcess>%aditoprj%/entity/ObservationMultiple_entity/entityfields/contexts/children/blacklist_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>InvertBlacklist_param</name>
diff --git a/entity/ObservationMultiple_entity/entityfields/contexts/children/blacklist_param/valueProcess.js b/entity/ObservationMultiple_entity/entityfields/contexts/children/blacklist_param/valueProcess.js
deleted file mode 100644
index c40747f7e7256dd47edf175310a55a6b7293c3a3..0000000000000000000000000000000000000000
--- a/entity/ObservationMultiple_entity/entityfields/contexts/children/blacklist_param/valueProcess.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("Observation_lib");
-import("system.vars");
-import("system.result");
-
-result.object(Observation.getContextFields(vars.get("$field.OBSERVATION_ID")));
\ No newline at end of file
diff --git a/entity/Offeritem_entity/Offeritem_entity.aod b/entity/Offeritem_entity/Offeritem_entity.aod
index d8cfad37c1414399ff010ec3dd1724b82b24c47c..019a47e172039a00e2b27e96411160d6eb6909d9 100644
--- a/entity/Offeritem_entity/Offeritem_entity.aod
+++ b/entity/Offeritem_entity/Offeritem_entity.aod
@@ -74,7 +74,6 @@
       <outputFormat>#,##0.00</outputFormat>
       <inputFormat>#,##0.00</inputFormat>
       <mandatory v="true" />
-      <valueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/price/valueProcess.js</valueProcess>
       <displayValueProcess>%aditoprj%/entity/Offeritem_entity/entityfields/price/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
diff --git a/entity/Offeritem_entity/entityfields/price/valueProcess.js b/entity/Offeritem_entity/entityfields/price/valueProcess.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/entity/Organisation_entity/Organisation_entity.aod b/entity/Organisation_entity/Organisation_entity.aod
index b934a8ff16477b37c2e96f35aaada0e7c06fe604..24e964ce766a005473cbff7d0df88e91217ed4a2 100644
--- a/entity/Organisation_entity/Organisation_entity.aod
+++ b/entity/Organisation_entity/Organisation_entity.aod
@@ -183,7 +183,6 @@
         <entityDependency>
           <name>6a81a15e-2015-48d6-9f69-0a032b4d5507</name>
           <entityName>CampaignParticipant_entity</entityName>
-          <fieldName>OrganisationConsumer</fieldName>
           <isConsumer v="false" />
         </entityDependency>
         <entityDependency>
diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
index 9fc1e645aeb101610c4a37985388a857ac79896a..a78eb1c4d32ea04442060f11068a3aca9bfdfa1c 100644
--- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod
+++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod
@@ -196,7 +196,6 @@
         </entityParameter>
         <entityParameter>
           <name>Field_param</name>
-          <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/permissionactions/children/fieldtype_param/valueProcess.js</valueProcess>
         </entityParameter>
         <entityParameter>
           <name>EntityTitle_param</name>
diff --git a/entity/PermissionDetail_entity/entityfields/permissionactions/children/fieldtype_param/valueProcess.js b/entity/PermissionDetail_entity/entityfields/permissionactions/children/fieldtype_param/valueProcess.js
deleted file mode 100644
index 52bd0deb2169ccfd1f5d531869b4e2fe4304d298..0000000000000000000000000000000000000000
--- a/entity/PermissionDetail_entity/entityfields/permissionactions/children/fieldtype_param/valueProcess.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import("system.vars");
-import("system.result");
-
-result.string(vars.get("$field.FIELD"));
\ No newline at end of file
diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 1426af8122b324117a06abacfc727d9d6882f1b5..fa52cb70ede630367bd37b4026b08481919d36e8 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -386,7 +386,6 @@
         <entityDependency>
           <name>9c5ade71-e56c-4684-95f1-151a47175797</name>
           <entityName>CampaignParticipant_entity</entityName>
-          <fieldName>PersonConsumer</fieldName>
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
diff --git a/entity/WeblinkClick_entity/WeblinkClick_entity.aod b/entity/WeblinkClick_entity/WeblinkClick_entity.aod
index bd2d19c05be327649e1ada1374047855e7f984d3..e1e53ad5fe54130c5c01e63f1aebfb589039dcfd 100644
--- a/entity/WeblinkClick_entity/WeblinkClick_entity.aod
+++ b/entity/WeblinkClick_entity/WeblinkClick_entity.aod
@@ -18,12 +18,6 @@
           <fieldName>Clicks</fieldName>
           <isConsumer v="false" />
         </entityDependency>
-        <entityDependency>
-          <name>cf3f4f2c-43bb-44c3-9099-95966d05623f</name>
-          <entityName>Link_entity</entityName>
-          <fieldName>Clicks</fieldName>
-          <isConsumer v="false" />
-        </entityDependency>
         <entityDependency>
           <name>2a2baa00-d7c3-4e88-a4e1-553a81b4ac77</name>
           <entityName>Weblink_entity</entityName>
diff --git a/entity/Weblink_entity/Weblink_entity.aod b/entity/Weblink_entity/Weblink_entity.aod
index 1cd2e681a6775e3294b54b5f7fb35c6ff0cb59ec..dbafd8ac44cde3243e825a07159e1052d98663f1 100644
--- a/entity/Weblink_entity/Weblink_entity.aod
+++ b/entity/Weblink_entity/Weblink_entity.aod
@@ -37,7 +37,7 @@
     </entityField>
     <entityField>
       <name>SCORE</name>
-      <title>Punktzahl</title>
+      <title>Score</title>
       <contentType>NUMBER</contentType>
       <outputFormat>#' Punkte'</outputFormat>
       <valueProcess>%aditoprj%/entity/Weblink_entity/entityfields/score/valueProcess.js</valueProcess>
@@ -63,7 +63,7 @@
       <children>
         <entityParameter>
           <name>WeblinkId_param</name>
-          <valueProcess>%aditoprj%/entity/Weblink_entity/entityfields/webtrackingtags/children/linkid_param/valueProcess.js</valueProcess>
+          <valueProcess>%aditoprj%/entity/Weblink_entity/entityfields/webtrackingtags/children/weblinkid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
@@ -107,7 +107,6 @@
       <children>
         <entityParameter>
           <name>WeblinkId_param</name>
-          <valueProcess>%aditoprj%/entity/Weblink_entity/entityfields/clicks/children/linkid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
     </entityConsumer>
diff --git a/entity/Weblink_entity/entityfields/clicks/children/linkid_param/valueProcess.js b/entity/Weblink_entity/entityfields/webtrackingtags/children/weblinkid_param/valueProcess.js
similarity index 100%
rename from entity/Weblink_entity/entityfields/clicks/children/linkid_param/valueProcess.js
rename to entity/Weblink_entity/entityfields/webtrackingtags/children/weblinkid_param/valueProcess.js
diff --git a/entity/Weblink_entity/entityfields/webtrackingtags/children/webtrackingurl/valueProcess.js b/entity/Weblink_entity/entityfields/webtrackingtags/children/webtrackingurl/valueProcess.js
deleted file mode 100644
index 647f04b4516a64fb021acb531052094c641dc2ee..0000000000000000000000000000000000000000
--- a/entity/Weblink_entity/entityfields/webtrackingtags/children/webtrackingurl/valueProcess.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import("system.vars");
-import("system.result");
-result.string(vars.get("$field.WEBLINKID"));
\ No newline at end of file
diff --git a/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/linktype.displayvalue/expression.js b/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/linktype.displayvalue/expression.js
index e452bc6e87a70c073b1eef5be3a7187eb894ffb4..92a7316b871e779d6a203b3bcc72352f3f95cc15 100644
--- a/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/linktype.displayvalue/expression.js
+++ b/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/linktype.displayvalue/expression.js
@@ -1,3 +1,5 @@
 import("system.result");
 import("Keyword_lib");
-result.string(KeywordUtils.getResolvedTitleSqlPart("WeblinkType", "WEBLINK.LINKTYPE"));
\ No newline at end of file
+import("KeywordRegistry_basic");
+
+result.string(KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.weblinkType(), "WEBLINK.LINKTYPE"));
\ No newline at end of file
diff --git a/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/urltype.displayvalue/expression.js b/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/urltype.displayvalue/expression.js
deleted file mode 100644
index 92a7316b871e779d6a203b3bcc72352f3f95cc15..0000000000000000000000000000000000000000
--- a/entity/Weblink_entity/recordcontainers/db/recordfieldmappings/urltype.displayvalue/expression.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import("system.result");
-import("Keyword_lib");
-import("KeywordRegistry_basic");
-
-result.string(KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.weblinkType(), "WEBLINK.LINKTYPE"));
\ No newline at end of file
diff --git a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
index 8a73c7e6f4d3312b9340b159965afe27a30c491e..b94ce935a384816581e7aa2ff6347e019fd97d2b 100644
--- a/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
+++ b/language/_____LANGUAGE_EXTRA/_____LANGUAGE_EXTRA.aod
@@ -8575,6 +8575,63 @@
     <entry>
       <key>This setting is overridden by the setting '%0'</key>
     </entry>
+    <entry>
+      <key>Business Card Language</key>
+    </entry>
+    <entry>
+      <key>No advertising</key>
+    </entry>
+    <entry>
+      <key>[TEST] Importer</key>
+    </entry>
+    <entry>
+      <key>Weblink</key>
+    </entry>
+    <entry>
+      <key>Covid Information</key>
+    </entry>
+    <entry>
+      <key>Document actions</key>
+    </entry>
+    <entry>
+      <key>Click</key>
+    </entry>
+    <entry>
+      <key>Linkmanagement</key>
+    </entry>
+    <entry>
+      <key>[TEST] Calendar_lib</key>
+    </entry>
+    <entry>
+      <key>Redirect</key>
+    </entry>
+    <entry>
+      <key>Maillog</key>
+    </entry>
+    <entry>
+      <key>Maillogs</key>
+    </entry>
+    <entry>
+      <key>Url</key>
+    </entry>
+    <entry>
+      <key>[TEST] Util_lib</key>
+    </entry>
+    <entry>
+      <key>Daily Cases</key>
+    </entry>
+    <entry>
+      <key>Is an active Employee</key>
+    </entry>
+    <entry>
+      <key>Weblinks</key>
+    </entry>
+    <entry>
+      <key>Browser</key>
+    </entry>
+    <entry>
+      <key>Global Cases </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 38086e6169d73bfe153c219038577aedc22fdba1..37c805cefb818b0f2c3349c7f74120aa956f6294 100644
--- a/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
+++ b/language/_____LANGUAGE_de/_____LANGUAGE_de.aod
@@ -11288,6 +11288,57 @@ Bitte Datumseingabe prüfen</value>
       <key>Object type 2</key>
       <value>Objekttyp 2</value>
     </entry>
+    <entry>
+      <key>[TEST] Importer</key>
+    </entry>
+    <entry>
+      <key>Weblink</key>
+    </entry>
+    <entry>
+      <key>Covid Information</key>
+    </entry>
+    <entry>
+      <key>Document actions</key>
+    </entry>
+    <entry>
+      <key>Click</key>
+    </entry>
+    <entry>
+      <key>Linkmanagement</key>
+    </entry>
+    <entry>
+      <key>[TEST] Calendar_lib</key>
+    </entry>
+    <entry>
+      <key>Redirect</key>
+    </entry>
+    <entry>
+      <key>Maillog</key>
+    </entry>
+    <entry>
+      <key>Maillogs</key>
+    </entry>
+    <entry>
+      <key>Url</key>
+    </entry>
+    <entry>
+      <key>[TEST] Util_lib</key>
+    </entry>
+    <entry>
+      <key>Daily Cases</key>
+    </entry>
+    <entry>
+      <key>Is an active Employee</key>
+    </entry>
+    <entry>
+      <key>Weblinks</key>
+    </entry>
+    <entry>
+      <key>Browser</key>
+    </entry>
+    <entry>
+      <key>Global Cases </key>
+    </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 412cb297fe20cec4729f5d7864ca07b4621dfc13..1464a7d2e294dcbe1771ba44c0e878a2cc23415f 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -8660,6 +8660,63 @@
     <entry>
       <key>This setting is overridden by the setting '%0'</key>
     </entry>
+    <entry>
+      <key>Business Card Language</key>
+    </entry>
+    <entry>
+      <key>No advertising</key>
+    </entry>
+    <entry>
+      <key>[TEST] Importer</key>
+    </entry>
+    <entry>
+      <key>Weblink</key>
+    </entry>
+    <entry>
+      <key>Covid Information</key>
+    </entry>
+    <entry>
+      <key>Document actions</key>
+    </entry>
+    <entry>
+      <key>Click</key>
+    </entry>
+    <entry>
+      <key>Linkmanagement</key>
+    </entry>
+    <entry>
+      <key>[TEST] Calendar_lib</key>
+    </entry>
+    <entry>
+      <key>Redirect</key>
+    </entry>
+    <entry>
+      <key>Maillog</key>
+    </entry>
+    <entry>
+      <key>Maillogs</key>
+    </entry>
+    <entry>
+      <key>Url</key>
+    </entry>
+    <entry>
+      <key>[TEST] Util_lib</key>
+    </entry>
+    <entry>
+      <key>Daily Cases</key>
+    </entry>
+    <entry>
+      <key>Is an active Employee</key>
+    </entry>
+    <entry>
+      <key>Weblinks</key>
+    </entry>
+    <entry>
+      <key>Browser</key>
+    </entry>
+    <entry>
+      <key>Global Cases </key>
+    </entry>
   </keyValueMap>
   <font name="Dialog" style="0" size="11" />
 </language>
diff --git a/neonContext/Appointment/Appointment.aod b/neonContext/Appointment/Appointment.aod
index 7bd2dabf7a6632779c11b0ca1de249b01382625e..7663253b4c7f6f14fbd7def51f014bb6fdddd7d3 100644
--- a/neonContext/Appointment/Appointment.aod
+++ b/neonContext/Appointment/Appointment.aod
@@ -23,9 +23,6 @@
       <name>2a5e05b2-3f12-43b4-a3f4-3c31dbe0dace</name>
       <view>AppointmentFilter_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>de97b676-6504-4edc-96ba-77ff8483a3a0</name>
-    </neonViewReference>
     <neonViewReference>
       <name>2f707344-d5ef-4abc-99d9-b6eec3318ae5</name>
       <view>AppointmentCheckUp_view</view>
diff --git a/neonContext/Attribute/Attribute.aod b/neonContext/Attribute/Attribute.aod
index 46d59cc597f0e66fc980eb493a14384ea1434195..749cae00feb54558e374c68bcbe98aa78a8c1877 100644
--- a/neonContext/Attribute/Attribute.aod
+++ b/neonContext/Attribute/Attribute.aod
@@ -38,8 +38,5 @@
       <name>1cf7d11d-d593-4518-b7aa-aca1a9a2fb8a</name>
       <view>AttributeList_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>ba95c103-7e26-404d-868b-ed47521bb3bd</name>
-    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/BulkMailTestRecipient/BulkMailTestRecipient.aod b/neonContext/BulkMailTestRecipient/BulkMailTestRecipient.aod
index 5c35bf72c976ec78c161c38a8574c44c2bb5133a..ce4cb549d1ea6ba64af772bdddc3e2014979f585 100644
--- a/neonContext/BulkMailTestRecipient/BulkMailTestRecipient.aod
+++ b/neonContext/BulkMailTestRecipient/BulkMailTestRecipient.aod
@@ -6,9 +6,6 @@
   <editView>BulkMailTestRecipientEdit_view</editView>
   <entity>BulkMailTestRecipient_entity</entity>
   <references>
-    <neonViewReference>
-      <name>c9330ab3-e805-4dbb-8360-4767a966ae3a</name>
-    </neonViewReference>
     <neonViewReference>
       <name>eb1567ec-e5d3-4442-9fe3-7b456ba13ffe</name>
       <view>BulkMailTestRecipientFilter_view</view>
diff --git a/neonContext/Document/Document.aod b/neonContext/Document/Document.aod
index 625b588c0d26638db8e8001004ea6d6d8a12f3c1..cfb02a7f2b32b641b632905df49b01ef560bd62c 100644
--- a/neonContext/Document/Document.aod
+++ b/neonContext/Document/Document.aod
@@ -37,8 +37,5 @@
       <name>434ed60c-8219-4ef5-b795-6d72b9ae48c9</name>
       <view>DocumentWithIdFilter_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>0dfe06a2-7a32-40b4-bac7-3b408956deba</name>
-    </neonViewReference>
   </references>
 </neonContext>
diff --git a/neonContext/DuplicateOrganisation/DuplicateOrganisation.aod b/neonContext/DuplicateOrganisation/DuplicateOrganisation.aod
index 180a84c994ec66d9360520047ed577612fce6b84..d3cfec52aa9ea9b895eec795511a40b216c40de5 100644
--- a/neonContext/DuplicateOrganisation/DuplicateOrganisation.aod
+++ b/neonContext/DuplicateOrganisation/DuplicateOrganisation.aod
@@ -13,9 +13,6 @@
       <name>512ef5c4-dc95-4ef1-81e0-d45479249c2e</name>
       <view>DuplicateOrganisationEdit_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>07bbb126-8b4b-4f3c-a2c8-30409e0ee826</name>
-    </neonViewReference>
     <neonViewReference>
       <name>2e59d859-6b5f-4bb5-a47b-1225164140ed</name>
       <view>DuplicateOrganisationPreview_view</view>
diff --git a/neonContext/DuplicatePerson/DuplicatePerson.aod b/neonContext/DuplicatePerson/DuplicatePerson.aod
index 6d8e12f75aafc815feb17c94b9165e142be633e6..a30cb53a7df1f4e8fd274399a08d9911a870e3c4 100644
--- a/neonContext/DuplicatePerson/DuplicatePerson.aod
+++ b/neonContext/DuplicatePerson/DuplicatePerson.aod
@@ -13,12 +13,6 @@
       <name>f54e544a-2279-41ec-a7b3-44e11989a736</name>
       <view>DuplicatePersonEdit_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>88155af6-074d-4683-b27e-20a8ef75dd8a</name>
-    </neonViewReference>
-    <neonViewReference>
-      <name>fb801ec5-ec73-4d6d-be3e-f2d78a57716f</name>
-    </neonViewReference>
     <neonViewReference>
       <name>596cd813-22e1-4ba6-96d5-fefefbb800cf</name>
       <view>DuplicatePersonPreview_view</view>
diff --git a/neonContext/Person/Person.aod b/neonContext/Person/Person.aod
index 1f9f01bbf1edc780afb0212eb43d1321f56fe138..89ed9017e376a5826a9972eef836ac0da2fe8194 100644
--- a/neonContext/Person/Person.aod
+++ b/neonContext/Person/Person.aod
@@ -59,9 +59,6 @@
       <name>69b30bea-7b58-4a54-8d6b-dca3fb4a9c53</name>
       <view>PersonMultiEditQuickEntry_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>2a6c44be-53e2-469e-84b3-615841bd4430</name>
-    </neonViewReference>
     <neonViewReference>
       <name>627518cc-15b0-4f0d-b6f3-ec06172e7c4e</name>
       <view>PersonMarketing_view</view>
diff --git a/neonContext/Planning/Planning.aod b/neonContext/Planning/Planning.aod
index 387221c361acd05e48468ec96feb73ea5bdb25d4..bdaf234b370b9669e5d3ee8c32b81090c05ca3e8 100644
--- a/neonContext/Planning/Planning.aod
+++ b/neonContext/Planning/Planning.aod
@@ -17,12 +17,6 @@
       <name>360005f9-0f0a-41dc-b7c8-3f8b2e947d98</name>
       <view>PlanningEdit_view</view>
     </neonViewReference>
-    <neonViewReference>
-      <name>87ed8e38-7591-404e-b57a-b1268db6a777</name>
-    </neonViewReference>
-    <neonViewReference>
-      <name>1a7e2b28-65ee-4620-88b7-c8f38b69d2c5</name>
-    </neonViewReference>
     <neonViewReference>
       <name>e12da517-cd75-4665-a4cd-c9a2643dc0c1</name>
       <view>PlanningOrganisationFilter_view</view>
diff --git a/neonView/DuplicatesOverview_view/DuplicatesOverview_view.aod b/neonView/DuplicatesOverview_view/DuplicatesOverview_view.aod
index ad0436323ab2c0829d978e2bf86c24b0766597ab..e7f6cadf9d25dabbe2ee05bb144c190b8ee90a8b 100644
--- a/neonView/DuplicatesOverview_view/DuplicatesOverview_view.aod
+++ b/neonView/DuplicatesOverview_view/DuplicatesOverview_view.aod
@@ -11,12 +11,10 @@
     <neonViewReference>
       <name>b3164f16-fa7e-42b0-829f-88553add7c08</name>
       <entityField>#ENTITY</entityField>
-      <view>PersonDublicatesTab_view</view>
     </neonViewReference>
     <neonViewReference>
       <name>8e19d057-58da-4db8-8119-ecf070af86ab</name>
       <entityField>#ENTITY</entityField>
-      <view>OrganisationDuplicatesTab_view</view>
     </neonViewReference>
   </children>
 </neonView>
diff --git a/neonView/ObservationEdit_view/ObservationEdit_view.aod b/neonView/ObservationEdit_view/ObservationEdit_view.aod
index 4540877e882f98774d37d42d786452ae592fe8d9..bba30a064ed46a6f57d1c974e43ed69f1a520add 100644
--- a/neonView/ObservationEdit_view/ObservationEdit_view.aod
+++ b/neonView/ObservationEdit_view/ObservationEdit_view.aod
@@ -47,7 +47,6 @@
         </entityFieldLink>
         <entityFieldLink>
           <name>aa93c341-578b-4da9-8ee8-2b3d9ea9e1ca</name>
-          <entityField>includeDependencies</entityField>
         </entityFieldLink>
         <entityFieldLink>
           <name>c6fa82e2-5830-46c5-9127-e273ddf5a194</name>
diff --git a/neonView/WeblinkDrawer_view/WeblinkDrawer_view.aod b/neonView/WeblinkDrawer_view/WeblinkDrawer_view.aod
index 4eb8096b64e4a5a70ed2b466095324fdddf50531..4a69a3455f2f97336b748f0926c659589c57c947 100644
--- a/neonView/WeblinkDrawer_view/WeblinkDrawer_view.aod
+++ b/neonView/WeblinkDrawer_view/WeblinkDrawer_view.aod
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.8" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.8">
   <name>WeblinkDrawer_view</name>
-  <title>Weitere Informationen</title>
+  <title>Further informations</title>
   <majorModelMode>DISTRIBUTED</majorModelMode>
   <layout>
     <boxLayout>
diff --git a/process/Bulkmail_lib/process.js b/process/Bulkmail_lib/process.js
index c8198e8f828a79b9d0d7951b2e77e24963a3239c..05c5dbc203e94ae8054e38d86ca8f993542a91a6 100644
--- a/process/Bulkmail_lib/process.js
+++ b/process/Bulkmail_lib/process.js
@@ -554,13 +554,14 @@ BulkMailUtils.copy = function(pBulkMailId)
  * @param {String} pMailRunId          <p>
  *                                      The id of the bulk mail run.<br>
  * @param {String} pMailLogId          <p>
- *                                      The id of the corresponding mail log entry.<br>                                                                           
+ *                                      The id of the corresponding mail log entry.<br>  
+ * @param {String} pFile                                                            
  **/
-BulkMailUtils.storeEmlFile = function(pBulkMailId,pMailRunId, pMailLogId,pFile)
+BulkMailUtils.storeEmlFile = function (pBulkMailId, pMailRunId, pMailLogId, pFile)
 {
-    var locationoption = project.getPreferenceValue("bulkmail.fileStorage","/bulkMailFiles/");
-    var path = vars.get("$sys.serverdata")+locationoption +pBulkMailId+"/"+pMailRunId+"/";
-    var filename = pMailLogId+".eml"
+    var locationoption = project.getPreferenceValue("bulkmail.fileStorage", "/bulkMailFiles/");
+    var path = vars.get("$sys.serverdata") + locationoption + pBulkMailId + "/" + pMailRunId + "/";
+    var filename = pMailLogId + ".eml"
     var fullPath = path + filename;
     fileIO.storeData(fullPath, pFile, util.DATA_BINARY, false);
 }
diff --git a/process/Contact_lib/process.js b/process/Contact_lib/process.js
index d154f286f514db3308097b02d05be777cedfe273..4d6ad17a8dbaa9240b0223a3791db0c510a18df0 100644
--- a/process/Contact_lib/process.js
+++ b/process/Contact_lib/process.js
@@ -1,4 +1,5 @@
 import("KeywordRegistry_basic");
+import("MarketingCondition_lib");
 import("Keyword_lib");
 import("system.datetime");
 import("system.translate");
@@ -589,16 +590,25 @@ ContactUtils.getCommRestrictionCondition = function (pMedium, pNoRestriction, pS
  * 
  * @param {String} pContactId contact id
  * @param {String} pMedium medium to check
- * @param {String|Number} [pStartDate=current date] the start date of the commrestriction
  * 
  * @return {Boolean} true, if the contact has a commrestriction, otherwise false
  */
-ContactUtils.hasCommRestriction = function(pContactId, pMedium, pStartDate)
+ContactUtils.hasCommRestriction = function (pContactId, pMedium)
 {
+    var commSettingsCond = new CommunicationSettingsCondition();
+    if (pMedium == $KeywordRegistry.communicationMediumCampaign$letter())
+    {
+        commSettingsCond.address();
+    }
+    else
+    {
+        commSettingsCond.medium(pMedium);
+    }
+    
     return newSelect("CONTACTID")
         .from("CONTACT")
         .where("CONTACT.CONTACTID", pContactId)
-        .and(ContactUtils.getCommRestrictionCondition(pMedium, false, pStartDate))
+        .and(commSettingsCond.rejected().existSettings().buildCondition())
         .cell() != "";
 }
 
diff --git a/process/MarketingCondition_test/MarketingCondition_test.aod b/process/MarketingCondition_test/MarketingCondition_test.aod
index e1fabb654e0c28f0747afcbf030302c26d996392..3f8e07edff10bc88d1a83877df45e54da223a1be 100644
--- a/process/MarketingCondition_test/MarketingCondition_test.aod
+++ b/process/MarketingCondition_test/MarketingCondition_test.aod
@@ -2,7 +2,6 @@
 <process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.2.2" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.2.2">
   <name>MarketingCondition_test</name>
   <majorModelMode>DISTRIBUTED</majorModelMode>
-  <process>%aditoprj%/process/MarketingCondition_test/process.js</process>
   <variants>
     <element>EXECUTABLE</element>
   </variants>
diff --git a/process/MarketingCondition_test/process.js b/process/MarketingCondition_test/process.js
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000