SlideShare ist ein Scribd-Unternehmen logo
1 von 75
Paul Schaeflein
SHAREPOINT ADD-INS – THE NEXT
LEVEL
PAUL SCHAEFLEIN
SharePoint Solution Architect / Developer
Speaker / Trainer / Mentor
Hockey Fan
AGENDA
 Leveraging SharePoint capabilities in your App
 Monitoring and Troubleshooting
 Identity and Security
 Packaging and Deployment
 Upgrade and Versioning
LEVERAGING SHAREPOINT
CAPABILITIES IN YOUR APP
AGENDA
 Model and automate business processes
 Communicate and collaborate with people and
track content
 Add location and mapping features
 Make search results more relevant
AGENDA
 Access data from external data systems
 Work with data, convert file formats, and translate
sites
 Work with user access, roles, rights, and claims.
AUTOMATE BUSINESS PROCESSES
 Workflow Manager
 Workflow Manager 1.0 is focused on delivering
these key capabilities:
 High Density & Multi-tenancy
 Elastic Scale
 Activity / Workflow Artifact Management
 Tracking and Monitoring
 Instance Management
 Fully Declarative Authoring
 REST and Service Bus Messaging
AUTOMATE BUSINESS PROCESSES
 SharePoint Workflows can call your code
 Call HTTP Web Service
 Your code can call Workflow Manager directly or
use a SharePoint list
 Workflows use Service Bus – Remote Event
Receivers do not!
COMMUNICATE & COLLABORATE
WITH PEOPLE AND TRACK CONTENT
 Team Sites
 Store documents, calendars, etc
 Upload files
 Scot Hillier
 http://bit.ly/1lxu6lB
 OneDrive for Business (a.k.a. Personal Site [f.k.a.
My Sites])
 Personal storage for documents
 Exposed thru Office Graph
COMMUNICATE & COLLABORATE
WITH PEOPLE AND TRACK CONTENT
 Social
 Add objects to the Office Graph
 Leverage Yammer for social
MAKE SEARCH RESULTS MORE
RELEVANT
 Federated Search
 Pass query to remote index
 Content Crawling
 Include your website – crawled just like Bing
 Search Connector – define properties of your
content
MAKE SEARCH RESULTS MORE
RELEVANT
 Search Results
 Vastly improved – completely customizable
 Control Templates
 Item Templates
 Hover card templates
 Analytics included
http://msdn.microsoft.com/en-
us/library/office/jj163300(v=office.15).aspx
ACCESS DATA FROM EXTERNAL DATA
SYSTEMS
 Business Connectivity Services
 Reveal external data from enterprise applications,
web services, and OData services in SharePoint
Server 2013 and in rich-client Office applications.
 Provide complete interaction with the data, including
write-back capabilities from Office applications and
SharePoint Server to the underlying external
system data and business objects.
ACCESS DATA FROM EXTERNAL DATA
SYSTEMS
 Business Connectivity Systems
 Common data access API regardless of data
format/location.
 “Tag” SharePoint content with values from LOB
systems.
BCS – SEARCH CONNECTOR
IDENTITY AND SECURITY
SHAREPOINT TENANCY
 A set of site collections
 Office 365 tenants
 Scope for app permissions
 What About Tenancies in On-premise Farms?
 By default, all site collections in a farm run within a
default tenant
 Additional tenancies can be created using
PowerShell cmdlets
CONFIGURING AN ON-PREMISE FARM
FOR RUNNING APPS
 Creating an isolated app domain
APP PERMISSIONS
 Apps are granted permissions
 An app has a default set of permissions
 Installing user either grants or denies permissions
during installation
 If installer denies permission request, SharePoint
does not install the app
PERMISSION REQUESTS
 Apps request the permissions they require to run
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read"/>
<AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write">
<Property Name="BaseTemplateId" Value="101"/>
</AppPermissionRequest>
<AppPermissionRequest Scope="http://sharepoint/userprofilestore/feed" Right="Post"/>
<AppPermissionRequest Scope="http://exchange/calendars" Right="Schedule"/>
<AppPermissionRequest Scope="http://lync/contacts" Right="Read"/>
</AppPermissionRequests>
PERMISSION REQUESTS
 App Permission Scope Defines
 Product
 Permission Provider
 Target object - - where grant is requested
<AppPermissionRequest
Scope="http://sharepoint/content/sitecollection" Right="Read"
/>
Product Permission
Provider
Target
Object
Capability
AVAILABLE APP PERMISSIONS
Scope Scope Alias Right
http://sharepoint/content/tenant AllSites Read;Write;Manage;FullControl
http://sharepoint/content/sitecollection Site Read;Write;Manage;FullControl
http://sharepoint/content/sitecollection/web Web Read;Write;Manage;FullControl
http://sharepoint/content/sitecollection/web/list List Read;Write;Manage;FullControl
http://sharepoint/bcs/connection None (not currently supported) Read
http://sharepoint/search Search QueryAsUserIgnoreAppPrincipal
http://sharepoint/projectserver ProjectAdmin Manage
http://sharepoint/projectserver/projects Projects Read;Write
http://sharepoint/projectserver/projects/project Project Read;Write
http://sharepoint/projectserver/enterpriseresources ProjectResources Read;Write
http://sharepoint/projectserver/statusing ProjectStatusing SubmitStatus
http://sharepoint/projectserver/reporting ProjectReporting Read
http://sharepoint/projectserver/workflow ProjectWorkflow Elevate
http://sharepoint/social/tenant AllProfiles Read;Write;Manage;FullControl
http://sharepoint/social/core Social Read;Write;Manage;FullControl
http://sharepoint/social/microfeed Microfeed Read;Write;Manage;FullControl
http://sharepoint/taxonomy TermStore Read;Write
GRANTING CONSENT IN SHAREPOINT
2013
 Installing User prompted to Deny or to Allow
Access (grant)
 Deny prevents app from being installed
 Allow Access grants requested permissions to app
as part of installation
SHAREPOINT 2013 APP AUTHN
User credentials
provided?
Start
End
User only
context
App only
context
User + App
context
Anonymous
context
App token
provided?
App token
Includes user?
Yes
No
No No
Yes Yes
Call is to an
app web?
No
Yes
APP + USER AND APP ONLY
App Only
User
Permissions
App
Permissions
Effective Permissions
App + User
App
Permissions
Effective Permissions
User
Permissions
APP AUTHENTICATION USING
OAUTH2
WINDOWS AZURE ACCESS CONTROL
SERVICE (ACS)
 ACS required with OAuth implementation in
SharePoint 2013
 ACS server acts as authentication server
 ACS server must be trusted by content server
 ACS server must be trusted by client app
 How is the ACS server configured as the
authentication server?
 It's automatically configured for sites in Office 365
tenancy - nothing to do
 In an on-premise farm, a trust to ACS must be
configured with PowerShell
http://technet.microsoft.com/en-us/library/jj838715.aspx
REGISTERING A NEW APP
PRINCIPAL
 Client ID
 Client Secret
 Title
 App Domain
 Redirect URL
http://contososerver/_layouts/15/appregnew.aspx
APP MANIFEST FOR A LOW-TRUST
APP
THE WEB.CONFIG FILE OF THE APP'S
WEB PROJECT
 web.config file for developer-hosted app should
track Client ID and Client Secret
Client
Resource
Server
Resource
owner
AuthorizationServer
App.com
SharePoint
Browser
ACS
1) User browses to a SharePoint page with
an app part on it
Browser App.com
SharePoint
ACS
1
2) SharePoint requests a context token
Browser App.com
SharePoint
ACS
2
1
3) ACS returns a signed context token
Browser App.com
SharePoint
ACS
2 3
1
4) SharePoint renders page with iframe
which will POST the context token to
App.com
POSThttps://app.com/
…
SPAppToken=eyJ0eXAiOiJKV1QiLCJh
bGciOiJIUzI1NiJ9.e…
Browser App.com
SharePoint
ACS
4
2 3
1
5) iframe causes browser to request
contents from App.com including the
context token
Browser App.com
SharePoint
ACS
4
2 3
1
5
6) App.com validates the signature on the
context token, extracts the auth code, and
uses its credentials to request an access
token from ACS
Browser App.com
SharePoint
ACS
4
2 3
1
6
5
7) Windows Azure Access Control Services
(ACS) returns an access token
Browser App.com
SharePoint
ACS
4
2 3
1
6
7
5
8) App.com calls SharePoint CSOM or
REST API with access token
Browser App.com
SharePoint
ACS
8
4
2 3
1
6
7
5
9) SharePoint returns data from CSOM or
REST API call
Browser App.com
SharePoint
ACS
8
94
2 3
1
6
7
5
10) App.com returns the iframe contents
Browser App.com
SharePoint
ACS
8
94
2 3
1
6
7
10
5
OAUTH TOKEN SUMMARY
Browser App.com
SharePoint
ACS
8
6
7
5
Context
Refresh
Access
CONTEXT TOKEN FORMAT – BASE 64
ENCODED
 SPAppToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZDY5NmU1NS0zZjMzLTQwNzgtYj
M2Ny0yZTdiNzVkNjQ1ZjIvbG9jYWxob3N0OjQ0MzAwQDJjNDM5MzMwLTY4NWUtNGMxMy04MTdiLWUw
NTdiOTYzN2FkMCIsImlzcyI6IjAwMDAwMDAxLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMEAy
YzQzOTMzMC02ODVlLTRjMTMtODE3Yi1lMDU3Yjk2MzdhZDAiLCJuYmYiOjEzNTI2NjU2NDUsImV4cCI6M
TM1MjcwODg0NSwiYXBwY3R4c2VuZGVyIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDA
wMDAwMDAwQDJjNDM5MzMwLTY4NWUtNGMxMy04MTdiLWUwNTdiOTYzN2FkMCIsImFwcGN0eCI6Intc
IkNhY2hlS2V5XCI6XCJCU2lLOFNmQS9lVk5lTU10SUpjVkJPM2xJNUxYY1BjN0p3SUcyWGNqWDR3PVwiL
FwiU2VjdXJpdHlUb2tlblNlcnZpY2VVcmlcIjpcImh0dHBzOi8vYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW
5kb3dzLm5ldC90b2tlbnMvT0F1dGgvMlwifSIsInJlZnJlc2h0b2tlbiI6IklBQUFBS0JDb1Bwby1FVm9PZ3dBMGZ
3SDVQV3dyY29PR3BGSHdpVW1CMnpBZjRjMXdoeFFzOXlWRlVtcWNqNmYyZ2JTRF9CM3dPakktRXN2b
2dWVWVQeXBtMjF5RlQ3VkxFdW5OSW1rT1RxeHFtb1BwSE9SU3F0c2pXaEhOdnUxM0ppVmNGZzh2UE
FyMl9HbFFCNjBQVThQdEVUVlpjWXpCcExhY3hzNjNlVVdMajBTY0lQMGwzUW12dENTVEdidlRqUW1hR3
RGaVZYQnZwLXhQN1RuZnlkRUJUUG9hTDNDcERoQXA5TVhMNXpsRVIxbUtBdDN6bEEtSXpQSzdRTm
xyOVJ5RnVPTnJGZmtSRnhyRHNBTDJMS0hPZ2pkZVM5Y0VHWnpZdG9odkdWRFFiVWptaFlxM3FueHYy
M09qX25idm9KNUNJQXBTOTVMUTNXVkwyaFJKQlltUHVIQ1Z3emhjZG12QlJJNURJZVNYb25RR2d5blN
VYU9vUUtheUg2b1R6RzcwSWljaUtSNm5FMzJZYnhhaGJzdm1XOGszblpvaTV4TDdfa0JXSUZjQXh0Ny1s
MUJxTEFockpoZEliZ0dVa1VpVGk5d3JJVm9KZ0RDTDNxSzZucGNHdm4xbGdRZWNBbFpkeG5qOGltcmd
GVmRmNDVGa1EyQTZTOTJEakVjWE1odUZwakE2aHFpSzdHRU85ZnEwM0tER0tjIiwiaXNicm93c2VyaG9
zdGVkYXBwIjoidHJ1ZSJ9.c4gAOr-4OsWo-M54t1WRT0OrjVHtl2c7jpK4N5Hbof4
CONTEXT TOKEN FORMAT – DECODED
JSON
{
"aud":ad696e55-3f33-4078-b367-2e7b75d645f2/localhost:44300@2c439330-685e-4c13-817b-
e057b9637ad0
"iss":00000001-0000-0000-c000-000000000000@2c439330-685e-4c13-817b-e057b9637ad0
"nbf":2012-11-11 20:27:25Z (11/11/2012 12:27:25 PM) - 1352665645
"exp":2012-11-12 08:27:25Z (11/12/2012 12:27:25 AM) - 1352708845
"appctxsender":00000003-0000-0ff1-ce00-000000000000@2c439330-685e-4c13-817b-
e057b9637ad0
"appctx":{
"CacheKey":"BSiK8SfA/eVNeMMtIJcVBO3lI5LXcPc7JwIG2XcjX4w=“
"SecurityTokenServiceUri":"https://accounts.accesscontrol.windows.net/tokens/OAuth/2"
}
"refreshtoken":IAAAAKBCoPpo-EVoOgwA0fwH5PWw…
"isbrowserhostedapp":true
}
TOKENHELPER CLASS
SHAREPOINTCONTEXT
USING TOKENHELPER TO MAKE CSOM AND
REST CALLS
SIMPLIFIED WITH SHAREPOINTCONTEXT
AUTHENTICATION USING SERVER-TO-
SERVER (S2S) HIGH TRUST
WHAT IS A SERVER-TO-SERVER (S2S)
TRUST
 A trusted connection between client app and
SharePoint Web server
 Eliminates need to involve ACS when running apps
within private networks
 Trust between servers configured using one or
more SSL certificates
 App server code requires access to public/private
key pair of SSL certificate
 Requires creating S2S Security Token Service on
SharePoint Web server(s)
SERVER-TO-SERVER (S2S) TRUST
Private Network Environment
SharePoint
Web Server
User
Client App
S2S STS
SSL Cert
Public/Private
key pair (.pfx)
1
2
3 4
CREATING AN IIS WEB SITE FOR
THE APP
 Create an IIS Web Site to deploy developer-
hosted app
 Disable anonymous access to ensure all access is
authenticated
 Modify web.config file to add location to private key
file and password
CREATING AN IIS WEB SITE FOR
THE APP
 PnP Core.OnPrem.S2S.WindowsCertStore
 Original web.config
 Modified web.config
CREATING AN IIS WEB SITE FOR
THE APP
 PnP Core.OnPrem.S2S.WindowsCertStore
 Original TokenHelper.cs
CREATING AN IIS WEB SITE FOR
THE APP
 PnP Core.OnPrem.S2S.WindowsCertStore
 Modified TokenHelper.cs
REGISTERING AN APP PRINCIPAL FOR
AN S2S APP
MAKING CSOM AND REST CALLS
FROM A S2S APP
WHY “HIGH TRUST”?
SharePointServer
Client
Intranet.contoso.com
6. IFrame contents
3. Request IFrame contents
2. Page - IFrame
5. SharePoint data
4. Request + Access token
1. Request
SPTrustedSecurityTokenIssuer
ACCESS TOKEN AND USER PROFILE
_api
UserProfile
GET https://Tenant.SharePoint.com/_api/Web HTTP/1.1
Authorization: Bearer eyJ0eXAiOiJKV1Q…wcjZBbVFqNCJ9.
SPUser
upn
smtp
sip
ClaimToken
Intranet.contoso.comSharePointServer
APP IDENTITY ONLINE & ON-PREM
In the cloud
Windows Azure AD comes
with O365
Apps use ‘3-legged’ Oauth
Azure ACS
App Office 365
Cloud
APP IDENTITY ONLINE & ON-PREM
On-PremCloud
Azure AD
App Office 365
App SharePoint
In the cloud
Windows Azure AD comes
with O365
Apps use ‘3-legged’ Oauth
On-Premises
Cert-based trust
On-prem to on-prem
APP IDENTITY ONLINE & ON-PREM
On-PremCloud
Azure AD
App Office 365
App SharePoint
In the cloud
Windows Azure AD comes
with O365
Apps use ‘3-legged’ Oauth
On-Premises
Cert-based trust
On-prem to on-prem
Hybrid
Use O365 Azure AD with
on-prem SP
Supports Marketplace and
on-prem apps
MONITORING AND
TROUBLESHOOTING
MONITORING AND
TROUBLESHOOTING
 Logging & instrumentation
 Transient fault handling and retry logic
 Caching and performance
 Web service connectivity and guaranteed delivery
 Expiring Certificates and passwords
PACKAGING AND DEPLOYMENT
AGENDA
 Minification of web assets
 Content Delivery Networks
 Packaging and Deployment
 Deploying to on-prem and hosted server farms
 IIS configuration
MINIFICATION
 Also called bundling
 Native to MVC
 Can be used in WebForms
 Third-party tools
CONTENT DELIVERY NETWORKS
 Microsoft Ajax
 jQuery
 Your scripts?
 Use a common/dedicated site
 SharePoint site
 IIS site
PACKAGING AND DEPLOYMENT
 F5
 WebDeploy
 Automated Azure deployment
DEPLOYING TO ON-PREM / HOSTED
IIS
 Low-trust (OAuth)
 High-trust (S2S)
IIS CONFIGURATION
 One IIS Site per app
 One IIS site, many ASP.NET Applications
UPGRADE AND VERSIONING
UPGRADE AND VERSIONING
 Upgrading your app
 Upgrade packaging and deployment
 Multi-tenant & Multi-version runtime
considerations
eventmobi.com/sptcboston
Please take a moment to fill out
the class feedback form via
the app. Paper feedback forms
are also available in the back
of the room.

Weitere ähnliche Inhalte

Was ist angesagt?

Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Modelbgerman
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Nik Patel
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsJames Tramel
 
Intro apps
Intro appsIntro apps
Intro appsBIWUG
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013Toni Il Caiser
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelJeremy Thake
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App ModelSPC Adriatics
 
Introducing SP2010 To Administrators
Introducing SP2010 To AdministratorsIntroducing SP2010 To Administrators
Introducing SP2010 To AdministratorsFlorin Muntean
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setupvmaximiuk
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelNoorez Khamis
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsShailen Sukul
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Bram de Jager
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekShailen Sukul
 
Deep Dive into Office 365 API for Azure AD
Deep Dive into Office 365 API for Azure ADDeep Dive into Office 365 API for Azure AD
Deep Dive into Office 365 API for Azure ADPaul Schaeflein
 
REST API: Do More in the Feed with Action Links
REST API: Do More in the Feed with Action LinksREST API: Do More in the Feed with Action Links
REST API: Do More in the Feed with Action LinksSalesforce Developers
 
Technical Overview of Microsoft SharePoint Online - Presented by Atidan
Technical Overview of Microsoft SharePoint Online - Presented by AtidanTechnical Overview of Microsoft SharePoint Online - Presented by Atidan
Technical Overview of Microsoft SharePoint Online - Presented by AtidanDavid J Rosenthal
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsMike Henthorn
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentJeremy Thake
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienChris O'Brien
 

Was ist angesagt? (20)

Developer’s Independence Day: Introducing the SharePoint App Model
Developer’s Independence Day:Introducing the SharePoint App ModelDeveloper’s Independence Day:Introducing the SharePoint App Model
Developer’s Independence Day: Introducing the SharePoint App Model
 
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
Understanding SharePoint 2013 Code Deployment Models - Apps vs Solutions - Sh...
 
Oauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted appsOauth and SharePoint 2013 Provider Hosted apps
Oauth and SharePoint 2013 Provider Hosted apps
 
Intro apps
Intro appsIntro apps
Intro apps
 
App Model For SharePoint 2013
App Model For SharePoint 2013App Model For SharePoint 2013
App Model For SharePoint 2013
 
Introducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app modelIntroducing the new SharePoint 2013 app model
Introducing the new SharePoint 2013 app model
 
The SharePoint 2013 App Model
The SharePoint 2013 App ModelThe SharePoint 2013 App Model
The SharePoint 2013 App Model
 
Introducing SP2010 To Administrators
Introducing SP2010 To AdministratorsIntroducing SP2010 To Administrators
Introducing SP2010 To Administrators
 
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure SetupSharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
SharePoint 2013 Hosted-Apps (On-Premises) - Infrastructure Setup
 
OAuth in SharePoint 2013
OAuth in SharePoint 2013OAuth in SharePoint 2013
OAuth in SharePoint 2013
 
Introduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App ModelIntroduction to the new SharePoint 2013 App Model
Introduction to the new SharePoint 2013 App Model
 
SharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning ModelsSharePoint 2013 App Provisioning Models
SharePoint 2013 App Provisioning Models
 
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
Developing hybrid SharePoint apps that run on-premise and in the cloud - ESPC...
 
SharePoint 2013 Sneak Peek
SharePoint 2013 Sneak PeekSharePoint 2013 Sneak Peek
SharePoint 2013 Sneak Peek
 
Deep Dive into Office 365 API for Azure AD
Deep Dive into Office 365 API for Azure ADDeep Dive into Office 365 API for Azure AD
Deep Dive into Office 365 API for Azure AD
 
REST API: Do More in the Feed with Action Links
REST API: Do More in the Feed with Action LinksREST API: Do More in the Feed with Action Links
REST API: Do More in the Feed with Action Links
 
Technical Overview of Microsoft SharePoint Online - Presented by Atidan
Technical Overview of Microsoft SharePoint Online - Presented by AtidanTechnical Overview of Microsoft SharePoint Online - Presented by Atidan
Technical Overview of Microsoft SharePoint Online - Presented by Atidan
 
What IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 AppsWhat IT professionals need to know about SharePoint 2013 Apps
What IT professionals need to know about SharePoint 2013 Apps
 
Getting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online developmentGetting started with SharePoint 2013 online development
Getting started with SharePoint 2013 online development
 
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrienDeep dive into SharePoint 2013 hosted apps - Chris OBrien
Deep dive into SharePoint 2013 hosted apps - Chris OBrien
 

Andere mochten auch

Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIsLuis Valencia
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint StoreKashif Imran
 
SharePointfest Denver - A jQuery Primer for SharePoint
SharePointfest Denver -  A jQuery Primer for SharePointSharePointfest Denver -  A jQuery Primer for SharePoint
SharePointfest Denver - A jQuery Primer for SharePointMarc D Anderson
 
Sharepoint 2013-applied architecture from the field v3 (public)
Sharepoint 2013-applied architecture from the field v3 (public)Sharepoint 2013-applied architecture from the field v3 (public)
Sharepoint 2013-applied architecture from the field v3 (public)Tihomir Ignatov
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APISharePointRadi
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013Alex Pop
 

Andere mochten auch (6)

Getting started with Office 365 APIs
Getting started with Office 365 APIsGetting started with Office 365 APIs
Getting started with Office 365 APIs
 
Developing Apps for SharePoint Store
Developing Apps for SharePoint StoreDeveloping Apps for SharePoint Store
Developing Apps for SharePoint Store
 
SharePointfest Denver - A jQuery Primer for SharePoint
SharePointfest Denver -  A jQuery Primer for SharePointSharePointfest Denver -  A jQuery Primer for SharePoint
SharePointfest Denver - A jQuery Primer for SharePoint
 
Sharepoint 2013-applied architecture from the field v3 (public)
Sharepoint 2013-applied architecture from the field v3 (public)Sharepoint 2013-applied architecture from the field v3 (public)
Sharepoint 2013-applied architecture from the field v3 (public)
 
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity APIBuilding SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
Building SharePoint 2013 Apps - Architecture, Authentication & Connectivity API
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 

Ähnlich wie SharePoint Add-Ins - the Next Level

SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelJames Tramel
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...SPTechCon
 
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1Sayed Ali
 
Build and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowBuild and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowMicrosoft Tech Community
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenRyan Schouten
 
SharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewSharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewNous Infosystems
 
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013AntonioMaio2
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flowDipti Chhatrapati
 
How your SharePoint setup can benefit from Azure capabilities
How your SharePoint setup can benefit from Azure capabilitiesHow your SharePoint setup can benefit from Azure capabilities
How your SharePoint setup can benefit from Azure capabilitiesManoj Karunarathne
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...Nik Patel
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...SPC Adriatics
 
Office appsbiwugpresentation
Office appsbiwugpresentationOffice appsbiwugpresentation
Office appsbiwugpresentationBIWUG
 
Solving business problems: No-code approach with SharePoint designer workflow...
Solving business problems: No-code approach with SharePoint designer workflow...Solving business problems: No-code approach with SharePoint designer workflow...
Solving business problems: No-code approach with SharePoint designer workflow...Bhakthi Liyanage
 
SPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backSPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backNCCOMMS
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionNCCOMMS
 
The business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft FlowThe business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft FlowJuan Fabian
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Bram de Jager
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandDipti Chhatrapati
 

Ähnlich wie SharePoint Add-Ins - the Next Level (20)

SharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App ModelSharePoint 2013 Apps and the App Model
SharePoint 2013 Apps and the App Model
 
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
Tutorial: Building Apps for SharePoint 2013 Inside and Outside of the Firewal...
 
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1
What’s New for IT Professionals in Microsoft® SharePoint® Server 2013 Day 1
 
Build and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and FlowBuild and extend applications for Office 365 with PowerApps and Flow
Build and extend applications for Office 365 with PowerApps and Flow
 
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan SchoutenSharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
SharePoint Saturday Silicon Valley - SharePoint Apps - Ryan Schouten
 
SharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief OverviewSharePoint Add-Ins - Brief Overview
SharePoint Add-Ins - Brief Overview
 
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
Intro to Develop and Deploy Apps for Microsoft SharePoint and Office 2013
 
Automating your tasks with microsoft flow
Automating your tasks with microsoft flowAutomating your tasks with microsoft flow
Automating your tasks with microsoft flow
 
How your SharePoint setup can benefit from Azure capabilities
How your SharePoint setup can benefit from Azure capabilitiesHow your SharePoint setup can benefit from Azure capabilities
How your SharePoint setup can benefit from Azure capabilities
 
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...SharePoint Fest Chicago 2015  - Anatomy of configuring provider hosted add-in...
SharePoint Fest Chicago 2015 - Anatomy of configuring provider hosted add-in...
 
Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...Understanding SharePoint Apps, authentication and authorization infrastructur...
Understanding SharePoint Apps, authentication and authorization infrastructur...
 
Provider hosted apps - acs
Provider hosted apps - acsProvider hosted apps - acs
Provider hosted apps - acs
 
Intro to power apps
Intro to power appsIntro to power apps
Intro to power apps
 
Office appsbiwugpresentation
Office appsbiwugpresentationOffice appsbiwugpresentation
Office appsbiwugpresentation
 
Solving business problems: No-code approach with SharePoint designer workflow...
Solving business problems: No-code approach with SharePoint designer workflow...Solving business problems: No-code approach with SharePoint designer workflow...
Solving business problems: No-code approach with SharePoint designer workflow...
 
SPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go backSPCA2013 - Once you go app you don't go back
SPCA2013 - Once you go app you don't go back
 
O365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in actionO365con14 - the new sharepoint online apps - napa in action
O365con14 - the new sharepoint online apps - napa in action
 
The business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft FlowThe business today - PowerApps, Power BI y Microsoft Flow
The business today - PowerApps, Power BI y Microsoft Flow
 
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
Developing SharePoint 2013 apps with Visual Studio 2012 - Microsoft TechDays ...
 
Custom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My CommandCustom Connectors for Microsoft Flow - Your Service Is My Command
Custom Connectors for Microsoft Flow - Your Service Is My Command
 

Kürzlich hochgeladen

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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...Neo4j
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 

SharePoint Add-Ins - the Next Level

  • 2. PAUL SCHAEFLEIN SharePoint Solution Architect / Developer Speaker / Trainer / Mentor Hockey Fan
  • 3. AGENDA  Leveraging SharePoint capabilities in your App  Monitoring and Troubleshooting  Identity and Security  Packaging and Deployment  Upgrade and Versioning
  • 5. AGENDA  Model and automate business processes  Communicate and collaborate with people and track content  Add location and mapping features  Make search results more relevant
  • 6. AGENDA  Access data from external data systems  Work with data, convert file formats, and translate sites  Work with user access, roles, rights, and claims.
  • 7. AUTOMATE BUSINESS PROCESSES  Workflow Manager  Workflow Manager 1.0 is focused on delivering these key capabilities:  High Density & Multi-tenancy  Elastic Scale  Activity / Workflow Artifact Management  Tracking and Monitoring  Instance Management  Fully Declarative Authoring  REST and Service Bus Messaging
  • 8. AUTOMATE BUSINESS PROCESSES  SharePoint Workflows can call your code  Call HTTP Web Service  Your code can call Workflow Manager directly or use a SharePoint list  Workflows use Service Bus – Remote Event Receivers do not!
  • 9. COMMUNICATE & COLLABORATE WITH PEOPLE AND TRACK CONTENT  Team Sites  Store documents, calendars, etc  Upload files  Scot Hillier  http://bit.ly/1lxu6lB  OneDrive for Business (a.k.a. Personal Site [f.k.a. My Sites])  Personal storage for documents  Exposed thru Office Graph
  • 10. COMMUNICATE & COLLABORATE WITH PEOPLE AND TRACK CONTENT  Social  Add objects to the Office Graph  Leverage Yammer for social
  • 11. MAKE SEARCH RESULTS MORE RELEVANT  Federated Search  Pass query to remote index  Content Crawling  Include your website – crawled just like Bing  Search Connector – define properties of your content
  • 12. MAKE SEARCH RESULTS MORE RELEVANT  Search Results  Vastly improved – completely customizable  Control Templates  Item Templates  Hover card templates  Analytics included http://msdn.microsoft.com/en- us/library/office/jj163300(v=office.15).aspx
  • 13. ACCESS DATA FROM EXTERNAL DATA SYSTEMS  Business Connectivity Services  Reveal external data from enterprise applications, web services, and OData services in SharePoint Server 2013 and in rich-client Office applications.  Provide complete interaction with the data, including write-back capabilities from Office applications and SharePoint Server to the underlying external system data and business objects.
  • 14. ACCESS DATA FROM EXTERNAL DATA SYSTEMS  Business Connectivity Systems  Common data access API regardless of data format/location.  “Tag” SharePoint content with values from LOB systems.
  • 15. BCS – SEARCH CONNECTOR
  • 17. SHAREPOINT TENANCY  A set of site collections  Office 365 tenants  Scope for app permissions  What About Tenancies in On-premise Farms?  By default, all site collections in a farm run within a default tenant  Additional tenancies can be created using PowerShell cmdlets
  • 18. CONFIGURING AN ON-PREMISE FARM FOR RUNNING APPS  Creating an isolated app domain
  • 19. APP PERMISSIONS  Apps are granted permissions  An app has a default set of permissions  Installing user either grants or denies permissions during installation  If installer denies permission request, SharePoint does not install the app
  • 20. PERMISSION REQUESTS  Apps request the permissions they require to run <AppPermissionRequests AllowAppOnlyPolicy="true"> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read"/> <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="Write"> <Property Name="BaseTemplateId" Value="101"/> </AppPermissionRequest> <AppPermissionRequest Scope="http://sharepoint/userprofilestore/feed" Right="Post"/> <AppPermissionRequest Scope="http://exchange/calendars" Right="Schedule"/> <AppPermissionRequest Scope="http://lync/contacts" Right="Read"/> </AppPermissionRequests>
  • 21. PERMISSION REQUESTS  App Permission Scope Defines  Product  Permission Provider  Target object - - where grant is requested <AppPermissionRequest Scope="http://sharepoint/content/sitecollection" Right="Read" /> Product Permission Provider Target Object Capability
  • 22. AVAILABLE APP PERMISSIONS Scope Scope Alias Right http://sharepoint/content/tenant AllSites Read;Write;Manage;FullControl http://sharepoint/content/sitecollection Site Read;Write;Manage;FullControl http://sharepoint/content/sitecollection/web Web Read;Write;Manage;FullControl http://sharepoint/content/sitecollection/web/list List Read;Write;Manage;FullControl http://sharepoint/bcs/connection None (not currently supported) Read http://sharepoint/search Search QueryAsUserIgnoreAppPrincipal http://sharepoint/projectserver ProjectAdmin Manage http://sharepoint/projectserver/projects Projects Read;Write http://sharepoint/projectserver/projects/project Project Read;Write http://sharepoint/projectserver/enterpriseresources ProjectResources Read;Write http://sharepoint/projectserver/statusing ProjectStatusing SubmitStatus http://sharepoint/projectserver/reporting ProjectReporting Read http://sharepoint/projectserver/workflow ProjectWorkflow Elevate http://sharepoint/social/tenant AllProfiles Read;Write;Manage;FullControl http://sharepoint/social/core Social Read;Write;Manage;FullControl http://sharepoint/social/microfeed Microfeed Read;Write;Manage;FullControl http://sharepoint/taxonomy TermStore Read;Write
  • 23. GRANTING CONSENT IN SHAREPOINT 2013  Installing User prompted to Deny or to Allow Access (grant)  Deny prevents app from being installed  Allow Access grants requested permissions to app as part of installation
  • 24. SHAREPOINT 2013 APP AUTHN User credentials provided? Start End User only context App only context User + App context Anonymous context App token provided? App token Includes user? Yes No No No Yes Yes Call is to an app web? No Yes
  • 25. APP + USER AND APP ONLY App Only User Permissions App Permissions Effective Permissions App + User App Permissions Effective Permissions User Permissions
  • 27. WINDOWS AZURE ACCESS CONTROL SERVICE (ACS)  ACS required with OAuth implementation in SharePoint 2013  ACS server acts as authentication server  ACS server must be trusted by content server  ACS server must be trusted by client app  How is the ACS server configured as the authentication server?  It's automatically configured for sites in Office 365 tenancy - nothing to do  In an on-premise farm, a trust to ACS must be configured with PowerShell http://technet.microsoft.com/en-us/library/jj838715.aspx
  • 28. REGISTERING A NEW APP PRINCIPAL  Client ID  Client Secret  Title  App Domain  Redirect URL http://contososerver/_layouts/15/appregnew.aspx
  • 29. APP MANIFEST FOR A LOW-TRUST APP
  • 30. THE WEB.CONFIG FILE OF THE APP'S WEB PROJECT  web.config file for developer-hosted app should track Client ID and Client Secret
  • 33. 1) User browses to a SharePoint page with an app part on it Browser App.com SharePoint ACS 1
  • 34. 2) SharePoint requests a context token Browser App.com SharePoint ACS 2 1
  • 35. 3) ACS returns a signed context token Browser App.com SharePoint ACS 2 3 1
  • 36. 4) SharePoint renders page with iframe which will POST the context token to App.com POSThttps://app.com/ … SPAppToken=eyJ0eXAiOiJKV1QiLCJh bGciOiJIUzI1NiJ9.e… Browser App.com SharePoint ACS 4 2 3 1
  • 37. 5) iframe causes browser to request contents from App.com including the context token Browser App.com SharePoint ACS 4 2 3 1 5
  • 38. 6) App.com validates the signature on the context token, extracts the auth code, and uses its credentials to request an access token from ACS Browser App.com SharePoint ACS 4 2 3 1 6 5
  • 39. 7) Windows Azure Access Control Services (ACS) returns an access token Browser App.com SharePoint ACS 4 2 3 1 6 7 5
  • 40. 8) App.com calls SharePoint CSOM or REST API with access token Browser App.com SharePoint ACS 8 4 2 3 1 6 7 5
  • 41. 9) SharePoint returns data from CSOM or REST API call Browser App.com SharePoint ACS 8 94 2 3 1 6 7 5
  • 42. 10) App.com returns the iframe contents Browser App.com SharePoint ACS 8 94 2 3 1 6 7 10 5
  • 43. OAUTH TOKEN SUMMARY Browser App.com SharePoint ACS 8 6 7 5 Context Refresh Access
  • 44. CONTEXT TOKEN FORMAT – BASE 64 ENCODED  SPAppToken=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiJhZDY5NmU1NS0zZjMzLTQwNzgtYj M2Ny0yZTdiNzVkNjQ1ZjIvbG9jYWxob3N0OjQ0MzAwQDJjNDM5MzMwLTY4NWUtNGMxMy04MTdiLWUw NTdiOTYzN2FkMCIsImlzcyI6IjAwMDAwMDAxLTAwMDAtMDAwMC1jMDAwLTAwMDAwMDAwMDAwMEAy YzQzOTMzMC02ODVlLTRjMTMtODE3Yi1lMDU3Yjk2MzdhZDAiLCJuYmYiOjEzNTI2NjU2NDUsImV4cCI6M TM1MjcwODg0NSwiYXBwY3R4c2VuZGVyIjoiMDAwMDAwMDMtMDAwMC0wZmYxLWNlMDAtMDAwMDA wMDAwMDAwQDJjNDM5MzMwLTY4NWUtNGMxMy04MTdiLWUwNTdiOTYzN2FkMCIsImFwcGN0eCI6Intc IkNhY2hlS2V5XCI6XCJCU2lLOFNmQS9lVk5lTU10SUpjVkJPM2xJNUxYY1BjN0p3SUcyWGNqWDR3PVwiL FwiU2VjdXJpdHlUb2tlblNlcnZpY2VVcmlcIjpcImh0dHBzOi8vYWNjb3VudHMuYWNjZXNzY29udHJvbC53aW 5kb3dzLm5ldC90b2tlbnMvT0F1dGgvMlwifSIsInJlZnJlc2h0b2tlbiI6IklBQUFBS0JDb1Bwby1FVm9PZ3dBMGZ 3SDVQV3dyY29PR3BGSHdpVW1CMnpBZjRjMXdoeFFzOXlWRlVtcWNqNmYyZ2JTRF9CM3dPakktRXN2b 2dWVWVQeXBtMjF5RlQ3VkxFdW5OSW1rT1RxeHFtb1BwSE9SU3F0c2pXaEhOdnUxM0ppVmNGZzh2UE FyMl9HbFFCNjBQVThQdEVUVlpjWXpCcExhY3hzNjNlVVdMajBTY0lQMGwzUW12dENTVEdidlRqUW1hR3 RGaVZYQnZwLXhQN1RuZnlkRUJUUG9hTDNDcERoQXA5TVhMNXpsRVIxbUtBdDN6bEEtSXpQSzdRTm xyOVJ5RnVPTnJGZmtSRnhyRHNBTDJMS0hPZ2pkZVM5Y0VHWnpZdG9odkdWRFFiVWptaFlxM3FueHYy M09qX25idm9KNUNJQXBTOTVMUTNXVkwyaFJKQlltUHVIQ1Z3emhjZG12QlJJNURJZVNYb25RR2d5blN VYU9vUUtheUg2b1R6RzcwSWljaUtSNm5FMzJZYnhhaGJzdm1XOGszblpvaTV4TDdfa0JXSUZjQXh0Ny1s MUJxTEFockpoZEliZ0dVa1VpVGk5d3JJVm9KZ0RDTDNxSzZucGNHdm4xbGdRZWNBbFpkeG5qOGltcmd GVmRmNDVGa1EyQTZTOTJEakVjWE1odUZwakE2aHFpSzdHRU85ZnEwM0tER0tjIiwiaXNicm93c2VyaG9 zdGVkYXBwIjoidHJ1ZSJ9.c4gAOr-4OsWo-M54t1WRT0OrjVHtl2c7jpK4N5Hbof4
  • 45. CONTEXT TOKEN FORMAT – DECODED JSON { "aud":ad696e55-3f33-4078-b367-2e7b75d645f2/localhost:44300@2c439330-685e-4c13-817b- e057b9637ad0 "iss":00000001-0000-0000-c000-000000000000@2c439330-685e-4c13-817b-e057b9637ad0 "nbf":2012-11-11 20:27:25Z (11/11/2012 12:27:25 PM) - 1352665645 "exp":2012-11-12 08:27:25Z (11/12/2012 12:27:25 AM) - 1352708845 "appctxsender":00000003-0000-0ff1-ce00-000000000000@2c439330-685e-4c13-817b- e057b9637ad0 "appctx":{ "CacheKey":"BSiK8SfA/eVNeMMtIJcVBO3lI5LXcPc7JwIG2XcjX4w=“ "SecurityTokenServiceUri":"https://accounts.accesscontrol.windows.net/tokens/OAuth/2" } "refreshtoken":IAAAAKBCoPpo-EVoOgwA0fwH5PWw… "isbrowserhostedapp":true }
  • 48. USING TOKENHELPER TO MAKE CSOM AND REST CALLS
  • 51. WHAT IS A SERVER-TO-SERVER (S2S) TRUST  A trusted connection between client app and SharePoint Web server  Eliminates need to involve ACS when running apps within private networks  Trust between servers configured using one or more SSL certificates  App server code requires access to public/private key pair of SSL certificate  Requires creating S2S Security Token Service on SharePoint Web server(s)
  • 52. SERVER-TO-SERVER (S2S) TRUST Private Network Environment SharePoint Web Server User Client App S2S STS SSL Cert Public/Private key pair (.pfx) 1 2 3 4
  • 53. CREATING AN IIS WEB SITE FOR THE APP  Create an IIS Web Site to deploy developer- hosted app  Disable anonymous access to ensure all access is authenticated  Modify web.config file to add location to private key file and password
  • 54. CREATING AN IIS WEB SITE FOR THE APP  PnP Core.OnPrem.S2S.WindowsCertStore  Original web.config  Modified web.config
  • 55. CREATING AN IIS WEB SITE FOR THE APP  PnP Core.OnPrem.S2S.WindowsCertStore  Original TokenHelper.cs
  • 56. CREATING AN IIS WEB SITE FOR THE APP  PnP Core.OnPrem.S2S.WindowsCertStore  Modified TokenHelper.cs
  • 57. REGISTERING AN APP PRINCIPAL FOR AN S2S APP
  • 58. MAKING CSOM AND REST CALLS FROM A S2S APP
  • 59. WHY “HIGH TRUST”? SharePointServer Client Intranet.contoso.com 6. IFrame contents 3. Request IFrame contents 2. Page - IFrame 5. SharePoint data 4. Request + Access token 1. Request SPTrustedSecurityTokenIssuer
  • 60. ACCESS TOKEN AND USER PROFILE _api UserProfile GET https://Tenant.SharePoint.com/_api/Web HTTP/1.1 Authorization: Bearer eyJ0eXAiOiJKV1Q…wcjZBbVFqNCJ9. SPUser upn smtp sip ClaimToken Intranet.contoso.comSharePointServer
  • 61. APP IDENTITY ONLINE & ON-PREM In the cloud Windows Azure AD comes with O365 Apps use ‘3-legged’ Oauth Azure ACS App Office 365 Cloud
  • 62. APP IDENTITY ONLINE & ON-PREM On-PremCloud Azure AD App Office 365 App SharePoint In the cloud Windows Azure AD comes with O365 Apps use ‘3-legged’ Oauth On-Premises Cert-based trust On-prem to on-prem
  • 63. APP IDENTITY ONLINE & ON-PREM On-PremCloud Azure AD App Office 365 App SharePoint In the cloud Windows Azure AD comes with O365 Apps use ‘3-legged’ Oauth On-Premises Cert-based trust On-prem to on-prem Hybrid Use O365 Azure AD with on-prem SP Supports Marketplace and on-prem apps
  • 65. MONITORING AND TROUBLESHOOTING  Logging & instrumentation  Transient fault handling and retry logic  Caching and performance  Web service connectivity and guaranteed delivery  Expiring Certificates and passwords
  • 67. AGENDA  Minification of web assets  Content Delivery Networks  Packaging and Deployment  Deploying to on-prem and hosted server farms  IIS configuration
  • 68. MINIFICATION  Also called bundling  Native to MVC  Can be used in WebForms  Third-party tools
  • 69. CONTENT DELIVERY NETWORKS  Microsoft Ajax  jQuery  Your scripts?  Use a common/dedicated site  SharePoint site  IIS site
  • 70. PACKAGING AND DEPLOYMENT  F5  WebDeploy  Automated Azure deployment
  • 71. DEPLOYING TO ON-PREM / HOSTED IIS  Low-trust (OAuth)  High-trust (S2S)
  • 72. IIS CONFIGURATION  One IIS Site per app  One IIS site, many ASP.NET Applications
  • 74. UPGRADE AND VERSIONING  Upgrading your app  Upgrade packaging and deployment  Multi-tenant & Multi-version runtime considerations
  • 75. eventmobi.com/sptcboston Please take a moment to fill out the class feedback form via the app. Paper feedback forms are also available in the back of the room.