{"id":646062,"date":"2019-10-30T01:12:13","date_gmt":"2019-10-30T08:12:13","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=646062"},"modified":"2020-02-19T07:19:34","modified_gmt":"2020-02-19T15:19:34","slug":"advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","title":{"rendered":"Advanced Attribute Rules &#8211; Editing features on another class with attribute rules"},"author":7511,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[23851],"tags":[302212,25381],"industry":[],"product":[36571,36561],"class_list":["post-646062","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-attribute-rules","tag-geodatabase","product-arcgis-enterprise","product-arcgis-pro"],"acf":{"short_description":"An overview of the advanced dictionary based functionality in attribute rules with examples.","flexible_content":[{"acf_fc_layout":"content","content":"<p>With ArcGIS Pro 2.4 and Enterprise 10.7.1, we have introduced the ability to author geodatabase attribute rules that edit features on other classes using special dictionary keywords and syntax. This blog will provide an overview of this functionality with examples on how this can be configured. To learn more on the topic, see <a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/geodatabases\/overview\/attribute-rule-dictionary-keywords.htm\">Attribute rule dictionary keywords<\/a> in the help. All Arcade scripts and examples are available as a file geodatabase in this blog for you to download and work with <a href=\"https:\/\/www.esri.com\/arcgis-blog\/attributerulesdml-gdb\/\">here<\/a>.<\/p>\n<h1>Create new features on another class<\/h1>\n<p>In this example we have two feature classes: `pointClass` and `polygonClass`. We want to create an attribute rule that accomplishes three goals:<\/p>\n<ol>\n<li>Buffer each point feature created in the pointClass by 40 feet to create a circle polygon.<\/li>\n<li>Insert the polygon buffer geometry into the polygonClass.<\/li>\n<li>Maintain relation between the two classes through creation of a pointGuid field in the polygonClass which points to the Global ID of the pointClass.<\/li>\n<\/ol>\n"},{"acf_fc_layout":"image","image":{"ID":646092,"id":646092,"title":"File Geodatabase Attribute Rules","filename":"gdb.png","filesize":3462,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/gdb","alt":"attribute rules geodatabase","author":"7511","description":"attribute rules geodatabase","caption":"attribute rules geodatabase","name":"gdb","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:47:15","modified":"2019-10-30 18:02:59","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":237,"height":73,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb-213x73.png","thumbnail-width":213,"thumbnail-height":73,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","medium-width":237,"medium-height":73,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","medium_large-width":237,"medium_large-height":73,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","large-width":237,"large-height":73,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","1536x1536-width":237,"1536x1536-height":73,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","2048x2048-width":237,"2048x2048-height":73,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","card_image-width":237,"card_image-height":73,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/gdb.png","wide_image-width":237,"wide_image-height":73}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":646102,"id":646102,"title":"point feature class","filename":"dml1.png","filesize":11797,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/dml1","alt":"point feature class","author":"7511","description":"point feature class","caption":"point feature class","name":"dml1","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:47:47","modified":"2019-10-30 17:48:09","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":460,"height":228,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","medium-width":460,"medium-height":228,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","medium_large-width":460,"medium_large-height":228,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","large-width":460,"large-height":228,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","1536x1536-width":460,"1536x1536-height":228,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","2048x2048-width":460,"2048x2048-height":228,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","card_image-width":460,"card_image-height":228,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml1.png","wide_image-width":460,"wide_image-height":228}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":646122,"id":646122,"title":"polygon class","filename":"dml2.png","filesize":13946,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/dml2","alt":"polygon class","author":"7511","description":"polygon class","caption":"polygon class","name":"dml2","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:48:28","modified":"2019-10-30 17:48:38","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":474,"height":278,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","medium-width":445,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","medium_large-width":474,"medium_large-height":278,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","large-width":474,"large-height":278,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","1536x1536-width":474,"1536x1536-height":278,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","2048x2048-width":474,"2048x2048-height":278,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","card_image-width":474,"card_image-height":278,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.png","wide_image-width":474,"wide_image-height":278}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>We will create a new<a href=\"https:\/\/pro.arcgis.com\/en\/pro-app\/help\/data\/geodatabases\/overview\/calculation-attribute-rules.htm#ESRI_SECTION1_B0BC99A68A544E318F8E0C4E431BFA64\"> immediate calculation attribute rule<\/a> using the following expression with a triggering event on insert. Make sure to exclude evaluation on the client by checking the option <strong>Exclude from application evaluation<\/strong>.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":646152,"id":646152,"title":"Immediate Attribute Rule","filename":"rule1.png","filesize":32705,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/rule1","alt":"Immediate Attribute Rule","author":"7511","description":"Immediate Attribute Rule","caption":"Immediate Attribute Rule","name":"rule1","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:54:20","modified":"2019-10-30 17:54:32","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":356,"height":693,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","medium-width":134,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","medium_large-width":356,"medium_large-height":693,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","large-width":356,"large-height":693,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","1536x1536-width":356,"1536x1536-height":693,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","2048x2048-width":356,"2048x2048-height":693,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-239x465.png","card_image-width":239,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1.png","wide_image-width":356,"wide_image-height":693}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":646162,"id":646162,"title":"Exclude from application evaluation","filename":"rule1-exclude.png","filesize":5503,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/rule1-exclude","alt":"Exclude from application evaluation has to be turned on for any attribute rule that returns dictionary","author":"7511","description":"Exclude from application evaluation has to be turned on for any attribute rule that returns dictionary","caption":"Exclude from application evaluation has to be turned on for any attribute rule that returns dictionary","name":"rule1-exclude","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:54:45","modified":"2019-10-30 21:29:02","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":351,"height":171,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude-213x171.png","thumbnail-width":213,"thumbnail-height":171,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","medium-width":351,"medium-height":171,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","medium_large-width":351,"medium_large-height":171,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","large-width":351,"large-height":171,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","1536x1536-width":351,"1536x1536-height":171,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","2048x2048-width":351,"2048x2048-height":171,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","card_image-width":351,"card_image-height":171,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule1-exclude.png","wide_image-width":351,"wide_image-height":171}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/\/The attribute rule is added to the pointClass on the Field field on insert<\/span>\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/buffer the point feature 40 feet, this will give us a circle polygon geometry <\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bufferedFeature = buffer($feature,<span style=\"color: #008080\">40<\/span>)\r\n \r\n<span style=\"color: #333;font-weight: bold\">return<\/span> {\r\n       <span style=\"color: #998;font-style: italic\">\/\/we want to just return the value of field `Field` no change require<\/span>\r\n      <span style=\"color: #d14\">\"result\"<\/span>: $feature.field,\r\n       <span style=\"color: #998;font-style: italic\">\/\/this keyword indicates an edit that need to happen, its an array since we can make many edits<\/span>\r\n       <span style=\"color: #d14\">\"edit\"<\/span>: [  \r\n           {  \r\n               <span style=\"color: #998;font-style: italic\">\/\/the other class we want to edit<\/span>\r\n               <span style=\"color: #d14\">\"className\"<\/span> : <span style=\"color: #d14\">\"polygonclass\"<\/span>, \r\n               <span style=\"color: #998;font-style: italic\">\/\/the type of edit, in this case we want to add so we say `adds`, its an array since we can make many inserts<\/span>\r\n               <span style=\"color: #d14\">\"adds\"<\/span> : [\r\n                       \r\n                      {\r\n                            <span style=\"color: #998;font-style: italic\">\/\/the attribute of the feature we want to add, <\/span>\r\n                            <span style=\"color: #998;font-style: italic\">\/\/ we only want to populate the pointGuid with the globalId of the feature being created<\/span>\r\n                            <span style=\"color: #d14\">\"attributes\"<\/span>:  \r\n                             {\r\n                                   <span style=\"color: #d14\">\"pointGuid\"<\/span>: $feature.globalid \r\n\r\n                               }, \r\n                            <span style=\"color: #998;font-style: italic\">\/\/we want to use the buffered geometry to insert the polygon<\/span>\r\n                            <span style=\"color: #d14\">\"geometry\"<\/span>: bufferedFeature\r\n\r\n                      }\r\n\r\n             ]\r\n\r\n\r\n            }\r\n      \r\n     ]\r\n\r\n}\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":646562,"id":646562,"title":"Creating features with attribute rules","filename":"dml.gif","filesize":736001,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/dml","alt":"Creating features with attribute rules","author":"7511","description":"Creating features with attribute rules","caption":"Creating features with attribute rules","name":"dml","status":"inherit","uploaded_to":646062,"date":"2019-10-30 18:44:28","modified":"2019-10-30 18:54:54","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1348,"height":852,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","medium-width":413,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","medium_large-width":768,"medium_large-height":485,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","large-width":1348,"large-height":852,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","1536x1536-width":1348,"1536x1536-height":852,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","2048x2048-width":1348,"2048x2048-height":852,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml-736x465.gif","card_image-width":736,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml.gif","wide_image-width":1348,"wide_image-height":852}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"blockquote","content":"<p>Note: The `result` key is used to return the value to persist in the field `Field` which the attribute rule is assigned to. In this case I really didn't do anything to the feature being created so I just returned the same value of the field `Field` (I know, terrible name for a field sorry). When returning the same value, the system will detect that there is no change and will not perform an additional edit to the feature. This is useful to avoid triggering behavior associated with the field (if any) such as extension specific behavior, e.g. dirty area management in utility network.<\/p>\n"},{"acf_fc_layout":"content","content":"<p>&nbsp;<\/p>\n<h1><strong>Update existing features in another class<br \/>\n<\/strong><\/h1>\n<p>Now we want to add another attribute rule that performs an update. With this rule we want to ensure that the buffered polygon moves along with the point feature when it is moved.\u00a0 The best solution to achieve this would be to update the buffered polygon feature geometry with a new buffer after the update.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":646182,"id":646182,"title":"Attribute Rule on Update","filename":"rule2.png","filesize":38176,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/rule2","alt":"","author":"7511","description":"","caption":"","name":"rule2","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:55:45","modified":"2019-10-30 17:56:07","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":459,"height":691,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","medium-width":173,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","medium_large-width":459,"medium_large-height":691,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","large-width":459,"large-height":691,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","1536x1536-width":459,"1536x1536-height":691,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","2048x2048-width":459,"2048x2048-height":691,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2-309x465.png","card_image-width":309,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule2.png","wide_image-width":459,"wide_image-height":691}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/\/The attribute rule is added to the pointClass on the Field field on update<\/span>\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/buffer the point feature 40 feet, this will give us a circle polygon geometry <\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bufferedGeometry = buffer($feature,<span style=\"color: #008080\">40<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/get the guid of the point feature being updated<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> globalId = $feature.globalid\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/find the buffered geometry feature<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fs = FeatureSetbyName($datastore, <span style=\"color: #d14\">\"polygonclass\"<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/by filtering on the pointGuid<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bf = filter(fs, <span style=\"color: #d14\">\"pointGuid = @globalId\"<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/if we couldn't find it exit (someone might've deleted it)<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> (count(bf) == <span style=\"color: #008080\">0<\/span>) <span style=\"color: #333;font-weight: bold\">return<\/span> $feature.field;\r\n<span style=\"color: #998;font-style: italic\">\/\/get the feature row (we should only have one )<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bufferedFeature = first(bf)\r\n\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> {\r\n      <span style=\"color: #998;font-style: italic\">\/\/we want to just return the value of field `Field` no change require<\/span>\r\n      <span style=\"color: #d14\">\"result\"<\/span>: $feature.field,\r\n      <span style=\"color: #998;font-style: italic\">\/\/this keyword indicates an edit that need to happen, its an array since we can make many edits<\/span>\r\n       <span style=\"color: #d14\">\"edit\"<\/span>: [\r\n           {  \r\n              <span style=\"color: #998;font-style: italic\">\/\/the other class we want to edit<\/span>\r\n               <span style=\"color: #d14\">\"className\"<\/span> : <span style=\"color: #d14\">\"polygonclass\"<\/span>,\r\n               <span style=\"color: #998;font-style: italic\">\/\/the type of edit, in this case we want to update so we say `updates`, its an array since we can make many updates<\/span>\r\n               <span style=\"color: #d14\">\"updates\"<\/span> : [\r\n                      { \r\n                            <span style=\"color: #998;font-style: italic\">\/\/what feature we need to update? we can either find it by the globalid or the objectId<\/span>\r\n                            <span style=\"color: #d14\">\"globalID\"<\/span> : bufferedFeature.globalId,\r\n                            <span style=\"color: #998;font-style: italic\">\/\/what do we want to update (we can optionally add attributes property and update properties there)<\/span>\r\n                            <span style=\"color: #d14\">\"geometry\"<\/span>: bufferedGeometry \r\n\r\n                     }\r\n\r\n             ]\r\n\r\n\r\n            }    \r\n     ]\r\n\r\n}\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":646582,"id":646582,"title":"updating features with attribute rules","filename":"dml2.gif","filesize":784464,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/dml2-2","alt":"updating features with attribute rules","author":"7511","description":"updating features with attribute rules","caption":"updating features with attribute rules","name":"dml2-2","status":"inherit","uploaded_to":646062,"date":"2019-10-30 18:47:20","modified":"2019-10-30 18:47:48","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1348,"height":870,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","medium-width":404,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","medium_large-width":768,"medium_large-height":496,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","large-width":1348,"large-height":870,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","1536x1536-width":1348,"1536x1536-height":870,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","2048x2048-width":1348,"2048x2048-height":870,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2-720x465.gif","card_image-width":720,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml2.gif","wide_image-width":1348,"wide_image-height":870}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"blockquote","content":"<p>Note: This attribute rule will be executed for any update on the point feature. That means we will be updating the geometry of the buffered feature for every update to the point feature and this could be unnecessarily expensive. In ArcGIS Pro 2.5 we will introduce the concept of <b>$originalfeature<\/b> in Arcade which will allow us to compare the state of the feature before it was edited so we only proceed with the edit if the geometry has change. A following blog will be written detailing this capability. <\/p>\n"},{"acf_fc_layout":"content","content":"<h1><strong>Delete existing features on another class<br \/>\n<\/strong><\/h1>\n<p>Finally, we want to create an attribute rule that will delete other features.\u00a0 We want to use the same example used above so that the buffered geometry feature is removed from the polygonClass if the corresponding point feature is removed from pointClass.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":646202,"id":646202,"title":"Attribute Rules on Delete","filename":"rule3.png","filesize":36346,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/rule3","alt":"","author":"7511","description":"","caption":"","name":"rule3","status":"inherit","uploaded_to":646062,"date":"2019-10-30 17:58:56","modified":"2019-10-30 17:59:04","menu_order":0,"mime_type":"image\/png","type":"image","subtype":"png","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":457,"height":688,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","medium-width":173,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","medium_large-width":457,"medium_large-height":688,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","large-width":457,"large-height":688,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","1536x1536-width":457,"1536x1536-height":688,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","2048x2048-width":457,"2048x2048-height":688,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3-309x465.png","card_image-width":309,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/rule3.png","wide_image-width":457,"wide_image-height":688}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\">\r\n<span style=\"color: #998;font-style: italic\">\/\/The attribute rule is added to the pointClass on the Field field executed on delete<\/span>\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/buffer the point feature 40 feet, this will give us a circle polygon geometry <\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bufferedGeometry = buffer($feature,<span style=\"color: #008080\">40<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/get the guid of the point feature being updated<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> globalId = $feature.globalid\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/find the buffered geometry feature<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fs = FeatureSetbyName($datastore, <span style=\"color: #d14\">\"polygonclass\"<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/by filtering on the pointGuid<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bf = filter(fs, <span style=\"color: #d14\">\"pointGuid = @globalId\"<\/span>)\r\n<span style=\"color: #998;font-style: italic\">\/\/if we couldn't find it exit (someone might've deleted it)<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> (count(bf) == <span style=\"color: #008080\">0<\/span>) <span style=\"color: #333;font-weight: bold\">return<\/span> $feature.field;\r\n<span style=\"color: #998;font-style: italic\">\/\/get the feature row (we should only have one )<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bufferedFeature = first(bf)\r\n\r\n\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> { \r\n       <span style=\"color: #998;font-style: italic\">\/\/we want to just return the value of field `Field` no change require<\/span>\r\n      <span style=\"color: #d14\">\"result\"<\/span>: $feature.field,\r\n       <span style=\"color: #998;font-style: italic\">\/\/this keyword indicates an edit that need to happen, its an array since we can make many edits<\/span>\r\n       <span style=\"color: #d14\">\"edit\"<\/span>: [\r\n           {  \r\n              <span style=\"color: #998;font-style: italic\">\/\/the other class we want to edit<\/span>\r\n               <span style=\"color: #d14\">\"className\"<\/span> : <span style=\"color: #d14\">\"polygonClass\"<\/span>,\r\n               <span style=\"color: #998;font-style: italic\">\/\/the type of edit, in this case we want to delete so we say `deletes`, its an array since we can make many deletes<\/span>\r\n               <span style=\"color: #d14\">\"deletes\"<\/span> : [\r\n                      {\r\n                            <span style=\"color: #998;font-style: italic\">\/\/what feature we need to delete? <\/span>\r\n                            <span style=\"color: #d14\">\"globalID\"<\/span> : bufferedFeature.globalId \r\n                      }\r\n\r\n             ]\r\n\r\n\r\n            }\r\n      \r\n        \r\n\r\n     ]\r\n\r\n}\r\n\r\n\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":646542,"id":646542,"title":"Deleting features with attribute rules","filename":"dml3.gif","filesize":770717,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\/dml3","alt":"Deleting features with attribute rules","author":"7511","description":"Deleting features with attribute rules","caption":"Deleting features with attribute rules","name":"dml3","status":"inherit","uploaded_to":646062,"date":"2019-10-30 18:40:16","modified":"2019-10-30 18:41:35","menu_order":0,"mime_type":"image\/gif","type":"image","subtype":"gif","icon":"https:\/\/www.esri.com\/arcgis-blog\/wp-includes\/images\/media\/default.png","width":1352,"height":822,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","medium-width":429,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","medium_large-width":768,"medium_large-height":467,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","large-width":1352,"large-height":822,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","1536x1536-width":1352,"1536x1536-height":822,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","2048x2048-width":1352,"2048x2048-height":822,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3-765x465.gif","card_image-width":765,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/10\/dml3.gif","wide_image-width":1352,"wide_image-height":822}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>In this blog we outlined the building blocks that can enable you to build interesting and powerful Arcade expressions.\u00a0 With great power comes great creativity.\u00a0 Go forth and write cool attribute rules!<\/p>\n<p>&nbsp;<\/p>\n<p>You can download the file geodatabase with the examples discussed in this blog <a href=\"https:\/\/www.esri.com\/arcgis-blog\/attributerulesdml-gdb\/\">here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Edit: 1\/30\/2020<\/strong><\/p>\n<p>In some examples above, I call <strong>Count(fs)<\/strong> to check if the featureset is empty. If it is not empty I call <strong>First(fs)<\/strong> to get the first row. Bear in mind that these are two queries to the database and to make attribute rule more performant a better pattern is to call in <strong>First(fs)<\/strong> and guard against null instead.<\/p>\n<p><a class=\"btn btn-large center-btn\" style=\"margin: 0 auto;max-width: 200px\" href=\"https:\/\/www.esri.com\/en-us\/arcgis\/products\/arcgis-pro\/trial\">Free ArcGIS Pro Trial<\/a><\/p>\n"}],"authors":[{"ID":7511,"user_firstname":"Hussein","user_lastname":"Nasser","nickname":"Hussein Nasser","user_nicename":"hussein-nasser","display_name":"Hussein Nasser","user_email":"HNasser@esri.com","user_url":"http:\/\/www.husseinnasser.com","user_registered":"2018-03-21 18:21:21","user_description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":"","card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/get-started-enterprise-guide.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/get-started-enterprise-guide-banner.jpg"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Advanced Attribute Rules - Editing features on another class with attribute rules<\/title>\n<meta name=\"description\" content=\"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Advanced Attribute Rules - Editing features on another class with attribute rules\" \/>\n<meta property=\"og:description\" content=\"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\" \/>\n<meta property=\"og:site_name\" content=\"ArcGIS Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/esrigis\/\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-19T15:19:34+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ESRI\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\"},\"author\":{\"name\":\"Hussein Nasser\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\"},\"headline\":\"Advanced Attribute Rules &#8211; Editing features on another class with attribute rules\",\"datePublished\":\"2019-10-30T08:12:13+00:00\",\"dateModified\":\"2020-02-19T15:19:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\"},\"wordCount\":12,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"attribute rules\",\"geodatabase\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\",\"name\":\"Advanced Attribute Rules - Editing features on another class with attribute rules\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2019-10-30T08:12:13+00:00\",\"dateModified\":\"2020-02-19T15:19:34+00:00\",\"description\":\"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advanced Attribute Rules &#8211; Editing features on another class with attribute rules\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"name\":\"ArcGIS Blog\",\"description\":\"Get insider info from Esri product teams\",\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\",\"name\":\"Esri\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png\",\"width\":400,\"height\":400,\"caption\":\"Esri\"},\"image\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/esrigis\/\",\"https:\/\/x.com\/ESRI\",\"https:\/\/www.linkedin.com\/company\/5311\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\",\"name\":\"Hussein Nasser\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png\",\"caption\":\"Hussein Nasser\"},\"description\":\"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.\",\"sameAs\":[\"http:\/\/www.husseinnasser.com\",\"https:\/\/www.linkedin.com\/in\/hnaser\/\",\"https:\/\/x.com\/hnasr\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Advanced Attribute Rules - Editing features on another class with attribute rules","description":"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","og_locale":"en_US","og_type":"article","og_title":"Advanced Attribute Rules - Editing features on another class with attribute rules","og_description":"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-02-19T15:19:34+00:00","twitter_card":"summary_large_image","twitter_site":"@ESRI","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules"},"author":{"name":"Hussein Nasser","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b"},"headline":"Advanced Attribute Rules &#8211; Editing features on another class with attribute rules","datePublished":"2019-10-30T08:12:13+00:00","dateModified":"2020-02-19T15:19:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules"},"wordCount":12,"commentCount":6,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["attribute rules","geodatabase"],"articleSection":["Data Management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules","name":"Advanced Attribute Rules - Editing features on another class with attribute rules","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2019-10-30T08:12:13+00:00","dateModified":"2020-02-19T15:19:34+00:00","description":"Advanced Attribute rules in the geodatabase. Immediate attribute rules that edit rows from other feature classes (insert, update and delete)","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/advanced-gdb-attribute-rules-editing-external-features-with-attribute-rules#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Advanced Attribute Rules &#8211; Editing features on another class with attribute rules"}]},{"@type":"WebSite","@id":"https:\/\/www.esri.com\/arcgis-blog\/#website","url":"https:\/\/www.esri.com\/arcgis-blog\/","name":"ArcGIS Blog","description":"Get insider info from Esri product teams","publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.esri.com\/arcgis-blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization","name":"Esri","url":"https:\/\/www.esri.com\/arcgis-blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/04\/Esri.png","width":400,"height":400,"caption":"Esri"},"image":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/esrigis\/","https:\/\/x.com\/ESRI","https:\/\/www.linkedin.com\/company\/5311\/"]},{"@type":"Person","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b","name":"Hussein Nasser","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2018\/06\/profile.png","caption":"Hussein Nasser"},"description":"Product Engineer at Esri, Author of several GIS books and Software Engineering Content Creator on YouTube and a podcast host.","sameAs":["http:\/\/www.husseinnasser.com","https:\/\/www.linkedin.com\/in\/hnaser\/","https:\/\/x.com\/hnasr"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser"}]}},"text_date":"October 30, 2019","author_name":"Hussein Nasser","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/hussein-nasser","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/07\/get-started-enterprise-guide-banner.jpg","primary_product":"ArcGIS Pro","tag_data":[{"term_id":302212,"name":"attribute rules","slug":"attribute-rules","term_group":0,"term_taxonomy_id":302212,"taxonomy":"post_tag","description":"","parent":0,"count":35,"filter":"raw"},{"term_id":25381,"name":"geodatabase","slug":"geodatabase","term_group":0,"term_taxonomy_id":25381,"taxonomy":"post_tag","description":"","parent":0,"count":48,"filter":"raw"}],"category_data":[{"term_id":23851,"name":"Data Management","slug":"data-management","term_group":0,"term_taxonomy_id":23851,"taxonomy":"category","description":"","parent":0,"count":920,"filter":"raw"}],"product_data":[{"term_id":36571,"name":"ArcGIS Enterprise","slug":"arcgis-enterprise","term_group":0,"term_taxonomy_id":36571,"taxonomy":"product","description":"","parent":0,"count":973,"filter":"raw"},{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2036,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-pro","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/646062","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/users\/7511"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=646062"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/646062\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=646062"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=646062"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=646062"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=646062"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=646062"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}