Learn how to leverage the power of the cloud to build dynamic, informative and engaging Intranet solutions with Office 365. Get real-world guidance and best practices for driving user adoption and engagement through powerful features like cross-site publishing, metadata navigation and search-driven content, along with proven techniques for custom branding, interface extensions, authorization and app development.
19. • On-Premise
• Modify and manipulate – do not replace
Master Pages
•PHA: External (CDN)
•SPHA: External or App Web
Dependencies
• On-Premise: Declarative or Programmatic
• Online: Programmatic
Assets
•Do not rely upon remote event receivers
•Beware the dangers of injection
Retraction
20. Sandbox
• Declarative
artifacts
• Web Templates
• Modules
• Custom Actions
• Retractable
Add-In
• Code only – no
declarative
artifacts
• JavaScript
Injection
• Non-retractable
Editor's Notes
Objectives
Deliver content relevant to the current task
Provide productivity-enhancing tools
Promote company mission and objectives
Inward-facing communication and collaboration
Audience
Employees
Contractors
Management
The Kool-Aid Drinkers
Experience
External vs. Internal Branding
Marketing vs. Communications
“Fastest possible access to the most relevant information”
Challenges
Form over function
Keeping it relevant
Information accessibility
Preventing JAFS (Just Another File Share)
Focus on getting a job done
Security
Serving many masters
Overview of navigation elements
Suite Bar
User Menu
Site Settings
Ribbon
Quick Access
Top Navigation
Quick Launch
???Breadcrumb???
Avoiding the mistakes of the past
Deep flyouts
Security trimming and performance
Reliance on mouse movements
Menu fatigue
Suite Bar
Add/Modify elements via JavaScript
Change visual presentation (horizontal to vertical/hidden)
Examples
Yammer
Extranet
User Menu
Add/Modify elements via JavaScript
Add elements via Feature in Sandbox Solution
Examples
Custom Sign Out link
Hide My Settings
Site Settings
Add/Modify elements via JavaScript
Add elements via Feature in Sandbox Solution
Examples
Apps
Pages
External links
Custom settings
Quick Access
Add/Modify elements via JavaScript
Add elements via Feature in Sandbox Solution
Examples
???
Quick Launch
Localized content
JavaScript or Feature (Sandbox)
Ribbon
Contextual actions and links
JavaScript, App or Feature (Sandbox)
Examples
App
Hide options
Edit Control Block
Document/Item flyout menus/dialogs
Scoped to item
JavaScript, App or Feature (Sandbox)
Examples
Document/Item actions
Apps
External links
S2S_Server
S2S_App_HighTrust
Managed metadata
Hierarchy
Structured Parent-Child relationships
Seven levels of hierarchy
Language-specific assignments
Sorting
Automatic (language-based) or custom sort order
Static (not contextual)
Metadata links NOT security trimmed
Scope
Restricted to single site collection
Query multiple term stores to construct cross-site-collection navigation
Extensibility
Default properties
Descriptions, labels and ID’s
Custom properties
Shared
Local
Uses: Custom sort order (Table of Contents, Alpha-Numeric-Alpha, etc.), browser targeting, Geo, etc.
S2S_Server
S2S_App_HighTrust
GET LOST AND STAY LOST!
Default
Control exists but is hidden
Only provides localized navigation (current site collection)
Re-enable via JavaScript
Custom
Create “retro” horizontal breadcrumb with custom code
S2S_Server
S2S_App_HighTrust
Feature parity with on-prem
CQWP
Customize via XSLT
Be aware of query depth limitations (1000 lists) and performance implications
App Part
Custom app to perform any desired aggregation task
CSOM
Does not provide cross-list query functionality. Each query has to be performed independently.
LINQ generates LINQ to Objects entities not LINQ to SharePoint entities. Big difference.
Social
Query farm-wide objects via follows and shares
$.ajax(
{ url:/<site>/_api/social.following/my/followed(types=14)?$orderby=ActorType, headers:{"Accept":"application/json; odata=verbose"},
contentType:'application/json; odata=verbose',
Type: 'GET',
success:successCallback,
error:errorCallback
});
S2S_Server
S2S_App_HighTrust
Key elements
Design not selectable without .preview image file
Publishing features required
Sites and sub-sites do not directly inherit composed looks
Copy of files made from parent site collection to child sites
Must be applied individually to each site collection