developing an intranet on office 365
TRANSCRIPT
-
7/22/2019 Developing an Intranet on Office 365
1/45
-
7/22/2019 Developing an Intranet on Office 365
2/45
Sponsored by:
Real-time application monitoring, event
management, and operational health
metrics for Microsoft SharePoint
Reduce troubleshooting time by up to 30%
Increase efficiency and improve user satisfaction
Avoid downtime and costly outages
Meet or exceed service level agreements
Maximize investment in current infrastructure
-
7/22/2019 Developing an Intranet on Office 365
3/45
-
7/22/2019 Developing an Intranet on Office 365
4/45
CKS:DEV
TheSharePointCowboy
Patterns&
Practices
Eric Shupps
www.sharepointcowboy.com [email protected] facebook.com/sharepointcowboy
-
7/22/2019 Developing an Intranet on Office 365
5/45
Introduction
Extensibility
Navigation
DesignontentPublication
Authorization
-
7/22/2019 Developing an Intranet on Office 365
6/45
Office 365 Platform
Flexible
-
7/22/2019 Developing an Intranet on Office 365
7/45
Objectives Audience Experience Challeng
-
7/22/2019 Developing an Intranet on Office 365
8/45
-
7/22/2019 Developing an Intranet on Office 365
9/45
-
7/22/2019 Developing an Intranet on Office 365
10/45
User Menu
Suite Bar
JavaScript
Site Settings
JavaScript Solution
JavaScript Solution
Quick Access
JavaScript Solution
-
7/22/2019 Developing an Intranet on Office 365
11/45
Ribbon
Quick Launch
Edit Control Block
JavaScript App Solution
JavaScript App Solution
JavaScript Solution
-
7/22/2019 Developing an Intranet on Office 365
12/45
Static sort order
Custom properties enable extensibility
Scoped to current site collection
Hierarchical list of navigation nodes
-
7/22/2019 Developing an Intranet on Office 365
13/45
Cannot navigate across site collectionboundaries
Advanced functionality requirescustom code
Basic functionality restored withmaster page edit + JavaScript
Vertical breadcrumb hidden in
2013/SPO
-
7/22/2019 Developing an Intranet on Office 365
14/45
-
7/22/2019 Developing an Intranet on Office 365
15/45
-
7/22/2019 Developing an Intranet on Office 365
16/45
App Part
CSOM: LINQ to Objects != LINQ to SharePoint
CSOM: No Cross-List Query
Content Query Web Part (XSLT)
Social APIs
-
7/22/2019 Developing an Intranet on Office 365
17/45
Search APIs
Content Search Web Part
Result Relevancy
Managed Properties
Display Templates
-
7/22/2019 Developing an Intranet on Office 365
18/45
In-Place Catalogs
Search Components and APIs
Write Once, Read Many
CSOM
REST
-
7/22/2019 Developing an Intranet on Office 365
19/45
-
7/22/2019 Developing an Intranet on Office 365
20/45
-
7/22/2019 Developing an Intranet on Office 365
21/45
Collection of branding assets (files)
HTML (.master), CSS, Image (.preview),related artifacts
Beware of inheritance issues andfeature dependencies
SandboxEasy
AppChallenging
-
7/22/2019 Developing an Intranet on Office 365
22/45
Create design in UI
Export to WSP
Customize WSP
SandboxEasy
AppN/A
-
7/22/2019 Developing an Intranet on Office 365
23/45
Web Templates
Unstructured Modules
CSOM
SandboxEasy
AppChallenging
-
7/22/2019 Developing an Intranet on Office 365
24/45
-
7/22/2019 Developing an Intranet on Office 365
25/45
-
7/22/2019 Developing an Intranet on Office 365
26/45
Authentication independent
Valet Key Access Permissions
Open standard for app integration
and authorization
-
7/22/2019 Developing an Intranet on Office 365
27/45
-
7/22/2019 Developing an Intranet on Office 365
28/45
User App Provider
User requests access App requestsRequest Token
Provider returnsRequest Token
App builds auth linkw/ Request Token
User requests URL +Request Token
Provider returnsaccess token
User requests URL +Access Token
App validates accesstoken
Access tokenvalidated
User grantedaccess
1
2
3
-
7/22/2019 Developing an Intranet on Office 365
29/45
Provides integration without multiplelogins
Enables server to server operations onbehalf of users
Establishes trust relationships betweendiverse components
Supports the App Model
-
7/22/2019 Developing an Intranet on Office 365
30/45
Manages identity information for principals (STS)Identity Provider
Handles requests for trusted identity claimsSecurity Token ServiceIdentity provider associated with a web applicationIdentity Token Issuer
Trusted resource (farm, server, etc.)Security Token Issuer
Resource information and signing certificate (JSON)Metadata Endpoint
Used to request permission to protected resourceRequest Token
Used by App to access resource on behalf of userAccess Token
Operation scope for authorizationRealm
Cloud-based security token service (IP-STS)Azure ACS
-
7/22/2019 Developing an Intranet on Office 365
31/45
App establishes context
ACS provides access token
App requests access token from ACS
Browser POSTS request token to app
SP sends request tokens to browser
SP gets request token from ACS
User browses to app
-
7/22/2019 Developing an Intranet on Office 365
32/45
Get client context from SP with access token
Get access token
Read and validate context token
Parse out Context Token
Get POST parameters from SP
-
7/22/2019 Developing an Intranet on Office 365
33/45
-
7/22/2019 Developing an Intranet on Office 365
34/45
-
7/22/2019 Developing an Intranet on Office 365
35/45
Remote
Applications
AppPermissions
OAuth
HTML
+Javascript
REST
Store&
Catalog
-
7/22/2019 Developing an Intranet on Office 365
36/45
Custom CodePremise
FullTrust
ServerOM(Full)
Sandbox
ServerOM
(Partial)
ClientOM
Apps
ClientOM
Cloud
Sandbox
ServerOM
(Partial)
ClientOM
Apps
ClientOM
-
7/22/2019 Developing an Intranet on Office 365
37/45
App Hosting
Auto
Azure
SharePoint
AppWeb
IFRAME
AppPart
IFRAME
Provide
RemoteWeb
CHROME
-
7/22/2019 Developing an Intranet on Office 365
38/45
-
7/22/2019 Developing an Intranet on Office 365
39/45
.NET
Synchronous
Server
SP
-
7/22/2019 Developing an Intranet on Office 365
40/45
HTTP-based web service architecture that uses nounsand verbs to define operations
Noun: ItemsVerbs: GET, POST, PUT, DELETE
OData provides metadata, object typing and querysemantics for underlying data structure (WCF dataservices)
/items(0)
Client Object Model service (client.svc) processesqueries, interacts with server OM, returns formattedresponse (JSON, XML)
/items/GetByTitle(foo)
-
7/22/2019 Developing an Intranet on Office 365
41/45
http://contoso/_api/items/GetById(1)?$select=Title,ID
Location Service Resource Path Query Options
-
7/22/2019 Developing an Intranet on Office 365
42/45
LocalCurrent Context
Request Digest
RemoteOAuth
Access Token
CrossDomaRequest Exe
SP WebPro
HTTP WebReontext Info Cross Domain
-
7/22/2019 Developing an Intranet on Office 365
43/45
-
7/22/2019 Developing an Intranet on Office 365
44/45
Explorearticles
ConnectOfficeSPDev.UserVo
Solve your roadblocks on StackOverflow
[Office] and [SharePoint]
BuildO
Visual Studio 2013 and Office 365 API T
Studio 2013
http://msdn.microsoft.com/en-us/library/office/dn605892.aspxhttp://aka.ms/officesuggestionshttp://aka.ms/askofficehttp://aka.ms/asksharepointhttp://aka.ms/officedevtoolsforvs2013http://aka.ms/office365apitoolspreviewhttp://aka.ms/office365apitoolspreviewhttp://aka.ms/office365apitoolspreviewhttp://aka.ms/office365apitoolspreviewhttp://aka.ms/office365apitoolspreviewhttp://aka.ms/officedevtoolsforvs2013http://aka.ms/asksharepointhttp://aka.ms/askofficehttp://aka.ms/officesuggestionshttp://msdn.microsoft.com/en-us/library/office/dn605892.aspx -
7/22/2019 Developing an Intranet on Office 365
45/45