{"id":530492,"date":"2019-06-21T16:27:34","date_gmt":"2019-06-21T23:27:34","guid":{"rendered":"https:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=530492"},"modified":"2019-12-18T13:10:23","modified_gmt":"2019-12-18T21:10:23","slug":"build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","title":{"rendered":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript"},"author":4271,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[22941,37511],"tags":[96582,27971,27491,300972],"industry":[],"product":[36831,36601],"class_list":["post-530492","blog","type-blog","status-publish","format-standard","hentry","category-mapping","category-sharing-collaboration","tag-arcgis-api-for-javascript","tag-editing","tag-jsapi4","tag-mapping-and-visualization","product-js-api-arcgis","product-developers"],"acf":{"short_description":"Build a tailored web editing experience with the ArcGIS API for JavaScript using the latest capabilities","flexible_content":[{"acf_fc_layout":"content","content":"<p>Do your users need to edit data via your web app? Web editing allows your organization, the public, or any group of users you deem appropriate to collaborate on data creation and updates from any device. The beauty of enabling editing workflows within your custom web app is that you, as the developer, can create any experience needed for your business.<\/p>\n<p>As of version 4.11, ArcGIS API for JavaScript includes an <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-basic\/index.html\">Editor widget<\/a> which enables the full workflow for creating and updating features with several configuration options that allow you to fine-tune the experience for your end users. The API also offers opportunities to fully customize editing workflows using the underlying business logic.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":532662,"id":532662,"title":"editor-widget-final","filename":"editor-widget-final.gif","filesize":1510733,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\/editor-widget-final","alt":"","author":"4271","description":"","caption":"","name":"editor-widget-final","status":"inherit","uploaded_to":530492,"date":"2019-06-20 17:38:29","modified":"2019-06-20 17:38:29","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":2410,"height":1180,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final-213x200.gif","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","medium-width":464,"medium-height":227,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","medium_large-width":768,"medium_large-height":376,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","large-width":1920,"large-height":940,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","1536x1536-width":1536,"1536x1536-height":752,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final.gif","2048x2048-width":2048,"2048x2048-height":1003,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final-826x404.gif","card_image-width":826,"card_image-height":404,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/editor-widget-final-1920x940.gif","wide_image-width":1920,"wide_image-height":940}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-basic\/index.html"},{"acf_fc_layout":"content","content":"<p><strong>Engineering the Editor widget<\/strong><\/p>\n<p>You might be familiar with the 3.x series of the API and its version of the Editor widget. Like all widgets in the 4.x API, the Editor widget was designed using lessons learned from the 3.x widget, along with an updated, modernized approach. Here are a few of the guiding design principals:<\/p>\n<ul>\n<li>It must have a mobile-first design since web editing can take place from any device and screen size.<\/li>\n<li>It should provide simple editing workflows that maximize the end user\u2019s productivity.<\/li>\n<li>From an architectural perspective, it must be easily configurable to mold appropriately to the developer\u2019s requirements and follow the API\u2019s widget development pattern which separates the business logic from the user interface (UI). Maintaining a clean separation between the underlying logic and the UI allows advanced developers to fully customize the presentation of the widget however they want or completely replace it \u2013 using their JavaScript library of choice \u2013 without having to rewrite the logic that takes care of the map interaction and underlying feature editing.<\/li>\n<\/ul>\n<p><strong>First thing\u2019s first. Prepare your layers for editing<\/strong><\/p>\n<p>To simplify the code you need to write, and to take advantage of the various features of the JavaScript APIs editing experience, your services should to be properly configured. The API will use the definition of each editable feature layer to create the default edit UI (you can override some of the settings via code such as hiding some of the editable fields). There are a variety of considerations when it comes to preparing your layers for web editing, for example:<\/p>\n<ul>\n<li>Feature templates: Feature templates defined in the service contain all the information required to create new features in each feature layer. These include information such as the default attribute values with which a feature will be created, and the default symbol for the feature. The Editor widget displays all feature templates for editable layers and the user can browse, filter, and search to find the kind of feature they want to create.<\/li>\n<li>Subtypes and domains: When defining your features&#8217; templates, it is good to use attribute domains and subtypes whenever appropriate. Attribute domains offer a way to enforce data integrity in your data model by restricting the input on any particular field to a list or range of valid values. By creating a domain and applying it to a field, you are limiting the choice of values available for that field. This decreases the possibility of entering invalid information while editing, therefore increasing the integrity of your data. Subtypes allow you to categorize a layer into a subset of features that share the same attributes. You can then apply domains and default values to the fields of each subtype.<\/li>\n<li>Security: Designing the security strategy of your services is an important step when setting up services. For example, you control what edits can be made to a layer (if any), by whom, and whether you want the layer to keep track of when and by whom edits are made on each feature in the layer. When using hosted feature layers, you can also take advantage of layer views which allow you to put constraints on a subset of the data. For example, you can spatially limit the features that are contained in the layer view, and only make the <em>view<\/em> editable (not the full layer), essentially creating an editing geofence.<\/li>\n<\/ul>\n<p>Learn more about managing hosted feature layers in <a href=\"https:\/\/doc.arcgis.com\/en\/arcgis-online\/manage-data\/manage-hosted-feature-layers.htm\">ArcGIS Online<\/a> or <a href=\"https:\/\/enterprise.arcgis.com\/en\/portal\/latest\/use\/manage-hosted-layers.htm\">ArcGIS Enterprise<\/a>. Note that when authoring a feature service using ArcGIS Pro and publishing to <a href=\"https:\/\/enterprise.arcgis.com\/en\/server\/latest\/publish-services\/windows\/what-is-a-feature-service-.htm\">ArcGIS Server<\/a>, you have many of the same options as mentioned for hosted feature layers, as well as a whole host of capabilities at the database level.<\/p>\n<p><strong>Attribute editing bells and whistles<\/strong><\/p>\n<p>Have you ever filled out a form on a website that didn\u2019t give you a tailored experience based on the input type? Or perhaps there were just too many unnecessary fields to fill out? The Editor widget aims to give you the ability to provide your end users with the most efficient attribute editing experience as possible. Some of the configuration options available to you are:<\/p>\n<p><em>Configure which layers should be edited<\/em><\/p>\n<p>The Editor widget automatically detects editable feature layers in the map by examining the feature service that each layer points to and will create the appropriate UI to allow users to edit each of those layers. However, you might be building a focused application that should only expose editing of a subset of the editable layers. This is achieved by configuring the widget with only the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-Editor.html#layerInfos\">layers<\/a> that you want to be included.<\/p>\n<p><em>Limit the attributes displayed<\/em><\/p>\n<p>Often times, your end users only need to update a few attributes out of a large collection of attributes. To provide a streamlined experience, you can configure the specific editable attributes so they don\u2019t have to be burdened with some of the non-required fields. It is important to note that the purpose of this capability is to simplify the user experience, not to secure your data. If you have attributes that should not be edited from a security perspective, your service should be setup to not allow editing of those attributes. This way, someone can\u2019t access your feature service\u2019s REST endpoint directly and edit the secured fields.<\/p>\n<p><em>Ensure valid input <\/em><\/p>\n<p>Pre-configuring the acceptable values for a feature either by limiting the range or providing a list of possible values saves time and also supports accurate data entry. If your feature service\u2019s attributes have attribute domains as described above, they will be detected by the Editor widget and will be enforced. If you\u2019ve defined a set of possible values, they will appear in a drop-down menu.<\/p>\n<p><em>Set conditions on attributes for when they should be visible<\/em><\/p>\n<p>Sometimes it only makes sense to edit an attribute or a group of attributes based on a particular condition. For example, if you are editing work orders, make the \u201cresolution\u201d attribute visible once the work order has a \u201ccompleted\u201d status. This is achieved by writing a <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-widgets-FeatureForm-FieldConfig.html#visibilityExpression\">visibility expression<\/a> for the field, and after resolving to true it will be displayed for editing.<\/p>\n<p><em>When you have to display lots of attributes<\/em><\/p>\n<p>Sometimes you simply can\u2019t avoid displaying a lot of attributes. You might want to visually group attributes so your users can easily find the one they want to edit. Even when there is a small collection of attributes, configuring them into logical groups can help put the attributes into context.<\/p>\n<p><em>\u00a0<\/em><em>Add a deeper description<\/em><\/p>\n<p>Field aliases are used to display a \u201cpretty\u201d label for field editing. However, it\u2019s often useful to provide more of a description for each field or a group of fields so end users have more direction on what the field is or see an example value of what is expected.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":532792,"id":532792,"title":"Conditional attributes","filename":"conditional-attributes-better.png","filesize":138906,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\/conditional-attributes-better","alt":"","author":"4271","description":"","caption":"Use a visibility expression for fields: Instead of showing all fields, all of the time, configure certain fields to display based on whether they meet a condition. This is achieved by defining an expression, which when resolved to true, will display the field. In this app, the resolution field is only visible when the status is marked as resolved.","name":"conditional-attributes-better","status":"inherit","uploaded_to":530492,"date":"2019-06-20 17:54:48","modified":"2019-06-20 23:15:28","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":1459,"height":788,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","medium-width":464,"medium-height":251,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","medium_large-width":768,"medium_large-height":415,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","large-width":1459,"large-height":788,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","1536x1536-width":1459,"1536x1536-height":788,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","2048x2048-width":1459,"2048x2048-height":788,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better-826x446.png","card_image-width":826,"card_image-height":446,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/conditional-attributes-better.png","wide_image-width":1459,"wide_image-height":788}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/editing-featureform-fieldvisibility\/index.html"},{"acf_fc_layout":"content","content":"<p><strong>Geometry editing: the basics and beyond<\/strong><\/p>\n<p>The 4.x editing tools allow you to create and update geometries in a very similar way to the 3.x version. As an enhancement only in 4.x, the user can undo and redo updates while the edit is in progress. So, for example, they can undo (or redo) the last vertex that they added while drawing the new geometry.<\/p>\n"},{"acf_fc_layout":"image","image":{"ID":532882,"id":532882,"title":"edit_geometry","filename":"edit_geometry.png","filesize":243854,"url":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\/edit_geometry","alt":"","author":"4271","description":"","caption":"Geometry editing: in this case, we are adding a new bicycle patrol area.","name":"edit_geometry","status":"inherit","uploaded_to":530492,"date":"2019-06-20 18:07:46","modified":"2019-06-20 18:08:47","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":1749,"height":918,"sizes":{"thumbnail":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry-213x200.png","thumbnail-width":213,"thumbnail-height":200,"medium":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","medium-width":464,"medium-height":244,"medium_large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","medium_large-width":768,"medium_large-height":403,"large":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","large-width":1749,"large-height":918,"1536x1536":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","1536x1536-width":1536,"1536x1536-height":806,"2048x2048":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","2048x2048-width":1749,"2048x2048-height":918,"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry-826x434.png","card_image-width":826,"card_image-height":434,"wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/edit_geometry.png","wide_image-width":1749,"wide_image-height":918}},"image_position":"center","orientation":"horizontal","hyperlink":"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/widgets-editor-configurable\/index.html"},{"acf_fc_layout":"content","content":"<p>The end-to-end experience for creating and updating geometries is handled by the Editor widget, but you may want to customize it based on your editing workflow requirements. For example, you may want to display statistics about the geometry being drawn, such as the area of the polygon in progress. Under the hood, the Editor widget uses the sketch widget\u2019s business logic (referred to SketchViewModel) to draw on the map. You can use SketchViewModel to capture the map interaction events needed for executing your custom code during the drawing process. Your custom code can use the client-side geometry engine for testing spatial relationships, calculating measurements, or any other common spatial operation. Because it\u2019s performed client-side, the end user is given immediate feedback while they are drawing and can adjust as necessary.<\/p>\n<p><strong>What if you just want to draw on the map?<\/strong><\/p>\n<p>If your app requirements only consist of redlining (i.e., sketch on the map, and don\u2019t persist changes), you can use the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/sketch-geometries\/index.html\">Sketch widget<\/a>. The Sketch widget provides the common tools for drawing graphics on the graphics layer and are not persisted with a feature service. Since the graphics layer is unstructured, you can draw more than one type of geometry in the same layer, with different symbology.<\/p>\n<p><strong>What if you only care about editing attributes?<\/strong><\/p>\n<p>If you are only interested in editing attributes you can use the <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/sample-code\/editing-groupedfeatureform\/index.html\">FeatureForm widget<\/a> which has all of the same aspects as described above for attribute editing. That is because the Editor widget actually incorporates the FeatureForm widget into its UI. Note: if you use this widget, you will have to handle calling <a href=\"https:\/\/developers.arcgis.com\/javascript\/latest\/api-reference\/esri-layers-FeatureLayer.html#applyEdits\">applyEdits<\/a> on the feature layer.<\/p>\n<p><b>Dive in deeper!<\/b><\/p>\n<p>The ArcGIS API 4.x for JavaScript has been growing its editing capabilities over several releases. Now with the Editor widget you can implement a tailored editing experience with a low amount of effort via configuration or customize it to your heart\u2019s content.<\/p>\n<p>Get familiar with the APIs editing capabilities by exploring the <a href=\"http:\/\/esriurl.com\/webediting\">samples<\/a>, or watch a recent technical session, <a href=\"https:\/\/www.youtube.com\/watch?v=buunwVC0MlI&amp;list=PLaPDDLTCmy4Y0GMTl0O4V6LF3EmxIAivv&amp;index=171&amp;t=0s\">Web Editing with the ArcGIS API for JavaScript<\/a>. There will also be a technical session at the <a href=\"https:\/\/www.esri.com\/en-us\/about\/events\/uc\/overview\">2019 Esri User Conference<\/a> in July:<u><\/u><\/p>\n<p><a href=\"https:\/\/userconference2019.schedule.esri.com\/schedule\/2035525088\"><strong>Editing with the ArcGIS API for JavaScript<\/strong><\/a><br \/>\nTuesday, July 9th: 1:00 pm &#8211; 2:00 pm,\u00a0SDCC &#8211; Room 05 B<br \/>\nWednesday, July 10th: 4:00 pm &#8211; 5:00 pm,\u00a0SDCC &#8211; Room 16 A<\/p>\n<p>Happy editing!<\/p>\n"}],"authors":[{"ID":4271,"user_firstname":"Julie","user_lastname":"Powell","nickname":"Julie Powell","user_nicename":"julie-powell","display_name":"Julie Powell","user_email":"julie_powell@esri.com","user_url":"","user_registered":"2018-03-02 00:15:51","user_description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. \r\nJulie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","user_avatar":"<img data-del=\"avatar\" src='https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png' class='avatar pp-user-avatar avatar-96 photo ' height='96' width='96'\/>"}],"related_articles":[{"ID":454202,"post_author":"7451","post_date":"2019-03-29 09:00:51","post_date_gmt":"2019-03-29 16:00:51","post_content":"","post_title":"A Better Experience with the new ArcGIS API for JavaScript Website","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"a-better-experience-with-the-new-arcgis-api-for-javascript-website","to_ping":"","pinged":"","post_modified":"2019-04-10 14:31:33","post_modified_gmt":"2019-04-10 21:31:33","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=454202","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"},{"ID":475292,"post_author":"6561","post_date":"2019-04-01 08:00:33","post_date_gmt":"2019-04-01 15:00:33","post_content":"","post_title":"Dot density for the web","post_excerpt":"","post_status":"publish","comment_status":"closed","ping_status":"closed","post_password":"","post_name":"dot-density-for-the-web","to_ping":"","pinged":"","post_modified":"2019-04-09 11:59:44","post_modified_gmt":"2019-04-09 18:59:44","post_content_filtered":"","post_parent":0,"guid":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=475292","menu_order":0,"post_type":"blog","post_mime_type":"","comment_count":"0","filter":"raw"}],"card_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/card-2.jpg","wide_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/banner2.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>Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript<\/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\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\" \/>\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=\"2019-12-18T21:10:23+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\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\"},\"author\":{\"name\":\"Julie Powell\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88\"},\"headline\":\"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript\",\"datePublished\":\"2019-06-21T23:27:34+00:00\",\"dateModified\":\"2019-12-18T21:10:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\"},\"wordCount\":12,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\"ArcGIS API for JavaScript\",\"editing\",\"jsapi4\",\"Mapping and Visualization\"],\"articleSection\":[\"Mapping\",\"Sharing and Collaboration\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\",\"name\":\"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2019-06-21T23:27:34+00:00\",\"dateModified\":\"2019-12-18T21:10:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript\"}]},{\"@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\/3ef71df36f6aacca26eb2c7f65f15e88\",\"name\":\"Julie Powell\",\"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\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"contentUrl\":\"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png\",\"caption\":\"Julie Powell\"},\"description\":\"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.\",\"sameAs\":[\"https:\/\/x.com\/JuliePowellGIS\"],\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript","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\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","og_locale":"en_US","og_type":"article","og_title":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2019-12-18T21:10:23+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\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript"},"author":{"name":"Julie Powell","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3ef71df36f6aacca26eb2c7f65f15e88"},"headline":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript","datePublished":"2019-06-21T23:27:34+00:00","dateModified":"2019-12-18T21:10:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript"},"wordCount":12,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":["ArcGIS API for JavaScript","editing","jsapi4","Mapping and Visualization"],"articleSection":["Mapping","Sharing and Collaboration"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript","name":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2019-06-21T23:27:34+00:00","dateModified":"2019-12-18T21:10:23+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/js-api-arcgis\/mapping\/build-a-tailored-web-editing-experience-with-the-arcgis-api-for-javascript#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Build a Tailored Web Editing Experience with the ArcGIS API for JavaScript"}]},{"@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\/3ef71df36f6aacca26eb2c7f65f15e88","name":"Julie Powell","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\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","contentUrl":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2022\/03\/PhotoRoom-20220321_101413-3-213x200.png","caption":"Julie Powell"},"description":"Julie Powell is Principal Product Manager for Esri's web development technologies. She works to ensure developers can be successful in building state of the art, purposeful solutions using ArcGIS software. Julie brings 20 years of experience working with global leaders such as Hewlett-Packard and Esri, delivering a variety of software solutions for both the enterprise and consumer markets.","sameAs":["https:\/\/x.com\/JuliePowellGIS"],"url":"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell"}]}},"text_date":"June 21, 2019","author_name":"Julie Powell","author_page":"https:\/\/www.esri.com\/arcgis-blog\/author\/julie-powell","custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2019\/06\/banner2.jpg","primary_product":"ArcGIS Maps SDK for JavaScript","tag_data":[{"term_id":96582,"name":"ArcGIS API for JavaScript","slug":"arcgis-api-for-javascript","term_group":0,"term_taxonomy_id":96582,"taxonomy":"post_tag","description":"","parent":0,"count":58,"filter":"raw"},{"term_id":27971,"name":"editing","slug":"editing","term_group":0,"term_taxonomy_id":27971,"taxonomy":"post_tag","description":"","parent":0,"count":166,"filter":"raw"},{"term_id":27491,"name":"jsapi4","slug":"jsapi4","term_group":0,"term_taxonomy_id":27491,"taxonomy":"post_tag","description":"","parent":0,"count":111,"filter":"raw"},{"term_id":300972,"name":"Mapping and Visualization","slug":"mapping-and-visualization","term_group":0,"term_taxonomy_id":300972,"taxonomy":"post_tag","description":"","parent":0,"count":31,"filter":"raw"}],"category_data":[{"term_id":22941,"name":"Mapping","slug":"mapping","term_group":0,"term_taxonomy_id":22941,"taxonomy":"category","description":"","parent":0,"count":2688,"filter":"raw"},{"term_id":37511,"name":"Sharing and Collaboration","slug":"sharing-collaboration","term_group":0,"term_taxonomy_id":37511,"taxonomy":"category","description":"","parent":0,"count":425,"filter":"raw"}],"product_data":[{"term_id":36831,"name":"ArcGIS Maps SDK for JavaScript","slug":"js-api-arcgis","term_group":0,"term_taxonomy_id":36831,"taxonomy":"product","description":"","parent":36601,"count":361,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":762,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=js-api-arcgis","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/530492","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\/4271"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=530492"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/530492\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=530492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=530492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=530492"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=530492"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=530492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}