SlideShare a Scribd company logo
rencore.comrencore.com
Provisioning SPFx Solutions to SharePoint
Online using PnP, ALM APIs and more!
SPS Helsinki, January 2018
Thank you to our sponsors!
rencore.com
Erwin van Hunen
Product Owner Transformation Tooling
MVP Office Servers and Services
PnP Core Team Member
Microsoft Certified Master
erwin.van.hunen@rencore.com
@erwinvanhunen
rencore.com
What are your options?
•By hand
•No. Just no.
•Through an API
•REST API… but…
•Through the PnP Provisioning
Engine
rencore.com
•APIs only available with SharePoint
Online
•APIs do not work with app-only auth
•Basically no way to programmatically
provisioning Apps on SP2016
•Currently no support of Site Collection
Scoped AppCatalogs
It’s all about the trust…
rencore.com
Add Deploy Install
REST API – The Basic Flow
rencore.com
/_api/web/tenantappcatalog/Add(overwrite=true, url='test.txt’)
REST API – Adding an app
This is a token, do not replace with the actual url of the
appcatalog
Synchronous
rencore.com
/_api/web/tenantappcatalog/AvailableApps
REST API – Listing all available apps
Synchronous
rencore.com
/_api/web/tenantappcatalog/AvailableApps/GetById('xxxxx
xxx-xxxx-xxxx-xxxx-xxxxxxxxxx')/Deploy
REST API – Deploying an app
Synchronous
Context: app catalog site
rencore.com
/_api/web/tenantappcatalog/AvailableApps/GetById('xxxxx
xxx-xxxx-xxxx-xxxx-xxxxxxxxxx’)/Install
REST API – Installing an app
Asynchronous!
rencore.com
/_api/web/tenantappcatalog/AvailableApps/GetById('xxxxx
xxx-xxxx-xxxx-xxxx-xxxxxxxxxx’)/Uninstall
REST API – Uninstalling an app
Asynchronous!
rencore.com
• There are also endpoints for removing, upgrading.
• See more at
https://docs.microsoft.com/en-
us/sharepoint/dev/apis/alm-api-for-spfx-add-ins
Additional endpoints
rencore.com
• Search
contentclass:STS_Site AND SiteTemplate:APPCATALOG
• CSOM
var tenantSettings = TenantSettings.GetCurrent(web.Context);
web.Context.Load(tenantSettings, t => t.CorporateCatalogUrl);
web.Context.ExecuteQuery();
Gotchas: retrieving the APP Catalog Site Url
rencore.com
• PnP Core Library
web.GetAppCatalog();
• PnP PowerShell
Get-PnPTenantAppCatalogUrl
Gotchas: retrieving the APP Catalog Site Url
rencore.com
• PnP Core Library
web.GetAppCatalog();
• PnP PowerShell
Get-PnPTenantAppCatalogUrl
Gotchas: retrieving the APP Catalog Site Url
rencore.com
var manager = new AppManager(ClientContext);
var result = manager.Add(bytes, filename, overwrite);
manager.Deploy(result.Id,SkipFeatureDeployment);
manager.Install(result.Id);
PnP Core - Why write it all yourself?
rencore.com
• The AppManager class is a nice resource to see how
to build REST queries
• The AppManager class takes care of context
switching to the appcatalog, and will figure out the
URL of the appcatalog for you.
PnP Core - Why write it all yourself?
rencore.com
Get-PnPApp
Add-PnPApp
Publish-PnPApp (to deploy)
Install-PnPApp
Uninstall-PnPApp
Unpublish-PnPApp (to retract)
Remove-PnPApp
Quick prototype? PnP PowerShell
rencore.com
PnP Provisioning Engine
<pnp:Tenant>
<pnp:AppCatalog>
<pnp:Package
Src="appsharepointsolutionspshel.sppkg"
Action="UploadAndPublish"
SkipFeatureDeployment="true"
Overwrite="true" />
</pnp:Tenant>
rencore.com
PnP Provisioning Engine
<pnp:ProvisioningTemplate ID="SPECIALTEAM" Version="1.0"…>
<pnp:ApplicationLifecycleManagement>
<pnp:Apps>
<pnp:App AppId="{AppPackageId:spshel.sppkg}"
Action="Install" />
</pnp:Apps>
</pnp:ApplicationLifecycleManagement>
</pnp:ProvisioningTemplate>
rencore.com
• Installing an app is asynchronous!
• We are working on making the app install a
synchronous experience in the Provisioning Engine
Caveats
rencore.com
• https://aka.ms/sppnp
• https://docs.microsoft.com/sharepoint
Resources
Thank you!
bit.ly/spshel2018
Please rate this session
Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!

More Related Content

PPTX
Deploying Machine Learning in production without servers - #serverlessCPH
PPTX
Alfresco javascript api - Alfresco Devcon 2018
PDF
Using Postman to Automate API On-Boarding
PDF
HTBYOOFIYRHT RubyConf
PPTX
Timesheet Approval Process
PDF
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
PDF
Spca2014 chris o brien modern share-point development - techniques for off-...
PDF
Moving from app services to azure functions
Deploying Machine Learning in production without servers - #serverlessCPH
Alfresco javascript api - Alfresco Devcon 2018
Using Postman to Automate API On-Boarding
HTBYOOFIYRHT RubyConf
Timesheet Approval Process
Voice is the New Keyboard - Voice Interfaces in 2018 and Beyond
Spca2014 chris o brien modern share-point development - techniques for off-...
Moving from app services to azure functions

What's hot (20)

PDF
Client Side Measurement & Performance With Rails
PDF
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
PPTX
Featfures of asp.net
PDF
LF_APIStrat17_The Great API Redesign
PDF
Apikit in studio
PPTX
Selenium-4-and-appium-2
PPTX
Serverless in-action
PPTX
Selenium-4
PPTX
Apex Liberation - the evolution of Flex Queue (DF15)
PDF
How Gear4Music Went from 0-1000+ API Tests
PDF
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26
PDF
Serverless in production, an experience report (London DevOps)
PDF
Integrations: Using Postman in Your Workflows
PDF
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
PDF
Frail & Cast Iron tools - a Postman Case Study
ODP
Presentation laravel 5 4
PPTX
Play with Alfresco ADF 2.0.0 Angular
PDF
CakePHP and AJAX
PDF
Postman: An Introduction for API Ops Professionals
PDF
Apex Liberation: The Evolution of FlexQueues
Client Side Measurement & Performance With Rails
Splunk conf2014 - Using Selenium and Splunk for Transaction Monitoring Insight
Featfures of asp.net
LF_APIStrat17_The Great API Redesign
Apikit in studio
Selenium-4-and-appium-2
Serverless in-action
Selenium-4
Apex Liberation - the evolution of Flex Queue (DF15)
How Gear4Music Went from 0-1000+ API Tests
New features in Rails 6 - Nihad Abbasov (RUS) | Ruby Meditation 26
Serverless in production, an experience report (London DevOps)
Integrations: Using Postman in Your Workflows
POST/CON 2019 Workshop: Testing, Automated Testing, and Reporting APIs with P...
Frail & Cast Iron tools - a Postman Case Study
Presentation laravel 5 4
Play with Alfresco ADF 2.0.0 Angular
CakePHP and AJAX
Postman: An Introduction for API Ops Professionals
Apex Liberation: The Evolution of FlexQueues
Ad

Similar to Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more! (20)

PDF
What IT professionals need to know about SharePoint 2013 Apps
PDF
Azure Automation, PnP Provisioning and PnP PowerShell
PPTX
Modern Automated Site Provisioning for SharePoint Online
PPTX
Getting started with Office365/SharePoint Patterns and Practices
PDF
REST API Basics
PPTX
Openstack Heat & How Autoscaling works
PPTX
Openstack heat & How Autoscaling works
PPTX
Power Shell and Sharepoint 2013
PDF
Django Introduction & Tutorial
PPTX
Build Your First SharePoint Framework Webpart
PDF
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
PPTX
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
PPTX
SPSCasablanca - SPFx Deployment
PPTX
How to automate the SharePoint Provisioning
PPTX
Who Needs A Developer For Automated SharePoint Provisioning
PPTX
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
PDF
(Almost) All About Apps for SharePoint 2013
PDF
A python web service
PPTX
Charla desarrollo de apps con sharepoint y office 365
PPTX
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
What IT professionals need to know about SharePoint 2013 Apps
Azure Automation, PnP Provisioning and PnP PowerShell
Modern Automated Site Provisioning for SharePoint Online
Getting started with Office365/SharePoint Patterns and Practices
REST API Basics
Openstack Heat & How Autoscaling works
Openstack heat & How Autoscaling works
Power Shell and Sharepoint 2013
Django Introduction & Tutorial
Build Your First SharePoint Framework Webpart
(ATS6-DEV03) Building an Enterprise Web Solution with AEP
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
SPSCasablanca - SPFx Deployment
How to automate the SharePoint Provisioning
Who Needs A Developer For Automated SharePoint Provisioning
All You Need to Know for Automated SharePoint Site Provisioning with PnP Powe...
(Almost) All About Apps for SharePoint 2013
A python web service
Charla desarrollo de apps con sharepoint y office 365
Rencore Webinar: SharePoint Customizations - the most overlooked road block t...
Ad

More from Rencore (10)

PPTX
Rencore Webinar: 10 things to keep an eye on to increase share point health
PDF
Rencore Webinar: Myth-busting GDPR in Office 365 & Azure
PPTX
Hugh Wood from Rencore: Development best practices for a new development worl...
PPTX
Matthias Einig from Rencore: Organizational considerations for customizing Sh...
PPTX
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
PDF
Rencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
PDF
Rencore Webinar: Developing Secure and Performant JavaScript for SharePoint
PDF
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
PPTX
Rencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
PPTX
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...
Rencore Webinar: 10 things to keep an eye on to increase share point health
Rencore Webinar: Myth-busting GDPR in Office 365 & Azure
Hugh Wood from Rencore: Development best practices for a new development worl...
Matthias Einig from Rencore: Organizational considerations for customizing Sh...
Rencore Webinar: Understanding EU GDPR from an Office 365 perspective with Pa...
Rencore Webinar: Advanced Security Management within Office 365 with Liam Cleary
Rencore Webinar: Developing Secure and Performant JavaScript for SharePoint
Matthias Einig from Rencore - Transforming SharePoint farm solutions to the A...
Rencore Webinar: Securing Office 365 and Microsoft Azure like a Rockstar
You don’t know JS about SharePoint - Mastering javascript performance (Hugh W...

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Electronic commerce courselecture one. Pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Big Data Technologies - Introduction.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Cloud computing and distributed systems.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
KodekX | Application Modernization Development
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
MYSQL Presentation for SQL database connectivity
Electronic commerce courselecture one. Pdf
Empathic Computing: Creating Shared Understanding
Big Data Technologies - Introduction.pptx
Review of recent advances in non-invasive hemoglobin estimation
20250228 LYD VKU AI Blended-Learning.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Cloud computing and distributed systems.
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
“AI and Expert System Decision Support & Business Intelligence Systems”

Provisioning SPFx Solutions to SharePoint Online using PnP, ALM APIs and more!

Editor's Notes

  • #2: To add your image, first delete the place holder image as shown in the white box. Then insert your picture and scale it to be bigger than the size of the white box shown. Finally, right click on your image and select ‘Send to back’ – your image should now be framed correctly. Please add co-speaker image directly below, if applicable