Developing an Intranet on Office 365

Embed Size (px)

Citation preview

  • 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