SlideShare a Scribd company logo
1 of 30
Branding Office 365
using front end tooling
Presented By: Thomas Daly
About me
• Senior SharePoint Consultant @ B&R Business Solutions
• Branding & Developer for SharePoint / Office 365
• Focused on the UI side of things
• Community Involvement
• Speaker [Branding & Front End Development]
• NJ SharePoint User Group Organizer
• SharePoint Saturday NYC Organizer
• NJ Azure Bootcamp Organizer
• SharePoint Saturday NJ Organizer [2013-2014]
• My SharePoint Blog
• Git Hub [corp directory controls / o365 sticky footer /
bootstrap navigation]
Defining Our Discussion
What are the branding assets we are trying to deploy?
What are the methods to currently deploy them?
What are the pro/cons with each method?
What are the challenges with O365 vs On Prem?
What is the official guidance from Microsoft and/or best practices?
What method are we demonstrating today?
What are the pros/cons of using this method?
What does the future look like?
What are branding assets?
• Master Page
• Style Library
• CSS [SASS / LESS]
• Images
• JavaScript
• 3rd Party Assets
• JS Link
• Page Layouts
• Display Templates
• Composed Looks { not covered }
Branding Cycle
• Branding development relies on the ability to make fast or
instantaneous changes to the UI
• This mini cycle can be repeated multiple times
• The process ends when the branding meets your objectives
Typical Flow
• Develop – create, update, add new assets
• Push – deploy out to an environment
• Test – verify changes, browser check
• Validate – matches comp / meets objective
What are the current methods?
• Current methods to deploy branding assets to Office 365
• No Code Sandbox Solutions aka NCSS using .WSP file
• Add-in Model
• Provider Hosted Add-ins
• https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Web-Cast-branding-sharepoint-using-add-in-model-techniques
• Manual Methods
• Click and Drag through the UI
• SharePoint Designer
• Mapped Drives
• Remote Provisioning, PnP (the future or now)
• SharePoint / Office 365 Developer Patterns and Practices
• https://github.com/SharePoint/PnP
• CSOM Technique
• https://github.com/SharePoint/PnP/tree/master/Samples/Branding.ApplyBranding
Microsoft Guidance
“Use remote provisioning to deploy
and register themes, composed
looks, and all branding artifacts
with SharePoint sites.”
“Do not use declarative code or
sandbox code to deploy and
register themes, master pages, and
other branding artifacts with
SharePoint sites.”https://msdn.microsoft.com/en-us/pnp_articles/branding-sharepoint-sites-sharepoint-add-in
Introducing Font-End Tooling
Tools & Packages Involved
• Node
• Node Package Manager
• Gulp
• SPSave
• Visual Studio Code
• Chrome
• SPEditor
Node.js
• As an asynchronous event driven JavaScript runtime
• Node is designed to build scalable network applications.
• https://nodejs.org/en/about/
• For our purposes it’s a JavaScript engine that runs in the command prompt
• It’s used to process and run npm packages
Node Package Manager
• npm is the default Package manager for the JavaScript
runtime environment Node.js
• npm runs through the command line and manages
dependencies for an application.
• It also allows users to install Node.js applications that are
available on the npm registry.
npm
• The npm registry hosts almost half a million packages of free,
reusable code — the largest software registry in the world.
• Find, Discover, Build node modules
• https://www.npmjs.com/
Installing Packages
• npm install {package}
• npm uninstall {package}
• We need to run ‘npm install gulp spsave’ to use the demo project
For More Information:
Beginners Guide to Node Package Manager
Gulp
Gulp
• gulp is a toolkit for
automating painful or
time-consuming tasks
in your development
workflow, so you can
stop messing around
and build something
• gulpfile.js is the entry
point to your app
gulpfile.js
• gulpfile.js – entry point
• We manually make this file for
our build process
• Define tasks and watch
functions for our files
• Tasks can be anything like
minify, sass/less compile,
bundling, moving
• Gulp watch to monitor for
changes and perform actions
on that file
spsave
• https://github.com/s-KaiNet/spsave
• Node.js module for saving files in SharePoint
• Compatible with:
• SharePoint 2013, 2016
• SharePoint Online
Visual Studio
Code
• free, open source code editor
• intelliSense, deugging, Git integration,
huge eco system of extensions
• https://code.visualstudio.com/
• Alternatively you can use any text
editor / IDE
• WebStorm
• Atom
• Sublime Text 3
• Notepad++
• Brackets
Chrome & SPEditor
• Chrome – Superior front end inspection & debugging
• SPEditor – Chrome Extension to
• Create and update SharePoint Online/SP2013/SP2016 css/js
files, inject files to web, manage web properties and list
Webhooks
• https://chrome.google.com/webstore/detail/sp-editor/ecblfcmjnbbgaojblcpmjoamegpbodhd
Demos
Demos
• Setting up the Project
• Installing the Packages
• Explaining the Project Structure
• Deploying Master Pages
• Deploying Style Library Assets
• Deploying Page Layouts
• Multiple environment support
(dev/prod)
Pros / Cons with this Approach
Pros
• Cuts development time by
multiples
• Can be used to deploy all
assets to an environment fast
• Can be set to monitor only
changed files for even faster
updates
• Circumvent Sandbox or Add-in
deployment process
Cons
• Doesn’t apply assets
automatically
• Current issue with mapping
page layout associated
publishing content type
• No way to deploy things like
content types, site columns,
lists
Hybrid Scenario
• Although sandbox solutions are discouraged, this method works well and can be used in
conjunction with Visual Studio / No Code Sandbox Solutions.
• This method allows you to deploy other assets such as site columns, content types, lists, web parts, etc..
• You deploy initially and then can utilize gulp & spsave to continuously deploy updates to existing files.
Next Steps
Key Takeaways
• Office 365 branding is in a transitional period
• Approaching a crisp, clean, simplified, mobile, modern look
• Expect ongoing changes within the UI… { ie. modern (pages/sites) }
• Microsoft acknowledge that the current branding methods are not the most optimal and is working
towards a better experience
• Current guidance states to stick with Composed Looks & Themes
• Use Alternative CSS or JavaScript manipulation as the next level
• Only create custom masterpage only if you absolutely must
• As SharePoint Patterns & Practices matures it will (hopefully) become more widely adopted, more
samples and clearer documentation
Questions / Comments
Slides & Demo
• https://www.slideshare.net/tommdaly
• https://github.com/tom-daly/demos

More Related Content

What's hot

SharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magicSharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magicFrancois Pienaar
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Eric Overfield
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentEric Overfield
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyBob German
 
SharePoint 2013 Sandbox Solutions for On Premise and Office 365
SharePoint 2013 Sandbox Solutions for On Premise and Office 365SharePoint 2013 Sandbox Solutions for On Premise and Office 365
SharePoint 2013 Sandbox Solutions for On Premise and Office 365Ed Musters
 
Use office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointUse office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointEric Overfield
 
SharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointSharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointEric Overfield
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsNCCOMMS
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningEric Overfield
 
Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Stefan Bauer
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Fabio Franzini
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation PortalSteve Anderson
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesNCCOMMS
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineBob German
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactEric Overfield
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartEric Overfield
 
SPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceSPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceNCCOMMS
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventrySPC Adriatics
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 BrandingKashif Imran
 

What's hot (20)

SharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magicSharePoint master pages in 2013 and managed metadata magic
SharePoint master pages in 2013 and managed metadata magic
 
Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2Move past bootstrap and build our lightweight responsive framework w.v1.2
Move past bootstrap and build our lightweight responsive framework w.v1.2
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 
Modern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the UglyModern SharePoint, the Good, the Bad, and the Ugly
Modern SharePoint, the Good, the Bad, and the Ugly
 
SharePoint 2013 Sandbox Solutions for On Premise and Office 365
SharePoint 2013 Sandbox Solutions for On Premise and Office 365SharePoint 2013 Sandbox Solutions for On Premise and Office 365
SharePoint 2013 Sandbox Solutions for On Premise and Office 365
 
Use office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePointUse office ui fabric react to build beauty with SharePoint
Use office ui fabric react to build beauty with SharePoint
 
SharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePointSharePoint 2013 Design manager – from HTML to SharePoint
SharePoint 2013 Design manager – from HTML to SharePoint
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx Extensions
 
All about SPFx
All about SPFxAll about SPFx
All about SPFx
 
Who Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint ProvisioningWho Needs A Developer For Automated SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
 
Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016Branding Deployment in Office 365 and SharePoint 2013/2016
Branding Deployment in Office 365 and SharePoint 2013/2016
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core Libraries
 
Going with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint OnlineGoing with the Flow: Rationalizing the workflow options in SharePoint Online
Going with the Flow: Rationalizing the workflow options in SharePoint Online
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with React
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
SPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital WorkplaceSPUnite17 Transforming your Organisation into a Digital Workplace
SPUnite17 Transforming your Organisation into a Digital Workplace
 
User Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope CoventryUser Interface Tips and Tricks for the Power User - Penelope Coventry
User Interface Tips and Tricks for the Power User - Penelope Coventry
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 Branding
 

Similar to Branding office 365 with front end tooling

Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPPetter Skodvin-Hvammen
 
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
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSébastien Levert
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...Sébastien Levert
 
SharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSébastien Levert
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFellyph Cintra
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris O'Brien
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalEric Sembrat
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts Knut Relbe-Moe [MVP, MCT]
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter FilesEmily Lewis
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperOfer Zelig
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointJeremy Thake
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesAlfred Jett Grandeza
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devopsVincent Biret
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersSPC Adriatics
 
Responsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreResponsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreWendy Fischer
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018hernanibf
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration BriefingAngela Dugan
 

Similar to Branding office 365 with front end tooling (20)

Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)SharePoint Framework 101 (SPFx)
SharePoint Framework 101 (SPFx)
 
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
 
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 DevelopmentSharePoint Saturday Ottawa - From SharePoint to Office 365 Development
SharePoint Saturday Ottawa - From SharePoint to Office 365 Development
 
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
ESPC 2016 - From SharePoint to Office 365 Development - The path to your new ...
 
SharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago - From SharePoint to Office 365 Development
SharePoint Fest Chicago - From SharePoint to Office 365 Development
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp Belfast
 
Chris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing workChris OBrien - Azure DevOps for managing work
Chris OBrien - Azure DevOps for managing work
 
USG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using DrupalUSG Summit - September 2014 - Web Management using Drupal
USG Summit - September 2014 - Web Management using Drupal
 
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
How to build a Project Hub with Hubsites and Sitedesign and Sitescripts
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
 
Pearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperPearls and Must-Have Tools for the Modern Web / .NET Developer
Pearls and Must-Have Tools for the Modern Web / .NET Developer
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
 
Software Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry PracticesSoftware Engineering - Trends & Industry Practices
Software Engineering - Trends & Industry Practices
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
Lean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill AyersLean-Agile Development with SharePoint - Bill Ayers
Lean-Agile Development with SharePoint - Bill Ayers
 
Responsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreResponsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit Score
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 DevelopmentSharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
SharePoint Saturday Calgary 2017 - From SharePoint to Office 365 Development
 
VSTS Migration Briefing
VSTS Migration BriefingVSTS Migration Briefing
VSTS Migration Briefing
 

More from 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
 
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 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
 
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
 
Sandboxed Solutions Discussion
Sandboxed Solutions DiscussionSandboxed Solutions Discussion
Sandboxed Solutions DiscussionThomas Daly
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?Thomas Daly
 
The A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThe A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThomas Daly
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Thomas Daly
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013Thomas Daly
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 

More from 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
 
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 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
 
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
 
Sandboxed Solutions Discussion
Sandboxed Solutions DiscussionSandboxed Solutions Discussion
Sandboxed Solutions Discussion
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?
 
The A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThe A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with Bootstrap
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
Developing branding solutions for 2013
Developing branding solutions for 2013Developing branding solutions for 2013
Developing branding solutions for 2013
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 

Recently uploaded

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

Branding office 365 with front end tooling

  • 1. Branding Office 365 using front end tooling Presented By: Thomas Daly
  • 2. About me • Senior SharePoint Consultant @ B&R Business Solutions • Branding & Developer for SharePoint / Office 365 • Focused on the UI side of things • Community Involvement • Speaker [Branding & Front End Development] • NJ SharePoint User Group Organizer • SharePoint Saturday NYC Organizer • NJ Azure Bootcamp Organizer • SharePoint Saturday NJ Organizer [2013-2014] • My SharePoint Blog • Git Hub [corp directory controls / o365 sticky footer / bootstrap navigation]
  • 3.
  • 4. Defining Our Discussion What are the branding assets we are trying to deploy? What are the methods to currently deploy them? What are the pro/cons with each method? What are the challenges with O365 vs On Prem? What is the official guidance from Microsoft and/or best practices? What method are we demonstrating today? What are the pros/cons of using this method? What does the future look like?
  • 5. What are branding assets? • Master Page • Style Library • CSS [SASS / LESS] • Images • JavaScript • 3rd Party Assets • JS Link • Page Layouts • Display Templates • Composed Looks { not covered }
  • 6. Branding Cycle • Branding development relies on the ability to make fast or instantaneous changes to the UI • This mini cycle can be repeated multiple times • The process ends when the branding meets your objectives Typical Flow • Develop – create, update, add new assets • Push – deploy out to an environment • Test – verify changes, browser check • Validate – matches comp / meets objective
  • 7. What are the current methods? • Current methods to deploy branding assets to Office 365 • No Code Sandbox Solutions aka NCSS using .WSP file • Add-in Model • Provider Hosted Add-ins • https://channel9.msdn.com/blogs/OfficeDevPnP/PnP-Web-Cast-branding-sharepoint-using-add-in-model-techniques • Manual Methods • Click and Drag through the UI • SharePoint Designer • Mapped Drives • Remote Provisioning, PnP (the future or now) • SharePoint / Office 365 Developer Patterns and Practices • https://github.com/SharePoint/PnP • CSOM Technique • https://github.com/SharePoint/PnP/tree/master/Samples/Branding.ApplyBranding
  • 8. Microsoft Guidance “Use remote provisioning to deploy and register themes, composed looks, and all branding artifacts with SharePoint sites.” “Do not use declarative code or sandbox code to deploy and register themes, master pages, and other branding artifacts with SharePoint sites.”https://msdn.microsoft.com/en-us/pnp_articles/branding-sharepoint-sites-sharepoint-add-in
  • 10. Tools & Packages Involved • Node • Node Package Manager • Gulp • SPSave • Visual Studio Code • Chrome • SPEditor
  • 11.
  • 12. Node.js • As an asynchronous event driven JavaScript runtime • Node is designed to build scalable network applications. • https://nodejs.org/en/about/ • For our purposes it’s a JavaScript engine that runs in the command prompt • It’s used to process and run npm packages
  • 13.
  • 14. Node Package Manager • npm is the default Package manager for the JavaScript runtime environment Node.js • npm runs through the command line and manages dependencies for an application. • It also allows users to install Node.js applications that are available on the npm registry.
  • 15. npm • The npm registry hosts almost half a million packages of free, reusable code — the largest software registry in the world. • Find, Discover, Build node modules • https://www.npmjs.com/
  • 16. Installing Packages • npm install {package} • npm uninstall {package} • We need to run ‘npm install gulp spsave’ to use the demo project For More Information: Beginners Guide to Node Package Manager
  • 17. Gulp
  • 18. Gulp • gulp is a toolkit for automating painful or time-consuming tasks in your development workflow, so you can stop messing around and build something • gulpfile.js is the entry point to your app
  • 19. gulpfile.js • gulpfile.js – entry point • We manually make this file for our build process • Define tasks and watch functions for our files • Tasks can be anything like minify, sass/less compile, bundling, moving • Gulp watch to monitor for changes and perform actions on that file
  • 20. spsave • https://github.com/s-KaiNet/spsave • Node.js module for saving files in SharePoint • Compatible with: • SharePoint 2013, 2016 • SharePoint Online
  • 21. Visual Studio Code • free, open source code editor • intelliSense, deugging, Git integration, huge eco system of extensions • https://code.visualstudio.com/ • Alternatively you can use any text editor / IDE • WebStorm • Atom • Sublime Text 3 • Notepad++ • Brackets
  • 22. Chrome & SPEditor • Chrome – Superior front end inspection & debugging • SPEditor – Chrome Extension to • Create and update SharePoint Online/SP2013/SP2016 css/js files, inject files to web, manage web properties and list Webhooks • https://chrome.google.com/webstore/detail/sp-editor/ecblfcmjnbbgaojblcpmjoamegpbodhd
  • 23. Demos
  • 24. Demos • Setting up the Project • Installing the Packages • Explaining the Project Structure • Deploying Master Pages • Deploying Style Library Assets • Deploying Page Layouts • Multiple environment support (dev/prod)
  • 25. Pros / Cons with this Approach Pros • Cuts development time by multiples • Can be used to deploy all assets to an environment fast • Can be set to monitor only changed files for even faster updates • Circumvent Sandbox or Add-in deployment process Cons • Doesn’t apply assets automatically • Current issue with mapping page layout associated publishing content type • No way to deploy things like content types, site columns, lists
  • 26. Hybrid Scenario • Although sandbox solutions are discouraged, this method works well and can be used in conjunction with Visual Studio / No Code Sandbox Solutions. • This method allows you to deploy other assets such as site columns, content types, lists, web parts, etc.. • You deploy initially and then can utilize gulp & spsave to continuously deploy updates to existing files.
  • 28. Key Takeaways • Office 365 branding is in a transitional period • Approaching a crisp, clean, simplified, mobile, modern look • Expect ongoing changes within the UI… { ie. modern (pages/sites) } • Microsoft acknowledge that the current branding methods are not the most optimal and is working towards a better experience • Current guidance states to stick with Composed Looks & Themes • Use Alternative CSS or JavaScript manipulation as the next level • Only create custom masterpage only if you absolutely must • As SharePoint Patterns & Practices matures it will (hopefully) become more widely adopted, more samples and clearer documentation
  • 30. Slides & Demo • https://www.slideshare.net/tommdaly • https://github.com/tom-daly/demos