SlideShare una empresa de Scribd logo
1 de 37
Gosia Borzecka
Sponsors & Partners
About me
@gosiaborzecka
Agenda
SharePoint Framework
Deployment
What next?
SharePoint Development options
Add-Ins
•Decoupling customizations from SharePoint
•Provides security model for the customization permissions
•Limited web part experience as add-in part
•Additional operational and maintenance requirements
External Apps/SPAs
•Decouples customizations from SharePoint
•Bring your own technology stack
•Provides security model for customization permissions
•Requires custom implementation of user interface
SharePoint Framework
•Customization runs as part of the SharePoint page
•Flexible web part experience
•Runs under permissions of current user
•Industry standard development model
SharePoint Framework
Modern Client Site Development
Lightweight web and mobile
Powers our own experience
Backward compatible
Supports open source tools and JavaScript Web Frameworks
SharePoint Framework Tooling
Tooling
• Node.js
• Yeoman
• Gulp
• TypeScipt
• Visual Studio Code
Frameworks:
• React
• Angular.js
• Knockout
• etc
https://www.voitanos.io/
Client-side Web Part Build Flow
Build SPFx solution
Package your webpart:
• Use bundle gulp task to build, localize, and bundle the
project
• Use the package-solution gulp task to package the
project into a .sppkg file
• The ship parameter build task created a minified version
of the bundle and copies all of the webpart assets
Workbench
Local
• Runs on https://localhost:4321/temp/workbench.html
• Has no SharePoint Context
• Use Mock Data
• Available offline
SharePoint
• Runs on SharePoint Site https://<YOUR-SHAREPOINT-
SITE>/_layouts/15/workbench.aspx
• Has SharePoint Context
• Use SharePoint Data
Debugging code
Browser
•Developer Console
Visual Studio Code
•Chrome Debugger Extension
Property Pane
PropertyPaneText
PropertyPaneButton
PropertyPaneCheckbox
PropertyPaneChoiseGroup
PropertyPaneDropdown
PropertyPaneLabel
PropertyPaneLink
PropertyPaneSlider
Environment
import { Environment, EnvironmentType } from
'@microsoft/sp-core-library’;
Values:
• EnvironmentType.Tests
• EnvironmentType.Local
• EnvironmentType.SharePoint
• EnvironmentType.ClassicSharePoint
Rest API
•Provides shared functionality across all pnp librariescommon
•Provides a way to manage configuration within your applicationconfig-store
•Provides a fluent api for working with Microsoft Graphgraph
•Light-weight, subscribable logging frameworklogging
•Provides functionality enabling the @pnp libraries within nodejsnodejs
•Provides shared odata functionality and base classesodata
•Rollup library of core functionality (mimics sp-pnp-js)pnpjs
•Provides a fluent api for working with SharePoint RESTsp
•Provides functionality for working within SharePoint add-inssp-addinhelpers
•Provides based classes used to create a fluent api for working with SharePoint Managed
Metadatasp-clientsvc
•Provides a fluent api for working with SharePoint Managed Metadatasp-taxonomy
Rest API
•Alias Parameters •ALM api •Attachments •Client-side Pages
•Features •Fields •Files •List Items
•Navigation
Service
•Permissions •Related Items •Search
•Sharing •Social •SP.Utilities.Utility •Tenant Properties
•Views •Webs
•Comments and
Likes
https://pnp.github.io/pnpjs/sp/index.html
Office Fabric
https://developer.microsoft.com/en-us/fabric
Microsoft Graph
Deploy to Office 365 Public CDN
• Connect-SPOService -Url https://contoso-admin.sharepoint.com
• Get-SPOTenantCdnEnabled -CdnType Public
• Get-SPOTenantCdnOrigins -CdnType Public
• Get-SPOTenantCdnPolicies -CdnType Public
• Set-SPOTenantCdnEnabled -CdnType Public
Deploy to Office 365 Public CDN
Deploy to Azure CDN
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/deploy-web-
part-to-cdn
Deploy to Azure CDN
deploy-azure-
storage.json {
"$schema": "https://developer.microsoft.com/json-
schemas/spfx-build/deploy-azure-storage.schema.json",
"workingDir": "./temp/deploy/",
"account": “accountName",
"container": "azurehosted-webpart",
"accessKey": “accessKey“
}
Deploy to Azure CDN
write-
manifest.json {
"$schema":
"https://developer.microsoft.com/json-
schemas/spfx-build/write-
manifests.schema.json",
"cdnBasePath":
"https://XXX.azureedge.net/xxx/“
}
DEMO
SPFx Extensions
•Application
Customizers
• Adds scripts to the
page, and accesses
well-known HTML
element placeholders
and extends them
with custom
renderings.
•Field Customizers
• Provides modified
views to data for
fields within a list.
•Command Sets
• Extends the
SharePoint command
surfaces to add new
actions, and provides
client-side code that
you can use to
implement
behaviours.
SPFx Extensions
SPFx Extensions: Application Customizer
?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={"e5625e23-
5c5a-4007-a335-
e6c2c3afa485":{"location":"ClientSideExtension.ApplicationCustomizer","properties":{"testMessage":"Hello as
property!"}}}
SPFx Extension: Field Customizer
?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&fieldCustomizers={"Percent":{"
id":"45a1d299-990d-4917-ba62-7cb67158be16","properties":{"sampleText":"Hello!"}}}
SPFx Extension: ListView Command Set
?loadSpfx=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={"a8047e2
f-30d5-40fc-b880-
b2890c7c16d6":{"location":"ClientSideExtension.ListViewCommandSet.CommandBar","properties":{"sampl
eTextOne":"One item is selected in the list.","sampleTextTwo":"This command is always visible."}}}
Update SPFx version
Find outdated packages
• npm outdated
Update specific package
• npm install mypackage@newversion –save
Clean old build artifacts
• Gulp clean
Any problems?
• Delete node_modules and execute npm install
Update SPFx version - Yeoman
Find outdated Yeoman generator (installed
globally)
• npm outdated –g
Update
• npm install @microsoft/generator-sharepoint@latest -g
Open source Starter Kit
Automated provisioning of simple demo content within a
communication site
Automated provisioning of the whole solution to any tenant within
minutes
Automated configuration of Site Scripts and Site Designs at the
tenant level using the PnP Remote Provisioning engine
Implementation of different customizations for SharePoint Online
Usage of Office UI Fabric and reusable PnP SPFx controls within the
customizations
https://developer.microsoft.com/en-us/office/dev-program
Soon…
• Global deployment of SPFx Extensions
• SharePoint Framework Solution in MS Teams
Sharing is caring!
• Use hashtags:
• #Office365Dev
• #MicrosoftGraph
• #SPFx
• Log issues & questions on GitHub Repos
Thank you!
#SPSWarsaw

Más contenido relacionado

La actualidad más candente

CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franziniwalk2talk srl
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSean McLellan
 
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 PowerClassEuropean Collaboration Summit
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...European Collaboration Summit
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
 
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
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization modelEuropean Collaboration Summit
 
Office script labs
Office script labsOffice script labs
Office script labsMark Roden
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkBob German
 
Meetup Comunidad TESH: My SPFx slides
Meetup Comunidad TESH: My SPFx slidesMeetup Comunidad TESH: My SPFx slides
Meetup Comunidad TESH: My SPFx slidesVladimir Medina
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesNCCOMMS
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartEric Overfield
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactEric Overfield
 
SharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkSharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkJoAnna Cheshire
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDragan Panjkov
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentChris O'Brien
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentChris O'Brien
 

La actualidad más candente (20)

CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
 
SharePoint Framework - Developer Preview
SharePoint Framework - Developer PreviewSharePoint Framework - Developer Preview
SharePoint Framework - Developer Preview
 
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
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...
 
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...
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
 
Office script labs
Office script labsOffice script labs
Office script labs
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
TypeScript and SharePoint Framework
TypeScript and SharePoint FrameworkTypeScript and SharePoint Framework
TypeScript and SharePoint Framework
 
Meetup Comunidad TESH: My SPFx slides
Meetup Comunidad TESH: My SPFx slidesMeetup Comunidad TESH: My SPFx slides
Meetup Comunidad TESH: My SPFx slides
 
SPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core LibrariesSPUnite17 Introduction to the Office Dev PnP Core Libraries
SPUnite17 Introduction to the Office Dev PnP Core Libraries
 
Build Your First SharePoint Framework Webpart
Build Your First SharePoint Framework WebpartBuild Your First SharePoint Framework Webpart
Build Your First SharePoint Framework Webpart
 
IBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with AngularjsIBM Domino Modernizing apps with Angularjs
IBM Domino Modernizing apps with Angularjs
 
Supercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with ReactSupercharge Your SharePoint Framework Webpart with React
Supercharge Your SharePoint Framework Webpart with React
 
SharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint FrameworkSharePoint Development with the SharePoint Framework
SharePoint Development with the SharePoint Framework
 
Developing with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premisesDeveloping with SharePoint Framework (SPFx) on-premises
Developing with SharePoint Framework (SPFx) on-premises
 
Application Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 developmentApplication Lifecycle Management for Office 365 development
Application Lifecycle Management for Office 365 development
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 

Similar a Introduction to SharePoint Framework

Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
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 ServicesBrian Culver
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012NCCOMMS
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Bram de Jager
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Fabio Franzini
 
SPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentSPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentYannick Borghmans
 
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
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017Steef-Jan Wiggers
 
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
 
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Eric Shupps
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appJoris Poelmans
 
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 SPFxNCCOMMS
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseEric Shupps
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013SPC Adriatics
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appTalbott Crowell
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psUsama Wahab Khan Cloud, Data and AI
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppKenneth Maglio
 

Similar a Introduction to SharePoint Framework (20)

Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
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
 
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
SPCA2013 - Developing SharePoint 2013 Apps with Visual Studio 2012
 
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
Developing SharePoint 2013 apps with Visual Studio 2012 - SharePoint Connecti...
 
SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app? SharePoint Server 2013: to app or not to app?
SharePoint Server 2013: to app or not to app?
 
Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...Come riprogettare le attuali farm solution di share point con il nuovo modell...
Come riprogettare le attuali farm solution di share point con il nuovo modell...
 
SPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentSPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx Deployment
 
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?
 
Web app job and functions - TUGAIT 2017
Web app job and functions  - TUGAIT 2017Web app job and functions  - TUGAIT 2017
Web app job and functions - TUGAIT 2017
 
What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013What's new for Developers in SharePoint 2013
What's new for Developers in SharePoint 2013
 
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...
 
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
Developing SharePoint Framework Solutions for the Enterprise - SEF 2019
 
MSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to appMSDN - SharePoint 2013 to app or not to app
MSDN - SharePoint 2013 to app or not to app
 
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
 
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the EnterpriseOSH01 - Developing SharePoint Framework Solutions for the Enterprise
OSH01 - Developing SharePoint Framework Solutions for the Enterprise
 
Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013Developing Apps for SharePoint 2013
Developing Apps for SharePoint 2013
 
Developing a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint appDeveloping a Provider Hosted SharePoint app
Developing a Provider Hosted SharePoint app
 
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
How to convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Introduction to development using the share point framework mv ps
Introduction to development using the share point framework mv psIntroduction to development using the share point framework mv ps
Introduction to development using the share point framework mv ps
 
SharePoint 2013 App or Not to App
SharePoint 2013 App or Not to AppSharePoint 2013 App or Not to App
SharePoint 2013 App or Not to App
 

Más de Małgorzata Borzęcka

Cognitive Services Extravaganza #DDDNorth
Cognitive Services Extravaganza #DDDNorthCognitive Services Extravaganza #DDDNorth
Cognitive Services Extravaganza #DDDNorthMałgorzata Borzęcka
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyMałgorzata Borzęcka
 
1 spotkanie Women in Technology na Śląsku
1 spotkanie Women in Technology na Śląsku1 spotkanie Women in Technology na Śląsku
1 spotkanie Women in Technology na ŚląskuMałgorzata Borzęcka
 
10 spotkanie Women in Technology we Wrocław
10 spotkanie Women in Technology we Wrocław10 spotkanie Women in Technology we Wrocław
10 spotkanie Women in Technology we WrocławMałgorzata Borzęcka
 
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)Małgorzata Borzęcka
 

Más de Małgorzata Borzęcka (20)

Add more Speech API to your bot
Add more Speech API to your botAdd more Speech API to your bot
Add more Speech API to your bot
 
Cognitive Services Extravaganza #DDDNorth
Cognitive Services Extravaganza #DDDNorthCognitive Services Extravaganza #DDDNorth
Cognitive Services Extravaganza #DDDNorth
 
Cognitive Services Extravaganza
Cognitive Services Extravaganza Cognitive Services Extravaganza
Cognitive Services Extravaganza
 
Cognitive Services Extravaganza
Cognitive Services Extravaganza Cognitive Services Extravaganza
Cognitive Services Extravaganza
 
Cognitive Services Extravaganza
Cognitive Services ExtravaganzaCognitive Services Extravaganza
Cognitive Services Extravaganza
 
Introduction to Cognitive Services
Introduction to Cognitive ServicesIntroduction to Cognitive Services
Introduction to Cognitive Services
 
Cognitive Services
Cognitive ServicesCognitive Services
Cognitive Services
 
Cognitive Services
Cognitive ServicesCognitive Services
Cognitive Services
 
SPFx (SharePoint Framework)
SPFx (SharePoint Framework)SPFx (SharePoint Framework)
SPFx (SharePoint Framework)
 
Introduction to asp.net Wroclaw
Introduction to asp.net WroclawIntroduction to asp.net Wroclaw
Introduction to asp.net Wroclaw
 
ASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in TechnologyASP.NET MVC Workshop for Women in Technology
ASP.NET MVC Workshop for Women in Technology
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
Project Siena
Project SienaProject Siena
Project Siena
 
Balans życia
Balans życiaBalans życia
Balans życia
 
Global Windows Azure Bootcamp
Global Windows Azure BootcampGlobal Windows Azure Bootcamp
Global Windows Azure Bootcamp
 
1 spotkanie Women in Technology na Śląsku
1 spotkanie Women in Technology na Śląsku1 spotkanie Women in Technology na Śląsku
1 spotkanie Women in Technology na Śląsku
 
10 spotkanie Women in Technology we Wrocław
10 spotkanie Women in Technology we Wrocław10 spotkanie Women in Technology we Wrocław
10 spotkanie Women in Technology we Wrocław
 
Technologiczna pigułka 2014 123
Technologiczna pigułka 2014 123Technologiczna pigułka 2014 123
Technologiczna pigułka 2014 123
 
Technologiczna pigułka 2012/2013
Technologiczna pigułka 2012/2013Technologiczna pigułka 2012/2013
Technologiczna pigułka 2012/2013
 
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)
Women in Technology.. Twitter.. Damn! (Łódzka Grupa DotNet)
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Principled Technologies
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Introduction to SharePoint Framework

  • 5. SharePoint Development options Add-Ins •Decoupling customizations from SharePoint •Provides security model for the customization permissions •Limited web part experience as add-in part •Additional operational and maintenance requirements External Apps/SPAs •Decouples customizations from SharePoint •Bring your own technology stack •Provides security model for customization permissions •Requires custom implementation of user interface SharePoint Framework •Customization runs as part of the SharePoint page •Flexible web part experience •Runs under permissions of current user •Industry standard development model
  • 6. SharePoint Framework Modern Client Site Development Lightweight web and mobile Powers our own experience Backward compatible Supports open source tools and JavaScript Web Frameworks
  • 7. SharePoint Framework Tooling Tooling • Node.js • Yeoman • Gulp • TypeScipt • Visual Studio Code Frameworks: • React • Angular.js • Knockout • etc
  • 9. Client-side Web Part Build Flow
  • 10. Build SPFx solution Package your webpart: • Use bundle gulp task to build, localize, and bundle the project • Use the package-solution gulp task to package the project into a .sppkg file • The ship parameter build task created a minified version of the bundle and copies all of the webpart assets
  • 11. Workbench Local • Runs on https://localhost:4321/temp/workbench.html • Has no SharePoint Context • Use Mock Data • Available offline SharePoint • Runs on SharePoint Site https://<YOUR-SHAREPOINT- SITE>/_layouts/15/workbench.aspx • Has SharePoint Context • Use SharePoint Data
  • 12. Debugging code Browser •Developer Console Visual Studio Code •Chrome Debugger Extension
  • 14. Environment import { Environment, EnvironmentType } from '@microsoft/sp-core-library’; Values: • EnvironmentType.Tests • EnvironmentType.Local • EnvironmentType.SharePoint • EnvironmentType.ClassicSharePoint
  • 15. Rest API •Provides shared functionality across all pnp librariescommon •Provides a way to manage configuration within your applicationconfig-store •Provides a fluent api for working with Microsoft Graphgraph •Light-weight, subscribable logging frameworklogging •Provides functionality enabling the @pnp libraries within nodejsnodejs •Provides shared odata functionality and base classesodata •Rollup library of core functionality (mimics sp-pnp-js)pnpjs •Provides a fluent api for working with SharePoint RESTsp •Provides functionality for working within SharePoint add-inssp-addinhelpers •Provides based classes used to create a fluent api for working with SharePoint Managed Metadatasp-clientsvc •Provides a fluent api for working with SharePoint Managed Metadatasp-taxonomy
  • 16. Rest API •Alias Parameters •ALM api •Attachments •Client-side Pages •Features •Fields •Files •List Items •Navigation Service •Permissions •Related Items •Search •Sharing •Social •SP.Utilities.Utility •Tenant Properties •Views •Webs •Comments and Likes https://pnp.github.io/pnpjs/sp/index.html
  • 19. Deploy to Office 365 Public CDN • Connect-SPOService -Url https://contoso-admin.sharepoint.com • Get-SPOTenantCdnEnabled -CdnType Public • Get-SPOTenantCdnOrigins -CdnType Public • Get-SPOTenantCdnPolicies -CdnType Public • Set-SPOTenantCdnEnabled -CdnType Public
  • 20. Deploy to Office 365 Public CDN
  • 21. Deploy to Azure CDN https://docs.microsoft.com/en-us/sharepoint/dev/spfx/web-parts/get-started/deploy-web- part-to-cdn
  • 22. Deploy to Azure CDN deploy-azure- storage.json { "$schema": "https://developer.microsoft.com/json- schemas/spfx-build/deploy-azure-storage.schema.json", "workingDir": "./temp/deploy/", "account": “accountName", "container": "azurehosted-webpart", "accessKey": “accessKey“ }
  • 23. Deploy to Azure CDN write- manifest.json { "$schema": "https://developer.microsoft.com/json- schemas/spfx-build/write- manifests.schema.json", "cdnBasePath": "https://XXX.azureedge.net/xxx/“ }
  • 24. DEMO
  • 25. SPFx Extensions •Application Customizers • Adds scripts to the page, and accesses well-known HTML element placeholders and extends them with custom renderings. •Field Customizers • Provides modified views to data for fields within a list. •Command Sets • Extends the SharePoint command surfaces to add new actions, and provides client-side code that you can use to implement behaviours.
  • 27. SPFx Extensions: Application Customizer ?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={"e5625e23- 5c5a-4007-a335- e6c2c3afa485":{"location":"ClientSideExtension.ApplicationCustomizer","properties":{"testMessage":"Hello as property!"}}}
  • 28. SPFx Extension: Field Customizer ?loadSPFX=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&fieldCustomizers={"Percent":{" id":"45a1d299-990d-4917-ba62-7cb67158be16","properties":{"sampleText":"Hello!"}}}
  • 29. SPFx Extension: ListView Command Set ?loadSpfx=true&debugManifestsFile=https://localhost:4321/temp/manifests.js&customActions={"a8047e2 f-30d5-40fc-b880- b2890c7c16d6":{"location":"ClientSideExtension.ListViewCommandSet.CommandBar","properties":{"sampl eTextOne":"One item is selected in the list.","sampleTextTwo":"This command is always visible."}}}
  • 30. Update SPFx version Find outdated packages • npm outdated Update specific package • npm install mypackage@newversion –save Clean old build artifacts • Gulp clean Any problems? • Delete node_modules and execute npm install
  • 31. Update SPFx version - Yeoman Find outdated Yeoman generator (installed globally) • npm outdated –g Update • npm install @microsoft/generator-sharepoint@latest -g
  • 32. Open source Starter Kit Automated provisioning of simple demo content within a communication site Automated provisioning of the whole solution to any tenant within minutes Automated configuration of Site Scripts and Site Designs at the tenant level using the PnP Remote Provisioning engine Implementation of different customizations for SharePoint Online Usage of Office UI Fabric and reusable PnP SPFx controls within the customizations
  • 33.
  • 35. Soon… • Global deployment of SPFx Extensions • SharePoint Framework Solution in MS Teams
  • 36. Sharing is caring! • Use hashtags: • #Office365Dev • #MicrosoftGraph • #SPFx • Log issues & questions on GitHub Repos