SlideShare a Scribd company logo
1 of 31
May 20th, 2017
SharePoint Saturday
Madrid
CDNs para el SharePoint Framework SPFx
Gustavo Velez
Gustavo Velez
MVP Office Servers And Services
Portiva
http://www.gavd.net
gustavo@gavd.net
http://www.compartimoss.com
Introducción
 Que es el SharePoint Framework SPFx
 Configuración de maquinas de desarrollo
 Creación de una WebPart
 Y ahora que hago con mi código?
 Conclusiones, preguntas, etc.
SharePoint UX – Evolución a través de sus versiones
2009
SharePoint
Server 2010
2006
Office SharePoint
Server 2007
2003
SharePoint
Portal Server 2003
2001
SharePoint
Portal Server 2001
2012
SharePoint
Server 2013
2016 …
SharePoint
Server 2016, SPO
El SharePoint Framework es:
Y que son “Paginas Modernas”?
SPFx Client-Side WebParts
IIS Express
Project Templates
Server/Client Side WebParts tool comparison
MSBuild C#
1. Install developer tools
2. Install Yeoman and gulp
3. Install Yeoman SharePoint generator
4. Install optional tools
Setting Up Your Computer: Steps
Demo Dev Environment
1. Create local directory
2. Create project using Yeoman
3. Codify using VS Code
4. Package using Gulp
Creating a WebPart: Steps
Demo Creación de una WebPart
Y ahora, que hago con mi código?
Y que hace SharePoint con mi código?
Despliegue local
 Solo para testeo
 Despliegue al Workbench
 Testeo de la interface
 No conexión a datos (aunque se puede simular con datos falsos)
 Modificación en código  visible de inmediato
 Muy fácil para desplegar
Despliegue local en SharePoint
 Solo para testeo (use una Dev Site)
 Despliegue del Manifiesto al Catalogo de SharePoint
 Conexión a datos en vivo
 Modificación en código  visible después de refresco de la pagina
 Menos fácil que el Workbench. Mantener WebPart instalada
Despliegue en una Biblioteca de SharePoint
 Para producción
 Modificar el pointer en "config/write-manifests.json"
 Despliegue del Manifiesto al Catalogo de SharePoint
 Despliegue del código a una Biblioteca de SharePoint
 Modificación del código  desplegar de nuevo
Que es un CDN (Content Deployment Network)
 (Wikipedia) A Content Delivery
Network or Content
Distribution Network (CDN) is a
globally distributed proxy
servers network deployed in
multiple data centers. The goal
of a CDN is to serve content to
end-users with high availability
and high performance.
Any assets in a CDN, are accessible anonymously!!!
CDNs para SPFx
Despliegue en el CDN de SharePoint
 Para producción
 Configurar el CDN de SharePoint
 Modificar el pointer en "config/write-manifests.json"
 Despliegue del Manifiesto al Catalogo de SharePoint
 Despliegue del código a una Biblioteca del CDN de SharePoint
 Modificación del código  desplegar de nuevo
Despliegue en el CDN de Azure
 Para producción
 Configurar Azure
 Modificar los datos en "config/deploy-azure-storage.json"
 Despliegue del Manifiesto al Catalogo de SharePoint
 Despliegue del código a Azure
 Modificación del código  desplegar de nuevo
- Diferentes formas de desplegar WebParts: para testeo, para
producción, a SharePoint o a los CDNs de SharePoint o Azure
- SPFx esta aquí para quedarse... Por el momento
- Si no maneja JavaScript, comience a aprenderlo, lo va a necesitar…
Preguntas
Sumario
Gold sponsors ______________
Silver sponsors
Bronze sponsors
Collaborate
Platinum sponsor
INSTALLATION
01 - Install NodeJS Long Term Support (LTS) (latest version) (https://nodejs.org/en/)
02 - Install npm --> npm install -g npm@3
03 - Install windows-build-tools --> npm install -g --production windows-build-tools
04 - Install Yeoman and Gulp --> npm install -g yo gulp
05 - Install Yeoman SharePoint generator --> npm install -g @microsoft/generator-sharepoint
WEBPART
06 - Create directory --> md blabla --> cd blabla
07 - Create project with Yeoman (5 min) --> yo @microsoft/sharepoint
08 - Start VS Code (don't forget " .") --> code .
09 - Install dev. certif. (only one time) --> gulp trust-dev-cert
DEPLOY TO LOCAL WORKBENCH
10 - Build and preview the WebPart --> gulp serve (stop with Ctrl+C)
DEPLOY TO SHAREPOINT FROM LOCAL
11 - Generate the package for SP Catalog --> gulp package-solution (Pack in "..sharepointsolution")
12 - Start Gulp in dev environment --> gulp serve --nobrowser
13 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page
DEPLOY TO SHAREPOINT FROM SHAREPOINT LIBRARY
14 - Create Library in SharePoint
15 - In "config/write-manifests.json" --> use the Library full path as cdnBasePath (and Save)
16 - Create the files to deploy --> gulp bundle --ship ("--ship" for release build version)
17 - Copy the generated files --> (files in "..tempdeploy") to the Library
18 - Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution")
19 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page
DEPLOY TO SHAREPOINT FROM SHAREPOINT CDN
20 - Configure SharePoint CDN --> Run Cmdlets to make one Library or folder the SharePoint CDN
Needs to have the SP Online PowerShell Cmdlets already installed (https://www.microsoft.com/en-
us/download/details.aspx?id=35588)
$creds = Get-Credential
Connect-SPOService -Url https://contoso-admin.sharepoint.com/ -Credential $creds
Set-SPOTenant -PublicCdnEnabled $true
New-SPOPublicCdnOrigin -Url "https://contoso.sharepoint.com/siteassets/folder1"
21 - Get the ID of the SP CDN Library --> Get-SPOPublicCdnOrigins (Copy the ID of the SharePoint CDN repository)
22 - In "config/write-manifests.json" --> use the following path as cdnBasePath (and Save)
"https://publiccdn.sharepointonline.com/<tenant host name>/<ID of the SharePoint CDN>/<sub-path under the origin>"
for example, if the Library is in the root of the Tenant:
"https://publiccdn.sharepointonline.com/contoso.sharepoint.com/17280044dc65df7..."
23 - Create the files to deploy --> gulp bundle --ship ("--ship" for release build version)
24 - Copy the generated files --> (files in "..tempdeploy") to the SP CDN Library
25 - Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution")
26 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page
DEPLOY TO SHAREPOINT FROM AZURE CDN
- In Azure create a Resource Group
- In the Resource Group create a Storage Account (example spfxstoragegavd)
- In the Storage create a Blob Container (example ss01webpart)
- In the Resource Group create a CDN Profile
- In the CDN Profile create a CDN Endpoint (example ss01webpartendpoint)
- In "config/deploy-azure-storage.json" --> Change the values (and save):
account == The Storage Account Name (in the example spfxstoragegavd)
container == The Blob Container Name (in the example ss01webpart)
accessKey == In the storage account dashboard, choose Access Key in the dashboard and copy the first access keys
- In "config/write-manifests.json" --> in the cdnBasePath use (and save):
"https:// + "Endpoint hostname" + ".azureedge.net/" + Name of the Container in the Storage Blob + "/"
in the example: "https://ss01webpartendpoint.azureedge.net/ss01webpart/")
- Buil the assets (.js, .css, etc.) --> gulp bundle --ship
- Deploy the assets to the Azure Storage --> gulp deploy-azure-storage
- Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution")
- Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page

More Related Content

What's hot

Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019Suhail Jamaldeen
 
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsShahed Chowdhuri
 
[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...European Collaboration Summit
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3DNN
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
Training on webwroks1
Training on webwroks1Training on webwroks1
Training on webwroks1sumeettechno
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a proMarko Heijnen
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...Mark Roden
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...Milan Matejic
 
Learn from my Mistakes - Building Better Solutions in SPFx
Learn from my  Mistakes - Building Better Solutions in SPFxLearn from my  Mistakes - Building Better Solutions in SPFx
Learn from my Mistakes - Building Better Solutions in SPFxThomas Daly
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaJohn Calvert
 
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformWordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformGeorge Kanellopoulos
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczMithun T. Dhar
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyMaarten Balliauw
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and PantheonPantheon
 
BrightGen's Summer 20 Salesforce Release Webinar
BrightGen's Summer 20 Salesforce Release WebinarBrightGen's Summer 20 Salesforce Release Webinar
BrightGen's Summer 20 Salesforce Release Webinarbrightgenss
 
Salesforce Winter 21 Release Webinar Deck
Salesforce Winter 21 Release Webinar DeckSalesforce Winter 21 Release Webinar Deck
Salesforce Winter 21 Release Webinar Deckbrightgenss
 

What's hot (20)

Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019Build SPFx Solutions for SharePoint 2019
Build SPFx Solutions for SharePoint 2019
 
ASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web AppsASP.NET Core 2.1: The Future of Web Apps
ASP.NET Core 2.1: The Future of Web Apps
 
[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...[Jansen] Transforming your classic team sites into modern group connected tea...
[Jansen] Transforming your classic team sites into modern group connected tea...
 
A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3A Look at New Features in DNN 7.3
A Look at New Features in DNN 7.3
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
Training on webwroks1
Training on webwroks1Training on webwroks1
Training on webwroks1
 
Extending WordPress as a pro
Extending WordPress as a proExtending WordPress as a pro
Extending WordPress as a pro
 
Introduction to Lightning Web Components
Introduction to Lightning Web ComponentsIntroduction to Lightning Web Components
Introduction to Lightning Web Components
 
The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...The future of web development write once, run everywhere with angular.js and ...
The future of web development write once, run everywhere with angular.js and ...
 
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 Implementing Certificate Based Authentication for HCL Traveler Access - Enga... Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
Implementing Certificate Based Authentication for HCL Traveler Access - Enga...
 
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
 
SharePoint On-Premises Nirvana
SharePoint On-Premises NirvanaSharePoint On-Premises Nirvana
SharePoint On-Premises Nirvana
 
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web PlatformWordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
Wordcamp Thessaloniki 2011 Wordpress and Microsoft Web Platform
 
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewiczSession 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
Session 3 - Developer Tools-Sharepoint firestarter-paul yuknewicz
 
Just another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudyJust another Wordpress weblog, but more cloudy
Just another Wordpress weblog, but more cloudy
 
Drupal 8 and Pantheon
Drupal 8 and PantheonDrupal 8 and Pantheon
Drupal 8 and Pantheon
 
BrightGen's Summer 20 Salesforce Release Webinar
BrightGen's Summer 20 Salesforce Release WebinarBrightGen's Summer 20 Salesforce Release Webinar
BrightGen's Summer 20 Salesforce Release Webinar
 
Salesforce Winter 21 Release Webinar Deck
Salesforce Winter 21 Release Webinar DeckSalesforce Winter 21 Release Webinar Deck
Salesforce Winter 21 Release Webinar Deck
 
Tutorial asp.net
Tutorial  asp.netTutorial  asp.net
Tutorial asp.net
 
Rutgers - Active Server Pages
Rutgers - Active Server PagesRutgers - Active Server Pages
Rutgers - Active Server Pages
 

Similar to CDNs para el SharePoint Framework (SPFx)

Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4Vijay Shukla
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - WebpackRazvan Rosu
 
[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
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)Geekstone
 
Advanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.comAdvanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.comInstaWP Inc
 
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
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!David Gibbons
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsPetr Jiricka
 
Deep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint FrameworkDeep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint FrameworkWaldek Mastykarz
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxNebulaworks
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinLeanIX GmbH
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerRESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerBertrand Delacretaz
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017Maarten Balliauw
 
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...Neil Shannon
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developerPaul Czarkowski
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseC4Media
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안양재동 코드랩
 

Similar to CDNs para el SharePoint Framework (SPFx) (20)

Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Introduction of webpack 4
Introduction of webpack 4Introduction of webpack 4
Introduction of webpack 4
 
Front-end build tools - Webpack
Front-end build tools - WebpackFront-end build tools - Webpack
Front-end build tools - Webpack
 
[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
 
The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)The next step from Microsoft - Vnext (Srdjan Poznic)
The next step from Microsoft - Vnext (Srdjan Poznic)
 
Advanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.comAdvanced WordPress Tooling: By InstaWP.com
Advanced WordPress Tooling: By InstaWP.com
 
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)
 
How to Webpack your Django!
How to Webpack your Django!How to Webpack your Django!
How to Webpack your Django!
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
 
nuxt-en.pdf
nuxt-en.pdfnuxt-en.pdf
nuxt-en.pdf
 
Deep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint FrameworkDeep-dive building solutions on the SharePoint Framework
Deep-dive building solutions on the SharePoint Framework
 
The App Developer's Kubernetes Toolbox
The App Developer's Kubernetes ToolboxThe App Developer's Kubernetes Toolbox
The App Developer's Kubernetes Toolbox
 
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp BerlinTech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
 
RESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with DockerRESTful OSGi middleware for NoSQL databases with Docker
RESTful OSGi middleware for NoSQL databases with Docker
 
NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017NuGet beyond Hello World - DotNext Piter 2017
NuGet beyond Hello World - DotNext Piter 2017
 
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
DevNexus 2017 - Building and Deploying 12 Factor Apps in Scala, Java, Ruby, a...
 
Spring Lab
Spring LabSpring Lab
Spring Lab
 
Kubernetes for the PHP developer
Kubernetes for the PHP developerKubernetes for the PHP developer
Kubernetes for the PHP developer
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
 

More from SUGES (SharePoint Users Group Españ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...SUGES (SharePoint Users Group España)
 
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuityHow to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuitySUGES (SharePoint Users Group España)
 

More from SUGES (SharePoint Users Group España) (18)

SharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNoteSharePoint Saturday Madrid 2017 - KeyNote
SharePoint Saturday Madrid 2017 - KeyNote
 
How to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use casesHow to use SharePoint PnP assets in real world use cases
How to use SharePoint PnP assets in real world use cases
 
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCoreDomotica #Skype4 b #IoT #Azure #Windows10IoTCore
Domotica #Skype4 b #IoT #Azure #Windows10IoTCore
 
Beyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of DelveBeyond cards: How to get the most out of Delve
Beyond cards: How to get the most out of Delve
 
Probots: Azure Bots y Project Online
Probots: Azure Bots y Project OnlineProbots: Azure Bots y Project Online
Probots: Azure Bots y Project Online
 
Cómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFxCómo gestionar el ciclo de vida de soluciones SPFx
Cómo gestionar el ciclo de vida de soluciones SPFx
 
Extending Microsoft Teams
Extending Microsoft TeamsExtending Microsoft Teams
Extending Microsoft Teams
 
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...
 
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuityHow to execute SharePoint 2016 upgrade strategy and ensure business continuity
How to execute SharePoint 2016 upgrade strategy and ensure business continuity
 
Bots & Teams: el poder de Grayskull
Bots & Teams: el poder de GrayskullBots & Teams: el poder de Grayskull
Bots & Teams: el poder de Grayskull
 
Análisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text AnalyticsAnálisis de sentimiento con Flow y Text Analytics
Análisis de sentimiento con Flow y Text Analytics
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 
Text Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogaciónText Analytics y Machine Learning como sistema de catalogación
Text Analytics y Machine Learning como sistema de catalogación
 
Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365Proyecto 360: Combinar lo mejor de Azure y Office 365
Proyecto 360: Combinar lo mejor de Azure y Office 365
 
Empowering SharePoint with search capabilities
Empowering SharePoint with search capabilitiesEmpowering SharePoint with search capabilities
Empowering SharePoint with search capabilities
 
SharePoint Framework y React
SharePoint Framework y ReactSharePoint Framework y React
SharePoint Framework y React
 
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
PowerApps, Flow y Power BI: Gestiona tus procesos corporativos.
 
Aprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure FunctionsAprovisionamiento remoto de SharePoint con Azure Functions
Aprovisionamiento remoto de SharePoint con Azure Functions
 

Recently uploaded

Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 

Recently uploaded (20)

Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 

CDNs para el SharePoint Framework (SPFx)

  • 1. May 20th, 2017 SharePoint Saturday Madrid CDNs para el SharePoint Framework SPFx Gustavo Velez
  • 2. Gustavo Velez MVP Office Servers And Services Portiva http://www.gavd.net gustavo@gavd.net http://www.compartimoss.com
  • 3.
  • 4. Introducción  Que es el SharePoint Framework SPFx  Configuración de maquinas de desarrollo  Creación de una WebPart  Y ahora que hago con mi código?  Conclusiones, preguntas, etc.
  • 5.
  • 6. SharePoint UX – Evolución a través de sus versiones 2009 SharePoint Server 2010 2006 Office SharePoint Server 2007 2003 SharePoint Portal Server 2003 2001 SharePoint Portal Server 2001 2012 SharePoint Server 2013 2016 … SharePoint Server 2016, SPO
  • 8. Y que son “Paginas Modernas”?
  • 10.
  • 11. IIS Express Project Templates Server/Client Side WebParts tool comparison MSBuild C#
  • 12. 1. Install developer tools 2. Install Yeoman and gulp 3. Install Yeoman SharePoint generator 4. Install optional tools Setting Up Your Computer: Steps
  • 14.
  • 15. 1. Create local directory 2. Create project using Yeoman 3. Codify using VS Code 4. Package using Gulp Creating a WebPart: Steps
  • 16. Demo Creación de una WebPart
  • 17.
  • 18. Y ahora, que hago con mi código?
  • 19. Y que hace SharePoint con mi código?
  • 20. Despliegue local  Solo para testeo  Despliegue al Workbench  Testeo de la interface  No conexión a datos (aunque se puede simular con datos falsos)  Modificación en código  visible de inmediato  Muy fácil para desplegar
  • 21. Despliegue local en SharePoint  Solo para testeo (use una Dev Site)  Despliegue del Manifiesto al Catalogo de SharePoint  Conexión a datos en vivo  Modificación en código  visible después de refresco de la pagina  Menos fácil que el Workbench. Mantener WebPart instalada
  • 22. Despliegue en una Biblioteca de SharePoint  Para producción  Modificar el pointer en "config/write-manifests.json"  Despliegue del Manifiesto al Catalogo de SharePoint  Despliegue del código a una Biblioteca de SharePoint  Modificación del código  desplegar de nuevo
  • 23. Que es un CDN (Content Deployment Network)  (Wikipedia) A Content Delivery Network or Content Distribution Network (CDN) is a globally distributed proxy servers network deployed in multiple data centers. The goal of a CDN is to serve content to end-users with high availability and high performance. Any assets in a CDN, are accessible anonymously!!!
  • 25. Despliegue en el CDN de SharePoint  Para producción  Configurar el CDN de SharePoint  Modificar el pointer en "config/write-manifests.json"  Despliegue del Manifiesto al Catalogo de SharePoint  Despliegue del código a una Biblioteca del CDN de SharePoint  Modificación del código  desplegar de nuevo
  • 26. Despliegue en el CDN de Azure  Para producción  Configurar Azure  Modificar los datos en "config/deploy-azure-storage.json"  Despliegue del Manifiesto al Catalogo de SharePoint  Despliegue del código a Azure  Modificación del código  desplegar de nuevo
  • 27.
  • 28. - Diferentes formas de desplegar WebParts: para testeo, para producción, a SharePoint o a los CDNs de SharePoint o Azure - SPFx esta aquí para quedarse... Por el momento - Si no maneja JavaScript, comience a aprenderlo, lo va a necesitar… Preguntas Sumario
  • 29. Gold sponsors ______________ Silver sponsors Bronze sponsors Collaborate Platinum sponsor
  • 30. INSTALLATION 01 - Install NodeJS Long Term Support (LTS) (latest version) (https://nodejs.org/en/) 02 - Install npm --> npm install -g npm@3 03 - Install windows-build-tools --> npm install -g --production windows-build-tools 04 - Install Yeoman and Gulp --> npm install -g yo gulp 05 - Install Yeoman SharePoint generator --> npm install -g @microsoft/generator-sharepoint WEBPART 06 - Create directory --> md blabla --> cd blabla 07 - Create project with Yeoman (5 min) --> yo @microsoft/sharepoint 08 - Start VS Code (don't forget " .") --> code . 09 - Install dev. certif. (only one time) --> gulp trust-dev-cert DEPLOY TO LOCAL WORKBENCH 10 - Build and preview the WebPart --> gulp serve (stop with Ctrl+C) DEPLOY TO SHAREPOINT FROM LOCAL 11 - Generate the package for SP Catalog --> gulp package-solution (Pack in "..sharepointsolution") 12 - Start Gulp in dev environment --> gulp serve --nobrowser 13 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page DEPLOY TO SHAREPOINT FROM SHAREPOINT LIBRARY 14 - Create Library in SharePoint 15 - In "config/write-manifests.json" --> use the Library full path as cdnBasePath (and Save) 16 - Create the files to deploy --> gulp bundle --ship ("--ship" for release build version) 17 - Copy the generated files --> (files in "..tempdeploy") to the Library 18 - Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution") 19 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page
  • 31. DEPLOY TO SHAREPOINT FROM SHAREPOINT CDN 20 - Configure SharePoint CDN --> Run Cmdlets to make one Library or folder the SharePoint CDN Needs to have the SP Online PowerShell Cmdlets already installed (https://www.microsoft.com/en- us/download/details.aspx?id=35588) $creds = Get-Credential Connect-SPOService -Url https://contoso-admin.sharepoint.com/ -Credential $creds Set-SPOTenant -PublicCdnEnabled $true New-SPOPublicCdnOrigin -Url "https://contoso.sharepoint.com/siteassets/folder1" 21 - Get the ID of the SP CDN Library --> Get-SPOPublicCdnOrigins (Copy the ID of the SharePoint CDN repository) 22 - In "config/write-manifests.json" --> use the following path as cdnBasePath (and Save) "https://publiccdn.sharepointonline.com/<tenant host name>/<ID of the SharePoint CDN>/<sub-path under the origin>" for example, if the Library is in the root of the Tenant: "https://publiccdn.sharepointonline.com/contoso.sharepoint.com/17280044dc65df7..." 23 - Create the files to deploy --> gulp bundle --ship ("--ship" for release build version) 24 - Copy the generated files --> (files in "..tempdeploy") to the SP CDN Library 25 - Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution") 26 - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page DEPLOY TO SHAREPOINT FROM AZURE CDN - In Azure create a Resource Group - In the Resource Group create a Storage Account (example spfxstoragegavd) - In the Storage create a Blob Container (example ss01webpart) - In the Resource Group create a CDN Profile - In the CDN Profile create a CDN Endpoint (example ss01webpartendpoint) - In "config/deploy-azure-storage.json" --> Change the values (and save): account == The Storage Account Name (in the example spfxstoragegavd) container == The Blob Container Name (in the example ss01webpart) accessKey == In the storage account dashboard, choose Access Key in the dashboard and copy the first access keys - In "config/write-manifests.json" --> in the cdnBasePath use (and save): "https:// + "Endpoint hostname" + ".azureedge.net/" + Name of the Container in the Storage Blob + "/" in the example: "https://ss01webpartendpoint.azureedge.net/ss01webpart/") - Buil the assets (.js, .css, etc.) --> gulp bundle --ship - Deploy the assets to the Azure Storage --> gulp deploy-azure-storage - Generate the package for SP Catalog --> gulp package-solution --ship (Pack in "..sharepointsolution") - Install package .sppkg in Catalog ==> Install App is Site Coll ==> Install WebPart in page

Editor's Notes

  1. This slide is mandatory. Please do not remove.
  2. This slide is mandatory. Please do not remove and try to use it during Q&A at the end of your session. Thank you!