SlideShare una empresa de Scribd logo
1 de 31
Esri Developer Summit in Europe
November 9 | Rotterdam



    Configuring and Customizing ArcGIS
     Viewer for Silverlight and ArcGIS
              Viewer for Flex
                 Mark Jagt
                 Boudewijn Boogaard
Agenda


 •   Configuring the ArcGIS Viewer for Silverlight
 •   Extending the Silverlight viewer with Add-ins
 •   Configuring the ArcGIS Viewer for Flex
 •   Extending the Flex viewer with Widgets
ArcGIS Viewer for Silverlight
         Overview
ArcGIS Viewer for Silverlight Overview



     •   Configurable ready-to-deploy Web client
             -   Built with ArcGIS API for Silverlight
     •   Easily and quickly create and implement GIS Web
         mapping applications




 •       Set of core tools and functionality
 •       No programming or editing configuration files
         -       Ideal for novice Web application creators
ArcGIS Viewer for Silverlight Overview


  •   Hosted on-premise


  •   Consists of 3 components:
      1.   Configurable Viewer
      2.   Application Builder
      3.   Extensibility Kit
Building a Silverlight Viewer
                   Application Builder
Add-Ins
Add-Ins – Extending the Viewer


  •   The Viewer does the repetitive stuff
      -   Map configuration
      -   Overall app architecture
      -   Generic tools
      -   Generic app appearance (title, colors, logo)


  •   Add-ins enable specific workflows and branding
      -   “Add-in” → code module containing functionality
           -   Compiled as Silverlight packages (.xap files)
      -   Seamlessly plug-in to Viewer and Builder
           -   Encourages reusability
Add-Ins – Extending the Viewer



  •   Software for developing add-ins
      -   Visual Studio 2010 SP1 or Visual Web Developer 2010
          Express
      -   ArcGIS API for Silverlight 3.0
      -   Silverlight 5 Tools for Visual Studio 2010
      -   Silverlight Toolkit
      -   ArcGIS Extensibility SDK for Silverlight 3.0
           -   Visual Studio 2010 template provided


  •   Same add-in will work in both the Silverlight Viewer
      and ArcGIS for SharePoint
Add-Ins – Extensibility Points


  Several ways to customize:
  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
Add-Ins – Implementation


  •   Develop using the Extensibility API
      -   Included in the Extensibility SDK
  •   ESRI.ArcGIS.Client.Extensibility assembly
      -   Lightweight API for Viewer (and SharePoint)
      -   Provides access to map, selected layer, and pop-up
      -   Methods to easily show UI in dialogs
      -   Hooks to store and load add-in configuration
  •   Any Silverlight library can be referenced
  •   Use the VS Template to start
Tools

•   Simplest, most common extensibility endpoint
•   Logic initiated by user click
•   Appear as buttons on toolbars and menus
•   Users can add them from Application Builder
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 BuilderTemplatesDefaultConfigLayouts
  •   Create preview image
      • Name the same as xaml file
      • Ideal size is 580 x 359

  •   Tip - clear browser cache
Controls

  •   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)
Templates

  •   Default Viewer configuration
      •   Map
      •   Tools
      •   Basemaps
      •   Layouts
      •   Colors
  •   Default template stored at BuilderTemplatesDefault
  •   Includes all files in a Viewer application
Creating Templates

  •   Configure a Viewer
  •   Deploy
  •   Copy Deployed Viewer folder to BuilderTemplates
  •   Add an entry to BuilderTemplates.xml
A Simple Tool and Behavior
ArcGIS Viewer for Flex
      Overview
A quick primer before we get started…


  •   Configurable ready-to-deploy Web client
      -   Built with the ArcGIS API for Flex
  •   Easily and quickly build and implement GIS Web
      mapping applications
Three flavors to choose from…


  1 - Application Builder
    -   Great starting point.
  2 - ArcGIS Viewer for Flex (compiled)
    -   Power users!
  3 - ArcGIS Viewer for Flex (source)
    -   Flex developers - do anything you want!
         -   https://github.com/ArcGIS/ArcGISViewerForFlex
So what is this Application Builder?


  •   Build Flex Viewer applications
  •   GUI user experience to configure and deploy the
      Viewer web application




      Data Content   Functionality     Appearance
Building a Flex Viewer
            Application Builder
Creating a new widget
Why create a new Widget?


  •   Needed functionality may not be given in core Viewer
  •   Or…functionality is provided but you may need to
      tweak it to suit your specific needs
  •   Some examples for custom widgets could be:
      -   API functionality that is not provided directly in Viewer
      -   Social Media integration
      -   More great examples can be found at the Esri Code
          Gallery
Before you begin, you will need


  •   An IDE of preference that will allow compiling the
      Viewer (e.g. Flash Builder)
  •   Adobe Flex 4.5 SDK or later
  •   ArcGIS Viewer for Flex source code on Github
  •   ArcGIS API for Flex
  •   More instructions on our Flex Resource Center
Create a Custom Widget
Let’s wrap it all up
Summary

  •   The Viewers are configurable, but lots for devs, too
      •   Developers are the bridge from generic to specific


  •   Many ways to make the Viewer do what you need

  •   Add-Ins and Widgets are inherently reusable

  •   Easy, flexible, rich development environment

  •   Resource Center
Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard

Más contenido relacionado

La actualidad más candente

SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
Ricardo Wilkins
 

La actualidad más candente (20)

Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
 
Dashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxDataDashboards as Code by Tim Hall, VP of Product | InfluxData
Dashboards as Code by Tim Hall, VP of Product | InfluxData
 
Non SharePoint Deployment
Non SharePoint DeploymentNon SharePoint Deployment
Non SharePoint Deployment
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI Fabric
 
Mainframe, the fast PHP framework
Mainframe, the fast PHP frameworkMainframe, the fast PHP framework
Mainframe, the fast PHP framework
 
Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a box
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
 
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and AzureCloud-Based App Development using SharePoint 2013, Office 365 and Azure
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
 
SharePoint Development
SharePoint DevelopmentSharePoint Development
SharePoint Development
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
Tutorial, Part 4: SharePoint 101: Jump-Starting the Developer by Rob Windsor ...
 
SharePoint development 2017 wrap-up
SharePoint development   2017 wrap-upSharePoint development   2017 wrap-up
SharePoint development 2017 wrap-up
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
SharePoint 2013 Dev Features
SharePoint 2013 Dev FeaturesSharePoint 2013 Dev Features
SharePoint 2013 Dev Features
 
apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...
apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...
apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Building your first iOS app using Xamarin
Building your first iOS app using XamarinBuilding your first iOS app using Xamarin
Building your first iOS app using Xamarin
 

Similar a Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard

13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...
AEGIS-ACCESSIBLE Projects
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Shyamala Prayaga
 

Similar a Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard (20)

Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Using and extending Alfresco Content Application
Using and extending Alfresco Content ApplicationUsing and extending Alfresco Content Application
Using and extending Alfresco Content Application
 
How to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power UserHow to become a Rational Developer for IBM i Power User
How to become a Rational Developer for IBM i Power User
 
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
Integrate Applications into IBM Connections Cloud and On Premises (AD 1632)
 
13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...13 providing an ide for creating, simulating and assessing accessible applica...
13 providing an ide for creating, simulating and assessing accessible applica...
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!New SharePoint Features in Visual Studio 2012!
New SharePoint Features in Visual Studio 2012!
 
Esri Scotland Conf 2016 Glasgow City Council
Esri Scotland Conf 2016   Glasgow City CouncilEsri Scotland Conf 2016   Glasgow City Council
Esri Scotland Conf 2016 Glasgow City Council
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 
SharePoint Design & Development
SharePoint Design & DevelopmentSharePoint Design & Development
SharePoint Design & Development
 
Sitecore - what to look forward to
Sitecore - what to look forward toSitecore - what to look forward to
Sitecore - what to look forward to
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
 
Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2Adobe Flex - Developing Rich Internet Application Workshop Day 2
Adobe Flex - Developing Rich Internet Application Workshop Day 2
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
Siebel Open UI Presentation
Siebel Open UI PresentationSiebel Open UI Presentation
Siebel Open UI Presentation
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
 

Más de Esri Nederland (10)

Het verhaal achter kaarten
Het verhaal achter kaartenHet verhaal achter kaarten
Het verhaal achter kaarten
 
EGC2013 Mark Herbold
EGC2013 Mark HerboldEGC2013 Mark Herbold
EGC2013 Mark Herbold
 
Gin presentatie
Gin presentatieGin presentatie
Gin presentatie
 
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction toArcGIS for Developers, Esri, Charles van der Put, Jim BarryIntroduction toArcGIS for Developers, Esri, Charles van der Put, Jim Barry
Introduction to ArcGIS for Developers, Esri, Charles van der Put, Jim Barry
 
Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoo...
Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoo...Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoo...
Getting Started with the ArcGIS API for JavaScript, Esri, Julie Powell, Antoo...
 
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
Developer’s Guide to the ArcGIS Portal API, Esri, Julie Powell, Antoon Uijtd...
 
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
Building mobile apps with the ArcGIS api for Javascript, Esri, Andy Gup and A...
 
Building good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris BakBuilding good web_maps, Esri, Joris Bak
Building good web_maps, Esri, Joris Bak
 
Open data, nu!
Open data, nu!Open data, nu!
Open data, nu!
 
Open data workshop modellen
Open data workshop modellenOpen data workshop modellen
Open data workshop modellen
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Flex en silverlight viewer configuratie, Esri, Mark Jagt, Boudewijn Boogaard

  • 1. Esri Developer Summit in Europe November 9 | Rotterdam Configuring and Customizing ArcGIS Viewer for Silverlight and ArcGIS Viewer for Flex Mark Jagt Boudewijn Boogaard
  • 2. Agenda • Configuring the ArcGIS Viewer for Silverlight • Extending the Silverlight viewer with Add-ins • Configuring the ArcGIS Viewer for Flex • Extending the Flex viewer with Widgets
  • 3. ArcGIS Viewer for Silverlight Overview
  • 4. ArcGIS Viewer for Silverlight Overview • Configurable ready-to-deploy Web client - Built with ArcGIS API for Silverlight • Easily and quickly create and implement GIS Web mapping applications • Set of core tools and functionality • No programming or editing configuration files - Ideal for novice Web application creators
  • 5. ArcGIS Viewer for Silverlight Overview • Hosted on-premise • Consists of 3 components: 1. Configurable Viewer 2. Application Builder 3. Extensibility Kit
  • 6. Building a Silverlight Viewer Application Builder
  • 8. Add-Ins – Extending the Viewer • The Viewer does the repetitive stuff - Map configuration - Overall app architecture - Generic tools - Generic app appearance (title, colors, logo) • Add-ins enable specific workflows and branding - “Add-in” → code module containing functionality - Compiled as Silverlight packages (.xap files) - Seamlessly plug-in to Viewer and Builder - Encourages reusability
  • 9. Add-Ins – Extending the Viewer • Software for developing add-ins - Visual Studio 2010 SP1 or Visual Web Developer 2010 Express - ArcGIS API for Silverlight 3.0 - Silverlight 5 Tools for Visual Studio 2010 - Silverlight Toolkit - ArcGIS Extensibility SDK for Silverlight 3.0 - Visual Studio 2010 template provided • Same add-in will work in both the Silverlight Viewer and ArcGIS for SharePoint
  • 10. Add-Ins – Extensibility Points Several ways to customize: 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
  • 11. Add-Ins – Implementation • Develop using the Extensibility API - Included in the Extensibility SDK • ESRI.ArcGIS.Client.Extensibility assembly - Lightweight API for Viewer (and SharePoint) - Provides access to map, selected layer, and pop-up - Methods to easily show UI in dialogs - Hooks to store and load add-in configuration • Any Silverlight library can be referenced • Use the VS Template to start
  • 12. Tools • Simplest, most common extensibility endpoint • Logic initiated by user click • Appear as buttons on toolbars and menus • Users can add them from Application Builder
  • 13. 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
  • 14. 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
  • 15. Layouts - Deployment • Copy to BuilderTemplatesDefaultConfigLayouts • Create preview image • Name the same as xaml file • Ideal size is 580 x 359 • Tip - clear browser cache
  • 16. Controls • 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)
  • 17. Templates • Default Viewer configuration • Map • Tools • Basemaps • Layouts • Colors • Default template stored at BuilderTemplatesDefault • Includes all files in a Viewer application
  • 18. Creating Templates • Configure a Viewer • Deploy • Copy Deployed Viewer folder to BuilderTemplates • Add an entry to BuilderTemplates.xml
  • 19. A Simple Tool and Behavior
  • 20. ArcGIS Viewer for Flex Overview
  • 21. A quick primer before we get started… • Configurable ready-to-deploy Web client - Built with the ArcGIS API for Flex • Easily and quickly build and implement GIS Web mapping applications
  • 22. Three flavors to choose from… 1 - Application Builder - Great starting point. 2 - ArcGIS Viewer for Flex (compiled) - Power users! 3 - ArcGIS Viewer for Flex (source) - Flex developers - do anything you want! - https://github.com/ArcGIS/ArcGISViewerForFlex
  • 23. So what is this Application Builder? • Build Flex Viewer applications • GUI user experience to configure and deploy the Viewer web application Data Content Functionality Appearance
  • 24. Building a Flex Viewer Application Builder
  • 25. Creating a new widget
  • 26. Why create a new Widget? • Needed functionality may not be given in core Viewer • Or…functionality is provided but you may need to tweak it to suit your specific needs • Some examples for custom widgets could be: - API functionality that is not provided directly in Viewer - Social Media integration - More great examples can be found at the Esri Code Gallery
  • 27. Before you begin, you will need • An IDE of preference that will allow compiling the Viewer (e.g. Flash Builder) • Adobe Flex 4.5 SDK or later • ArcGIS Viewer for Flex source code on Github • ArcGIS API for Flex • More instructions on our Flex Resource Center
  • 28. Create a Custom Widget
  • 29. Let’s wrap it all up
  • 30. Summary • The Viewers are configurable, but lots for devs, too • Developers are the bridge from generic to specific • Many ways to make the Viewer do what you need • Add-Ins and Widgets are inherently reusable • Easy, flexible, rich development environment • Resource Center