{"id":672112,"date":"2020-02-10T16:10:33","date_gmt":"2020-02-11T00:10:33","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=672112"},"modified":"2020-02-19T07:19:15","modified_gmt":"2020-02-19T15:19:15","slug":"restrict-editing-based-on-boundary-limits-with-attribute-rules","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules","title":{"rendered":"Limit Edits within a Boundary 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,27971,25381],"industry":[],"product":[36561],"class_list":["post-672112","blog","type-blog","status-publish","format-standard","hentry","category-data-management","tag-attribute-rules","tag-editing","tag-geodatabase","product-arcgis-pro"],"acf":{"short_description":"Allow certain users to edit areas with attribute rules","flexible_content":[{"acf_fc_layout":"content","content":"<p>How do I limit the editing extent? How can I restrict editing to certain boundaries? How can I limit users to edit only within the work order boundary assigned to them? Is it possible to limit users to edit in some boundaries and not in others? We get these questions a lot and in this blog we will illustrate how we can do this with Attribute Rules.<\/p>\n"},{"acf_fc_layout":"content","content":"<h1>Limit Edits within a Boundary Area<\/h1>\n<p>In this example we want to create a boundary feature class which will represent the restrictive zones or areas. We will also create another feature class that represents the data; Finally we will add an attribute rule to the feature class that checks if the feature being created or updated is within the boundary.<\/p>\n<p><em>Note: This example can be done in a File geodatabase with ArcGIS Pro 2.4 or later. However I&#8217;m using an enterprise geodatabase. <\/em><\/p>\n<p>In an Enterprise geodatabase, create the following two feature classes with fields as illustrated.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672172,"id":672172,"title":"catalog","filename":"catalog.png","filesize":6279,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/catalog-5","alt":"","author":"7511","description":"","caption":"","name":"catalog-5","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:29:34","modified":"2019-12-05 20:29:34","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":419,"height":357,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","medium-width":306,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","medium_large-width":419,"medium_large-height":357,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","large-width":419,"large-height":357,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","1536x1536-width":419,"1536x1536-height":357,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","2048x2048-width":419,"2048x2048-height":357,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","card_image-width":419,"card_image-height":357,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog.png","wide_image-width":419,"wide_image-height":357}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":672122,"id":672122,"title":"boundaryclass","filename":"boundaryclass.png","filesize":7583,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/boundaryclass","alt":"","author":"7511","description":"","caption":"","name":"boundaryclass","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:15:01","modified":"2019-12-05 20:15:01","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":605,"height":272,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","medium-width":464,"medium-height":209,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","medium_large-width":605,"medium_large-height":272,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","large-width":605,"large-height":272,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","1536x1536-width":605,"1536x1536-height":272,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","2048x2048-width":605,"2048x2048-height":272,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","card_image-width":605,"card_image-height":272,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/boundaryclass.png","wide_image-width":605,"wide_image-height":272}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":672132,"id":672132,"title":"pointClass","filename":"pointClass.png","filesize":5807,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/pointclass","alt":"","author":"7511","description":"","caption":"","name":"pointclass","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:16:05","modified":"2019-12-05 20:16:05","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":602,"height":195,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass-213x195.png","thumbnail-width":213,"thumbnail-height":195,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","medium-width":464,"medium-height":150,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","medium_large-width":602,"medium_large-height":195,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","large-width":602,"large-height":195,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","1536x1536-width":602,"1536x1536-height":195,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","2048x2048-width":602,"2048x2048-height":195,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","card_image-width":602,"card_image-height":195,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/pointClass.png","wide_image-width":602,"wide_image-height":195}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Add a constraint Attribute Rule to the <strong>pointClass, <\/strong>make it execute on<strong> Insert, Update and Delete <\/strong>then click on save.\u00a0 Use the following script<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\"><span style=\"color: #998;font-style: italic\">\/\/allow edits only inside the boundary<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fsBoundary = FeatureSetByName($datastore, <span style=\"color: #d14\">\"boundaryClass\"<\/span>, [<span style=\"color: #d14\">\"globalId\"<\/span>], <span style=\"color: #333;font-weight: 500\">false<\/span>);\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> Count(Intersects(fsBoundary, Geometry($feature))) &gt; <span style=\"color: #008080\">0<\/span>\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"image","image":{"ID":672432,"id":672432,"title":"rule2","filename":"rule2.png","filesize":14793,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/rule2-2","alt":"","author":"7511","description":"","caption":"","name":"rule2-2","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:59:05","modified":"2019-12-05 21:59:05","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":744,"height":698,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","medium-width":278,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","medium_large-width":744,"medium_large-height":698,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","large-width":744,"large-height":698,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","1536x1536-width":744,"1536x1536-height":698,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","2048x2048-width":744,"2048x2048-height":698,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2-496x465.png","card_image-width":496,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/rule2.png","wide_image-width":744,"wide_image-height":698}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Let us test this out, create a polygon in the <strong>boundaryClass<\/strong> and try creating point features outside and inside the boundary.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672162,"id":672162,"title":"restr1","filename":"restr1.gif","filesize":465114,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/restr1","alt":"","author":"7511","description":"","caption":"","name":"restr1","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:25:10","modified":"2019-12-05 20:25:10","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":1208,"height":760,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","medium-width":415,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","medium_large-width":768,"medium_large-height":483,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","large-width":1208,"large-height":760,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","1536x1536-width":1208,"1536x1536-height":760,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","2048x2048-width":1208,"2048x2048-height":760,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1-739x465.gif","card_image-width":739,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restr1.gif","wide_image-width":1208,"wide_image-height":760}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<h1>Limit Edits to User Assigned Boundaries<\/h1>\n<p>So the example above was pretty simple and straight forward. There is one or more boundaries and you want all your users to make sure to edit within the boundary. However, is it possible to use Attribute Rules to allow certain users to only edit in their assigned boundaries? Building on the example above, we will find out how to do that. Note that you can also apply the same idea to job and work orders.<\/p>\n<p><em>This example can be done with ArcGIS Pro 2.5 and a client\/server connection to an enterprise geodatabase. However I&#8217;m using ArcGIS Enterprise 10.8 through services.<\/em><\/p>\n<p>First we will need an extra table that have the users assigned boundaries. Create a <strong>usersBoundary<\/strong> table, with a <strong>username<\/strong> text field and a <strong>boundaryGuid<\/strong> field foreign key to the <strong>globalId<\/strong> of the <strong>boundaryClass<\/strong>. We will also create a relationship class between the <strong>boundaryClass<\/strong> and the <strong>usersBoundary<\/strong> table. You don&#8217;t have to create the relationship, but it will allow us to assign multiple users to a boundary and will simplify editing the table in Pro.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672192,"id":672192,"title":"table","filename":"table.png","filesize":6321,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/table-4","alt":"","author":"7511","description":"","caption":"","name":"table-4","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:33:31","modified":"2019-12-05 20:33:31","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":617,"height":173,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table-213x173.png","thumbnail-width":213,"thumbnail-height":173,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","medium-width":464,"medium-height":130,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","medium_large-width":617,"medium_large-height":173,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","large-width":617,"large-height":173,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","1536x1536-width":617,"1536x1536-height":173,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","2048x2048-width":617,"2048x2048-height":173,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","card_image-width":617,"card_image-height":173,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/table.png","wide_image-width":617,"wide_image-height":173}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":672212,"id":672212,"title":"gp","filename":"gp.png","filesize":10030,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/gp","alt":"","author":"7511","description":"","caption":"","name":"gp","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:36:37","modified":"2019-12-05 20:36:37","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":689,"height":547,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","medium-width":329,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","medium_large-width":689,"medium_large-height":547,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","large-width":689,"large-height":547,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","1536x1536-width":689,"1536x1536-height":547,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","2048x2048-width":689,"2048x2048-height":547,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp-586x465.png","card_image-width":586,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/gp.png","wide_image-width":689,"wide_image-height":547}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"image","image":{"ID":672222,"id":672222,"title":"catalog2","filename":"catalog2.png","filesize":6547,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/catalog2","alt":"","author":"7511","description":"","caption":"","name":"catalog2","status":"inherit","uploaded_to":672112,"date":"2019-12-05 20:37:10","modified":"2019-12-05 20:37:10","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":379,"height":403,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","medium-width":245,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","medium_large-width":379,"medium_large-height":403,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","large-width":379,"large-height":403,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","1536x1536-width":379,"1536x1536-height":403,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","2048x2048-width":379,"2048x2048-height":403,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","card_image-width":379,"card_image-height":403,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/catalog2.png","wide_image-width":379,"wide_image-height":403}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Final thing we need on our <strong>pointClass<\/strong> is to enable editor tracking.\u00a0 This is how we can tell what user is actually making the edit on attribute rule by looking at <strong>$feature.last_edited_user.<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672252,"id":672252,"title":"editortracking","filename":"editortracking.png","filesize":13084,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/editortracking","alt":"","author":"7511","description":"","caption":"","name":"editortracking","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:03:55","modified":"2019-12-05 21:03:55","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":630,"height":679,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","medium-width":242,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","medium_large-width":630,"medium_large-height":679,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","large-width":630,"large-height":679,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","1536x1536-width":630,"1536x1536-height":679,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","2048x2048-width":630,"2048x2048-height":679,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking-431x465.png","card_image-width":431,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editortracking.png","wide_image-width":630,"wide_image-height":679}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Ok we have all what we need, let us assign users to boundaries as follows:<\/p>\n<ul>\n<li>Jessica can only edit in Boundary 1<\/li>\n<li>Thomas only edit in Boundary 2<\/li>\n<li>William can only edit in Boundary 3<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672242,"id":672242,"title":"editrelation","filename":"editrelation.gif","filesize":653477,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/editrelation","alt":"","author":"7511","description":"","caption":"","name":"editrelation","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:00:22","modified":"2019-12-05 21:00:22","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":1398,"height":720,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","medium-width":464,"medium-height":239,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","medium_large-width":768,"medium_large-height":396,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","large-width":1398,"large-height":720,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","1536x1536-width":1398,"1536x1536-height":720,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","2048x2048-width":1398,"2048x2048-height":720,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation-826x425.gif","card_image-width":826,"card_image-height":425,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/editrelation.gif","wide_image-width":1398,"wide_image-height":720}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Let us edit our attribute rule script on <strong>pointClass<\/strong> to the following script.<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"content","content":"<pre><code style=\"padding: 0.5em;color: #333;background: #f8f8f8\"><span style=\"color: #998;font-style: italic\">\/\/get the current user<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> user = $feature.last_edited_user;\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/get the current Boundary the feature is created\/updated on.<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fsBoundary = FeatureSetByName($datastore, <span style=\"color: #d14\">\"boundaryClass\"<\/span>, [<span style=\"color: #d14\">\"globalId\"<\/span>, <span style=\"color: #d14\">\"boundaryId\"<\/span>], <span style=\"color: #333;font-weight: 500\">false<\/span>);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> fsIntersectedBoundaries = Intersects(fsBoundary, Geometry($feature))\r\n<span style=\"color: #998;font-style: italic\">\/\/if no boundary error<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> (Count(fsIntersectedBoundaries) == <span style=\"color: #008080\">0<\/span>)\r\n   <span style=\"color: #333;font-weight: bold\">return<\/span> {<span style=\"color: #d14\">\"errorMessage\"<\/span>: <span style=\"color: #d14\">\"Features must be created within a boundary\"<\/span>} \r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/we are interested in the first boundary<\/span>\r\n<span style=\"color: #998;font-style: italic\">\/\/we can enhnace the script to look for all boundaries<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> boundary = First(fsIntersectedBoundaries);\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> boundaryGlobalId = boundary.globalId;\r\n\r\n<span style=\"color: #998;font-style: italic\">\/\/query the usersBoundary class<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> usersBoundary = FeatureSetByName($datastore, <span style=\"color: #d14\">\"usersBoundary\"<\/span>); \r\n<span style=\"color: #998;font-style: italic\">\/\/is the user allowed to edit this boundary?<\/span>\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> usercanEdit = Count(Filter(usersBoundary, <span style=\"color: #d14\">\"username = @user AND boundaryGuid = @boundaryGlobalId\"<\/span>)) &gt; <span style=\"color: #008080\">0<\/span>\r\n\r\n<span style=\"color: #333;font-weight: bold\">var<\/span> bid = boundary.boundaryId\r\n<span style=\"color: #998;font-style: italic\">\/\/return a good error message<\/span>\r\n<span style=\"color: #333;font-weight: bold\">if<\/span> (usercanEdit == <span style=\"color: #333;font-weight: 500\">false<\/span>) \r\n   <span style=\"color: #333;font-weight: bold\">return<\/span> {<span style=\"color: #d14\">\"errorMessage\"<\/span>: <span style=\"color: #d14\">\"User \" + user + \" is unauthroized to edit Boundary \" + bid<\/span> }\r\n\r\n<span style=\"color: #333;font-weight: bold\">return<\/span> usercanEdit;\r\n<\/code><\/pre>\n"},{"acf_fc_layout":"content","content":"<p>Let us put our attribute rule to the test. If we log in as Jessica, we will only be able to create features on Boundary 1. Attempts to create features on Boundary 2 or 3 will fail.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672282,"id":672282,"title":"jessica2","filename":"jessica2.gif","filesize":474269,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/jessica2","alt":"","author":"7511","description":"","caption":"","name":"jessica2","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:29:02","modified":"2019-12-05 21:29:02","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":968,"height":672,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","medium-width":376,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","medium_large-width":768,"medium_large-height":533,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","large-width":968,"large-height":672,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","1536x1536-width":968,"1536x1536-height":672,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","2048x2048-width":968,"2048x2048-height":672,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2-670x465.gif","card_image-width":670,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/jessica2.gif","wide_image-width":968,"wide_image-height":672}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Similarly, Thomas can only edit features in Boundary 2<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672292,"id":672292,"title":"thomas","filename":"thomas.gif","filesize":422223,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/thomas","alt":"","author":"7511","description":"","caption":"","name":"thomas","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:29:52","modified":"2019-12-05 21:29:52","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":970,"height":660,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","medium-width":384,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","medium_large-width":768,"medium_large-height":523,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","large-width":970,"large-height":660,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","1536x1536-width":970,"1536x1536-height":660,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","2048x2048-width":970,"2048x2048-height":660,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas-683x465.gif","card_image-width":683,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/thomas.gif","wide_image-width":970,"wide_image-height":660}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Finally,\u00a0 William can only edit features in Boundary\u00a0 3.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672302,"id":672302,"title":"william2","filename":"william2.gif","filesize":407381,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/william2","alt":"","author":"7511","description":"","caption":"","name":"william2","status":"inherit","uploaded_to":672112,"date":"2019-12-05 21:30:39","modified":"2019-12-05 21:30:39","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":968,"height":644,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","medium-width":392,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","medium_large-width":768,"medium_large-height":511,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","large-width":968,"large-height":644,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","1536x1536-width":968,"1536x1536-height":644,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","2048x2048-width":968,"2048x2048-height":644,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2-699x465.gif","card_image-width":699,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/william2.gif","wide_image-width":968,"wide_image-height":644}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>This also applies for deleting features.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672492,"id":672492,"title":"williamdelete","filename":"williamdelete.gif","filesize":539709,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/williamdelete","alt":"","author":"7511","description":"","caption":"","name":"williamdelete","status":"inherit","uploaded_to":672112,"date":"2019-12-05 22:33:57","modified":"2019-12-05 22:33:57","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":862,"height":770,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","medium-width":292,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","medium_large-width":768,"medium_large-height":686,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","large-width":862,"large-height":770,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","1536x1536-width":862,"1536x1536-height":770,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","2048x2048-width":862,"2048x2048-height":770,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete-521x465.gif","card_image-width":521,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/williamdelete.gif","wide_image-width":862,"wide_image-height":770}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>Updating features is the trickiest though. With the script we have now, Thomas can move features from any boundary to his Boundary, that is because we are only checking the <strong>Geometry($feature)<\/strong> which is the state of the feature AFTER it was updated. So if Tom moves the feature to Boundary 2 we will allow it which is wrong!<\/p>\n<p>To achieve this we will need a new Arcade global that we have introduced in ArcGIS Pro 2.5\/ 10.8 called the <a href=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/originalfeature-new-attribute-rules-arcade-global\/\"><strong>$originalFeature<\/strong> read more about this in this blog<\/a>.<\/p>\n<p>We\u00a0 want to make sure that Tom is allowed to move the feature from its original geometry and that he is also allowed to move the feature to its new location. We will simplify the code by using Arcade functions, lets put all our code in <strong>canEdit<\/strong> that takes the user and the feature geometry and we will do the same code essentially.<\/p>\n<p>The final script can be found <a href=\"https:\/\/github.com\/hussein-nasser\/arcade-scripts\/blob\/master\/restrictBoundaryEditing.js\">here<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":672662,"id":672662,"title":"move","filename":"move.gif","filesize":523817,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\/move-3","alt":"","author":"7511","description":"","caption":"","name":"move-3","status":"inherit","uploaded_to":672112,"date":"2019-12-06 16:23:00","modified":"2019-12-06 16:23:00","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":1254,"height":790,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","medium-width":414,"medium-height":261,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","medium_large-width":768,"medium_large-height":484,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","large-width":1254,"large-height":790,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","1536x1536-width":1254,"1536x1536-height":790,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","2048x2048-width":1254,"2048x2048-height":790,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move-738x465.gif","card_image-width":738,"card_image-height":465,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/move.gif","wide_image-width":1254,"wide_image-height":790}},"image_position":"center","orientation":"horizontal","hyperlink":""},{"acf_fc_layout":"content","content":"<p>The benefit of doing this work with attribute rules is any client consuming the feature service will get this behavior, whether this is through Pro, Web Editor or Collector (connected).\u00a0 You can alternatively write server side code like SOEs or SOIs to achieve similar scenario.<\/p>\n<p>&nbsp;<\/p>\n<p>Note that the code above is provided for demonstration purposes only, assigning many users to boundaries individually my become difficult to manage. Therefore we are thinking of better ways for solving this problem for example by introducing the portal access controls in Arcade so we can work with groups instead of individual users.<\/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\/12\/ampping2.png","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/12\/restrict.png"},"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>Limit Edits within a Boundary with Attribute Rules<\/title>\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\/restrict-editing-based-on-boundary-limits-with-attribute-rules\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Limit Edits within a Boundary with Attribute Rules\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-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:15+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\/restrict-editing-based-on-boundary-limits-with-attribute-rules#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\"},\"author\":{\"name\":\"Hussein Nasser\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b\"},\"headline\":\"Limit Edits within a Boundary with Attribute Rules\",\"datePublished\":\"2020-02-11T00:10:33+00:00\",\"dateModified\":\"2020-02-19T15:19:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\"},\"wordCount\":8,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"attribute rules\",\"editing\",\"geodatabase\"],\"articleSection\":[\"Data Management\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\",\"name\":\"Limit Edits within a Boundary with Attribute Rules\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2020-02-11T00:10:33+00:00\",\"dateModified\":\"2020-02-19T15:19:15+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Limit Edits within a Boundary 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":"Limit Edits within a Boundary with Attribute Rules","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\/restrict-editing-based-on-boundary-limits-with-attribute-rules","og_locale":"en_US","og_type":"article","og_title":"Limit Edits within a Boundary with Attribute Rules","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2020-02-19T15:19:15+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\/restrict-editing-based-on-boundary-limits-with-attribute-rules#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules"},"author":{"name":"Hussein Nasser","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/78b7647b1db598b3c791d039593e5b2b"},"headline":"Limit Edits within a Boundary with Attribute Rules","datePublished":"2020-02-11T00:10:33+00:00","dateModified":"2020-02-19T15:19:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules"},"wordCount":8,"commentCount":3,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["attribute rules","editing","geodatabase"],"articleSection":["Data Management"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules","name":"Limit Edits within a Boundary with Attribute Rules","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2020-02-11T00:10:33+00:00","dateModified":"2020-02-19T15:19:15+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-pro\/data-management\/restrict-editing-based-on-boundary-limits-with-attribute-rules#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Limit Edits within a Boundary 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":"February 10, 2020","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\/12\/restrict.png","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":27971,"name":"editing","slug":"editing","term_group":0,"term_taxonomy_id":27971,"taxonomy":"post_tag","description":"","parent":0,"count":167,"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":926,"filter":"raw"}],"product_data":[{"term_id":36561,"name":"ArcGIS Pro","slug":"arcgis-pro","term_group":0,"term_taxonomy_id":36561,"taxonomy":"product","description":"","parent":0,"count":2046,"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\/672112","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=672112"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/672112\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=672112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=672112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=672112"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=672112"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=672112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}