Developing an intranet on office 365


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Developing an intranet on office 365

  1. 1. The SharePoint Cowboy Eric Shupps CKS:DEV Patterns & Practices @eshupps
  2. 2. Introduction Navigation Content Publication Design Authorization Extensibility
  3. 3. Office 365 Platform Flexible Tools
  4. 4. Objectives Audience Experience Challenges
  5. 5. Suite Bar JavaScript User Menu JavaScript Solution Site Settings JavaScript Solution Quick Access JavaScript Solution
  6. 6. Quick Launch JavaScript Solution Ribbon JavaScript App Solution Edit Control Block JavaScript App Solution <CustomAction Id=“[GUID]. RibbonCustomAction" RegistrationType="ContentType" RegistrationId="0x" Location="CommandUI.Ribbon" Sequence="10001" Title=“My Custom Action"> <CommandUIExtension> <CommandUIDefinitions> <CommandUIDefinition Location="Ribbon.Library.Actions.Controls._children"> <Button Id="Ribbon.Library.Actions.MyAction" Alt=“My Custom Action" Sequence="100" Command="Invoke_CustomAction" LabelText=“Awesome Action" TemplateAlias="o1" Image32by32=“[ImageUrl]" Image16by16=“[ImageUrl]" /> </CommandUIDefinition>
  7. 7. Hierarchical list of navigation nodes Static sort order Scoped to current site collection Custom properties enable extensibility
  8. 8. Vertical breadcrumb hidden in 2013/SPO Cannot navigate across site collection boundaries Basic functionality restored with master page edit + JavaScript Advanced functionality requires custom code
  9. 9. Content Query Web Part (XSLT) App Part CSOM: No Cross-List Query CSOM: LINQ to Objects != LINQ to SharePoint Social API’s
  10. 10. Content Search Web Part Managed Properties Result Relevancy Display Templates Search API’s
  11. 11. Write Once, Read Many In-Place Catalogs Search Components and API’s CSOM REST
  12. 12. Collection of branding assets (files) HTML (.master), CSS, Image (.preview), related artifacts Beware of inheritance issues and feature dependencies Sandbox Easy App Challenging
  13. 13. Create design in UI Export to WSP Customize WSP Sandbox Easy App N/A
  14. 14. Web Templates Unstructured Modules CSOM Sandbox Easy App Challenging
  15. 15. Open standard for app integration and authorization Authentication independent “Valet Key” • Access • Permissions
  16. 16. 1 User requests access App requests Request Token App builds auth link w/ Request Token 2 Provider returns Request Token User requests URL + Request Token Provider returns access token 3 User requests URL + Access Token App validates access token User granted access User Access token validated App Provider
  17. 17. Provides integration without multiple logins Enables server to server operations on behalf of users Establishes trust relationships between diverse components Supports the App Model
  18. 18. Identity Provider Security Token Service Manages identity information for principals (STS) Handles requests for trusted identity claims Identity Token Issuer Identity provider associated with a web application Security Token Issuer Trusted resource (farm, server, etc.) Metadata Endpoint Resource information and signing certificate (JSON) Request Token Used to request permission to protected resource Access Token Used by App to access resource on behalf of user Realm Azure ACS Operation scope for authorization Cloud-based security token service (IP-STS)
  19. 19. User browses to app SP gets request token from ACS SP sends request tokens to browser Browser POSTS request token to app App requests access token from ACS ACS provides access token App establishes context
  20. 20. Get POST parameters from SP Parse out Context Token Read and validate context token Get access token Get client context from SP with access token
  21. 21. Remote Applications HTML + Javascript App Permissions REST OAuth Store & Catalog
  22. 22. Custom Code Premise Full Trust Server OM (Full) Sandbox Server OM (Partial) Client OM Cloud Apps Client OM Sandbox Server OM (Partial) Client OM Apps Client OM
  23. 23. App Hosting Auto Azure SharePoint Provider App Web App Part Remote Web IFRAME IFRAME CHROME
  24. 24. .NET Javascript Synchronous Asynchronous Server Client SP Office / SP
  25. 25. HTTP-based web service architecture that uses nouns and verbs to define operations Noun: “Items” Verbs: GET, POST, PUT, DELETE OData provides metadata, object typing and query semantics for underlying data structure (WCF data services) /items(0) Client Object Model service (client.svc) processes queries, interacts with server OM, returns formatted response (JSON, XML) /items/GetByTitle(‘foo’)
  26. 26. http://contoso/_api/items/GetById(1)?$select=Title,ID Location Service Resource Path Query Options
  27. 27. Local Remote Cross Domain Current Context OAuth Request Executor Request Digest Access Token SP.WebProxy Context Info Cross Domain HTTP WebRequest
  28. 28. Explore articles Connect OfficeSPDev.UserVoice.Com Solve your roadblocks on StackOverflow [Office] and [SharePoint] Build Office Dev Tools for Visual Studio 2013 and Office 365 API Tools for Visual Studio 2013