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. 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. Documentum, IBM FileNet, OpenText, SharePoint, HP, Oracle & lots of niche solutions
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
Crime
Market Segmentation
Demographics Supply & Demand
Weather
Media Habits
Growth Trends
Consumer Spending Landscape Info Labor Force
Market Potential Occupation
Lifestyles
Natural Hazards Traffic
GeoEnrichment
Maps & Layers
InfoGraphics
•
Reports
Data Enrichment
Quickly analyze any location or area of arbitrary shape or size
Share and Collaborate with Maps Inside and Outside of SharePoint
Announcing Esri’s New SharePoint Developer Option Implement custom tools and behaviors beyond what’s supported out of the box.
As a developer, why should you extend Esri Maps for SharePoint?
Enterprise Penetration Users Microsoft Revenue
Market
.
2009 100,000,0001
2012 66%3 135,000,0002 • Client Access Licenses (CALs)
$1,300,000,0001 $2,000,000,0002 • Estimate includes market for ecosystem vendors, consultants, $6,500,000,0003 integrators, developers • 700,000 developers4 • 4,000 Microsoft Partners4
As a developer, why should you extend Esri Maps for SharePoint?
Enterprise Penetration Users Microsoft Revenue
Market
2009 100,000,0001
2012 66%3 135,000,0002 • Client Access Licenses (CALs)
$1,300,000,0001 $2,000,000,0002 • Estimate includes market for ecosystem vendors, consultants, $6,500,000,0003 integrators, developers • 700,000 developers4 • 4,000 Microsoft Partners4
Creating Extensions with the Esri Maps Extensibility API
Esri Maps Framework
Esri Maps Integration API
Custom
BAO
Salesforce
SAP Business Objects
Cognos
MicroStrategy
Insights
Dynamics CRM
Office
Applications
SharePoint
Esri Maps Apps: Architecture
Esri Maps Extensibility API
ArcGIS JavaScript API Platform ArcGIS Online and Portal
Extensibility Technology
•
Familiar & Non-Disruptive -
Dojo
-
ArcGIS JavaScript API
Esri Maps Integration API
Esri Maps Extensibility API
ArcGIS JavaScript API Dojo
Extension Points
•
•
•
Tools -
User-driven
-
Functionality initiated by user action
-
E.g. when a button on a tool bar is clicked
Extension Pack
Behaviors -
Event-driven
-
Functionality triggered by events
-
E.g. when a layer is added to the map
Packaged in an 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
App
Layout
*
0 *
Extension Pack
Tool Container
Tool Map 0 *
0 *
Tool Map Item
0 *
_Tool
_Behavior
0 *
0 *
Tools
•
Functionality associated with a button on a toolbar/menu
_Tool iconClass label description tooltip showTooltip enabled visible execute()
Properties
Tool appearance
Tool availability at run time Methods What happens when the tool is invoked
Creating a Tool _Tool
•
Dojo Class Inheriting from _Tool MyTool
Behaviors
•
Functionality invoked when an event occurs
_Behavior
_MapBehavior
Properties
label description eventName target
Methods
execute()
What happens when the behavior is invoked
_MapMixin map
Appearance
The event on the target to execute on
_LayerBehavior layer layerId
Creating a Behavior _Behavior
•
Dojo Class Inheriting from _Behavior or a Subclass
MyBehavior
Empowering Extensions with Mixins
•
Mixins -
Allow for multiple inheritance of implemented properties and methods
_Tool
_MapMixin
_LayoutMixin
map
layout
MyTool
Extensibility Mixins
•
•
Provide Access to
_SelectedLayerMixin selectedLayer
-
Map
-
Selected Layer
-
Current Graphic in Popup
-
Layout
-
Popup
-
ArcGIS Portal
map
_ToggleMixin _GraphicMixin
-
Configurable at Design Time
checked
graphic
_ConfigureMixin isConfigurable configure()
Toggle Between Checked/Unchecked States
portal
_MapMixin
Make Tools and Behaviors -
_PortalMixin
_LayoutMixin layout
_PopupMixin popup
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 Extension Developer
•
For Packaging Your Extensions
•
Extension Packs -
Tools
-
Behaviors
-
Manifest -
•
Extension Pack
Zip and Share Extension Pack Archive
List of tools and behaviors
Extension Pack Archive -
For Sharing
-
Zip of Extension Pack
Manifest
Measure Tool Route Tool Track Sales
Show Mouse Coordinates Restrict Map Extent Show Current Location on App Init
Creating the Manifest
•
List of Tools and Behaviors in the Extension Pack -
Name
-
Path to Implementation
Using Extensions in SharePoint
Deploying Extension Packs
Extension Packs List Extension Pack 1
Extension Developer
Extension Pack Archive
Extension Pack 2 Extension Pack 3 Extension packs
Deploy
Admin
Adding Extensions at Design Time Author
Configuring Extensions to the Default App Admin
0
App
Layout
*
0 *
The list of extension packs used in the application Extension
Pack
Tool Container
Tool Map 0 *
0 *
Tool Map Item
0
_Tool
* 0 *
The list of tools used by the application
_Behavior 0 *
The list of behaviors used by the application
Demo Heiko Heijenga Elitsa Baklova
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)
Q&A Please fill out the session survey. Your feedback is important to us!