Extending Esri Maps for SharePoint with the Esri Maps ... Extending Esri Maps for SharePoint with the

  • View
    0

  • Download
    0

Embed Size (px)

Transcript

  • Extending Esri Maps for SharePoint with the Esri Maps Extensibility API

    Tony Howser, Sentha Sivabalan, Heiko Heijenga, Elitsa Baklova

  • Microsoft SharePoint

  • What is SharePoint?

  • SharePoint in Defense

  • SharePoint in Big Pharma

  • SharePoint in Oil and Gas

  • SharePoint in Architecture, Engineering & Construction

  • What is SharePoint?

  • A Portal to Your LOB Data

    • Enterprise Resource Planning (ERP)

    • Supply Chain Management (SCM)

    • Product Lifecycle Management (PLM)

    • Customer Relationship Management (CRM)

    • Enterprise Content Management (ECM)

    • Business Intelligence (BI)

    e.g. Documentum, IBM FileNet, OpenText, SharePoint, HP, Oracle & lots of niche solutions

    e.g. SAP, Oracle, Lawson

    e.g. IBM, Infor, Sage, SAP, Oracle

    e.g. Siemens, PTC, SAP, Oracle

    e.g. Salesforce.com, Dynamics, SAP, Oracle

    e.g. SAP, IBM, MicroStrategy, Oracle

  • A Host for Public-facing Websites

    http://www.valero.com/default.aspx http://www.adm.com/en-US/Pages/default.aspx http://www.theupsstore.com/Pages/index.aspx http://www.viacom.com/Pages/default.aspx http://www.oxy.com/Pages/Home.aspx http://www.kroger.com/Pages/default.aspx http://www.hess.com/default.aspx

  • Esri Maps for SharePoint in a Nutshell

  • If you can create or edit a SharePoint Site Page, you can author, customize and publish an interactive web map with Esri Maps for SharePoint

  • Color-coded mapping

    Geographic data enrichment

    Publish and share web maps and feature services

    JavaScript-based architecture

    World geocoding and place name lookup

    Geo-statistical hot spot analysis

    Point-to-point routing

    Map-enable data in SQL Server Tables through BCS support

    Polygon and Polyline feature support

    Setups in 22 languages

  • Create Rich Interactive Web Maps

    • JavaScript-based • Create, edit and publish with

    simple dialog-driven control • Mash up your data from

    SharePoint Lists, SQL Server Tables, your published MXDs and the global content on Esri’s platform

  • Spatial Analytics Out of the Box

  • Demographics

    Consumer Spending

    Market Potential

    Supply & Demand

    Market Segmentation

    Natural Hazards

    Landscape Info

    Occupation

    Labor Force

    Media Habits

    Traffic

    Crime Weather

    Growth Trends

    Lifestyles

  • GeoEnrichment

    • Quickly analyze any location or area of arbitrary shape or size

    InfoGraphics

    Reports Maps & Layers

    Data Enrichment

  • Share and Collaborate with Maps Inside and Outside of SharePoint

  • Implement custom tools and behaviors beyond what’s supported out of the box.

    Announcing Esri’s New SharePoint Developer Option

  • 2009 2012 Enterprise Penetration 66%3

    Users 100,000,0001 135,000,0002 • Client Access Licenses (CALs)

    Microsoft Revenue $1,300,000,0001 $2,000,000,0002

    Market $6,500,000,0003

    • Estimate includes market for ecosystem vendors, consultants, integrators, developers

    • 700,000 developers4 • 4,000 Microsoft Partners4

    .

    As a developer, why should you extend Esri Maps for SharePoint?

  • 2009 2012 Enterprise Penetration 66%3

    Users 100,000,0001 135,000,0002 • Client Access Licenses (CALs)

    Microsoft Revenue $1,300,000,0001 $2,000,000,0002

    Market $6,500,000,0003

    • Estimate includes market for ecosystem vendors, consultants, integrators, developers

    • 700,000 developers4 • 4,000 Microsoft Partners4

    As a developer, why should you extend Esri Maps for SharePoint?

  • Creating Extensions with the Esri Maps Extensibility API

  • Esri Maps Apps: Architecture

    Esri Maps Framework

    Platform

    Applications

    ArcGIS JavaScript API

    ArcGIS Online and Portal

    Esri Maps Integration API

    In si

    gh ts

    M ic

    ro St

    ra te

    gy

    O ffi

    ce

    D yn

    am ic

    s C

    R M

    SA P

    B us

    in es

    s O

    bj ec

    ts

    Sa le

    sf or

    ce

    C og

    no s

    Sh ar

    eP oi

    nt

    C us

    to m

    B AO

    Esri Maps Extensibility API

  • Extensibility Technology

    • Familiar & Non-Disruptive - Dojo - ArcGIS JavaScript API

    ArcGIS JavaScript API

    Dojo

    Esri Maps Integration API Esri Maps Extensibility API

  • Extension Points

    • Tools - User-driven - Functionality initiated by user action - E.g. when a button on a tool bar is clicked

    • Behaviors - Event-driven - Functionality triggered by events - E.g. when a layer is added to the map

    • Packaged in an Extension Pack

    Extension Pack

    Manifest

    Measure Tool

    Route Tool

    Track Sales

    Show Mouse Coordinates

    Restrict Map Extent

    Show Current Location on App Init

  • What Are You Extending?

  • What Are You Extending?

    0 *

    0 *0 *

    0 *

    App

    Layout

    Tool Map

    Tool Container

    Tool Map Item _Tool

    Extension Pack

    _Behavior

    0

    *

    0

    *

    0

    *

  • • Functionality associated with a button on a toolbar/menu

    Tools

    _Tool

    execute()

    enabled

    description

    iconClass label

    showTooltip tooltip

    visible

    Tool appearance

    Tool availability at run time

    What happens when the tool is invoked

    Properties

    Methods

  • Creating a Tool

    • Dojo Class Inheriting from _Tool

    _Tool

    MyTool

  • Behaviors

    • Functionality invoked when an event occurs

    _LayerBehavior layer_MapBehavior layerId

    _MapMixin map

    _Behavior

    execute()

    eventName description label

    target

    Appearance

    What happens when the behavior is invoked

    Properties

    Methods The event on the target to execute on

  • Creating a Behavior

    • Dojo Class Inheriting from _Behavior or a Subclass

    _Behavior

    MyBehavior

  • Empowering Extensions with Mixins

    • Mixins - Allow for multiple inheritance of implemented properties and methods

    _Tool

    _LayoutMixin

    layout

    _MapMixin

    map

    MyTool

  • Extensibility Mixins

    • Provide Access to - Map - Selected Layer - Current Graphic in Popup - Layout - Popup - ArcGIS Portal

    • Make Tools and Behaviors - Toggle Between Checked/Unchecked States - Configurable at Design Time

    _ConfigureMixin

    _PortalMixin

    _ToggleMixin _GraphicMixin

    _MapMixin

    _SelectedLayerMixin

    _PopupMixin

    _LayoutMixin

    isConfigurable configure()

    graphic

    layout

    map

    popup

    portalselectedLayer

    checked

    Mixin can be used in a Behavior Mixin can be used in a Tool

  • Empowering Extensions: Working with SharePoint Data

    • Bislayer - Data from SharePoint in the Map - Is a Feature Collection Based Feature Layer

    FeatureLayer

    Bislayer

  • Creating Extension Packs

    • For Packaging Your Extensions • Extension Packs

    - Tools - Behaviors - Manifest

    - List of tools and behaviors

    • Extension Pack Archive - For Sharing - Zip of Extension Pack

    Extension Pack

    Manifest

    Zip and Share Extension Pack

    Archive

    Measure Tool

    Route Tool

    Track Sales

    Show Mouse Coordinates

    Restrict Map Extent

    Show Current Location on App Init

    Extension Developer

  • Creating the Manifest

    • List of Tools and Behaviors in the Extension Pack - Name - Path to Implementation

  • Using Extensions in SharePoint

  • Deploying Extension Packs

    Extension Pack 3

    Extension Pack 2

    Extension Pack 1

    Extension Packs List

    Extension packs

    Deploy

    Extension Pack Archive

    Admin

    Extension Developer

  • Adding Extensions at Design Time Author

  • 0 *

    0 *0 *

    0 *

    App

    Layout

    Tool Map

    Tool Container

    Tool Map Item _Tool

    Extension Pack

    _Behavior

    0

    *

    0

    *

    0

    *

    Configuring Extensions to the Default App

    The list of tools used by the application

    The list of extension packs used in the application

    The list of behaviors used by t