sharepoint saturday redmond - building solutions with the future in mind

29
PROVOKE SOLUTIONS AUCKLAND MANILA SEATTLE SINGAPORE WELLINGTON PRESENTED BY… Designing and Building solutions with the future in mind Chris Johnson General Manager, Provoke Solutions, Seattle

Upload: chris-johnson

Post on 30-Jun-2015

2.058 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

P R E S E N T E D B Y …

Designing and Building solutions with the future in mind

Chris JohnsonGeneral Manager, Provoke Solutions, Seattle

Page 2: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

whoami?

• Blog: www.looselytyped.net

• @LoungeFlyZ

[email protected]

• Ex-10yr Microsoftie, SharePoint Product Management,

Program Management and Consulting Services

Page 3: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Agenda…

What’s new in 2013 for solutions

How does it work?

What does al l this mean?

Designing for tomorrow

Wrap-up

Page 4: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

What changed?

Page 5: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

SharePoint Process(IIS w3wp.exe)

Farm solutions aka “Full Trust”

WSP

ResourcesXML/Features/Files

Code (DLL)

Page 6: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Sandbox Code Process(SPUCWorkerprocess.exe)

SharePoint Process(IIS w3wp.exe)

Sandbox solutions

WSP

ResourcesXML/Features/Files

Code (DLL)

Page 7: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Overview of the SharePoint App Model

• Office 365 and in on-premises farms• Code never runs in SharePoint host environment• APIs to talk to SharePoint• Calls have controlled authorization• Apps can have permissions independent of user permissions• Apps deployed to private catalogs or online Store

Page 8: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

App Types

• SharePoint-Hosted Apps– All assets are in SharePoint– No server code

• Cloud-Hosted Apps– Provider Hosted– Auto Hosted

Page 9: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

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 10: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

SharePoint App Architecture

• 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

• Cloud-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 11: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

App Catalog Site

• 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 12: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

What is my personal opinion?

• I like the “Plumbing” … a lot– UI - integration– Data – Remote APIs– Events

Page 13: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Full Trust App Model

Page 14: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Chris, you are talking like a crazy person…

Page 15: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

What’s covered?

Component Apps FarmWeb 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 16: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

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 17: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Where you don’t want to be

In a corner with no way out.

Page 18: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Don’t be cornered…

• Decouple where possible• Don’t be a typical developer• Light touch first, Deep only if needed• Pragmatic, but forward thinking

Page 19: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Chris, this really is totally different!?!?

Page 20: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Sandbox Code Process(SPUCWorkerprocess.exe)

SharePoint Process(IIS w3wp.exe)

Sandbox solutions

WSP

XML/Features/Files Code (DLL)

Page 21: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

SharePoint Site

Provider Hosted apps

App Package

App Resources Code (DLL)

Page 22: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Some options today…

1. App Model on Prem (2013 only)1. High Trust on-prem aka S2S 2. Low Trust on-prem (Hybrid only)

2. Client JavaScript whenever possiblea) WebPartsb) Pagesc) JS CSOM

3. Externalize code + Web Services e.g. event receivers

4. Aim for Office 365 even if you aren't moving

5. Be very vigilant on nice to have features

DOs (at least consider)

Page 23: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Some options today…

1. Use Farm Solutions by defaulta) Make sure architects/developers thinkb) Might be more costly, but will pay dividends

2. Tie into other systems without considering how to loosely couple

3. Asdf

DON’Ts (at least consider)

Page 24: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

There is no “Wrong”

… yet

Page 25: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

“It’s going to be messy for a while.”

C h r i s J o h n s o n

Page 26: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Q&A• TIME FOR YOUR QUESTIONS

Page 27: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Page 28: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

Get in touch

w w w. p r o v o ke s o l u t i o n s . c o m

C h r i s . J o h n s o n@ p r o v o k e s o l u t i o n s . c o m

w w w. l o o s e l y t y p e d . n e t@ L o u n g e F l y Z

Page 29: SharePoint Saturday Redmond - Building solutions with the future in mind

P R O V O K E S O L U T I O N SA U C K L A N D M A N I L A S E A T T L E S I N G A P O R E W E L L I N G T O N

THANK YOU

F O R T H E O P P O RT U N I T Y