App primer

Post on 08-May-2015

2.665 views 0 download

Transcript of App primer

1 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

Getting started with apps.

Chris Johnson

Apps for SharePoint Primer

2 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

YammerHow to Join the Conversation1. Download the Yammer phone app from the iTunes, Windows Phone, or

Android App Store.2. Join your company network, if you haven't already, at 

http://www.yammer.com.3. Go to https://www.yammer.com/microsoftmidwestcustomers and click

"request an invitation". When you receive the invitation click "accept."4. Go to 

https://www.yammer.com/microsoftmidwestcustomers/groups/spschicago  and click "join." You will receive a welcome message in 24-72 hrs.

5. Once you have access you will be able to download posted presentations, ask questions of any of the subject matter experts and participate in any conversations going on in the group

3 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

whoami?www.looselytyped.net

@LoungeFlyZ

Provoke Solutions – Consulting, Development

Chris.Johnson@provokesolutions.com

Ex-10yr Microsoftie, SharePoint Product

Management, Program Management and

Consulting Services

4 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

What we are going to cover The problem(s) today What changes in SharePoint 2013 How to get started building apps Tips and Tricks I have learnt along the way

5 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

What I want to you to take away today Development with SharePoint is changing Understand why this is happening Embrace change and use it to your

advantage Get started with the app model Build on my knowledge, don’t start from

scratch

6 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

The current problem with SharePoint Development

7 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

SharePoint Process(IIS w3wp.exe)

WSP

ResourcesXML/Features/Files

Code (DLL)

Farm solutions aka “Full Trust”

8 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

Sandbox Code Process(SPUCWorkerprocess.exe)

SharePoint Process(IIS w3wp.exe)

WSP

ResourcesXML/Features/Files

Code (DLL)

Sandbox solutions

9 | SharePoint Saturday Chicago 2013Twitter: @SPSChicago Hashtag #SPSChicago

The problems with the current situation Stability Security Management Cost

10 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

How this is being addressed?

11 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Overview of the App Model Office 365 and in on-premises farms Code never runs in SharePoint host process Calls have controlled authorization Apps can have permissions independent of

user permissions Apps deployed to private catalogs or online

Store

12 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

App Types SharePoint-Hosted Apps

All assets are in SharePoint No server code

Provider Hosted Backend is remotely hosted

Auto Hosted Backend is hosted for you in Azure by MS

13 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

SharePoint-Hosted Apps App resources added to

SharePoint host Stored in child site known

as app web App can have client-side

code App cannot have server-

side code

14 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Provider-Hosted Apps App resources deployed on

remote server Remote site known as

remote web App can have client-side

code App can have server-side

code

15 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Integration with SharePoint UI – App Parts and Menus Data/Operations - APIs to talk to

SharePoint Events – Remote Event Receivers

16 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

What is in an app? App consists of:

Zip file – Open Package Conventions AppManifest.xml WSP – declarative components only Code – deployed to “backend” SQL DB – optional - DACPAC

17 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

App Installation Scopes Site-Scoped Installation

App is installed in a specific site App is launched from same site This site is known as host web

Tenancy-Scoped Installation App installed > app catalog site App available many host webs Host webs access one app instance Centralizes app management

18 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Authentication/Authorization SharePoint site authentication stays the

same

Three models for apps: Cloud: Office 365 + ACS – OAuth On-Prem: Server to Server (S2S) -

Advanced Hybrid: SharePoint on Prem + Office

365 + ACS – Advanced

19 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

What’s covered?Component App

sFarm

Web parts   XApp parts X  ASP.Net server controls   XASP.Net user controls   XList and library templates X XContent types X XEvent handlers   XRemote event receivers X  Pages and page layouts   XFiles X XMaster pages   XRibbon and list actions X XWorkflows   XApps for Office X  Custom JavaScript list view renderings

X  

Custom JS column renderings

   

20 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

I do X today, how do I do Y tomorrow? Richard diZerega “App Approaches to

Common SharePoint Customizations”

http://blogs.msdn.com/b/richard_dizeregas_blog

21 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Demo: SharePoint Hosted App

22 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Provider Hosted Apps Developer provides the backend Typically Windows Azure but can be

anything Visual Studio tooling is excellent

Packaging, Deployment, Debugging Development tools

Visual Studio 2012 or 2013 Office 365 tenancy (trial will do) Fiddler

23 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Provider Hosted Pros

Full control over the backend - Host anywhere you like (in theory)

Upgrade might be easier Upgrade the backend … leave the front end Caveat: You might need to support multiple front end

versions of your app Do any logging, tracing and management things you

like Cons

Costs of running backend Support and Management Ongoing commitment

24 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

OAuth 2.0 Primer What is OAuth?

Internet protocol for creating and managing app identity A cross-platform mechanism for authenticating apps Internet standard used by Facebook, Google

and Twitter

SharePoint 2013 use OAuth to establish app identity

25 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

How it works…

26 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Demo: My First Provider Hosted App

27 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Deploying Apps - App Catalog Private / enterprise marketplace for

organizations No certification process Seen only by that company

Enables license management & gateway for app procurement

Office 365 - 1:1 App Catalog per Tenant On-Premises - 1:1 + optionally have App

catalog per Web Application

28 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Office Store

29 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Getting your app in the store SharePoint Hosted or Provider Hosted only Paid Office 365 subscription needed Sellerdashboard.Microsoft.com

Create OAuth app IDs and Secrets Submit and Monitor your apps

Get paid License per seat or site license Subscription pricing per user per month

30 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Tips and Tricks1. Use SignalR for App tracing and

debugging2. Cache tokens3. Use the SharePoint cross-domain library4. Single Page Apps in SharePoint5. App CSS makes your app look like part of

the experience6. Elevate your SharePoint app’s permissions

with app-only calls

31 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Chris, this really is totally different from what we do today!?!?

32 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Sandbox Code Process(SPUCWorkerprocess.exe)

SharePoint Process(IIS w3wp.exe)

WSP

XML/Features/Files Code (DLL)

Sandbox solutions

33 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

SharePoint SiteApp

Package

App Resources Code (DLL)

Provider Hosted apps

34 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Go and try this today1. Sign up for Office 365

1. Free 30 day Trial2. MSDN get 1 year subscription benefit

2. Visual Studio 2013 1. Includes all the Office and SharePoint

apps tools3. Additional tools

1. Fiddler – http://fiddler2.com2. Fiddler Extension for SharePoint 2013

App Tokens (Kirk Evans Blog)

36 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Get in touch www.looselytyped.net @LoungeFlyZ

www.provokesolutions.com Chris.Johnson@provokesolutions.com

37 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Thanks to Our Sponsors!

38 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Housekeeping Please remember to submit your session

evaluation using our mobile application Follow SharePoint Saturday Chicago on

Twitter @spschicago & use hashtag #spschicago