ArcGIS Viewer for Silverlight Advanced Topics

Similar documents
Configuring and Customizing the ArcGIS Viewer for Silverlight. Katy Dalton

ArcGIS Viewer for Microsoft Silverlight An Introduction

Web Mapping Applications with ArcGIS. Bernie Szukalski Derek Law

ArcGIS Viewer for Flex Advanced Topics

Web AppBuilder Presented by

Customizing the Operations Dashboard for ArcGIS

Designing and Using Cached Map Services

Working with the ArcGIS Viewer for Flex Application Builder

ArcGIS Viewer for Flex An Introduction

Creating Web Mapping Applications. Nikki Golding

No Programming Required Create web apps rapidly with Web AppBuilder for ArcGIS

Building Applications with the ArcGIS Runtime SDK for WPF

Author. Publish. Use

Esri Maps for SharePoint

Working with Metadata in ArcGIS

Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy

ArcGIS API for Silverlight An Introduction

Getting Started with ArcGIS for Server. Charmel Menzel and Ken Gorton

ArcMap Tips and Tricks

ArcMap: Tips and Tricks

Telling Stories with Map Templates

Web AppBuilder for ArcGIS: JavaScript Apps Made Easy

Best Practices for Designing Effective Map Services

EUCOM/AFRICOM DEFENSE USER GROUP MEETING MARCH 2010 STUTTGART WELCOME!

ArcGIS Pro Extensibility - Building and Deploying Addins with the new DotNet SDK

ICIT. Brian Hiller ESRI Account Manger. What s new in ArcGIS 10

ArcGIS SDK for Windows Phone and ArcGIS for SharePoint. Jo Fraley Nikki Golding

ArcGIS API for Flex An Introduction

Developers Road Map to ArcGIS Desktop and ArcGIS Engine

ArcGIS Runtime SDK for.net: Building Xamarin Apps. Rich Zwaap Thad Tilton

Network Analysis with ArcGIS Online and On-premise Services

ArcPad An Introduction

ArcGIS Runtime SDK for.net Getting Started. Jo Fraley

Interactive webmaps with ArcGIS. Kristel Meikas, AlphaGIS

Creating Apps Using ArcGIS Online Templates. Matt Kennedy

Developing Mobile Apps with the ArcGIS Runtime SDK for.net

Customizing Web AppBuilder using Third Party Products. Presented to: Esri Canada Toronto UC Presented by: Maura Daffern October 11 th, 2018

Python Map Automation Beyond the Basics of arcpy.mapping

ArcGIS Online. The Road Ahead Geoff Mortson

Understanding and using Metadata across the ArcGIS Platform. Aleta Vienneau Marten Hogeweg

ArcGIS Pro SDK for.net Beginning Pro Customization. Charles Macleod

Lab 7: Silverlight API

Getting Started with ArcGIS Runtime SDK for Java SE

Enabling High-Quality Printing in Web Applications. Tanu Hoque & Jeff Moulds

Building Java Apps with ArcGIS Runtime SDK

ArcGIS Runtime SDK for WPF

Network Analyst: An Introduction

Developing Qt Apps with the Runtime SDK

Building Mashups Using the ArcGIS APIs for FLEX and JavaScript. Shannon Brown Lee Bock

ArcGIS Online: Three-and-a-Half Ways to Create Tile Layers. Eric Anderson & Adam Eversole Esri Support Services

ArcPad An Introduction

An Introduction to GIS for developers

ArcGIS Pro SDK for.net Intro and Pro Add-in Programming Patterns. Wolfgang Kaiser

Sharing Web Layers and Services in the ArcGIS Platform. Melanie Summers and Ty Fitzpatrick

ArcGIS Runtime SDK for Java: A Beginner s Guide. Mark Baird JC Malott

ArcGIS Pro SDK for.net Advanced User Interfaces in Add-ins. Wolfgang Kaiser

Implementing MVVM in Real World ArcGIS Server Silverlight Applications. Brandon Copeland LJA Engineering, Inc.

Working with Feature Layers. Russell Brennan Gary MacDougall

Securing ArcGIS Server Services An Introduction

ArcGIS for Mobile An Introduction. Bonnie Stayer

ArcGIS for Developers. Kevin Deege Educational Services Washington DC

ArcGIS Enterprise: Advanced Topics in Administration. Thomas Edghill & Moginraj Mohandas

A Developers Guide To Mobile GIS. David Cardella, Jeff Shaner

ArcGIS API for JavaScript Advanced Topics

Introduction to JavaScript. Evan Caldwell & James Tedrick

Operations Dashboard for ArcGIS Monitoring GIS Operations. Michele Lundeen Esri

Enabling High-Quality Printing in Web Applications. Tanu Hoque & Scott Moore

Does Your Data Have Harmony. Dan Stone

ArcGIS Runtime SDK for.net Building Apps. Rex Hansen

Developing Add-Ins for ArcGIS Pro (.NET) Toronto Esri Canada UC Presented by: Gandhar Wazalwar & Kern Ranjitsingh October 11, 2018

ArcGIS Online workshop Shane Clarke John Sharrard. Central Oregon GIS User Group Meeting Bend, OR January 23, 2013

Esri Production Mapping An Introduction

Introduction to ArcGIS API for Flex. Bjorn Svensson Lloyd Heberlie

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Agenda. Configuration. Customization. Customization without programming. Creating Add-ins

Advanced Parcel Editing. Amy Andis Tim Hodson

Getting Started with the ArcGIS Mobile APIs. Kris Bezdecny, David Martinez Andy Gup, David Cardella

ArcGIS Enterprise: Portal Administration BILL MAJOR CRAIG CLEVELAND

ArcGIS Pro Terminology Guide

ArcGIS Pro Terminology Guide

IBM TRIRIGA Application Platform Version 3.2. Graphics User Guide. Copyright IBM Corp i

Getting Started with ArcGIS Runtime SDK for the Microsoft.NET Framework. Morten Nielsen Mike Branscomb Antti Kajanus Rex Hansen

Real-Time GIS: Leveraging Stream Services

ArcGIS Pro: What s New in Editing and Data Management

Getting Started with the ArcGIS API for JavaScript. Julie Powell, Paul Hann

Web App Builder: Code-free Development. Adam Ziegler, Esri-Northeast, Local Government Team

Beginning Silverlight 5 in C #

Esri Developer Summit in Europe Building Applications with ArcGIS Runtime SDK for Java

Administering Your Microsoft SQL Server Geodatabase

Publishing Story Maps with ArcGIS

Understanding and Using Metadata in ArcGIS. Adam Martin Marten Hogeweg Aleta Vienneau

Developing Web Applications with ArcGIS Server. Kevin Deege Educational Services ESRI-Washington DC

Building Android Apps Runtime SDK for Android

Corporate Brand Your Vector Basemap. ANDREW GREEN

TRAINING GUIDE. ArcGIS Online and Lucity

Providing Interoperability Using the Open GeoServices REST Specification

ArcGIS Pro. Terminology Guide

IBM TRIRIGA Application Platform Version 3.3. Graphics User Guide. Copyright IBM Corp i

ArcGIS Web Viewers and Templates. Andy Gup, Jim Barry

ArcGIS Runtime SDKs Building Offline Apps. Nick Furness

Transcription:

Esri International User Conference San Diego, California Technical Workshops July 26, 2012 ArcGIS Viewer for Silverlight Advanced Topics Rich Zwaap

Agenda Add-ins overview Tools Behaviors Controls Layouts Road ahead

Add-Ins Adding functionality to the Viewer

Add-Ins Extending the Viewer Application Builder does a lot - Map configuration - Standard tools - Look and feel - Branding (title, logo, etc) Add-ins enable specific workflows - Add-in code module containing functionality - Compiled as Silverlight packages (.xap files) - Seamlessly plug-in to App Builder configuration - Encourages reusability A

Add-Ins Required Software Microsoft Visual Studio 2010 SP1 Microsoft Expression Blend 4 SDK Microsoft Silverlight 4 Toolkit ArcGIS Extensibility SDK for Silverlight 2.4 - Visual Studio 2010 template provided

Add-Ins Development Develop using the Extensibility API - Included in the Extensibility SDK ESRI.ArcGIS.Client.Extensibility assembly - Lightweight API for Viewer - Provides access to map, selected layer, and pop-up - Method to easily show UI in dialogs - Hooks to store and load add-in configuration Use the Visual Studio Template to start Any Silverlight library can be referenced A

Add-Ins Extensibility Points Several types of add-ins: 1. Tools functionality initiated by tool on toolbar 2. Behaviors non-ui logic 3. Layouts custom application look and feel 4. Controls UI integrated into application

Demo Add-In Types

Add-In Types Tools

Tools Overview Simplest, most common extensibility endpoint Logic initiated by user click Appear as buttons on toolbars and menus Users can add them from Application Builder A

Tools Implementation Implement ICommand Execute tool logic CanExecute determine whether tool is enabled or disabled CanExecuteChanged raise if enabling/disabling is needed Add Attributes: DisplayName*, Description, Category, DefaultIcon Export* (MEF attribute) *required

Tools Extensibility API Hooks MapApplication.Current Hook to Viewer properties Always available (static property) MapApplication.Current.ShowWindow Show UI in a dialog Displays any FrameworkElement WindowStyle determines whether window appearance matches Application Builder or current Viewer

Demo A Simple Tool

Tools More Extensibility API Hooks MapApplication.Current.Map Current Viewer s map MapApplication.Current.SelectedLayer Currently selected layer in Map Contents Useful for tools designed for the layer context menu MapApplication.GetLayerName/SetLayerName Gets or sets name shown in Map Contents PopupInfo Always passed to Execute for tools on Pop-up toolbar Can retrieve from MapApplication.Current.GetPopup Contains info about field and pop-up configuration

Demo Extensibility API

Tools Configuration Can implement configurability for Application Builder Gives designer flexibility in how a tool works Reusability Out-of-the-box Examples Basemap Gallery Print Built-in UI Custom UI A

Tools Implementing Configuration ISupportsConfiguration Configure fired when user wants to configure tool SaveConfiguration serialize tool config LoadConfiguration deserialize tool config and initialize

Demo Tool Configuration

Tools Integrated Configuration Can show tool configuration UI within Add Tool wizard Seamless integration with built-in UI Out-of-the-box example - Geoprocessing Built-in UI Custom UI A

Tools Implementing Wizard Configuration ISupportsWizardConfiguration Same members as ISupportsConfiguration, plus: Pages pages shown for configuring the tool DesiredSize how much space you want for your UI CurrentPage the page currently being shown PageChanging called by host when page is about to change OnCompleted called by host on wizard completion OnCancelled called by host on wizard cancellation

Demo Wizard Configuration

Add-In Types Behaviors

Behaviors Overview Functionality without user interaction Examples Introductory/terms of use dialog Initialize extent from query string Show coordinates Constrain extent

Behaviors - Implementation Inherit from Behavior<Map> Override OnAttached and OnDetached Optionally implement ISupportsConfiguration Configure, LoadConfiguration, SaveConfiguration Add attributes for DisplayName, Category Don t forget MEF Export attribute!

Demo Behaviors

Add-In Types Layouts

Layouts Overview Define application look and feel Loose xaml files all markup, no code Position of viewer elements Side panel Navigation control Scalebar Title, logo, links More Styles used by Viewer Tool buttons Pop-ups Navigation control More

Layouts Implementation Start with copy of an existing layout Open-ended - Anything that can be declared in XAML Some well-known elements expected by Viewer - If it has an x:name, don t remove it

Layouts Deployment Copy to Builder\Templates\Default\Config\Layouts Create preview image Name the same as xaml file Ideal size is 580 x 359 Tip - clear browser cache

Demo Layouts

Add-In Types Controls

Controls Overview Pieces of UI that are built-in Included in layout Can implement a tool to toggle on/off Out-of-the-box examples Map Navigation control FeatureDataGrid (attribute table)

Controls Implementation Implement Silverlight Control or UserControl Add to layout Define element name (x:name) Make configurable (optional) Implement ISupportsConfiguration In layout, set ElementExtensions.IsConfigurable to true

Demo Controls

Summary The Viewer is configurable, but lots for devs, too Devs are the bridge from generic to specific Many ways to make the Viewer do what you need Add-Ins are inherently reusable Make them more reusable by implementing conguration Easy, flexible, rich development environment

Road Ahead

Road Ahead Next release coming soon! Version 3.0 Expected Q3 Improvements Printing using 10.1 print service Search is configurable Specify other locator services Measure tool Bookmarks

Demo 3.0 Enhancements

Road Ahead for Developers Built on version 3.0 of the ArcGIS API for Silverlight Leverages Silverlight 5 New tools are shared-source Measure and Bookmarks already on ArcGIS.com Portal property added to MapApplication

Road Ahead Beyond 3.0 Add capabilities from the Flex Viewer and ArcGIS Manager Web Mapping Application Query Relationships Surface new Server capabilities Editor tracking Ownership-based access Develop using the Extensibility API Make it better by using it ourselves Share the source code with you A

Related UC sessions Creating Web Applications with ArcGIS - Fri 9:00 AM Room 8

Steps to evaluate UC sessions My UC Homepage > Evaluate Sessions Choose session from planner OR Search for session www.esri.com/ucsessionsurveys

Thank you for attending Have fun at UC2012 Open for Questions Please fill out the evaluation: www.esri.com/ucsessionsurveys Offering ID: 664