Creating NET Addins for Arc GIS for Desktop

  • Slides: 30
Download presentation
Creating. NET Add-ins for Arc. GIS for Desktop John Hauck and Chris Fox Esri

Creating. NET Add-ins for Arc. GIS for Desktop John Hauck and Chris Fox Esri UC 2014 | Technical Workshop |

Introduction to. NET Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for

Introduction to. NET Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

What is. NET? • Development framework to build applications for the Windows Platform •

What is. NET? • Development framework to build applications for the Windows Platform • Key Features - Common Language Runtime - Interoperability - Base Class Library - Windows Forms Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Base Class Library • Coded solutions to common programming problems - Interacting with databases

Base Class Library • Coded solutions to common programming problems - Interacting with databases - Parsing XML - File reading and writing - String manipulation - Working with collections Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Windows Forms • • Tools and Controls to build GUIs - Toolbars and Menus

Windows Forms • • Tools and Controls to build GUIs - Toolbars and Menus - Text Box, Combo Box, List View, Button - Layout and Data Binding Events driven Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Supported. NET Versions • When building your add-in you need to target a specific

Supported. NET Versions • When building your add-in you need to target a specific version of. NET • 3. 5 is recommended for 10, 10. 1 and 10. 2 - • . NET 3. 5 is required for Arc. GIS Desktop 4. 0 is supported at 10. 1 and 10. 2 Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Selecting a Language • VB. NET - • Syntax closest to VBA and VB

Selecting a Language • VB. NET - • Syntax closest to VBA and VB 6 C# - Syntax similar to C++ & Java • No difference in performance • Same access to. NET BCL and Arc. Objects API Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Where to write your code? • Integrated Development Environment (IDE) - • Source code

Where to write your code? • Integrated Development Environment (IDE) - • Source code editor, Debugger Visual Studio - Visual Studio 2008 (10. 0) - Visual Studio 2010 (10*, 10. 1, 10. 2) - Visual Studio 2012 (10. 2, 10. 3) - Visual Studio 2013 (10. 3) - Free express version is supported - *2010 VS Express not supported at 10. 0 Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Visual Studio Key Features • One IDE for all. NET projects - • Templates

Visual Studio Key Features • One IDE for all. NET projects - • Templates Code Editor - Syntax highlighting, code completion • Debugger • Windows Forms Designer - Drag/Drop controls Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

What are Add-Ins? Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for

What are Add-Ins? Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Arc. GIS Desktop Add-Ins A better way to customize and extend Arc. GIS Desktop

Arc. GIS Desktop Add-Ins A better way to customize and extend Arc. GIS Desktop applications. Easier to build - Easy to share - More secure - C#, VB. NET, Java, and Python - Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In Types supported at Arc. GIS 10. 2 • Buttons • Tool Palettes •

Add-In Types supported at Arc. GIS 10. 2 • Buttons • Tool Palettes • Tools • Dockable Windows • Combo Boxes • Application Extensions • Multi-Items • Editor Extensions • Menus • • Context Menus Editor Construction Tools • Toolbars • SOE (Server) Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-in Wizard Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc.

Add-in Wizard Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In File Anatomy XML Metadata Resources Assemblies/JARs/PYDs Add. In File (zipped folder) Esri UC

Add-In File Anatomy XML Metadata Resources Assemblies/JARs/PYDs Add. In File (zipped folder) Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop . *. esri. Add. In

Anatomy - Declarative Aspects <ESRI. Configuration <Add. In language="CLR" xmlns=http: //schemas. esri. com/Desktop/Add. Ins

Anatomy - Declarative Aspects <ESRI. Configuration <Add. In language="CLR" xmlns=http: //schemas. esri. com/Desktop/Add. Ins <Dockable. Windows> xmlns: xsi="http: //www. w 3. org/2001/XMLSchema-instance"> library="ESRI. Arc. GIS. Schema. Generation. Wizard. dll" <Dockable. Window id="ESRI_Example_Dockable. Window" <Name>CASE Tools</Name> • ID namespace="Case. UI. Schema. Generation. Wizard"> • Images class="Example. Dockable. Window. Class" <Add. In. ID>{f 390 c 49 d-a 7 a 9 -4 b 9 f-a 627 -20 f 1 ee 3 d 5 ca 6}</Add. In. ID> <Arc. Catalog> caption="Example Dockable Window"> • <Description>Case Target • Category <Commands> Tools</Description> <Initial. Placement <Version>1. 0</Version> <Button id="Schema. Generation. Wizard_Schema. Generation. Wizard" • Authorheight="300" • Toolbars content width="300" <Image>ImagesCase. Tools. png</Image> class="Schema. Generation. Wizard" state="pinned" position="right" • Version Menu content <Author>ESRI</Author> tip="Use the Schema • Generation Wizard. . . " neighbor="esri. Arc. Map. UI. TOCDockable. Window" /> <Company>ESRI</Company> Wizard" • Company message="Schema Generation • Docking state </Dockable. Window> <Date>04/23/2010</Date> caption="Schema Generation Wizard" <Targets> category="CASE Tools" • Website • Docking position </Dockable. Windows> <Target name="Desktop" image="ImagesSchema. Generation. Wizard. png" version="10. 0" /> /> </Dockable. Windows> • Descriptions • Tooltips </Targets> </Commands> </Arc. Catalog> • Captions • Help </Add. In> Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Anatomy – Resources & Localization Esri UC 2014 | Technical Workshop | Creating. NET

Anatomy – Resources & Localization Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Anatomy - Programmatic Aspect • public Add-Inclass Behavior coded: using Simple. Button { -

Anatomy - Programmatic Aspect • public Add-Inclass Behavior coded: using Simple. Button { - Visual Studio / Eclipse wizards and templates protected override void On. Click() - Base classes for each Add-In type { - Full Arc. Objects API + programming Message. Box. Show("Hello World"); environment (. NET/Java) } } Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Anatomy - Classic (managed) COM Button comparison Esri UC 2014 | Technical Workshop |

Anatomy - Classic (managed) COM Button comparison Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Entry Points for Customization • Add-In Wizard creates static classes depending on your type

Entry Points for Customization • Add-In Wizard creates static classes depending on your type of customization. public class Simple. Button : Button { protected override void On. Click() { Arc. Map. Application. Caption = "Hello"; Arc. Map. Document. Active. View. Refresh(); } } Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Authoring an Add-In Demo Esri UC 2014 | Technical Workshop | Creating. NET Add-ins

Authoring an Add-In Demo Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In File Discovery & Sharing • Add-In files are automatically discovered in well known

Add-In File Discovery & Sharing • Add-In files are automatically discovered in well known local folders and incorporated into the Desktop applications at runtime. • Folders are per user and per Arc. GIS version %User. Profile%My DocumentsArc. GISAdd. InsDesktop 10. 2 Internet Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In File Discovery & Sharing • Administered network shares • Simplifies Updates Intranet Esri

Add-In File Discovery & Sharing • Administered network shares • Simplifies Updates Intranet Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Installation Utility • Double-click “Install” • Customize - Add From File • XCOPY Esri

Installation Utility • Double-click “Install” • Customize - Add From File • XCOPY Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In Versioning Policy • Add-ins built for previous version will load automatically in newer

Add-In Versioning Policy • Add-ins built for previous version will load automatically in newer versions - • No need to rebuild or reinstall Backward compatibility within a major version Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Add-In Manager Dialog • Shows detailed information on all installed Add-Ins • Mine vs.

Add-In Manager Dialog • Shows detailed information on all installed Add-Ins • Mine vs. Shared • Deleting Add-Ins Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Sharing & Security • Custom search folders • Security Settings Esri UC 2014 |

Sharing & Security • Custom search folders • Security Settings Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Additional Security Settings • Admin Controls • Do not load any add-ins • Load

Additional Security Settings • Admin Controls • Do not load any add-ins • Load from administrator folders only • Admin security level lock Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Digitally Signing Add-Ins • IETF/WC 3 XML-DSig standard (within OPC archive) • Trust •

Digitally Signing Add-Ins • IETF/WC 3 XML-DSig standard (within OPC archive) • Trust • - Source Traceability - Tampering ESRISign. Addin Utility Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Thank you… • Please fill out the session survey: First Offering ID: 1331 Second

Thank you… • Please fill out the session survey: First Offering ID: 1331 Second Offering ID: 1429 Online – www. esri. com/ucsessionsurveys Paper – pick up and put in drop box Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop

Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for

Esri UC 2014 | Technical Workshop | Creating. NET Add-ins for Arc. GIS for Desktop