SlideShare a Scribd company logo
Building Responsive Intranet
Solutions in SharePoint Modern
Experience Sites using SharePoint
Framework with React
Asish Padhy
About me
- SharePoint, Office 365 and Azure Solutions Consultant
at Kloud Solutions
- 12 years of experience working on SharePoint and MS
Technologies
- I am a Consultant, Architect, Project Lead and always
a Developer.
- Microsoft Certified Professional in SharePoint
https://www.linkedin.com/in/asishpadhy
https://asishpadhy.com
https://blog.kloud.com.au/author/asishpadhykloud/
@asishpadhy
PnP Updates
Modern Experience Features
• Inbuilt Responsive and Mobile design support
• Support for client end frameworks for development
• Contain native news, quick links, and activity capabilities through pre-built
web parts
• ModernTeam Sites support Groups features
• Tenant wide fast deployment support
Modern Experience Customization Challenges
• MS list of limitations - https://docs.microsoft.com/en-us/sharepoint/dev/solution-
guidance/modern-experience-customizations-customize-sites
• No custom master page support
• No direct access to master page elements. Indirectly through Javascript or JQuery scripting.
JQuery can be used to locate static div
• Hard to use CSS extensibility when trying to use children. Use ‘aria-label’ property if want
to
• No availability to create in place navigation menu items for current navigation or left hand
navigation.Cannot realign navigation or header items
• No support for SharePoint hosted apps and Provider hosted apps
• React routing makes it hard to put a handler for events
Intranet Possibilities ?
• Communication Sites
• For full content layout ( the home layout in team sites doesn’t give full content layout
• Easy to use user managed multi level navigation (it is quick launch of classic sites, so will not
inherit navigation to children)
• Current update of News posts - Link
• Gives the most closest experience to Intranet
• Cannot update publishing feature (Dec 2017)
• ModernTeam Sites
• Group Options – Conversations, email alias, outlook integration
• Managing members is different than Classic Sites
• Can enable publishing feature
• Completely different lifecycle
Intranet Possibilities?
• ClassicTeam Sites with Modern Pages
• Hybrid solution
• Keep content in classic team sites to take advantages of functionalities
• Get more control in customizing master
• Create Modern pages and use modern list view, programmatically even
• JS Scripting and JS Link supported
So what are our options with Modern ?
• SPFx - Client Side web parts hosted and deployed through CDN
• SPFx - Extension components on Header, Footer and List Menus (Not navigation bar)
• Section and layout choices (cannot have custom grid layout options)
• Apply SharePoint themes (new)
• Apply Site Designs and Site Scripts (new) – Link
• SharePoint Field Formatting (Column formatter or SPFx Field formatter)
• PowerApps and Flow Integration options directly from list views
• Upcoming latest OOB SharePoint client side web parts
SharePoint Framework (SPFx) ?
• The SharePoint Framework (SPFx) is a page and web part model that
provides full support for client-side development and open source tooling.
• SPFx allows to create Client side web parts and extensions which can be
integrated with Modern experience pages
• SPFx integrates with React, Office Fabric UI and many other third party
JavaScript and CSS Libraries (a welcome change)
• Support Local development and not required connection to SharePoint
Mapping of Old approaches to the NewTooling
SP Components Old Approach (On-Prem and Classic) New Approach (Modern Experience)
Web Parts FullTrust Solution or Sandbox SPFx Client side web parts
Apps SharePoint Hosted or Provider Hosted SPFxWPs with REST Calls or Functions
Master Page Branding Custom Branding Solutions SharePoint themes
Content on Pages CEWPs or Script Editor Client side web parts or Content Only
Field Customization JS Link Column Formatter or SPFx field
formatter
List Menu Custom User Actions SPFx ListView Extension
Navigation Custom Branding solution SPFx ApplicationCustomizer Extension
Site Pages Page Layouts andTemplates SharePoint Online CSOM options
Programming Options Server (C#,VB.Net) and Client Side Client Side Frameworks such as React,
Knockout and Angular etc.
SharePoint Framework SDLC
• Devs – JavaScript ,TypeScript, (not much JQuery) and SASS (SCSS)
• Set up SharePoint Framework components on Local computer
• Set up a debug configuration inVS Code – Install Debugger for Chrome
• Deploy,Test and fix locally on SharePoint
• Deploy assets to a CDN (Office 365 Public or Azure CDN)
• Enable CORS with Container
• Deploy package to SharePointApps Catalog
• Choose betweenTenant wide and Site deployment
SPFx with React and Office Fabric/Bootstrap
• Component based
• Controlled and managed via States
• HTML in object encapsulated
• It will automatically update and render the component when data changes.
• Responsive controls through Office Fabric and Bootstrap
• Office Fabric React is already included as part of SPFx solution
• Bootstrap needs to be explicitly included from NPM
ImportantTips
• Know about the component lifecycle events in React components to prevent
erroneous looping such as ComponentDidUpdate() and shouldComponentUpdate()
https://reactjs.org/docs/react-component.html
• Don’t update the state variables directly, use setState method for state updates
• Don’t update the npm packages to their latest versions such as Jquery (~3.2) and
office-fabric-ui-react. There are conflicts with latest versions
• If using PnP JS modules, remember to use await or then clauses, in order to get the
results before chaining the operations
Important tips
• Await can only be called in Async methods.
• Not everything in CSOM or Object model is directly available in PnP JS or
SharePoint REST
• Typescript strict rules such as object level binding and mapping
• Not all versions of JQuery are supported, so might have to install particular
types - npm install @types/jquery@2.0.48 --save-dev
Demo
Reusable Controls
Quick Links
• PnP Pattern and Practices - https://dev.office.com/patterns-and-practices
• Build Documentation - https://docs.microsoft.com/en-us/sharepoint/dev/
• SharePoint Framework - https://docs.microsoft.com/en-
us/sharepoint/dev/spfx/sharepoint-framework-overview
• Office Fabric - https://developer.microsoft.com/en-us/fabric
• Github (Client Web parts) - https://github.com/SharePoint/sp-dev-fx-webparts/
• Github (Extensions) - https://github.com/SharePoint/sp-dev-fx-extensions
Ad

More Related Content

What's hot (20)

ppt of web development for diploma student
ppt of web development for diploma student ppt of web development for diploma student
ppt of web development for diploma student
Abhishekchauhan863165
 
Effective API Gateway
Effective API GatewayEffective API Gateway
Effective API Gateway
Hari Wiz
 
System Design
System DesignSystem Design
System Design
SyeedAbrarZaoad1
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
Joomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTJoomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPT
Pinky Mondal
 
Psychology Human Computer Interaction
Psychology Human Computer InteractionPsychology Human Computer Interaction
Psychology Human Computer Interaction
Seta Wicaksana
 
Joomla
JoomlaJoomla
Joomla
RAJU MAKWANA
 
Web design basics
Web design basicsWeb design basics
Web design basics
Sharmaine Resuma
 
What is a Capability URL (and why do I care?)
What is a Capability URL (and why do I care?)What is a Capability URL (and why do I care?)
What is a Capability URL (and why do I care?)
Daniel Appelquist
 
Elements Of Web Design
Elements Of Web DesignElements Of Web Design
Elements Of Web Design
Dan Dixon
 
Content Management System
Content Management SystemContent Management System
Content Management System
OmnePresent
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use Cases
SmartWave
 
SharePoint 2013 Document Management Features
SharePoint 2013 Document Management FeaturesSharePoint 2013 Document Management Features
SharePoint 2013 Document Management Features
Thuan Ng
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
bethanygfair
 
Accessibility Testing 101
Accessibility Testing 101Accessibility Testing 101
Accessibility Testing 101
Patrick Dunphy
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
SWAGATHCHOWDARY1
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)
admecindia1
 
Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
Steven Swafford
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
Directi Group
 
ppt of web development for diploma student
ppt of web development for diploma student ppt of web development for diploma student
ppt of web development for diploma student
Abhishekchauhan863165
 
Effective API Gateway
Effective API GatewayEffective API Gateway
Effective API Gateway
Hari Wiz
 
Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1Front-end development introduction (HTML, CSS). Part 1
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
Joomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPTJoomla CMS SEMINAR PPT
Joomla CMS SEMINAR PPT
Pinky Mondal
 
Psychology Human Computer Interaction
Psychology Human Computer InteractionPsychology Human Computer Interaction
Psychology Human Computer Interaction
Seta Wicaksana
 
What is a Capability URL (and why do I care?)
What is a Capability URL (and why do I care?)What is a Capability URL (and why do I care?)
What is a Capability URL (and why do I care?)
Daniel Appelquist
 
Elements Of Web Design
Elements Of Web DesignElements Of Web Design
Elements Of Web Design
Dan Dixon
 
Content Management System
Content Management SystemContent Management System
Content Management System
OmnePresent
 
Front End Development | Introduction
Front End Development | IntroductionFront End Development | Introduction
Front End Development | Introduction
JohnTaieb
 
API Trends & Use Cases
API Trends & Use CasesAPI Trends & Use Cases
API Trends & Use Cases
SmartWave
 
SharePoint 2013 Document Management Features
SharePoint 2013 Document Management FeaturesSharePoint 2013 Document Management Features
SharePoint 2013 Document Management Features
Thuan Ng
 
Ppt of web development
Ppt of web developmentPpt of web development
Ppt of web development
bethanygfair
 
Accessibility Testing 101
Accessibility Testing 101Accessibility Testing 101
Accessibility Testing 101
Patrick Dunphy
 
Full Stack Web Development
Full Stack Web DevelopmentFull Stack Web Development
Full Stack Web Development
SWAGATHCHOWDARY1
 
Responsive web designing ppt(1)
Responsive web designing ppt(1)Responsive web designing ppt(1)
Responsive web designing ppt(1)
admecindia1
 
Introduction To Web Accessibility
Introduction To Web AccessibilityIntroduction To Web Accessibility
Introduction To Web Accessibility
Steven Swafford
 
Building a Scalable Architecture for web apps
Building a Scalable Architecture for web appsBuilding a Scalable Architecture for web apps
Building a Scalable Architecture for web apps
Directi Group
 

Similar to Building Responsive Intranet using Sharepoint Framework solutions - Asish Padhy - Sydney Meetup Jan 2018 (20)

SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
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
Thomas Daly
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
Thomas Daly
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
Anupam Ranku
 
Building modern intranets with share point communication sites aug 2018 kloud
Building modern intranets with share point communication sites aug 2018   kloudBuilding modern intranets with share point communication sites aug 2018   kloud
Building modern intranets with share point communication sites aug 2018 kloud
Asish Padhy
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
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
Eric Overfield
 
SharePoint development 2017 wrap-up
SharePoint development   2017 wrap-upSharePoint development   2017 wrap-up
SharePoint development 2017 wrap-up
Joel Rodrigues
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
Dipti Chhatrapati
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
Brian Culver
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
Sean McLellan
 
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)
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Kushan Lahiru Perera
 
VJCD2017 SharePoint Framework (SPFx)
VJCD2017 SharePoint Framework (SPFx)VJCD2017 SharePoint Framework (SPFx)
VJCD2017 SharePoint Framework (SPFx)
Seiji Noro
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
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
Thomas Daly
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
Thomas Daly
 
Office 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp MelbourneOffice 365 Developer Bootcamp Melbourne
Office 365 Developer Bootcamp Melbourne
Anupam Ranku
 
Building modern intranets with share point communication sites aug 2018 kloud
Building modern intranets with share point communication sites aug 2018   kloudBuilding modern intranets with share point communication sites aug 2018   kloud
Building modern intranets with share point communication sites aug 2018 kloud
Asish Padhy
 
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClassECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
European Collaboration Summit
 
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
Eric Overfield
 
SharePoint development 2017 wrap-up
SharePoint development   2017 wrap-upSharePoint development   2017 wrap-up
SharePoint development 2017 wrap-up
Joel Rodrigues
 
SharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern IntranetSharePoint as Development Platform for the Modern Intranet
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - RoadmapECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
Dipti Chhatrapati
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
Brian Culver
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
Sean McLellan
 
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)
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
Kushan Lahiru Perera
 
VJCD2017 SharePoint Framework (SPFx)
VJCD2017 SharePoint Framework (SPFx)VJCD2017 SharePoint Framework (SPFx)
VJCD2017 SharePoint Framework (SPFx)
Seiji Noro
 
Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?Custom Development in SharePoint – What are my options now?
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
Ad

More from Asish Padhy (7)

Building smarter secure and effective collaboration with power platform and a...
Building smarter secure and effective collaboration with power platform and a...Building smarter secure and effective collaboration with power platform and a...
Building smarter secure and effective collaboration with power platform and a...
Asish Padhy
 
The virtual assistant tour adelaide
The virtual assistant tour adelaideThe virtual assistant tour adelaide
The virtual assistant tour adelaide
Asish Padhy
 
Virtual assistanttour globalai_bootcamp_dec19
Virtual assistanttour globalai_bootcamp_dec19Virtual assistanttour globalai_bootcamp_dec19
Virtual assistanttour globalai_bootcamp_dec19
Asish Padhy
 
Microsoft teams a four course developer menu - M365 saturday Oct 19
Microsoft teams a four course developer menu - M365 saturday Oct 19Microsoft teams a four course developer menu - M365 saturday Oct 19
Microsoft teams a four course developer menu - M365 saturday Oct 19
Asish Padhy
 
Building modern intranets with share point communication sites aug 2018
Building modern intranets with share point communication sites aug 2018Building modern intranets with share point communication sites aug 2018
Building modern intranets with share point communication sites aug 2018
Asish Padhy
 
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Asish Padhy
 
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Asish Padhy
 
Building smarter secure and effective collaboration with power platform and a...
Building smarter secure and effective collaboration with power platform and a...Building smarter secure and effective collaboration with power platform and a...
Building smarter secure and effective collaboration with power platform and a...
Asish Padhy
 
The virtual assistant tour adelaide
The virtual assistant tour adelaideThe virtual assistant tour adelaide
The virtual assistant tour adelaide
Asish Padhy
 
Virtual assistanttour globalai_bootcamp_dec19
Virtual assistanttour globalai_bootcamp_dec19Virtual assistanttour globalai_bootcamp_dec19
Virtual assistanttour globalai_bootcamp_dec19
Asish Padhy
 
Microsoft teams a four course developer menu - M365 saturday Oct 19
Microsoft teams a four course developer menu - M365 saturday Oct 19Microsoft teams a four course developer menu - M365 saturday Oct 19
Microsoft teams a four course developer menu - M365 saturday Oct 19
Asish Padhy
 
Building modern intranets with share point communication sites aug 2018
Building modern intranets with share point communication sites aug 2018Building modern intranets with share point communication sites aug 2018
Building modern intranets with share point communication sites aug 2018
Asish Padhy
 
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Site Provisioning with Modern SharePoint Sites and SIte Assets - O365 Saturda...
Asish Padhy
 
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Build Modern Intranet sites with SharePoint Communication sites - Asish Padhy...
Asish Padhy
 
Ad

Recently uploaded (20)

Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Linux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdfLinux Professional Institute LPIC-1 Exam.pdf
Linux Professional Institute LPIC-1 Exam.pdf
RHCSA Guru
 
TrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business ConsultingTrsLabs - Fintech Product & Business Consulting
TrsLabs - Fintech Product & Business Consulting
Trs Labs
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx2025-05-Q4-2024-Investor-Presentation.pptx
2025-05-Q4-2024-Investor-Presentation.pptx
Samuele Fogagnolo
 
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfComplete Guide to Advanced Logistics Management Software in Riyadh.pdf
Complete Guide to Advanced Logistics Management Software in Riyadh.pdf
Software Company
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.Greenhouse_Monitoring_Presentation.pptx.
Greenhouse_Monitoring_Presentation.pptx.
hpbmnnxrvb
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
Procurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptxProcurement Insights Cost To Value Guide.pptx
Procurement Insights Cost To Value Guide.pptx
Jon Hansen
 
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath MaestroDev Dives: Automate and orchestrate your processes with UiPath Maestro
Dev Dives: Automate and orchestrate your processes with UiPath Maestro
UiPathCommunity
 
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
IEDM 2024 Tutorial2_Advances in CMOS Technologies and Future Directions for C...
organizerofv
 
Rusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond SparkRusty Waters: Elevating Lakehouses Beyond Spark
Rusty Waters: Elevating Lakehouses Beyond Spark
carlyakerly1
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Heap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and DeletionHeap, Types of Heap, Insertion and Deletion
Heap, Types of Heap, Insertion and Deletion
Jaydeep Kale
 
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-UmgebungenHCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
HCL Nomad Web – Best Practices und Verwaltung von Multiuser-Umgebungen
panagenda
 

Building Responsive Intranet using Sharepoint Framework solutions - Asish Padhy - Sydney Meetup Jan 2018

  • 1. Building Responsive Intranet Solutions in SharePoint Modern Experience Sites using SharePoint Framework with React Asish Padhy
  • 2. About me - SharePoint, Office 365 and Azure Solutions Consultant at Kloud Solutions - 12 years of experience working on SharePoint and MS Technologies - I am a Consultant, Architect, Project Lead and always a Developer. - Microsoft Certified Professional in SharePoint https://www.linkedin.com/in/asishpadhy https://asishpadhy.com https://blog.kloud.com.au/author/asishpadhykloud/ @asishpadhy
  • 4. Modern Experience Features • Inbuilt Responsive and Mobile design support • Support for client end frameworks for development • Contain native news, quick links, and activity capabilities through pre-built web parts • ModernTeam Sites support Groups features • Tenant wide fast deployment support
  • 5. Modern Experience Customization Challenges • MS list of limitations - https://docs.microsoft.com/en-us/sharepoint/dev/solution- guidance/modern-experience-customizations-customize-sites • No custom master page support • No direct access to master page elements. Indirectly through Javascript or JQuery scripting. JQuery can be used to locate static div • Hard to use CSS extensibility when trying to use children. Use ‘aria-label’ property if want to • No availability to create in place navigation menu items for current navigation or left hand navigation.Cannot realign navigation or header items • No support for SharePoint hosted apps and Provider hosted apps • React routing makes it hard to put a handler for events
  • 6. Intranet Possibilities ? • Communication Sites • For full content layout ( the home layout in team sites doesn’t give full content layout • Easy to use user managed multi level navigation (it is quick launch of classic sites, so will not inherit navigation to children) • Current update of News posts - Link • Gives the most closest experience to Intranet • Cannot update publishing feature (Dec 2017) • ModernTeam Sites • Group Options – Conversations, email alias, outlook integration • Managing members is different than Classic Sites • Can enable publishing feature • Completely different lifecycle
  • 7. Intranet Possibilities? • ClassicTeam Sites with Modern Pages • Hybrid solution • Keep content in classic team sites to take advantages of functionalities • Get more control in customizing master • Create Modern pages and use modern list view, programmatically even • JS Scripting and JS Link supported
  • 8. So what are our options with Modern ? • SPFx - Client Side web parts hosted and deployed through CDN • SPFx - Extension components on Header, Footer and List Menus (Not navigation bar) • Section and layout choices (cannot have custom grid layout options) • Apply SharePoint themes (new) • Apply Site Designs and Site Scripts (new) – Link • SharePoint Field Formatting (Column formatter or SPFx Field formatter) • PowerApps and Flow Integration options directly from list views • Upcoming latest OOB SharePoint client side web parts
  • 9. SharePoint Framework (SPFx) ? • The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side development and open source tooling. • SPFx allows to create Client side web parts and extensions which can be integrated with Modern experience pages • SPFx integrates with React, Office Fabric UI and many other third party JavaScript and CSS Libraries (a welcome change) • Support Local development and not required connection to SharePoint
  • 10. Mapping of Old approaches to the NewTooling SP Components Old Approach (On-Prem and Classic) New Approach (Modern Experience) Web Parts FullTrust Solution or Sandbox SPFx Client side web parts Apps SharePoint Hosted or Provider Hosted SPFxWPs with REST Calls or Functions Master Page Branding Custom Branding Solutions SharePoint themes Content on Pages CEWPs or Script Editor Client side web parts or Content Only Field Customization JS Link Column Formatter or SPFx field formatter List Menu Custom User Actions SPFx ListView Extension Navigation Custom Branding solution SPFx ApplicationCustomizer Extension Site Pages Page Layouts andTemplates SharePoint Online CSOM options Programming Options Server (C#,VB.Net) and Client Side Client Side Frameworks such as React, Knockout and Angular etc.
  • 11. SharePoint Framework SDLC • Devs – JavaScript ,TypeScript, (not much JQuery) and SASS (SCSS) • Set up SharePoint Framework components on Local computer • Set up a debug configuration inVS Code – Install Debugger for Chrome • Deploy,Test and fix locally on SharePoint • Deploy assets to a CDN (Office 365 Public or Azure CDN) • Enable CORS with Container • Deploy package to SharePointApps Catalog • Choose betweenTenant wide and Site deployment
  • 12. SPFx with React and Office Fabric/Bootstrap • Component based • Controlled and managed via States • HTML in object encapsulated • It will automatically update and render the component when data changes. • Responsive controls through Office Fabric and Bootstrap • Office Fabric React is already included as part of SPFx solution • Bootstrap needs to be explicitly included from NPM
  • 13. ImportantTips • Know about the component lifecycle events in React components to prevent erroneous looping such as ComponentDidUpdate() and shouldComponentUpdate() https://reactjs.org/docs/react-component.html • Don’t update the state variables directly, use setState method for state updates • Don’t update the npm packages to their latest versions such as Jquery (~3.2) and office-fabric-ui-react. There are conflicts with latest versions • If using PnP JS modules, remember to use await or then clauses, in order to get the results before chaining the operations
  • 14. Important tips • Await can only be called in Async methods. • Not everything in CSOM or Object model is directly available in PnP JS or SharePoint REST • Typescript strict rules such as object level binding and mapping • Not all versions of JQuery are supported, so might have to install particular types - npm install @types/[email protected] --save-dev
  • 15. Demo
  • 17. Quick Links • PnP Pattern and Practices - https://dev.office.com/patterns-and-practices • Build Documentation - https://docs.microsoft.com/en-us/sharepoint/dev/ • SharePoint Framework - https://docs.microsoft.com/en- us/sharepoint/dev/spfx/sharepoint-framework-overview • Office Fabric - https://developer.microsoft.com/en-us/fabric • Github (Client Web parts) - https://github.com/SharePoint/sp-dev-fx-webparts/ • Github (Extensions) - https://github.com/SharePoint/sp-dev-fx-extensions