08448380779 Call Girls In Friends Colony Women Seeking Men
SharePoint Saturday Redmond - Building solutions with the future in mind
1. P R O V O K E S O L U T I O N S
A 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 Johnson
General Manager, Provoke
Solutions, Seattle
2. P R O V O K E S O L U T I O N S
A 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
• Chris.Johnson@provokesolutions.com
• Ex-10yr Microsoftie, SharePoint Product Management,
Program Management and Consulting Services
3. P R O V O K E S O L U T I O N S
A 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 all this mean?
Designing for tomorrow
Wrap-up
4. P R O V O K E S O L U T I O N S
A 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?
7. P R O V O K E S O L U T I O N S
A 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
8. P R O V O K E S O L U T I O N S
A 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
9. P R O V O K E S O L U T I O N S
A 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
10. P R O V O K E S O L U T I O N S
A 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
11. P R O V O K E S O L U T I O N S
A 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
12. P R O V O K E S O L U T I O N S
A 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
13. P R O V O K E S O L U T I O N S
A 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
14. P R O V O K E S O L U T I O N S
A 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…
15. P R O V O K E S O L U T I O N S
A 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 Farm
Web parts X
App parts X
ASP.Net server controls X
ASP.Net user controls X
List and library templates X X
Content types X X
Event handlers X
Remote event receivers X
Pages and page layouts X
Files X X
Master pages X
Ribbon and list actions X X
Workflows X
Apps for Office X
Custom JavaScript list view
renderings
X
Custom JS column renderings
16. P R O V O K E S O L U T I O N S
A 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
17. P R O V O K E S O L U T I O N S
A 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.
18. P R O V O K E S O L U T I O N S
A 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
19. P R O V O K E S O L U T I O N S
A 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!?!?
22. P R O V O K E S O L U T I O N S
A 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 possible
a) WebParts
b) Pages
c) 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)
23. P R O V O K E S O L U T I O N S
A 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 default
a) Make sure architects/developers think
b) 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)
24. P R O V O K E S O L U T I O N S
A 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
25. P R O V O K E S O L U T I O N S
A 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
26. P R O V O K E S O L U T I O N S
A 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
27. P R O V O K E S O L U T I O N S
A 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
28. P R O V O K E S O L U T I O N S
A 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 k e 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
29. P R O V O K E S O L U T I O N S
A 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