diff --git a/entity/AttributeRelation_entity/AttributeRelation_entity.aod b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
index 6a92d5391d81f8fb81e4968db71c7f66ee112989..566ecc78501f1a90762b9836ac28a185efe4cfa1 100644
--- a/entity/AttributeRelation_entity/AttributeRelation_entity.aod
+++ b/entity/AttributeRelation_entity/AttributeRelation_entity.aod
@@ -244,6 +244,12 @@
           <fieldName>Attributes</fieldName>
           <isConsumer v="false" />
         </entityDependency>
+        <entityDependency>
+          <name>92855510-92c8-4837-85d3-072396f5f7f6</name>
+          <entityName>Contact_entity</entityName>
+          <fieldName>Attributes</fieldName>
+          <isConsumer v="false" />
+        </entityDependency>
       </dependencies>
     </entityProvider>
     <entityField>
diff --git a/entity/Contact_entity/Contact_entity.aod b/entity/Contact_entity/Contact_entity.aod
index 41a386bd8dce1d009f4b1887e118adb79b9165cc..4fb1230acc770bb640816d02be3675e4665dec1b 100644
--- a/entity/Contact_entity/Contact_entity.aod
+++ b/entity/Contact_entity/Contact_entity.aod
@@ -65,17 +65,17 @@
     </entityField>
     <entityConsumer>
       <name>Organisations</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Organisation_entity</entityName>
-        <fieldName>WithPersonIdFilter</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ExcludeOrganisationsByPersonId</name>
           <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/organisations/children/excludeorganisationsbypersonid/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Organisation_entity</entityName>
+        <fieldName>WithPersonIdFilter</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>PersonId_param</name>
@@ -86,6 +86,12 @@
       <name>PersonRelated</name>
       <targetContextField>targetContext</targetContextField>
       <targetIdField>CONTACTID</targetIdField>
+      <children>
+        <entityParameter>
+          <name>OwnContactId_param</name>
+          <expose v="false" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>14975dad-907c-4f8c-bd39-243508ede721</name>
@@ -94,12 +100,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>OwnContactId_param</name>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityField>
       <name>ADDRESS_ID</name>
@@ -115,31 +115,31 @@
     </entityField>
     <entityConsumer>
       <name>Communications</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>Communication_entity</entityName>
-        <fieldName>AllCommunications</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/communications/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
-    </entityConsumer>
-    <entityConsumer>
-      <name>ContactAddresses</name>
       <dependency>
         <name>dependency</name>
-        <entityName>Address_entity</entityName>
-        <fieldName>ContactAddresses</fieldName>
+        <entityName>Communication_entity</entityName>
+        <fieldName>AllCommunications</fieldName>
       </dependency>
+    </entityConsumer>
+    <entityConsumer>
+      <name>ContactAddresses</name>
       <children>
         <entityParameter>
           <name>ContactId_param</name>
           <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/contactaddresses/children/contactid_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>Address_entity</entityName>
+        <fieldName>ContactAddresses</fieldName>
+      </dependency>
     </entityConsumer>
     <entityField>
       <name>LANGUAGE</name>
@@ -163,6 +163,13 @@
       <targetContextField>targetContext</targetContextField>
       <targetIdField>CONTACTID</targetIdField>
       <titlePlural>Other Contactroles</titlePlural>
+      <children>
+        <entityParameter>
+          <name>PersonId_param</name>
+          <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/personscontactsexceptown/children/personid_param/valueProcess.js</valueProcess>
+          <expose v="false" />
+        </entityParameter>
+      </children>
       <dependencies>
         <entityDependency>
           <name>34cc85f4-5555-4631-94fc-f3ad35b7ce7e</name>
@@ -171,13 +178,6 @@
           <isConsumer v="false" />
         </entityDependency>
       </dependencies>
-      <children>
-        <entityParameter>
-          <name>PersonId_param</name>
-          <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/personscontactsexceptown/children/personid_param/valueProcess.js</valueProcess>
-          <expose v="false" />
-        </entityParameter>
-      </children>
     </entityProvider>
     <entityParameter>
       <name>OwnContactId_param</name>
@@ -198,17 +198,17 @@
     </entityField>
     <entityConsumer>
       <name>KeywordContactStates</name>
-      <dependency>
-        <name>dependency</name>
-        <entityName>KeywordEntry_entity</entityName>
-        <fieldName>SpecificContainerKeywords</fieldName>
-      </dependency>
       <children>
         <entityParameter>
           <name>ContainerName_param</name>
           <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/keywordcontactstates/children/containername_param/valueProcess.js</valueProcess>
         </entityParameter>
       </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>KeywordEntry_entity</entityName>
+        <fieldName>SpecificContainerKeywords</fieldName>
+      </dependency>
     </entityConsumer>
     <entityParameter>
       <name>LanguageKey_param</name>
@@ -255,6 +255,30 @@
       <name>#PROVIDER_AGGREGATES</name>
       <useAggregates v="true" />
     </entityProvider>
+    <entityConsumer>
+      <name>Attributes</name>
+      <onValidation>%aditoprj%/entity/Contact_entity/entityfields/attributes/onValidation.js</onValidation>
+      <children>
+        <entityParameter>
+          <name>ShowDsgvoMessage_param</name>
+          <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js</valueProcess>
+          <mandatory v="true" />
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectType_param</name>
+          <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/attributes/children/objecttype_param/valueProcess.js</valueProcess>
+        </entityParameter>
+        <entityParameter>
+          <name>ObjectRowId_param</name>
+          <valueProcess>%aditoprj%/entity/Contact_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js</valueProcess>
+        </entityParameter>
+      </children>
+      <dependency>
+        <name>dependency</name>
+        <entityName>AttributeRelation_entity</entityName>
+        <fieldName>AttributeRelations</fieldName>
+      </dependency>
+    </entityConsumer>
   </entityFields>
   <recordContainers>
     <dbRecordContainer>
diff --git a/entity/Contact_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js b/entity/Contact_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..7b6137b4d105e9ba592cf8ef6e796fb838a32b09
--- /dev/null
+++ b/entity/Contact_entity/entityfields/attributes/children/objectrowid_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.vars");
+import("system.result");
+
+result.string(vars.get("$field.CONTACTID"));
\ No newline at end of file
diff --git a/entity/Contact_entity/entityfields/attributes/children/objecttype_param/valueProcess.js b/entity/Contact_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..eabd0960cd32e6ab2deff9c9985df6453a55d82b
--- /dev/null
+++ b/entity/Contact_entity/entityfields/attributes/children/objecttype_param/valueProcess.js
@@ -0,0 +1,4 @@
+import("system.result");
+import("Context_lib");
+
+result.string("Person");
diff --git a/entity/Contact_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js b/entity/Contact_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..fce9fde135bfde9221a9956f545862641098ff7c
--- /dev/null
+++ b/entity/Contact_entity/entityfields/attributes/children/showdsgvomessage_param/valueProcess.js
@@ -0,0 +1,5 @@
+import("system.vars");
+import("system.neon");
+import("system.result");
+
+result.string(vars.get("$sys.recordstate") != neon.OPERATINGSTATE_NEW);
\ No newline at end of file
diff --git a/entity/Contact_entity/entityfields/attributes/onValidation.js b/entity/Contact_entity/entityfields/attributes/onValidation.js
new file mode 100644
index 0000000000000000000000000000000000000000..48155ac1272fca45d78bbcd34dab4488bed86dea
--- /dev/null
+++ b/entity/Contact_entity/entityfields/attributes/onValidation.js
@@ -0,0 +1,6 @@
+import("Context_lib");
+import("system.vars");
+import("Attribute_lib");
+import("system.result");
+
+result.string(AttributeRelationUtils.validateAttributeCount(vars.get("$field.CONTACTID"), "Person", "Attributes"));
\ No newline at end of file
diff --git a/neonView/ContactEdit_view/ContactEdit_view.aod b/neonView/ContactEdit_view/ContactEdit_view.aod
index 1ba399ccaff87cb177e8025ad93c7fd3e0740864..401f3bb64a5e3e3f270eb242f31e31e9072073e8 100644
--- a/neonView/ContactEdit_view/ContactEdit_view.aod
+++ b/neonView/ContactEdit_view/ContactEdit_view.aod
@@ -44,5 +44,10 @@
       <entityField>Communications</entityField>
       <view>CommunicationMultiEdit_view</view>
     </neonViewReference>
+    <neonViewReference>
+      <name>cd3c14c9-f189-483b-9bcd-f3125c9dd77a</name>
+      <entityField>Attributes</entityField>
+      <view>AttributeRelationMultiEdit_view</view>
+    </neonViewReference>
   </children>
 </neonView>