29
.NET Add-Ins for ArcGIS for Desktop Jochen Manegold

NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

.NET Add-Ins for ArcGIS for Desktop

Jochen Manegold

Page 2: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

ArcGIS Desktop Add-Ins

• Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python

.NET Add-Ins for ArcGIS for Desktop

A framework for a better way to customize and extent ArcGIS Desktop applications

Page 3: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Add-In Types supported at ArcGIS 10.2

• Components • Command Containers

.NET Add-Ins for ArcGIS for Desktop

Page 4: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Add-In Versioning Policy

• ArcGIS 10.2 can consume 10.1 and 10.0 Add-Ins • ArcGIS 10.1 can consume 10.0 Add-Ins • ArcGIS 10.0 can only consume 10.0 Add-Ins

.NET Add-Ins for ArcGIS for Desktop

Backward compatibility within major versions

Page 5: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

System Setup for Development of an Add-In

• .NET Framework • Supported Development Environment • ArcGIS for Desktop 10.2 • ArcObjects SDK 10.2

- Templates - Samples - Developer Help

.NET Add-Ins for ArcGIS for Desktop

Page 6: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Supported Development Environments

• Microsoft Visual Studio 2010 (C#, VB.NET) Professional, Premium, Ultimate Edition

• Microsoft Visual Studio 2010 Visual Basic Express • Microsoft Visual Studio 2010 Visual C# Express • Microsoft Visual Studio 2012 (C#, VB.NET) Professional, Premium, Ultimate Edition

• .NET 3.5, .NET 4.0, .NET 4.5

.NET Add-Ins for ArcGIS for Desktop

Page 7: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Project Templates

.NET Add-Ins for ArcGIS for Desktop

Page 8: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Add-In Wizard

.NET Add-Ins for ArcGIS for Desktop

Page 9: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Add-In File Anatomy

• Config XML • Resources • Assemblies

.NET Add-Ins for ArcGIS for Desktop

Page 10: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Anatomy – Declarative Aspects of the Add-In

• Name • ID • Description • Version • Author • Company • Date • Target • Assembly

.NET Add-Ins for ArcGIS for Desktop

Page 11: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Anatomy – Declarative Aspects of the Components

• ID • Caption • Class • Message • Image • Category • Tooltips • Help • Docking State and Position

.NET Add-Ins for ArcGIS for Desktop

Page 12: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Anatomy – Resources and Localisation

• Config.xml • Resources

.NET Add-Ins for ArcGIS for Desktop

Page 13: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Anatomy – Programmatic Aspect

• Add-In Behavior coded using - Wizard and Templates in Visual Studio/Eclipse - Base Classes for each Add-In Type - ArcObjects API

.NET Add-Ins for ArcGIS for Desktop

Page 14: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Implementation – Entry Points

• Static Classes - depends on Type and Target - ArcMap - ThisAddIn - IDs

.NET Add-Ins for ArcGIS for Desktop

Page 15: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Implementation – Entry Points

• Static Classes - depends on Type and Target - ArcMap - ThisAddIn - IDs

.NET Add-Ins for ArcGIS for Desktop

Page 16: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Implementation – Entry Points

• Static Classes - depends on Type and Target - ArcMap - ThisAddIn - IDs

.NET Add-Ins for ArcGIS for Desktop

Page 17: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Authoring an Add-In

Demo

Page 18: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Well Known Folders

• Add-In files are automatically descovered in well-known Folders and incorporated into the Desktop applications on runtime

.NET Add-Ins for ArcGIS for Desktop

Page 19: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Local Folder

• Local Folders are per user and per ArcGIS version

.NET Add-Ins for ArcGIS for Desktop

%UserProfile%\My Documents\ArcGIS\AddIns\Desktop10.2

Page 20: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Network Share

• Administered network shares • Shared Folders with read access to the users • Simplifies updates

.NET Add-Ins for ArcGIS for Desktop

Page 21: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – ArcGIS Online

• Private Account or Organisational Subscription • Download

.NET Add-Ins for ArcGIS for Desktop

Page 22: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Add-In Installation Utility

• Double-click “Install” • Customize „Add from file“ • COPY or XCOPY

.NET Add-Ins for ArcGIS for Desktop

Page 23: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Add-In Manager Dialog

• Shows detailed information on all installed Add-Ins • Mine vs. Shared • Deleting Add-Ins

.NET Add-Ins for ArcGIS for Desktop

Page 24: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Sharing and Security Options

• Custom search folders • Security Options

.NET Add-Ins for ArcGIS for Desktop

Page 25: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment – Sharing and Security Options

• Administrator Settings - HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\Desktop10.0\Settings - BlockAddIns (REG_DWORD)

- AddInFolders

.NET Add-Ins for ArcGIS for Desktop

Page 26: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Deployment - Digitally Signing Add-Ins

• Trust - Source Traceability - Tampering

• ESRISignAddin Utility

.NET Add-Ins for ArcGIS for Desktop

C:\Program Files (x86)\Common Files\ArcGIS\bin

Page 27: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Managing Add-Ins

Demo

Page 28: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Documentation

• ArcObjects Help for .NET (VS2010/VS2012) - Building add-ins for ArcGIS for Desktop

• ArcGIS Resource Center - http://resources.arcgis.com/en/help/arcobjects-

net/conceptualhelp/

.NET Add-Ins for ArcGIS for Desktop

Page 29: NET Add-Ins for ArcGIS for Desktop...•Easy to build • Easy to share • More secure • C#, VB.NET, Java and Python .NET Add-Ins for ArcGIS for Desktop A framework for a better

Questions ?