Technical Workshops | Esri International User Conference San Diego, California ArcGIS Viewer for Flex – Advanced Topics Lloyd Heberlie Björn Svensson July.

Slides:



Advertisements
Similar presentations
Esri International User Conference | San Diego, CA July 14, 2011 Troubleshooting ArcGIS Web APIs (JavaScript, Flex, Silverlight) from a Support Perspective.
Advertisements

Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS API for Flex.
Esri UC 2014 | Technical Workshop | ArcGIS for Water Utilities: An Overview Howard Crothers Mike Miller.
Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Tracking Analyst – an Introduction Morakot Pilouk,
Technical Workshops | Esri International User Conference San Diego, California Building Applications with ArcGIS Runtime SDK for Windows Phone Rex Hansen.
Esri International User Conference | San Diego, CA Technical Workshops | Road Ahead - Silverlight Rex Hansen Wednesday, July 13.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS API for Microsoft Silverlight – Advanced Topics Morten Nielsen
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Viewer for Flex—
Technical Workshops | Esri International User Conference San Diego, California Customizing ArcPad solutions Marika Vertzonis, Gareth Walters, Stephen Quan.
Geocoding - Advanced Techniques
Esri Maps for Salesforce and Microsoft Dynamics CRM
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Viewer for Flex An Introduction Canserina Kurnia and Derek Law July 12,
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Secure Applications.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Explorer Desktop.
Technical Workshops | Esri International User Conference San Diego, California Deploying your Smartphone and Tablet Apps Eric Ito David Cardella
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS for SharePoint, An Introduction Art Haddad Rich Zwaap.
Esri UC2013. Technical Workshop.Editing & Maintaining Parcels with ArcGIS.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Configuring ArcGIS.
Esri International User Conference | San Diego, CA Technical Workshops | Intro to ArcSDE for SQL Server Tony Wakim & Jim Gough July , 2011.
Esri International User Conference | San Diego, CA Technical Workshops | ArcGIS Runtime Euan Cameron Mary Harvey Ralf Gottschalk Road Ahead.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Mobile Overview.
Technical Workshops | Esri International User Conference San Diego, California Building Applications with the ArcGIS Runtime SDK for WPF Euan Cameron &
Technical Workshops | Esri International User Conference San Diego, California ArcGIS for Windows Mobile Justin Colville July 24th.
Sharing Geographic Content
ArcGIS Online for Organizations
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Local Government.
ArcGIS Workflow Manager An Introduction
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Technical Workshops | Esri International User Conference San Diego, California Esri Maps for IBM Cognos Dave Kerr Darren Nelson July 2012.
Esri UC 2014 | Technical Workshop | ArcGIS Data Reviewer Edwin Waite & Shankar Chandrasekaran Planning and Deploying Data Quality Services.
Extending ArcGIS for Server
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Windows.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS API for Flex.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Migrating your Data.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Road Ahead - ArcGIS.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS Viewer for Flex.
Esri Defense Mapping: Cartographic Production
Getting the most out of ArcGIS Web Application Templates
Introduction to Web AppBuilder for ArcGIS: JavaScript Apps Made Easy
ArcGIS Server for Administrators
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Technical Workshops | Esri International User Conference San Diego, California Supporting High-Quality Printing in Web Applications with ArcGIS 10.1 for.
Using the Operations Dashboard for ArcGIS Jay Chen / Tif Pun.
Esri UC 2014 | Technical Workshop | Geocoding with ArcGIS Online and ArcGIS Online World Geocoding Service Jeff Rogers and Brad Niemand.
Esri UC 2014 | Technical Workshop | ArcGIS Online: An Introduction and Overview Ray Bunn Andrew Hendrickson Tim Oliver, Horry County Paul Ross.
ArcGIS Workflow Manager Introduction
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Geocoding – An Introduction.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Supporting High-Quality.
Extend the Operations Dashboard with Custom Widgets (and more)
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Building Map Books.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Automating Geodatabase.
Esri UC 2014 | Technical Workshop | Operations Dashboard for ArcGIS: Extending the Functionality Jay Chen Kylie Donia Tif Pun.
Working with Feature Services Gary MacDougall Russell Brennan.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Customizing the Operations.
Extending the Operations Dashboard
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Law Enforcement:
Optimizing Your JavaScript App for Performance Lloyd Heberlie Dasa Paddock Rene Rubalcava.
Technical Workshops | Esri International User Conference San Diego, California Creating Web Maps: Tips and Tricks Charlie Frye, Esri, Redlands Jim Herries,
Esri UC2013. Technical Workshop. Demo Theater 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Introduction to the Esri.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California ArcGIS for Land Records:
GeoPlanner for ArcGIS Configuring for Use in Your Organization Robert Stauder / Joe Liao.
Esri UC 2014 | Technical Workshop | ArcGIS API for JavaScript: An Introduction Kelly Hutchins Derek Swingley.
Technical Workshops | Esri International User Conference San Diego, California Branching and Iteration in ModelBuilder Shitij Mehta July 24, :15.
ArcGIS for Server Security: Advanced
App Configuration, Customization or Development
Working with Feature Layers
Shankar Chandrasekaran
ArcGIS Viewer for Windows: An Introduction
Building Map Books in ArcGIS
Presentation transcript:

Technical Workshops | Esri International User Conference San Diego, California ArcGIS Viewer for Flex – Advanced Topics Lloyd Heberlie Björn Svensson July 27, 2012

Before we begin… Who are we? - Bjorn Svensson - - Lloyd Heberlie - Who are you? - Viewer source code - Selfish developer - Social developer

Introduction Developer overview Core Viewer widgets Custom widgets overview Creating custom widgets Packaging custom widgets for Application Builder Road ahead Additional resources Agenda

Introduction

Adobe continue to monetize Flash / AIR Adobe continue - Adobe Flash Player - Adobe Flash Builder - Donated Flex SDK to Apache - Adobe Flex SDK Apache Foundation - Apache Flex SDK - feature parity of Adobe Flex SDK Apache Flex 5.0 SDK … - Spoon Project (July review)July review Future of Flash runtimes and Flex SDK?

ArcGIS Viewer for Flex and Github

Demo Resource Center and Github

Developer overview

Developing for ArcGIS Viewer for Flex Setting up your development environment Flex SDK or higher Flash Player 11.1 or higher - Debug version Adobe Flash Builder Recommended Local web server ArcGIS Viewer 3.0 for Flex - API not included ArcGIS API 3.0 for Flex

Developing for ArcGIS Viewer for Flex Programming requirements and recommendations Comfortable programming with Flex SDK - Component architecture - Framework lifecycle - Events - States, Skinning - Modules Understanding the Viewer architecture and configuration Comfortable with ArcGIS API for Flex Comfortable with ArcGIS for Server web services

Understanding Viewer architecture Main application - index.swf Widgets are optimized for the main application - Smaller footprint for faster downloads Widgets are Flex modules - No support for mobile applications Widgets are only loaded when requested - Never unloaded

ArcGIS Viewer for Flex and Adobe Flash Builder

What are Flex modules? SWF files that can be loaded and unloaded by an application Let you split your application into several pieces, or modules Allows main application to dynamically load/unload what it requires, when it needs functionality Allows you to split application into functional pieces

ArcGIS Viewer for Flex widgets and Flex modules

Resource Center and Flash Builder

Developer overview summary Widgets are compiled and run within the main Viewer application context Widgets are optimized for the main application Flex modules don’t meet Apple iOS development requirements Always export release build for production Developer’s Guide -> Application architectureApplication architecture Tip: Only compile the widgets that you are using

Core Viewer widgets

Types of Viewer widgets Managed widgets - Listed in the widget tray of the Header Controller - Can be minimized, opened, and closed - Children of in the main config - Your custom widgets will be here generally Unmanaged widgets - UI components - Typically always visible - Children of tag in main config - Header controller, overview map, map switcher, etc

Custom widgets overview

Widget overview Viewer provides a framework for building modular and extensible widgets Widgets are actually Flex modules Perspective on Widgets - Source code (src/widgets/MyWidget/*) - MyWidget.mxml, MyWidget.xml - Visual assets (src/assets/images) - Compiled binary (bin-release/widgets/MyWidget/*) - MyWidget.swf, MyWidget.xml - Viewer main configuration for a widget

Creating custom widgets for ArcGIS Viewer for Flex Programming requirements and recommendations Knowledgeable about ArcGIS Viewer for Flex Knowledgeable about ArcGIS API for Flex Comfortable programming with Flex SDK Compile the core Viewer without any errors

Typical custom widget workflows Managed widgets Modify an existing widget from Code Gallery Modify an existing core Viewer widget Create a new widget from an existing core Viewer widget Write a new widget from API samples Write a new widget from scratch

Widget samples HelloWorld TestOpenClose ThematicQuery

Creating custom widgets

Before you begin Why are you building this thing? Storyboard Define requirements Create your ArcGIS web services Is there any code you can reuse? - Widgets, API samples, code gallery Prototype a standalone API application

Creating your widget Widget naming conventions - Create a directory named MyCustomName with - MyCustomNameWidget.mxml - MyCustomNameWidget.xml Define the configuration file Define the business logic Define the User Interface Also see: Developer guide -> Creating widgetsCreating widgets

Most widgets will have the same patterns Extend Base Widget - Handle widgetConfigLoaded event - Read the viewer’s main config file - configData - Read your widget’s config file - configXML Add WidgetTemplate - Implement closed, open, minimized event handlers Create the UI Create states and transitions for your widget

Steps to create a custom widget Demo overview Step 1: Create widget folder - “GenerateRenderers” Step 2: Create widget (module) - GenerateRenderersWidget.mxml Step 3: Create widget configuration file - GenerateRenderersWidget.xml Step 4: Add assets to widget folder Step 5: Add widget to main configuration file Step 6: Compile and debug (bin-debug) Step 7: Export release build (bin-release)

Demo Creating a custom widget

Steps to create a custom widget from a sample Demo overview Step 1: Add widget variables Step 2: Add any Declarations Step 3-4: Add/Replace UI mainState and settingsState Step 5: Get configuration from widget config - configXML, configData, map Step 6-7: Handle WidgetTemplate events Step 8: Add widgetbusiness logic Step 9: Compile, debug, test Step 10: Prepare for Application Builder packaging - Compile with no local, Export release build

Demo Using an API sample to build a custom widget

Packaging custom widgets for Application Builder

Packaging requirements File naming conventions Meta.xml Compiling the widget source with no locale

Compiling widgets for Application Builder Default Flex Compiler arguments -locale en_US -source-path=locale/{locale} -keep-all- type-selectors=true Modified for Application Builder packaging -locale= -source-path=locale/{locale} -keep-all-type- selectors=true

Demo Packaging Custom Widgets for Application Builder

Road Ahead

Coming in 3.1: FeatureDataGrid widget

Coming in 3.1: Locator search in the header

Additional resources

Esri documentation, forums, samples Adobe More information

Instructor-Led Courses - Building Web Applications Using the ArcGIS API for Flex (3.0) Building Web Applications Using the ArcGIS API for Flex - Introduction to ArcGIS Server (10.1) Introduction to ArcGIS Server - ArcGIS for Server: Sharing GIS Content on the Web (10.1) ArcGIS for Server: Sharing GIS Content on the Web Online Training Seminars - Free, one-hour presentation and demos by Esri technical experts - Live seminar broadcast on a new topic every month Esri training for Web developers

Tuesday 03:15 – 4:30ArcGIS Viewer for Flex – An Introduction Room 02 Wednesday 8:30 – 9:45ArcGIS API for Flex – Advanced Topics Room 32 B 10:15 – 11:45 ArcGIS API for Flex – An Introduction Room Ball 6E 3:15 – 4:30ArcGIS Viewer for Flex – Advanced Topics Room 02 Thursday 10:15 – 11:30 ArcGIS API for Flex – Advanced Topics Room 32 B 10:15 – 11:30 ArcGIS Viewer for Flex – An Introduction Room 02 Friday 9:00 – 10:15 ArcGIS Viewer for Flex – Advanced Topics Room 04 UC Agenda: Flex Technical Sessions

Tuesday 12:00 – 1:00Flex Developer Special Interest Group Room 28A 12:00 – 12:30 Mind Control, Big data, Hadoop and lots more Esri Labs Exhibit Hall B Wednesday 12:00 – 1:00Killer Apps: Flex and HTML5 Room Ball 6E 3:00 – 3:30Reinventing the Feel: Building Impressive HTML User Experiences Esri Labs Exhibit Hall B UC Agenda: Other sessions and info

Esri Showcase schedule Tuesday 9 – 6 Wednesday 9 – 6 Thursday 9 – 1:30

Introduction Developer overview Core Viewer widgets Custom widgets overview Creating custom widgets Packaging custom widgets for Application Builder Road ahead Additional resources Summary

Steps to evaluate UC sessions My UC Homepage > “Evaluate Sessions” Choose session from planner OR Search for session

Thank you for attending Have fun at UC2012 Open for Questions Please fill out the evaluation: First Offering ID: 662 Second Offering ID: 1934