{"id":168291,"date":"2010-05-05T17:14:50","date_gmt":"2010-05-06T00:14:50","guid":{"rendered":"http:\/\/www.esri.com\/arcgis-blog\/?post_type=blog&#038;p=168291"},"modified":"2018-12-18T10:49:13","modified_gmt":"2018-12-18T18:49:13","slug":"add-ins-for-arcgis-desktop-10","status":"publish","type":"blog","link":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10","title":{"rendered":"Add-ins for ArcGIS Desktop 10"},"author":3601,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"_searchwp_excluded":""},"categories":[37101],"tags":[23641,34731,25311,157882,27521],"industry":[],"product":[36991,36601],"class_list":["post-168291","blog","type-blog","status-publish","format-standard","hentry","category-announcements","tag-net","tag-apis","tag-arcgis-10","tag-arcobjects","tag-sdk","product-arcgis-desktop","product-developers"],"acf":{"short_description":"ArcGIS\u00a010 introduces several new and innovative features that make it easier for\u00a0you to customize and extend the ArcGIS Desktop applications.","flexible_content":[{"acf_fc_layout":"content","content":"<p>ArcGIS\u00a010 introduces several new and innovative features that make it easier for\u00a0you to customize and extend the ArcGIS Desktop applications, including the new Desktop add-in model.\u00a0The new add-in model provides\u00a0you with a declaratively-based framework for creating a collection of customizations conveniently packaged within a single compressed file. Add-ins are easily shared between users as they do not require installation programs or Component Object Model (COM) registration; add-ins are added to a system by simply copying them to a well-known folder and removed by deleting them from this folder. Add-ins can also be shared between users within an organization using a centralized network share.<\/p>\n<p>Add-ins are authored using .NET or Java along with Extensible Markup Language (XML). The XML describes the customizations, while the .NET or Java classes provide the custom behavior. The ArcObjects software development kit (SDK) includes an Add-Ins Wizard that integrates with development environments-such as Eclipse, Microsoft Visual Studio, and the free Express Editions of Visual Studio-to simplify development.<\/p>\n<p><b>Add-in Types<br \/>\n<\/b>ArcGIS Desktop applications support a fixed set of add-in types, including the most popular types used in the classic COM-based extensibility model introduced in previous versions of ArcGIS. The following add-in types are supported in the current release:<\/p>\n<ul type=\"disc\">\n<li><b>Buttons and tools<\/b><br \/>\nButtons and tools are simple controls that can appear on toolbars or\u2014in the case of buttons\u2014on menus.<\/li>\n<li><b>Combo boxes<br \/>\n<\/b>A combo box provides a drop-down list of items and can optionally provide an editable input area.<\/li>\n<li><b>Menus and context menus<br \/>\n<\/b>A menu presents a drop-down list of buttons, submenus, and multi-items. Menu items can come from built-in sources, add-in sources, or a combination of both. Menus are typically hosted on toolbars, but they may also appear independently as context (pop-up) menus and root menus.<\/li>\n<li><b>Multi-items<br \/>\n<\/b>A multi-item is a dynamic collection of menu items created at run time. Multi-items are useful when the items on a menu cannot be determined prior to run time or the items need to be modified based on the state of the system.<\/li>\n<li><b>Toolbars<\/b><br \/>\nA toolbar can host buttons, tools, menus, tool palettes, and combo boxes. As with menus, controls that appear on toolbars can come from built-in sources, add-in sources, or a combination of both. Toolbars can be configured to automatically appear when initially added to an application to make their presence more obvious to users.<\/li>\n<li><b>Tool palettes<br \/>\n<\/b>Tool palettes provide a compact way to group a related set of tools. The most recently used tool appears on the toolbar alongside a small drop-down button used to access other tools in the group.\u00a0As with\u00a0menus, tools that appear on tool palettes can come from built-in sources, add-in sources, or a combination of both.<\/li>\n<li><b>Dockable windows<\/b><br \/>\nDockable windows are floating or docked windows that appear within the ArcGIS Desktop applications.\u00a0You can populate dockable windows with any sort of content: charts, slide shows, video, mini-maps, or custom dialog boxes containing other controls\u2014including ESRI controls. Add-in developers have considerable control over where the dockable window initially appears and whether it will be grouped with other dockable windows.<\/li>\n<li><b>Application extensions<br \/>\n<\/b>Application extensions are used to coordinate activities between other components\u2014such as buttons, tools and dockable windows\u2014within a containing add-in. Application extensions are usually responsible for storing state associated with the add-in as a whole and are often used to listen for and respond to various events exposed by the host application. Application extensions can be configured to load when needed or automatically when their associated application is started; extensions can also be configured to appear in the standard ArcGIS extension dialog box.<\/li>\n<li><b>Editor extensions<\/b><br \/>\nEditor extensions allow you to customize your editing workflows by plugging directly into the editing framework. As opposed to application extensions, editor extension add-ins are loaded when the edit session starts (Editor&gt;Start Editing). You can customize the behavior of your editing session (for example, listening for edit events) by creating editor extensions.<\/li>\n<\/ul>\n<div><b>Managing Add-ins<\/b><br \/>\nAdd-ins can be obtained from a variety of sources including Web-based repositories, via e-mail, or by browsing the file system or network. You can install an add-in by simply double-clicking an add-in file in Windows Explorer. When double-clicked, the ESRI supplied Add-In Installation Utility validates the add-in and copies it to the appropriate well-known folder. Users are given an opportunity to review the author, description, version, and digital signature information\u00a0of the add-in before proceeding. This validation step ensures that: the file is copied to the appropriate location; name conflicts are handled; and guarantees that any existing version of the add-in file isn\u2019t overwritten by an older version. This utility also works directly on e-mail attachments and Web page links. See the following screen shot:<\/div>\n<div><a href=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13030.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13030.jpg\" border=\"0\" \/><\/a><\/div>\n<div><\/div>\n<div>Add-ins can also be installed using the Add from file button on the Customize dialog box available in all the ArcGIS Desktop applications. See the following screen shot:<\/div>\n<div><a href=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13031.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13031.jpg\" border=\"0\" \/><\/a><\/div>\n<div>\n<div>You can access the Customize dialog box via the Customize menu. Add-ins installed using either the double-click or Add from file options are classified as\u00a0local add-ins. Local add-ins reside within a special well-known\/per-user folder on the local machine.<\/div>\n<div>Though add-in files can be manually copied to a well-known folder without using the ESRI Add-In Utility, care must be taken to avoid file name collisions, version overwrites, and so forth. This approach is typically used when sharing add-ins on a network.<\/div>\n<div>As with classic COM components, individual add-in types are accessible via the Customize dialog box. For example, a button defined in an add-in behaves no differently than a COM command, both are listed under their specified category on the Commands tab. From this location, either can be dragged onto any toolbar or menu.<\/div>\n<div>The ArcGIS Desktop applications provide an Add-In Manager dialog box available from the Customize menu. The Add-Ins tab on this dialog box provides detailed information on every installed add-in currently available to the running application. Add-ins targeting ArcGlobe, for instance, will not appear inside ArcMap. See the following screen shot:<\/div>\n<div><a href=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13032.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13032.jpg\" border=\"0\" \/><\/a><\/div>\n<\/div>\n<div>The Add-In Manager Options tab lets users add custom well-known add-in folders. The add-in framework will additionally search for add-ins within these custom folders each time the application is started. This option is particularly useful in scenarios where a central network location is used to share add-ins throughout an organization. Add-ins can be added, deleted, and updated in these locations without intervention on any of the client machines; updates will be automatically reflected on the clients when the relevant applications are next re-started. The Options tab can also be used to disable all add-in functionality. See the following screen shot:<\/div>\n<div><a href=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13033.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"http:\/\/downloads2.esri.com\/blogs\/images\/dev_13033.jpg\" border=\"0\" \/><\/a><\/div>\n<p>From the Add-In Manager, users can also elect to uninstall a particular add-in. Uninstalling an add-in moves the selected add-in file to the system Recycle Bin where it can later be restored if necessary.\u00a0The Uninstall button is only enabled for local add-ins. To uninstall an add-in originating from a custom add-in folder, simply delete the add-in from the share or remove the custom add-in folder using the Remove Folder button.<\/p>\n<p><b>Building Add-ins<\/b><br \/>\nAdd-ins are built using an integrated development environment (IDE), such as Visual Studio Express for .NET and Eclipse for Java, and simple wizards and templates are provided with the ArcObjects SDKs to automatically generate fully stubbed out add-in projects including the XML and class files. In addition, when these projects are built, they automatically generate an add-in file and copy it to a well-known folder. For the most part, the\u00a0XML is authored by the wizards; however, if you do need to edit the XML by hand, the associated schema file makes edits easy as it provides IntelliSense and on-the-fly validation. To learn more about developing add-ins and using these wizards and templates, see<a href=\"http:\/\/help.arcgis.com\/en\/sdk\/10.0\/arcobjects_net\/conceptualhelp\/index.html#\/Walkthrough_Building_custom_UI_elements_using_add_ins\/0001000001ms000000\/\" target=\"_blank\" rel=\"noopener\">\u00a0Building custom UI elements using add-ins<\/a>\u00a0and\u00a0<a href=\"http:\/\/help.arcgis.com\/en\/sdk\/10.0\/arcobjects_net\/conceptualhelp\/index.html#\/How_to_migrate_from_COM_components_to_add_ins\/0001000003z6000000\/\" target=\"_blank\" rel=\"noopener\">How to migrate from COM components to add-ins<\/a>.<\/p>\n"}],"authors":[{"ID":3601,"user_firstname":"Rob","user_lastname":"Elkins","nickname":"rpe2","user_nicename":"rpe2","display_name":"Rob Elkins","user_email":"relkins@esri.com","user_url":"","user_registered":"2018-03-02 00:15:15","user_description":"","user_avatar":"<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=96&#038;d=blank&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=192&#038;d=blank&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' loading='lazy' decoding='async'\/>"}],"related_articles":"","card_image":false,"wide_image":false},"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>Add-ins for ArcGIS Desktop 10<\/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-desktop\/announcements\/add-ins-for-arcgis-desktop-10\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Add-ins for ArcGIS Desktop 10\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\" \/>\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=\"2018-12-18T18:49:13+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-desktop\/announcements\/add-ins-for-arcgis-desktop-10#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\"},\"author\":{\"name\":\"Rob Elkins\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3334a2f9ab0a4c95d2e01e7e7f44c5d5\"},\"headline\":\"Add-ins for ArcGIS Desktop 10\",\"datePublished\":\"2010-05-06T00:14:50+00:00\",\"dateModified\":\"2018-12-18T18:49:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\"},\"wordCount\":4,\"publisher\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#organization\"},\"keywords\":[\".NET\",\"APIs\",\"ArcGIS 10\",\"ArcObjects\",\"SDK\"],\"articleSection\":[\"Announcements\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\",\"url\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\",\"name\":\"Add-ins for ArcGIS Desktop 10\",\"isPartOf\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#website\"},\"datePublished\":\"2010-05-06T00:14:50+00:00\",\"dateModified\":\"2018-12-18T18:49:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.esri.com\/arcgis-blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add-ins for ArcGIS Desktop 10\"}]},{\"@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\/3334a2f9ab0a4c95d2e01e7e7f44c5d5\",\"name\":\"Rob Elkins\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=96&d=blank&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=96&d=blank&r=g\",\"caption\":\"Rob Elkins\"},\"url\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Add-ins for ArcGIS Desktop 10","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-desktop\/announcements\/add-ins-for-arcgis-desktop-10","og_locale":"en_US","og_type":"article","og_title":"Add-ins for ArcGIS Desktop 10","og_url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10","og_site_name":"ArcGIS Blog","article_publisher":"https:\/\/www.facebook.com\/esrigis\/","article_modified_time":"2018-12-18T18:49:13+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-desktop\/announcements\/add-ins-for-arcgis-desktop-10#article","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10"},"author":{"name":"Rob Elkins","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/3334a2f9ab0a4c95d2e01e7e7f44c5d5"},"headline":"Add-ins for ArcGIS Desktop 10","datePublished":"2010-05-06T00:14:50+00:00","dateModified":"2018-12-18T18:49:13+00:00","mainEntityOfPage":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10"},"wordCount":4,"publisher":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#organization"},"keywords":[".NET","APIs","ArcGIS 10","ArcObjects","SDK"],"articleSection":["Announcements"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10","url":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10","name":"Add-ins for ArcGIS Desktop 10","isPartOf":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/#website"},"datePublished":"2010-05-06T00:14:50+00:00","dateModified":"2018-12-18T18:49:13+00:00","breadcrumb":{"@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.esri.com\/arcgis-blog\/products\/arcgis-desktop\/announcements\/add-ins-for-arcgis-desktop-10#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.esri.com\/arcgis-blog\/"},{"@type":"ListItem","position":2,"name":"Add-ins for ArcGIS Desktop 10"}]},{"@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\/3334a2f9ab0a4c95d2e01e7e7f44c5d5","name":"Rob Elkins","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.esri.com\/arcgis-blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=96&d=blank&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/372025ad723ca3ed9f19047a9f7e1db155d632dbd4c919d556c8daa4654f15fa?s=96&d=blank&r=g","caption":"Rob Elkins"},"url":""}]}},"text_date":"May 5, 2010","author_name":"Rob Elkins","author_page":false,"custom_image":"https:\/\/www.esri.com\/arcgis-blog\/app\/uploads\/2025\/08\/Newsroom-Keyart-Wide-1920-x-1080.jpg","primary_product":"ArcMap","tag_data":[{"term_id":23641,"name":".NET","slug":"net","term_group":0,"term_taxonomy_id":23641,"taxonomy":"post_tag","description":"","parent":0,"count":65,"filter":"raw"},{"term_id":34731,"name":"APIs","slug":"apis","term_group":0,"term_taxonomy_id":34731,"taxonomy":"post_tag","description":"","parent":0,"count":23,"filter":"raw"},{"term_id":25311,"name":"ArcGIS 10","slug":"arcgis-10","term_group":0,"term_taxonomy_id":25311,"taxonomy":"post_tag","description":"","parent":0,"count":48,"filter":"raw"},{"term_id":157882,"name":"ArcObjects","slug":"arcobjects","term_group":0,"term_taxonomy_id":157882,"taxonomy":"post_tag","description":"","parent":0,"count":5,"filter":"raw"},{"term_id":27521,"name":"SDK","slug":"sdk","term_group":0,"term_taxonomy_id":27521,"taxonomy":"post_tag","description":"","parent":0,"count":18,"filter":"raw"}],"category_data":[{"term_id":37101,"name":"Announcements","slug":"announcements","term_group":0,"term_taxonomy_id":37101,"taxonomy":"category","description":"","parent":0,"count":1958,"filter":"raw"}],"product_data":[{"term_id":36991,"name":"ArcMap","slug":"arcgis-desktop","term_group":0,"term_taxonomy_id":36991,"taxonomy":"product","description":"","parent":36981,"count":325,"filter":"raw"},{"term_id":36601,"name":"Developers","slug":"developers","term_group":0,"term_taxonomy_id":36601,"taxonomy":"product","description":"","parent":0,"count":761,"filter":"raw"}],"primary_product_link":"https:\/\/www.esri.com\/arcgis-blog\/?s=#&products=arcgis-desktop","_links":{"self":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/168291","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\/3601"}],"replies":[{"embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/comments?post=168291"}],"version-history":[{"count":0,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/blog\/168291\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/media?parent=168291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/categories?post=168291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/tags?post=168291"},{"taxonomy":"industry","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/industry?post=168291"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.esri.com\/arcgis-blog\/wp-json\/wp\/v2\/product?post=168291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}