SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Understanding SharePoint
Framework Extensions
Paolo Pialorsi | @PaoloPia
SharePoint Saturday Belgium 2018
#SPSBE
Platinum
Gold
Silver
SharePint
Community
Thanks to our sponsors!
Patrick Tisseghem
Founding father of BIWUG & true SharePoint master
17/10/1968 - 3/9/2008
Special Tribute Edition #SPSBE
About me
• Project Manager, Consultant, Trainer
• About 50 Microsoft certification exams
passed
• MCSM – Charter SharePoint
• MVP Office Apps and Services
• Office 365 Dev PnP Core Team Member
• Focused on SharePoint and Office 365 since
the beginning
• Author of many books about XML, SOAP,
.NET, LINQ, SharePoint, and Office 365
• Speaker at main IT conferences
Agenda
• Understanding the role of SharePoint Framework
• SharePoint Framework Extensions
• Application Customizer
• List View Command Set
• Field Customizer
• SPFx Extensions Deployment
• Q&A
Understanding the role of
SharePoint Framework
Web Parts Extensions
Client side
Tools
SP APIs
Package
Deployment
Experiences
Development
Building out the User Experience
CSOM
Add-ins
MS Graph
SharePoint Framework (SPFx)
• New framework to build Modern UI customizations
• Built on the well-known web stack
• Open model, not only for .NET/Microsoft-oriented developers
• Works well on the cloud
• It is available on-premises, too (SP2016 + FP2 or later)
• Enterprise-ready when used with back-end services
• Microsoft Graph, REST API and micro-services, Azure Functions, etc.
• Not a new model, but an additional model to build UI elements for
the Modern UI
• We can build client-side Web Parts or client-side Extensions
SharePoint Framework
Extensions
Client-Side Extensions
• Application Customizer
• Command Set
• Field Customizer
DEMO
SPFx Extensions Overview
Extensions Execution Logic
SharePoint Service
Extensions Execution Logic
SharePoint Service
Extensions Execution Logic
SharePoint Service
Application Customizer
• Build custom UI elements when onInit() fires
• Or when placeholders change
• Use this.context.placeholderProvider to read available placeholders
• Available placeholders (so far):
• Top
• Bottom
• Debug integrated with Visual Studio Code and SPFx generator
scaffolding
• Config serve.json + gulp serve --config=configName
Application Customizer Provisioning
• Reference the elements.xml file in package-solution.json
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Title="SPFxApplicationCustomizer"
Location="ClientSideExtension.ApplicationCustomizer"
ClientSideComponentId="46606aa6-5dd8-4792-b017-1555ec0a43a4"
ClientSideComponentProperties="{&quot;Top&quot;:&quot;Top area of the page&quot;,&quot;Bottom&quot;:
&quot;Bottom area in the page&quot;}">
</CustomAction>
</Elements>
DEMO
Developing Application Customizers
Command Set
• Enable/Disable commands by overriding onListViewUpdated(event)
method
• Override onExecute(event) method and switch based on
event.commandId
• Available locations:
• ClientSideExtension.ListViewCommandSet.ContextMenu: ECB
• ClientSideExtension.ListViewCommandSet.CommandBar: Top menu
• ClientSideExtension.ListViewCommandSet: Both
• Debug integrated with Visual Studio Code and SPFx generator
scaffolding
• Config serve.json + gulp serve --config=configName
Command Set Provisioning
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Title="SPFxListViewCommandSet"
RegistrationId="100"
RegistrationType="List"
Location="ClientSideExtension.ListViewCommandSet.CommandBar"
ClientSideComponentId="5fc73e12-8085-4a4b-8743-f6d02ffe1240"
ClientSideComponentProperties="{&quot;sampleTextOne&quot;:&quot;One item is selected in the list.&quot;,
&quot;sampleTextTwo&quot;:&quot;This command is always visible.&quot;}">
</CustomAction>
</Elements>
• Reference the elements.xml file in package-solution.json
DEMO
Developing List View Command Sets
Field Customizer
• Override onRenderCell(event) method
• Play with event.domElement to replace/update the HTML of the cell
• Debug integrated with Visual Studio Code and SPFx generator
scaffolding
• Config serve.json + gulp serve --config=configName
• Override onDisposeCell(event) method
• To free any resources that you don’t need anymore
Field Customizer Provisioning
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Field ID="{060E50AC-E9C1-3D3C-B1F9-DE0BCAC200F6}"
Name="SPFxPercentage"
DisplayName="Percentage"
Type="Number"
Min="0"
Required="FALSE"
Group="SPFx Columns"
ClientSideComponentId="7e7a4262-d02b-49bf-bfcb-e6ef1716aaef">
</Field>
</Elements>
• Reference the elements.xml file in package-solution.json
DEMO
Developing Field Customizers
SPFx Extensions Deployment
SPFx Extensions Deployment
• Relies on SharePoint Feature Framework for deployment
• <CustomAction /> or <Field /> elements
• Tenant-wide deployment doesn’t apply Feature Framework XML
• But there is the <ClientSideComponentInstance /> element for tenant-wide
extensions (SPFx 1.6)
• Thus, to deploy SPFx Extensions you have two options
• Use non-tenant-wide deployed packages
• Use tenant-wide packages and
• Tenant-wide extensions (since SPFx v. 1.6)
• PowerShell
• CSOM
• PnP
What are tenant-wide extensions?
• Extensions available across the whole tenant
• Available starting from SPFx v. 1.6
• Supported for
• Application Customizer
• List View Command Set
• Can be filtered based on target
• Web template
• List definition
Main steps
• Create a new SPFx 1.6 project
• Scaffolding will generate sample files to activate tenant-wide deployment
• You can always remove them
• Enable Tenant Wide Deployment (i.e. skipFeatureDeployment: true)
• Develop your extensions
• Deploy the .sppkg on the tenant App Catalog
• Register them in the Tenant Wide Extensions list in the tenant App
Catalog
• Eventually filter by target WebTemplateId or ListTemplateId
DEMO
Tenant-wide Extensions with SPFx 1.6
Q&A
Some shameless marketing 
• Follow me on Twitter:
• https://www.twitter.com/PaoloPia
• Subscribe to the “PiaSys Tech Bites” YouTube channel:
• https://piasys.com/TechBites
• Don’t miss the upcoming trainings
• https://piasys.com/shop/ (New schedule for 2019 is coming soon …)
• And the upcoming events:
• https://piasys.com/events/
#SPSBE
http://spsbe.be
Please rate this session!
SharePoint Saturday Belgium 2018
#SPSBE

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

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
 
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"sWorkflow Best Practices:Five (or More) "Do"s and "Don't"s
Workflow Best Practices:Five (or More) "Do"s and "Don't"s
 
Why you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine LearningWhy you shouldn't probably care about Machine Learning
Why you shouldn't probably care about Machine Learning
 
Transforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sitesTransforming your classic team sites in group connected team sites
Transforming your classic team sites in group connected team sites
 
Model Driven PowerApps
Model Driven PowerAppsModel Driven PowerApps
Model Driven PowerApps
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
 
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
 
Connect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure ADConnect SharePoint Framework solutions to APIs secured with Azure AD
Connect SharePoint Framework solutions to APIs secured with Azure AD
 
O365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis JugoO365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
O365Con18 - Microsoft Graph, a Walk-through - Adis Jugo
 
Integrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service PlatformIntegrating SaaS application using Microsoft’s Azure App Service Platform
Integrating SaaS application using Microsoft’s Azure App Service Platform
 
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
O365Con18 - Create an Immersive Experience with Office365 Data and Mixed Real...
 
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsO365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
 
Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365Don't simply deploy, transform! Build your digital workplace in Office 365
Don't simply deploy, transform! Build your digital workplace in Office 365
 
SharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft FlowSharePoint wizards - no magic needed, just use Microsoft Flow
SharePoint wizards - no magic needed, just use Microsoft Flow
 
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
 
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
[Vochten/Harbar] SharePoint Server On Premises & Hybrid PowerClass
 
Serverless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic appsServerless Architecture - Azure Logic apps
Serverless Architecture - Azure Logic apps
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web Apps
 
Connect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic AppConnect the Impossible with Azure Logic App
Connect the Impossible with Azure Logic App
 
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod GevaO365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
O365Con18 - Bridge Over O365 Gaps and Enhance User Satisfaction - Nimrod Geva
 

Semelhante a Understanding SharePoint Framework Extensions

Semelhante a Understanding SharePoint Framework Extensions (20)

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
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
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...
 
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
 
An introduction to the office devpnp community initiative
An introduction to the office devpnp community initiativeAn introduction to the office devpnp community initiative
An introduction to the office devpnp community initiative
 
SPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx DeploymentSPSCasablanca - SPFx Deployment
SPSCasablanca - SPFx Deployment
 
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)
 
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
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
 
SharePoint development 2017 wrap-up
SharePoint development   2017 wrap-upSharePoint development   2017 wrap-up
SharePoint development 2017 wrap-up
 
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?
 
I5 - Bring yourself up to speed with power shell
I5 -  Bring yourself up to speed with power shellI5 -  Bring yourself up to speed with power shell
I5 - Bring yourself up to speed with power shell
 
Introduction to SharePoint Framework
Introduction to SharePoint FrameworkIntroduction to SharePoint Framework
Introduction to SharePoint Framework
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!The Greatest Introduction to SharePoint Framework (SPFx) on earth!
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
 
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
 
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
 
Spsnyc transforming share point farm solutions to the add-in model and shar...
Spsnyc   transforming share point farm solutions to the add-in model and shar...Spsnyc   transforming share point farm solutions to the add-in model and shar...
Spsnyc transforming share point farm solutions to the add-in model and shar...
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
 

Mais de BIWUG

The business and end user guide into the new and modern SharePoint
The business and end user guide into the new and modern SharePointThe business and end user guide into the new and modern SharePoint
The business and end user guide into the new and modern SharePoint
BIWUG
 
Extend your development skills set using MS Graph
Extend your development skills set using MS GraphExtend your development skills set using MS Graph
Extend your development skills set using MS Graph
BIWUG
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
BIWUG
 
Best practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farmsBest practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farms
BIWUG
 
Rethinking Document Management in Office 365
Rethinking Document Management in Office 365Rethinking Document Management in Office 365
Rethinking Document Management in Office 365
BIWUG
 
Upgrading from Full Trust Code to Add-In Model and SharePoint Framework
Upgrading from Full Trust Code to Add-In Model and SharePoint FrameworkUpgrading from Full Trust Code to Add-In Model and SharePoint Framework
Upgrading from Full Trust Code to Add-In Model and SharePoint Framework
BIWUG
 

Mais de BIWUG (19)

Biwug20190425
Biwug20190425Biwug20190425
Biwug20190425
 
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT ProWorking with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
Working with PowerShell, Visual Studio Code and Github for the reluctant IT Pro
 
Global Office 365 Developer Bootcamp
Global Office 365 Developer BootcampGlobal Office 365 Developer Bootcamp
Global Office 365 Developer Bootcamp
 
Deep dive into advanced teams development
Deep dive into advanced teams developmentDeep dive into advanced teams development
Deep dive into advanced teams development
 
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professionalMake IT Pro's great again: Microsoft Azure for the SharePoint professional
Make IT Pro's great again: Microsoft Azure for the SharePoint professional
 
Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365Modern collaboration in teams and projects with Microsoft 365
Modern collaboration in teams and projects with Microsoft 365
 
Mining SharePoint data with PowerBI
Mining SharePoint data with PowerBIMining SharePoint data with PowerBI
Mining SharePoint data with PowerBI
 
Cloud First. Be Prepared
Cloud First. Be PreparedCloud First. Be Prepared
Cloud First. Be Prepared
 
New era of customizing site provisioning
New era of customizing site provisioningNew era of customizing site provisioning
New era of customizing site provisioning
 
Microsoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashedMicrosoft Stream - Your enterprise video portal unleashed
Microsoft Stream - Your enterprise video portal unleashed
 
Teams - There's no place like home
Teams - There's no place like homeTeams - There's no place like home
Teams - There's no place like home
 
The Future State of Document Management, Taxonomies and Metadata in the Cloud
The Future State of Document Management, Taxonomies and Metadata in the CloudThe Future State of Document Management, Taxonomies and Metadata in the Cloud
The Future State of Document Management, Taxonomies and Metadata in the Cloud
 
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
Microsoft Flow advanced: tips, pitfalls, problems and warnings to be known be...
 
The business and end user guide into the new and modern SharePoint
The business and end user guide into the new and modern SharePointThe business and end user guide into the new and modern SharePoint
The business and end user guide into the new and modern SharePoint
 
Extend your development skills set using MS Graph
Extend your development skills set using MS GraphExtend your development skills set using MS Graph
Extend your development skills set using MS Graph
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
Best practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farmsBest practices for managing and operating your SharePoint farms
Best practices for managing and operating your SharePoint farms
 
Rethinking Document Management in Office 365
Rethinking Document Management in Office 365Rethinking Document Management in Office 365
Rethinking Document Management in Office 365
 
Upgrading from Full Trust Code to Add-In Model and SharePoint Framework
Upgrading from Full Trust Code to Add-In Model and SharePoint FrameworkUpgrading from Full Trust Code to Add-In Model and SharePoint Framework
Upgrading from Full Trust Code to Add-In Model and SharePoint Framework
 

Último

Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
sexy call girls service in goa
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
soniya singh
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
@Chandigarh #call #Girls 9053900678 @Call #Girls in @Punjab 9053900678
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Call Girls In Delhi Whatsup 9873940964 Enjoy Unlimited Pleasure
 

Último (20)

'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
'Future Evolution of the Internet' delivered by Geoff Huston at Everything Op...
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Ashram Chowk Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Pratap Nagar Delhi 💯Call Us 🔝8264348440🔝
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine ServiceHot Service (+9316020077 ) Goa  Call Girls Real Photos and Genuine Service
Hot Service (+9316020077 ) Goa Call Girls Real Photos and Genuine Service
 
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Connaught Place ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...(+971568250507  ))#  Young Call Girls  in Ajman  By Pakistani Call Girls  in ...
(+971568250507 ))# Young Call Girls in Ajman By Pakistani Call Girls in ...
 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
 
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
All Time Service Available Call Girls Mg Road 👌 ⏭️ 6378878445
 
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
𓀤Call On 7877925207 𓀤 Ahmedguda Call Girls Hot Model With Sexy Bhabi Ready Fo...
 
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
Call Girls In Sukhdev Vihar Delhi 💯Call Us 🔝8264348440🔝
 
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
6.High Profile Call Girls In Punjab +919053900678 Punjab Call GirlHigh Profil...
 
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
WhatsApp 📞 8448380779 ✅Call Girls In Mamura Sector 66 ( Noida)
 
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
Dwarka Sector 26 Call Girls | Delhi | 9999965857 🫦 Vanshika Verma More Our Se...
 

Understanding SharePoint Framework Extensions

  • 1. Understanding SharePoint Framework Extensions Paolo Pialorsi | @PaoloPia SharePoint Saturday Belgium 2018 #SPSBE
  • 3. Patrick Tisseghem Founding father of BIWUG & true SharePoint master 17/10/1968 - 3/9/2008 Special Tribute Edition #SPSBE
  • 4. About me • Project Manager, Consultant, Trainer • About 50 Microsoft certification exams passed • MCSM – Charter SharePoint • MVP Office Apps and Services • Office 365 Dev PnP Core Team Member • Focused on SharePoint and Office 365 since the beginning • Author of many books about XML, SOAP, .NET, LINQ, SharePoint, and Office 365 • Speaker at main IT conferences
  • 5. Agenda • Understanding the role of SharePoint Framework • SharePoint Framework Extensions • Application Customizer • List View Command Set • Field Customizer • SPFx Extensions Deployment • Q&A
  • 6. Understanding the role of SharePoint Framework
  • 7. Web Parts Extensions Client side Tools SP APIs Package Deployment Experiences Development Building out the User Experience CSOM Add-ins MS Graph
  • 8. SharePoint Framework (SPFx) • New framework to build Modern UI customizations • Built on the well-known web stack • Open model, not only for .NET/Microsoft-oriented developers • Works well on the cloud • It is available on-premises, too (SP2016 + FP2 or later) • Enterprise-ready when used with back-end services • Microsoft Graph, REST API and micro-services, Azure Functions, etc. • Not a new model, but an additional model to build UI elements for the Modern UI • We can build client-side Web Parts or client-side Extensions
  • 10. Client-Side Extensions • Application Customizer • Command Set • Field Customizer
  • 15. Application Customizer • Build custom UI elements when onInit() fires • Or when placeholders change • Use this.context.placeholderProvider to read available placeholders • Available placeholders (so far): • Top • Bottom • Debug integrated with Visual Studio Code and SPFx generator scaffolding • Config serve.json + gulp serve --config=configName
  • 16. Application Customizer Provisioning • Reference the elements.xml file in package-solution.json <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Title="SPFxApplicationCustomizer" Location="ClientSideExtension.ApplicationCustomizer" ClientSideComponentId="46606aa6-5dd8-4792-b017-1555ec0a43a4" ClientSideComponentProperties="{&quot;Top&quot;:&quot;Top area of the page&quot;,&quot;Bottom&quot;: &quot;Bottom area in the page&quot;}"> </CustomAction> </Elements>
  • 18. Command Set • Enable/Disable commands by overriding onListViewUpdated(event) method • Override onExecute(event) method and switch based on event.commandId • Available locations: • ClientSideExtension.ListViewCommandSet.ContextMenu: ECB • ClientSideExtension.ListViewCommandSet.CommandBar: Top menu • ClientSideExtension.ListViewCommandSet: Both • Debug integrated with Visual Studio Code and SPFx generator scaffolding • Config serve.json + gulp serve --config=configName
  • 19. Command Set Provisioning <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <CustomAction Title="SPFxListViewCommandSet" RegistrationId="100" RegistrationType="List" Location="ClientSideExtension.ListViewCommandSet.CommandBar" ClientSideComponentId="5fc73e12-8085-4a4b-8743-f6d02ffe1240" ClientSideComponentProperties="{&quot;sampleTextOne&quot;:&quot;One item is selected in the list.&quot;, &quot;sampleTextTwo&quot;:&quot;This command is always visible.&quot;}"> </CustomAction> </Elements> • Reference the elements.xml file in package-solution.json
  • 21. Field Customizer • Override onRenderCell(event) method • Play with event.domElement to replace/update the HTML of the cell • Debug integrated with Visual Studio Code and SPFx generator scaffolding • Config serve.json + gulp serve --config=configName • Override onDisposeCell(event) method • To free any resources that you don’t need anymore
  • 22. Field Customizer Provisioning <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://schemas.microsoft.com/sharepoint/"> <Field ID="{060E50AC-E9C1-3D3C-B1F9-DE0BCAC200F6}" Name="SPFxPercentage" DisplayName="Percentage" Type="Number" Min="0" Required="FALSE" Group="SPFx Columns" ClientSideComponentId="7e7a4262-d02b-49bf-bfcb-e6ef1716aaef"> </Field> </Elements> • Reference the elements.xml file in package-solution.json
  • 25. SPFx Extensions Deployment • Relies on SharePoint Feature Framework for deployment • <CustomAction /> or <Field /> elements • Tenant-wide deployment doesn’t apply Feature Framework XML • But there is the <ClientSideComponentInstance /> element for tenant-wide extensions (SPFx 1.6) • Thus, to deploy SPFx Extensions you have two options • Use non-tenant-wide deployed packages • Use tenant-wide packages and • Tenant-wide extensions (since SPFx v. 1.6) • PowerShell • CSOM • PnP
  • 26. What are tenant-wide extensions? • Extensions available across the whole tenant • Available starting from SPFx v. 1.6 • Supported for • Application Customizer • List View Command Set • Can be filtered based on target • Web template • List definition
  • 27. Main steps • Create a new SPFx 1.6 project • Scaffolding will generate sample files to activate tenant-wide deployment • You can always remove them • Enable Tenant Wide Deployment (i.e. skipFeatureDeployment: true) • Develop your extensions • Deploy the .sppkg on the tenant App Catalog • Register them in the Tenant Wide Extensions list in the tenant App Catalog • Eventually filter by target WebTemplateId or ListTemplateId
  • 29. Q&A
  • 30. Some shameless marketing  • Follow me on Twitter: • https://www.twitter.com/PaoloPia • Subscribe to the “PiaSys Tech Bites” YouTube channel: • https://piasys.com/TechBites • Don’t miss the upcoming trainings • https://piasys.com/shop/ (New schedule for 2019 is coming soon …) • And the upcoming events: • https://piasys.com/events/