SlideShare a Scribd company logo
1 of 32
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 & NYC Global Office 365 Dev Bootcamp Organizer 2017
• 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.
Real World
Deployment
• SharePoint PnP
• Production
• Essential for infrastructure [site
columns, content types, lists and
libraries]
• No need for node / gulp / npm …
• Node / Gulp
• Production or Development
• Ships assets only
• Can greatly speed up development
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 Fest Chicago - Introduction to AngularJS with the Microsoft Graph
SharePoint Fest Chicago - Introduction to AngularJS with the Microsoft GraphSharePoint Fest Chicago - Introduction to AngularJS with the Microsoft Graph
SharePoint Fest Chicago - Introduction to AngularJS with the Microsoft GraphSébastien Levert
 
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
 
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
 
What's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end userWhat's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end userSPC Adriatics
 
SharePoint Framework get started and best practices
SharePoint Framework get started and best practicesSharePoint Framework get started and best practices
SharePoint Framework get started and best practicesGiuliano De Luca
 
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
 
Mastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atworkMastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atworkSPC Adriatics
 
Introducing Project Online - Barbara Henhapl
Introducing Project Online - Barbara HenhaplIntroducing Project Online - Barbara Henhapl
Introducing Project Online - Barbara HenhaplSPC Adriatics
 
SPUnite17 Migrating your Customizations from On-prem to SharePoint Online
SPUnite17 Migrating your Customizations from On-prem to SharePoint OnlineSPUnite17 Migrating your Customizations from On-prem to SharePoint Online
SPUnite17 Migrating your Customizations from On-prem to SharePoint OnlineNCCOMMS
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
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
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...Eric Overfield
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingSPC Adriatics
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSébastien Levert
 
Getting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineGetting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineSPC Adriatics
 
Office 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesOffice 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesBIWUG
 
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
 
The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphEric 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
 

What's hot (20)

SharePoint Fest Chicago - Introduction to AngularJS with the Microsoft Graph
SharePoint Fest Chicago - Introduction to AngularJS with the Microsoft GraphSharePoint Fest Chicago - Introduction to AngularJS with the Microsoft Graph
SharePoint Fest Chicago - Introduction to AngularJS with the Microsoft Graph
 
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
 
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
 
What's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end userWhat's in SharePoint land 2016 for the end user
What's in SharePoint land 2016 for the end user
 
SharePoint Framework get started and best practices
SharePoint Framework get started and best practicesSharePoint Framework get started and best practices
SharePoint Framework get started and best practices
 
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
 
Mastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atworkMastering Office 365 Development - Toni Pohl, atwork
Mastering Office 365 Development - Toni Pohl, atwork
 
Introducing Project Online - Barbara Henhapl
Introducing Project Online - Barbara HenhaplIntroducing Project Online - Barbara Henhapl
Introducing Project Online - Barbara Henhapl
 
SPUnite17 Migrating your Customizations from On-prem to SharePoint Online
SPUnite17 Migrating your Customizations from On-prem to SharePoint OnlineSPUnite17 Migrating your Customizations from On-prem to SharePoint Online
SPUnite17 Migrating your Customizations from On-prem to SharePoint Online
 
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2019 - From SharePoint to Office 365 Development
 
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2019 - From SharePoint to Office 365 Development
SharePoint Fest DC 2019 - From SharePoint to Office 365 Development
 
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
 
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
 
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 developmentSharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
SharePoint Fest Chicago 2018 - From SharePoint to Office 365 development
 
Getting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineGetting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning Engine
 
Office 365, Practical Adoption Strategies
Office 365, Practical Adoption StrategiesOffice 365, Practical Adoption Strategies
Office 365, Practical Adoption Strategies
 
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
 
The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft Graph
 
Uncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint DevelopmentUncovering the Latest in SharePoint Development
Uncovering the Latest in SharePoint Development
 

Similar to Branding Office 365 w/ Front End Tools + SharePoint PnP

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
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFellyph Cintra
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsEric Overfield
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
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
 
Responsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreResponsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreWendy Fischer
 
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
 
Product Management for Startup Founders, CEOs, and CTOs
Product Management for Startup Founders, CEOs, and CTOsProduct Management for Startup Founders, CEOs, and CTOs
Product Management for Startup Founders, CEOs, and CTOsChris Cera
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointJeremy Thake
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSébastien Levert
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation PortalSteve Anderson
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devopsVincent Biret
 
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]
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Rencore
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...SUGES (SharePoint Users Group España)
 
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
 

Similar to Branding Office 365 w/ Front End Tools + SharePoint PnP (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)
 
From marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp BelfastFrom marketplace to WordPress - WordCamp Belfast
From marketplace to WordPress - WordCamp Belfast
 
ESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 DevelopmentESPC Webinar - From SharePoint to Office 365 Development
ESPC Webinar - From SharePoint to Office 365 Development
 
Broaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding optionsBroaden your dev skillset with SharePoint branding options
Broaden your dev skillset with SharePoint branding options
 
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest DC 2018 - From SharePoint to Office 365 Development
SharePoint Fest DC 2018 - From SharePoint to Office 365 Development
 
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 DevelopmentSharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
SharePoint Fest Seattle 2018 - From SharePoint to Office 365 Development
 
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
 
Responsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit ScoreResponsive Design for SavvyMoney Credit Score
Responsive Design for SavvyMoney Credit Score
 
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
 
Product Management for Startup Founders, CEOs, and CTOs
Product Management for Startup Founders, CEOs, and CTOsProduct Management for Startup Founders, CEOs, and CTOs
Product Management for Startup Founders, CEOs, and CTOs
 
Acing application lifecycle management in SharePoint
Acing application lifecycle management in SharePointAcing application lifecycle management in SharePoint
Acing application lifecycle management in SharePoint
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 DevelopmentSharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
 
Creating a Documentation Portal
Creating a Documentation PortalCreating a Documentation Portal
Creating a Documentation Portal
 
#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops#spsclt18 vincent biret #spfx #devops
#spsclt18 vincent biret #spfx #devops
 
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
 
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
 
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
Transforming your full-trust solutions to the Add-in model / SharePoint Frame...
 
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
 
O365: Attack of the Clones
O365: Attack of the ClonesO365: Attack of the Clones
O365: Attack of the Clones
 

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

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 

Branding Office 365 w/ Front End Tools + SharePoint PnP

  • 1. Branding Office 365 using front end tooling Presented By: Thomas Daly
  • 2.
  • 3. 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 & NYC Global Office 365 Dev Bootcamp Organizer 2017 • NJ Azure Bootcamp Organizer • SharePoint Saturday NJ Organizer [2013-2014] • My SharePoint Blog • Git Hub [corp directory controls / o365 sticky footer / bootstrap navigation]
  • 4.
  • 5. 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?
  • 6. 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 }
  • 7. 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
  • 8. 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
  • 9. 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
  • 11. Tools & Packages Involved • Node • Node Package Manager • Gulp • SPSave • Visual Studio Code • Chrome • SPEditor
  • 12.
  • 13. 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
  • 14.
  • 15. 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.
  • 16. 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/
  • 17. 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
  • 18. Gulp
  • 19. 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
  • 20. 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
  • 21. spsave • https://github.com/s-KaiNet/spsave • Node.js module for saving files in SharePoint • Compatible with: • SharePoint 2013, 2016 • SharePoint Online
  • 22. 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
  • 23. 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
  • 24. Demos
  • 25. 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)
  • 26. 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
  • 27. 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. Real World Deployment • SharePoint PnP • Production • Essential for infrastructure [site columns, content types, lists and libraries] • No need for node / gulp / npm … • Node / Gulp • Production or Development • Ships assets only • Can greatly speed up development
  • 30. 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
  • 32. Slides & Demo • https://www.slideshare.net/tommdaly • https://github.com/tom-daly/demos