SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Developing 
Branding Solutions 
for 2013 
Presented by Thomas Daly
About Me 
 SharePoint Consultant 
 Developer 
 Branding 
 Focused on the UI side of things 
 Community Involvement 
 Speaker 
 NJ SharePoint User Group 
 SharePoint Saturday NYC Organizer 
 SharePoint Saturday NJ Organizer 
 My SharePoint Blog 
 MSDN forums
Topics for 
Discussion 
 Branding Assets 
 Creating Branding Based Projects in Visual Studio 
2013 
 Deploying Assets for On-Prem / O365 
 Themes 
 CSS, Images & JavaScript 
 Master Pages 
 Composed Looks 
 Additional Page Head 
 Feature Receivers 
 CSSRegistration, ScriptLink, Cache Busting 
 Tools for improved development
What are 
Branding 
Assets? 
Master 
Page 
CSS 
Composed 
Look 
Images 
Web Fonts JavaScript
Special 
Considerations 
 Are you On-Prem / O365? 
 Will it be a Sandbox or Farm level solution? 
 Will it be Site or Web based scoping? 
 Aka (SPSite, SPWeb) 
 Aka (Site Collection, Site) 
 Will you be auto applying master pages, themes or 
composed looks? 
 Will you be pushing branding down to sub sites? 
 Do you have Single Site Collection or Multiple? 
 Will you need any additional scripts to 
programmatically apply / un-apply?
Example 1 
Deploying Master Pages, Images, CSS & 
JavaScript
Example 1 
Deploying 
Master Page, 
Images, CSS, 
& Javascript 
 Mapped Images Folder 
 Feature Image 
 Mapped Layouts Folder / Style Library 
 CSS Files 
 Images 
 JS Files 
 Modules 
 Master Pages
Example 1 
Review 
 Created Module to deploy .master file 
 Created Mapped folder for CSS, images & 
JavaScript 
 Create Module for Style Library
Example 1 
Key Concepts 
Modules & 
Elements 
 There may be times when you may want to deploy 
files to the SharePoint server regardless of their file 
type, such as new master pages. 
 To do this, you can use Modules (not to be confused 
with Visual Basic code modules). 
 Modules are containers for files in a SharePoint 
solution. When the solution is deployed, the files in 
the module are copied to the specified folders on 
the SharePoint server. 
 An Element is an atomic unit within a Feature. 
 There are several types of elements that can be 
included in a Feature. 
 More info on Module Items and Elements 
 More info on Element Types
Example 1 
Key Concepts 
Module – 
Master Page 
 Module 
 Path – Location in the Project 
 Url – Location on the Server 
 File 
 Type – GhostableInLibrary, can edit with Designer 
 Level – Published so it’s auto approved 
 ReplaceContent – True so future packages will overwrite 
 Properties 
 UIVersion – the targeted version of SP 
 ContentTypeId – value for Master Page content type 
 Title – Title of the master page
Example 1 
Key Concepts 
Module – 
Style Library 
 Module 
 Path – Location in the Project 
 Url – Location on the Server 
 File 
 Type – GhostableInLibrary, can edit with Designer 
 Level – Published so it’s auto approved 
 ReplaceContent –True so future packages will overwrite
Example 2 
Deploying a Composed Look
Composed 
Looks 
(Theming) 
 Theming provides a quick and easy way to apply 
lightweight branding to a SharePoint 2013 site 
 A composed look, or design, is the color palette, 
font scheme, background image, and master page 
that determine the look and feel of a site.
Example 2 
Deploying a 
Composed 
Look 
 Components 
 Master Page 
 Theme Palette 
 Background Image [optional] 
 Font Scheme [optional] 
 Options 
 Declarative [Code – On-Prem] 
 Imperative [XML - Sandbox / O365] 
Deploying a custom Composed Look in SP2013 
• Part 1 
• Part 2
Example 2 
Review 
 Create Module for .spcolor file (theme) 
 Create Element for Composed Look definition 
 Create Module for custom Master Page 
 Add and supporting images / fonts
Example 2 
Key Concepts 
Module - 
Theme 
 Module 
 Path – Location in the Project 
 Url – Location on the Server 
 File 
 Type – GhostableInLibrary, can edit with Designer 
 Level – Published so it’s auto approved 
 ReplaceContent –True so future packages will overwrite
Example 2 
Key Concepts 
Elements – 
Composed 
Look 
 The Definition of the Composed Look 
 Title & Name – Name of the Composed Look 
 MasterPageUrl – url of the master page 
 ThemeUrl – url of the .spcolor file 
 ImageUrl – url of background image 
 FontSchemeUrl –url of .spfont file 
 DisplayOrder – Order in which is will appear in the list
Example 3 
Additional Page Head
Example 3 
Additional 
Page Head 
 Additional Page Head is a delegate control located 
in the <HEAD> of SharePoint master pages. Can be 
used to load multiple controls via code without 
touching the master page directly. 
 What could is be used for? 
 Scenario 1 – Need a master page that is full width & one that is 
fixed width. 
 Scenario 2 – Need two create two distinct site brands and 
master page layout is the same or similar 
 Scenario 3 – Need to apply different style sheet on sub site to 
change fonts or colors 
 Additional Page Head can attach different style sheets to the 
same master page. 
 Minimize overhead of maintaining multiple master pages
Example 3 
Review 
 Add Style Sheet / JavaScript 
 Create User Control 
 Link User Control to CSS / JS 
 Create Elements linked to User Control
Example 3 
Key Concepts 
User Control 
[On-Prem]  Links to our additional style sheet or JavaScript 
 User Controls supported in On-Prem only
Example 3 
Key Concepts 
Elements 
 Contains the point to the User Control 
 Id – where the control will be loaded 
 ControlSrc – path to the User Control 
 Sequence – Order in which is appears [if multiple] 
 For Sandbox / o365 
 Link directly to the CSS in the elements 
 Use JavaScript to write the link to the CSS [Hacky] 
<CustomAction Id="SiteCSS" Location="ScriptLink" 
ScriptBlock="document.write('&lt;link 
rel=&quot;stylesheet&quot; type=&quot;text/css&quot; 
href=&quot;/_layouts/15/SPS.SP2013.Branding/example3/css/examp 
le3.cssquot;&gt;&lt;/' + 'link&gt;');" 
Sequence="203" />
Example 4 
Feature Receivers
Example 4 
Feature 
Receivers 
 Feature event receivers are methods that execute when 
one of the following feature-related events occurs in 
SharePoint: 
 A feature is installed. 
 A feature is activated. 
 A feature is deactivated. 
 A feature is removed. 
 Feature Receivers in branding can be used for: 
 Apply Composed Look 
 Apply Master Page 
 Apply Site Logo 
 Apply branding to all sub sites 
 Auto Apply Parent Branding on New Site Creation 
 Feature Receivers are code so best for on-prem only. 
 At the moment Sandbox can run code but it’s depreciated 
in the next release. 
 Sandbox has a hard limit to how long a sandboxed 
solution can take to be completed. 
 By default, this is 30 seconds
Example 4 
Review 
Feature 
Receiver – 
Activated & 
Deactivating 
 Add Master Page, CSS, Images & JavaScript like 
previous examples 
 Add Feature Receiver 
 Add code to enable specific branding features 
 Introduced public class to hold constants 
 Introduced helper class w/ common branding 
functions 
 Branding & Provisioning for SharePoint Online & 
Office 365
Example 4 
Review 
Web 
Provisioned 
Event Receiver 
 By default, (Non-Publishing) SharePoint does not 
trickle down applied themes, master page & css 
 By creating Site Provisioned Event Handler we can 
make the new children sites have the same 
branding as their parent. 
 Common things to set are: 
 Apply Master Page (Site & System) 
 Apply Site Logo 
 Apply Alternative CSS 
 Apply Parent Navigation 
 Apply Composed Look 
 Added the Synchronous property to the Web 
Provisioned Event Receiver will ensure Composed 
Look is applied before the site is display after it’s 
initial creation.
Example 5 
CSSRegistration, ScriptLink, Cache Busting
Example 5 
CSS 
Registration 
 SharePoint:CSSRegistration 
 Used to register CSS files with SharePoint 
 Prevents loading file multiple times 
 Can control what file it will load after 
 Using with files in _layouts will produce Cache 
Busting effect 
 Supports Dynamic Urls for Site Collection / Site 
 Supports Conditional CSS 
 Good to use in Web Parts 
 More details on CSSRegistration
Example 5 
ScriptLink 
 SharePoint:ScriptLink 
 Used to register JS files with SharePoint 
 Prevents loading file multiple times 
 Can control what file it will load after 
 Using with files in _layouts will produce Cache 
Busting effect 
 Supports Dynamic Urls for Site Collection / Site 
 Good to use in Web Parts
Example 5 
Cache 
Busting 
 Using CSSRegistration & ScriptLink auto adds 
?rev={hd5 hash} 
 Files must also be stored in the _layouts, using the 
Style Library or another folder will not generate a 
hash 
 This changes whenever the file is updated making 
the browser think that it doesn’t have it and forces 
a re-download 
 Cache Busting can be done manually – when you 
update css or javascript append a ?ver=x.x.x or 
anything different on the end of the url 
 This does not always update automatically. 
Sometimes it needs a IISRESET
Tools for improved 
development
Tools 
 CKS: Developer Tools - http://cksdev.codeplex.com/ 
 Must have for Quick Deploy alone 
 Mindscape Web Work Bench - 
https://visualstudiogallery.msdn.microsoft.com/2b 
96d16a-c986-4501-8f97-8008f9db141a 
 Sass / Less Support 
 Bundle 
 Minify
Questions? 
 Contact Info 
 Thomas M Daly 
 Website – http://thomasdaly.net 
 Twitter - _tomdaly_ 
 Email 
 TDaly@BandRSolutions.com [work] 
 Tom.M.Daly@gmail.com [personal] 
 LinkedIn

Weitere ähnliche Inhalte

Was ist angesagt?

Monitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerMonitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerLearning SharePoint
 
Optimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesOptimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesKanwal Khipple
 
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Kanwal Khipple
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Examplelinkedinsys
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05Vivek chan
 
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007Chandima Kulathilake
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...SPTechCon
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimRoy Kim
 
Vskills certified css designer Notes
Vskills certified css designer NotesVskills certified css designer Notes
Vskills certified css designer NotesVskills
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteBrendan Sera-Shriar
 
Branding sharepoint project
Branding sharepoint projectBranding sharepoint project
Branding sharepoint projectBinh Nguyen
 
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...Anindita Bhattacharya
 
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienCustomizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienChris O'Brien
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building WebsitesSuhas R Satish
 
Immerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsImmerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsAdobeMarketingCloud
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMAdobeMarketingCloud
 
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationSharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationBrian Culver
 
Dynamic Components using Single-Page-Application Concepts in AEM/CQ
Dynamic Components using Single-Page-Application Concepts in AEM/CQDynamic Components using Single-Page-Application Concepts in AEM/CQ
Dynamic Components using Single-Page-Application Concepts in AEM/CQNetcetera
 
SharePoint 2013 Content search web part - Get it all in one place and style it!
SharePoint 2013 Content search web part - Get it all in one place and style it!SharePoint 2013 Content search web part - Get it all in one place and style it!
SharePoint 2013 Content search web part - Get it all in one place and style it!Benjamin Niaulin
 

Was ist angesagt? (20)

Monitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 ServerMonitoring and Maintaining SharePoint 2013 Server
Monitoring and Maintaining SharePoint 2013 Server
 
Optimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sitesOptimizing SharePoint 2010 for Internet sites
Optimizing SharePoint 2010 for Internet sites
 
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
Top 10 Performance Tips for making Your Public Facing SharePoint 2010 Site Fa...
 
Gabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File ExampleGabriel Gayhart - XML Pointer File Example
Gabriel Gayhart - XML Pointer File Example
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05
 
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007
UX01 Customization Tour Of SharePoint - APAC Conference Sydney - 2007
 
Drupal SEO
Drupal SEODrupal SEO
Drupal SEO
 
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
Popping the Hood: How to Create Custom SharePoint Branding by Randy Drisgill ...
 
SharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy KimSharePoint 2013 Hosted App Presentation by Roy Kim
SharePoint 2013 Hosted App Presentation by Roy Kim
 
Vskills certified css designer Notes
Vskills certified css designer NotesVskills certified css designer Notes
Vskills certified css designer Notes
 
WordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media InstituteWordPress 2.5 Overview - Rich Media Institute
WordPress 2.5 Overview - Rich Media Institute
 
Branding sharepoint project
Branding sharepoint projectBranding sharepoint project
Branding sharepoint project
 
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...
 
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrienCustomizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
Customizing the SharePoint 2013 user interface with JavaScript - Chris OBrien
 
Share point 2013 Building Websites
Share point 2013 Building WebsitesShare point 2013 Building Websites
Share point 2013 Building Websites
 
Immerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragmentsImmerse 2016 Efficient publishing with content fragments
Immerse 2016 Efficient publishing with content fragments
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven ApplicationSharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
SharePoint Saturday DFW 2015 - Build a SharePoint 2013 Search Driven Application
 
Dynamic Components using Single-Page-Application Concepts in AEM/CQ
Dynamic Components using Single-Page-Application Concepts in AEM/CQDynamic Components using Single-Page-Application Concepts in AEM/CQ
Dynamic Components using Single-Page-Application Concepts in AEM/CQ
 
SharePoint 2013 Content search web part - Get it all in one place and style it!
SharePoint 2013 Content search web part - Get it all in one place and style it!SharePoint 2013 Content search web part - Get it all in one place and style it!
SharePoint 2013 Content search web part - Get it all in one place and style it!
 

Ähnlich wie Developing Branding Solutions for 2013

Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013Thomas Daly
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingThomas Daly
 
Developing branding solutions
Developing branding solutionsDeveloping branding solutions
Developing branding solutionsThomas Daly
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013Thomas Daly
 
Getting Started with SharePoint Branding
Getting Started with SharePoint BrandingGetting Started with SharePoint Branding
Getting Started with SharePoint BrandingThomas Daly
 
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy DewMake SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy DewCathy Dew
 
Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010jhendrix88
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupalmayank.grd
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 Evan Mullins
 
Schaeflein Dev409 Enterprise Branding Using Site Definitions
Schaeflein Dev409 Enterprise Branding Using Site DefinitionsSchaeflein Dev409 Enterprise Branding Using Site Definitions
Schaeflein Dev409 Enterprise Branding Using Site Definitionsmferraz
 
Spsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingSpsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingThomas Daly
 
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog TemplateBlog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog TemplateSean Burgess
 
Silverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdSilverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdGPMD Ltd
 
WordPress as a CMS v2
WordPress as a CMS v2WordPress as a CMS v2
WordPress as a CMS v2mwalters8
 
CMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg BrownCMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg Brownhannonhill
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!Evan Mullins
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteMediacurrent
 

Ähnlich wie Developing Branding Solutions for 2013 (20)

Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013
 
SPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point brandingSPSVB 1 7-2012 - getting started with share point branding
SPSVB 1 7-2012 - getting started with share point branding
 
Developing branding solutions
Developing branding solutionsDeveloping branding solutions
Developing branding solutions
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013
 
Getting Started with SharePoint Branding
Getting Started with SharePoint BrandingGetting Started with SharePoint Branding
Getting Started with SharePoint Branding
 
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy DewMake SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
Make SharePoint Look Not Like SharePoint - SPSNashville - Cathy Dew
 
Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010Developing and Deploying Custom Branding Solutions in SharePoint 2010
Developing and Deploying Custom Branding Solutions in SharePoint 2010
 
Beginner's guide to drupal
Beginner's guide to drupalBeginner's guide to drupal
Beginner's guide to drupal
 
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017 So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
So, You Wanna Dev? Join the Team! - WordCamp Raleigh 2017
 
Schaeflein Dev409 Enterprise Branding Using Site Definitions
Schaeflein Dev409 Enterprise Branding Using Site DefinitionsSchaeflein Dev409 Enterprise Branding Using Site Definitions
Schaeflein Dev409 Enterprise Branding Using Site Definitions
 
Spsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point brandingSpsnyc 2011 getting started with share point branding
Spsnyc 2011 getting started with share point branding
 
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog TemplateBlog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
Blog It Up, Baby! Extending the new IBM Lotus Domino Blog Template
 
Silverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmdSilverstripe 2.4-highlights-gpmd
Silverstripe 2.4-highlights-gpmd
 
WordPress as a CMS v2
WordPress as a CMS v2WordPress as a CMS v2
WordPress as a CMS v2
 
W pthemes
W pthemesW pthemes
W pthemes
 
CMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg BrownCMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg Brown
 
Web technologies part-2
Web technologies part-2Web technologies part-2
Web technologies part-2
 
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
WordCamp Asheville 2017 - So You Wanna Dev? Join the Team!
 
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAYMANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
MANAGE STATIC RESOURCES IN SITECORE IN HELIX WAY
 
In-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal SiteIn-Fisherman.com - Building an Enterprise Level Drupal Site
In-Fisherman.com - Building an Enterprise Level Drupal Site
 

Mehr von Thomas Daly

Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Thomas Daly
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PAThomas Daly
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UIThomas Daly
 
New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019Thomas Daly
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection NavigationThomas Daly
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSThomas Daly
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
Things you can do
Things you can doThings you can do
Things you can doThomas Daly
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slidesThomas Daly
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPThomas Daly
 
Global Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksGlobal Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksThomas Daly
 
Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Thomas Daly
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI FabricThomas Daly
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end toolingThomas Daly
 
Things you can do to brand Office 365 now
Things you can do to brand Office 365 nowThings you can do to brand Office 365 now
Things you can do to brand Office 365 nowThomas Daly
 
Gab2017 science-lab
Gab2017 science-labGab2017 science-lab
Gab2017 science-labThomas Daly
 
NJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroNJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroThomas Daly
 

Mehr von Thomas Daly (20)

Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
M365 global developer bootcamp 2019 PA
M365 global developer bootcamp 2019  PAM365 global developer bootcamp 2019  PA
M365 global developer bootcamp 2019 PA
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UICross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
 
New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFx
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JSCross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
Things you can do
Things you can doThings you can do
Things you can do
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slides
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Global Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksGlobal Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing Remarks
 
Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI Fabric
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Things you can do to brand Office 365 now
Things you can do to brand Office 365 nowThings you can do to brand Office 365 now
Things you can do to brand Office 365 now
 
Gab2017 science-lab
Gab2017 science-labGab2017 science-lab
Gab2017 science-lab
 
NJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroNJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - Intro
 

Kürzlich hochgeladen

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 

Kürzlich hochgeladen (20)

Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

Developing Branding Solutions for 2013

  • 1. Developing Branding Solutions for 2013 Presented by Thomas Daly
  • 2.
  • 3.
  • 4. About Me  SharePoint Consultant  Developer  Branding  Focused on the UI side of things  Community Involvement  Speaker  NJ SharePoint User Group  SharePoint Saturday NYC Organizer  SharePoint Saturday NJ Organizer  My SharePoint Blog  MSDN forums
  • 5. Topics for Discussion  Branding Assets  Creating Branding Based Projects in Visual Studio 2013  Deploying Assets for On-Prem / O365  Themes  CSS, Images & JavaScript  Master Pages  Composed Looks  Additional Page Head  Feature Receivers  CSSRegistration, ScriptLink, Cache Busting  Tools for improved development
  • 6. What are Branding Assets? Master Page CSS Composed Look Images Web Fonts JavaScript
  • 7. Special Considerations  Are you On-Prem / O365?  Will it be a Sandbox or Farm level solution?  Will it be Site or Web based scoping?  Aka (SPSite, SPWeb)  Aka (Site Collection, Site)  Will you be auto applying master pages, themes or composed looks?  Will you be pushing branding down to sub sites?  Do you have Single Site Collection or Multiple?  Will you need any additional scripts to programmatically apply / un-apply?
  • 8. Example 1 Deploying Master Pages, Images, CSS & JavaScript
  • 9. Example 1 Deploying Master Page, Images, CSS, & Javascript  Mapped Images Folder  Feature Image  Mapped Layouts Folder / Style Library  CSS Files  Images  JS Files  Modules  Master Pages
  • 10. Example 1 Review  Created Module to deploy .master file  Created Mapped folder for CSS, images & JavaScript  Create Module for Style Library
  • 11. Example 1 Key Concepts Modules & Elements  There may be times when you may want to deploy files to the SharePoint server regardless of their file type, such as new master pages.  To do this, you can use Modules (not to be confused with Visual Basic code modules).  Modules are containers for files in a SharePoint solution. When the solution is deployed, the files in the module are copied to the specified folders on the SharePoint server.  An Element is an atomic unit within a Feature.  There are several types of elements that can be included in a Feature.  More info on Module Items and Elements  More info on Element Types
  • 12. Example 1 Key Concepts Module – Master Page  Module  Path – Location in the Project  Url – Location on the Server  File  Type – GhostableInLibrary, can edit with Designer  Level – Published so it’s auto approved  ReplaceContent – True so future packages will overwrite  Properties  UIVersion – the targeted version of SP  ContentTypeId – value for Master Page content type  Title – Title of the master page
  • 13. Example 1 Key Concepts Module – Style Library  Module  Path – Location in the Project  Url – Location on the Server  File  Type – GhostableInLibrary, can edit with Designer  Level – Published so it’s auto approved  ReplaceContent –True so future packages will overwrite
  • 14. Example 2 Deploying a Composed Look
  • 15. Composed Looks (Theming)  Theming provides a quick and easy way to apply lightweight branding to a SharePoint 2013 site  A composed look, or design, is the color palette, font scheme, background image, and master page that determine the look and feel of a site.
  • 16. Example 2 Deploying a Composed Look  Components  Master Page  Theme Palette  Background Image [optional]  Font Scheme [optional]  Options  Declarative [Code – On-Prem]  Imperative [XML - Sandbox / O365] Deploying a custom Composed Look in SP2013 • Part 1 • Part 2
  • 17. Example 2 Review  Create Module for .spcolor file (theme)  Create Element for Composed Look definition  Create Module for custom Master Page  Add and supporting images / fonts
  • 18. Example 2 Key Concepts Module - Theme  Module  Path – Location in the Project  Url – Location on the Server  File  Type – GhostableInLibrary, can edit with Designer  Level – Published so it’s auto approved  ReplaceContent –True so future packages will overwrite
  • 19. Example 2 Key Concepts Elements – Composed Look  The Definition of the Composed Look  Title & Name – Name of the Composed Look  MasterPageUrl – url of the master page  ThemeUrl – url of the .spcolor file  ImageUrl – url of background image  FontSchemeUrl –url of .spfont file  DisplayOrder – Order in which is will appear in the list
  • 20. Example 3 Additional Page Head
  • 21. Example 3 Additional Page Head  Additional Page Head is a delegate control located in the <HEAD> of SharePoint master pages. Can be used to load multiple controls via code without touching the master page directly.  What could is be used for?  Scenario 1 – Need a master page that is full width & one that is fixed width.  Scenario 2 – Need two create two distinct site brands and master page layout is the same or similar  Scenario 3 – Need to apply different style sheet on sub site to change fonts or colors  Additional Page Head can attach different style sheets to the same master page.  Minimize overhead of maintaining multiple master pages
  • 22. Example 3 Review  Add Style Sheet / JavaScript  Create User Control  Link User Control to CSS / JS  Create Elements linked to User Control
  • 23. Example 3 Key Concepts User Control [On-Prem]  Links to our additional style sheet or JavaScript  User Controls supported in On-Prem only
  • 24. Example 3 Key Concepts Elements  Contains the point to the User Control  Id – where the control will be loaded  ControlSrc – path to the User Control  Sequence – Order in which is appears [if multiple]  For Sandbox / o365  Link directly to the CSS in the elements  Use JavaScript to write the link to the CSS [Hacky] <CustomAction Id="SiteCSS" Location="ScriptLink" ScriptBlock="document.write('&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;/_layouts/15/SPS.SP2013.Branding/example3/css/examp le3.cssquot;&gt;&lt;/' + 'link&gt;');" Sequence="203" />
  • 25. Example 4 Feature Receivers
  • 26. Example 4 Feature Receivers  Feature event receivers are methods that execute when one of the following feature-related events occurs in SharePoint:  A feature is installed.  A feature is activated.  A feature is deactivated.  A feature is removed.  Feature Receivers in branding can be used for:  Apply Composed Look  Apply Master Page  Apply Site Logo  Apply branding to all sub sites  Auto Apply Parent Branding on New Site Creation  Feature Receivers are code so best for on-prem only.  At the moment Sandbox can run code but it’s depreciated in the next release.  Sandbox has a hard limit to how long a sandboxed solution can take to be completed.  By default, this is 30 seconds
  • 27. Example 4 Review Feature Receiver – Activated & Deactivating  Add Master Page, CSS, Images & JavaScript like previous examples  Add Feature Receiver  Add code to enable specific branding features  Introduced public class to hold constants  Introduced helper class w/ common branding functions  Branding & Provisioning for SharePoint Online & Office 365
  • 28. Example 4 Review Web Provisioned Event Receiver  By default, (Non-Publishing) SharePoint does not trickle down applied themes, master page & css  By creating Site Provisioned Event Handler we can make the new children sites have the same branding as their parent.  Common things to set are:  Apply Master Page (Site & System)  Apply Site Logo  Apply Alternative CSS  Apply Parent Navigation  Apply Composed Look  Added the Synchronous property to the Web Provisioned Event Receiver will ensure Composed Look is applied before the site is display after it’s initial creation.
  • 29. Example 5 CSSRegistration, ScriptLink, Cache Busting
  • 30. Example 5 CSS Registration  SharePoint:CSSRegistration  Used to register CSS files with SharePoint  Prevents loading file multiple times  Can control what file it will load after  Using with files in _layouts will produce Cache Busting effect  Supports Dynamic Urls for Site Collection / Site  Supports Conditional CSS  Good to use in Web Parts  More details on CSSRegistration
  • 31. Example 5 ScriptLink  SharePoint:ScriptLink  Used to register JS files with SharePoint  Prevents loading file multiple times  Can control what file it will load after  Using with files in _layouts will produce Cache Busting effect  Supports Dynamic Urls for Site Collection / Site  Good to use in Web Parts
  • 32. Example 5 Cache Busting  Using CSSRegistration & ScriptLink auto adds ?rev={hd5 hash}  Files must also be stored in the _layouts, using the Style Library or another folder will not generate a hash  This changes whenever the file is updated making the browser think that it doesn’t have it and forces a re-download  Cache Busting can be done manually – when you update css or javascript append a ?ver=x.x.x or anything different on the end of the url  This does not always update automatically. Sometimes it needs a IISRESET
  • 33. Tools for improved development
  • 34. Tools  CKS: Developer Tools - http://cksdev.codeplex.com/  Must have for Quick Deploy alone  Mindscape Web Work Bench - https://visualstudiogallery.msdn.microsoft.com/2b 96d16a-c986-4501-8f97-8008f9db141a  Sass / Less Support  Bundle  Minify
  • 35. Questions?  Contact Info  Thomas M Daly  Website – http://thomasdaly.net  Twitter - _tomdaly_  Email  TDaly@BandRSolutions.com [work]  Tom.M.Daly@gmail.com [personal]  LinkedIn