Biwug slideDesk first session 26/11/2013
This session is about an intro into the Apps model. There is much more to think about than just select what kind of type of app that you want to create.
7. Voting System
Apps, what is the difference... a story
> Speaker: Andy Van Steenbergen
The Consumerization of the Intranet…
> Speaker: Peter van Hees
8. Trends impacting the way we work
i
1 billion
For the first time in
modern history, workplace
demographics now span
50%
smartphones, 4 years
ahead of predictions
3
of enterprise customers
are “on the road” to cloud
generations
9. Requirements
i
Mobile
An intuitive service that
doesn’t require extensive
training or adoption.
A solution designed with
a mobile first mindset.
Easy
Hybri
d
A solution with a physical
on premise component
combined with a cloud
service.
10. Voting steps
Take your mobile
phone out of your
pockets.
1
Turn the screen
of you mobile
phone on.
2
Face the screen
towards the
presenter.
3
* The unstructured results will be posted tonight on Twitter.
11. BaseLine: Are you ready?
Take your mobile
phone out of your
pockets.
1
Turn the screen
of you mobile
phone on.
2
Face the screen
towards the
Presenter.
3
26. Question: App Shapes (screen or noscreen)
Take your mobile
phone out of your
pockets.
1
Turn the screen
of you mobile
phone on.
2
Face the screen
towards the
Presenter.
3
34. Client APIs
Server APIs
SharePoint
& Exchange
Office
Client
Server
3rd Party Services
Browser Host
APP
Web Server Host
Other Devices
& Clients
Common App Architecture
37. Infrastructure configuration
Determine App domain
• http://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
Configure domain names in DNS
• http://app-bdf2016ea7dacb.contosoapps.com/sites/SPC/Scheduler
• *.contosoapps.com (wildcard is preferred)
Create a new wildcard SSL certificate
(access token is transmitted in plaintext)
39. Additional Considerations (on prem)
Apps do not support Kerberos (ntml instead)
Special requirements for SAML authentication
Apps do not support multiple zones
A routing Web application may be needed
42. The new cloud app model
Build a new class of apps that extend and personalize the way we create
and consume information right from within Office and SharePoint
New Apps
A new class of apps enabling new
scenarios and new user experiences
Familiar Toolsets
Embracing Web standards to provide
developers choice and flexibility
Flexible Lifecycle
Deploy and maintain your apps publically
on the new Office Store, or internally with
Flexibility and control
47. Anatomy of a SharePoint Hosted app
Manifest
Code
JS CSS HTML ASPX
48. Reasons to use SharePoint hosted
apps
SYMMETRIC
IN OFFICE 365
AND ON-PREM
AUTHENTICATION
IS AUTOMATIC
INHERENT
MULTI-TENANCY
& ISOLATION
NO ADDITIONAL
COST
NO NEED FOR
ADDITIONAL
INFRASTRUCTURE
49. SharePoint component isolation
1 app installation = 1 “app web”
App webs are isolated in their own domain:
Host
https://contoso.sharepoint.com/site
web /
App
web
https://contosoappUID.sharepoint.com/site/app/
Leverages web browser same-origin policy for script isolation
50. Available app web components
• Lists
• Libraries
• WebProxy
• App scoped BDC
models
• App scoped ECTs
• JavaScript
• Workflows
• Custom Actions
• Declarative Pages
• CSS files
• Custom Actions
• OOB Web Parts
59. From Developer to End User
Office and SharePoint
Dev center
submission
Office Store
TRIAL/
PURCHASE
Integrated
Office
Store
TRIAL/
PURCHASE
Developer
Direct
SharePoint
App Catalog
Vendor/
IT projects
IT admin
End users
60. Recap: Anatomy of an app for SharePoint
Manifest
Code
App Content
SharePoint
Hosted
68. Granting SharePoint App Permissions
Permissions are granted when an App for SharePoint is
installed on a SharePoint server.
App
permission
name
SharePoint
permission name
Read
Reader
Write
Contributor
Manage
Designer
FullControl
Full Control
All or
nothing
69. App permissions
App permission
request scopes
•
•
•
•
•
•
•
•
Tenancy
SPSite
SPWeb
SPList
BCS
Search
Workflow
Taxonomy
App permission
rights
•
•
•
•
Read
Write
Manage
Full control
App
authorization
policies
• User and app policy
• App-only policy
• User-only policy
73. Question: App Shapes (screen or noscreen)
Take your mobile
phone out of your
pockets.
1
Turn the screen
of you mobile
phone on.
2
Face the screen
towards the
Presenter.
3
76. OAuth enables users to approve an
application to act on their behalf
without sharing their user name and
password.
77. Understanding where Oauth fits
• Oauth is primarily used for external app authentication in
the Office 365 environment.
• Server2Server authentication is used for external app
authentication in on-premises farms.
99. Monitoring and logging
Monitoring in Central
Admin
• App usage/Error details
• Timer Jobs
Monitoring in Site
Collections
• App usage/Error details
Logging Categories
• App Management, App Monitoring, Azure
Access Control, App Marketplace,
Marketplace Web Service
100.
101. Napa and Visual Studio
• Napa is complementary to Visual Studio
• Get started in Napa, continue in Visual Studio
• Made it very easy to move to Visual Studio when you want to.
For example:
•
•
•
•
•
Debugger
Support for composing apps for Office & SharePoint
Support additional deployment topologies (i.e. server code)
ALM tools (SCC, Work Items, Profiler, etc.)
Additional SharePoint items (BCS, Workflow, etc.)
102. Napa is an app for SharePoint
JS CSS HTML ASPX
App for Office
103. JSOM & REST (example)
JavaScript object model
var ctx = new SP.ClientContext("http://contosoappUID.spo.com/site/app");
ctx.load(ctx.get_web().get_title());
ctx.executeQueryAsync();
REST/OData
http://contoso-appUID.spo.com/site/app/_api/web/Title
_api/web/lists
_api/web/lists/getByTitle('Documents')
_api/social.feed/my/news
_api/SP.UserProfiles.PeopleManager/getMyProperties()
_api/search/query?Querytext='Marketing'
108. Take Away
• Javascript / Jquery , CSOM & REST are getting important
• Clientside (high trust) vs Serverside (full trust)
• Recommended read: SP 2013 App development
• Scott hillier & ted pattison
109. References
• SPC Slide decks:
•
Understanding and Maintaining SharePoint Apps for IT Pros
•
•
SharePoint hosted apps
•
•
Chris Whitehead & Sam Hassani
Yina Arenas
Building Autohosted Apps for SharePoint 2013
•
Richard diZerega
Nathan Miller
Notas del editor
If you have slides that you want to share => let us know!
101 likes = we made it
Twitter
In the sessions tonight, we will introduce a new voting system.
We required a voting system inline with the trend that impact the way we work.
The requirements: mobile, easy, and hybrid.>Investment:32.000€ (average of 400€ per participant of this session)
Thanks to all our sponsors - namely “you” - we’ve managed to pull it off!Thevoting procedure is quite simple: 3 steps.> The unstructured results will be published on Twitter.
In order to test the new system, we will perform a baseline vote…Our baseline question: “Are you ready?”<Andy gebruikdeze slide voor je vragen. Ikzounietmeerals 3 vragenstellen in je sessie.>
In order to test the new system, we will perform a baseline vote…Our baseline question: “Are you ready?”<Andy gebruikdeze slide voor je vragen. Ikzounietmeerals 3 vragenstellen in je sessie.>
No subwebbut isolated domainAzure / Provider hosted is different url , this is for SP hosted appsIsolation = same origin policy = JS cannot execute outside of the domain it’s running in. other domain = browser will throw access denied error Javascript can only execute within the app web App prefix = can be changed but only 1 Host web =
Service principle names for Kerberos need to be configured, this needs to be done per app webNtml is used in steadSAML – requirement , Identity provider must support wildcard return url registration. ADFS 2.0 doesn’t support thisMultiple urls needed? Host header site collections , uses only the default zone
ECT = external content types
In order to test the new system, we will perform a baseline vote…Our baseline question: “Are you ready?”<Andy gebruikdeze slide voor je vragen. Ikzounietmeerals 3 vragenstellen in je sessie.>
Provider hosted – ACS – an O365 subscription is needed to use Azure to broker the request