Extending Esri Maps for SharePoint with the Esri Maps … · 2014-03-24 · JavaScript-based...
Transcript of Extending Esri Maps for SharePoint with the Esri Maps … · 2014-03-24 · JavaScript-based...
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
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
Insi
ghts
Mic
roSt
rate
gy
Offi
ce
Dyn
amic
s C
RM
SAP
Bus
ines
s O
bjec
ts
Sale
sfor
ce
Cog
nos
Shar
ePoi
nt
Cus
tom
BAO
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
iconClasslabel
showTooltiptooltip
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
_LayerBehaviorlayer_MapBehaviorlayerId
_MapMixinmap
_Behavior
execute()
eventNamedescriptionlabel
target
Appearance
What happens when the behavior is invoked
Properties
MethodsThe 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
isConfigurableconfigure()
graphic
layout
map
popup
portalselectedLayer
checked
Mixin can be used in a BehaviorMixin 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 the application
Admin
Heiko Heijenga Elitsa Baklova
Demo
Releases and Roadmap
Releases • 3.0.1 - current release
(download today from the list of Location Analytics apps at www.arcgis.com) • 4.0 Beta 1 - current beta
(join today at betacommunity.esri.com)
Coming Soon • 4.0 Beta 2 – Spring (with Extensibility support, Beta Community) • 4.0 Final - Summer/Fall (Extensibility and SharePoint Online for Office 365)
Please fill out the session survey. Your feedback is important to us!
Q&A