Download - App primer

Transcript
Page 1: App primer

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

Getting started with apps.

Chris Johnson

Apps for SharePoint Primer

Page 2: App 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

Page 3: App primer

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

whoami?www.looselytyped.net

@LoungeFlyZ

Provoke Solutions – Consulting, Development

[email protected]

Ex-10yr Microsoftie, SharePoint Product

Management, Program Management and

Consulting Services

Page 4: App primer

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

Page 5: App primer

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

Page 6: App primer

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

The current problem with SharePoint Development

Page 7: App primer

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

SharePoint Process(IIS w3wp.exe)

WSP

ResourcesXML/Features/Files

Code (DLL)

Farm solutions aka “Full Trust”

Page 8: App primer

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

Page 9: App primer

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

The problems with the current situation Stability Security Management Cost

Page 10: App primer

10 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

How this is being addressed?

Page 11: App primer

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

Page 12: App primer

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

Page 13: App primer

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

Page 14: App primer

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

Page 15: App primer

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

Page 16: App primer

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

Page 17: App primer

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

Page 18: App primer

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

Page 19: App primer

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

   

Page 20: App primer

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

Page 21: App primer

21 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Demo: SharePoint Hosted App

Page 22: App primer

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

Page 23: App primer

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

Page 24: App primer

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

Page 25: App primer

25 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

How it works…

Page 26: App primer

26 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Demo: My First Provider Hosted App

Page 27: App primer

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

Page 28: App primer

28 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Office Store

Page 29: App primer

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

Page 30: App primer

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

Page 31: App primer

31 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

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

Page 32: App primer

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

Page 33: App primer

33 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

SharePoint SiteApp

Package

App Resources Code (DLL)

Provider Hosted apps

Page 34: App primer

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)

Page 36: App primer

36 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Get in touch www.looselytyped.net @LoungeFlyZ

www.provokesolutions.com [email protected]

Page 37: App primer

37 | SharePoint Saturday Chicago 2013

Twitter: @SPSChicago Hashtag #SPSChicago

Thanks to Our Sponsors!

Page 38: App primer

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