SlideShare une entreprise Scribd logo
1  sur  43
#SPSNL17 - @thomasvochten @eliostruyf
SharePoint Saturday Netherlands 2017 | @thomasvochten @eliostruyf
SharePoint Framework for
the reluctant IT PRO
#SPSNL17 - @thomasvochten @eliostruyf
@thomasvochten
http://thomasvochten.com
mail@thomasvochten.com
Elio Struyf Thomas Vochten
@eliostruyf
http://eliostruyf.com
info@estruyf.be
Questions?
#SPSNL17 - @thomasvochten @eliostruyf
Questions
• Why did we need another development model?
• Why would we care as administrators?
• What do I need to know about the SharePoint Framework?
• How exactly are dark-themed command-line tools cool again?
• What about security?
• How do I control which customizations make it into my tenant?
• What about on-premises?
• Never mind. Show me some code!
SharePoint Development
A brief lesson in history
#SPSNL17 - @thomasvochten @eliostruyf
2001
SharePoint
Portal Server 2001
2003
SharePoint
Portal Server 2003
2006
Office SharePoint
Server 2007
2009
SharePoint
Server 2010
2012
SharePoint
Server 2013
2016
SharePoint
Server 2016
Add-in model
Sandboxed solutions
Farm solutions - Feature pack (FTC)
Full Trust Code
Microsoft
Managed Solutions
Microsoft
Online Services
Office 365
SPFx
#SPSNL17 - @thomasvochten @eliostruyf
What could go wrong with farm solutions?
#SPSNL17 - @thomasvochten @eliostruyf
What’s wrong with Sandboxed Solutions?
#SPSNL17 - @thomasvochten @eliostruyf
Add-Ins maybe?
• Still supported in SharePoint Online
• Can work side-by-side with SPFx
• Allow for great flexibility
• Can become complicated very quickly
• Use a different security model (IFrame)
• Are not responsive (IFrame)
• Can be distributed through the Store
#SPSNL17 - @thomasvochten @eliostruyf
Uncontrolled JavaScript code
• Much simpler than SharePoint Hosted Add-Ins
• But doesn’t use any model
• Typically through content/script editor webparts
• Heavy dependency on the DOM (Document Object Model)
• Tendency to break when SharePoint Online changes
• Difficult to control by the administrators: On or Off only
#SPSNL17 - @thomasvochten @eliostruyf
What can go wrong with client-side code?
• What runs where?
• How many scripts?
• Do you actually know
who wrote it?
• What happens when
your server crashes?
• …
SharePoint Framework (SPFx)
The new hotness
#SPSNL17 - @thomasvochten @eliostruyf
A better model for client-side development
• A unified and new way of working
• A set of development and deployment rules
• Tenant admins regain control over customizations
• Use the same tools as the product team
• Restrictions to development so SharePoint stays in control
#SPSNL17 - @thomasvochten @eliostruyf
SharePoint Framework v1.0.0
• Generally available since February 2017
• Focuses on user interface extensibility
• Currently only offers web-part like functionalities
• Uses client-side technologies
• Works with SharePoint Online
• New language, new tools, new frameworks
#SPSNL17 - @thomasvochten @eliostruyf
What is expected from you?
• Rather steep learning curve for seasoned SharePoint developers
• Embraces standard, modern web technologies
• A lot more freedom when it comes to tools
• Typically no Visual Studio is involved
#SPSNL17 - @thomasvochten @eliostruyf
Great, I want to use this on-premises too!
• SharePoint Server 2016 Feature Pack 2
• No support for older SharePoint versions
SPFx - the Tools
All about being modern
#SPSNL17 - @thomasvochten @eliostruyf
• Tooling
• Node.js
• Yeoman
• Gulp
• TypeScript
• Visual Studio (Code)
• Frameworks – Choose yours
• React
• Angular.js
• Knockout
• Etc.
Typical tooling for SharePoint Framework
#SPSNL17 - @thomasvochten @eliostruyf
Web stack tooling comparison
IIS Express
VS Project 
New  <Template>
#SPSNL17 - @thomasvochten @eliostruyf
Demo
SPFx tooling
SPFx Deployment &
Governance
It’s all about control
#SPSNL17 - @thomasvochten @eliostruyf
Deploying SPFx customizations
• .sppkg files are your new friends
• Deployed tenant-wide
• Remove or disable the solution if needed
• Just upload a new version when you need to
• SharePoint Admin Center offers some statistics
• Site collection administrator can add the solution to the site
• Backup your package files and your CDN artifacts
• It’s still all about trust!
#SPSNL17 - @thomasvochten @eliostruyf
Deployment model
• Deploy to the App Catalog
• Assets need to be deployed to a
location under your control
• Validation during deployment
process by the admin
• Important: do not give developers
permissions to the app catalog
and asset location
Approval process
#SPSNL17 - @thomasvochten @eliostruyf
SPFx in the Enterprise (aka The Real World)
Create a plan!
• Which tools to use and how to train your staff
• Which frameworks to use
• How and where to deploy (CDN)
• Application Lifecycle Management and DevOps
• Pro Tip: Unblock npm & GitHub sites in your firewall 
#SPSNL17 - @thomasvochten @eliostruyf
Demo
SPFx Solution deployment
Security
Get off my lawn!
It all runs in the context of the user
#SPSNL17 - @thomasvochten @eliostruyf
SharePoint Add-Ins have security isolation
But do you trust your developers?
#SPSNL17 - @thomasvochten @eliostruyf
Modern sites and “noscript”
• “Noscript” is by default enabled on Modern Sites
• What is the impact?
• No custom scripts on pages
• No JSLink in lists and libraries
• No custom actions
#SPSNL17 - @thomasvochten @eliostruyf
What about the file location?
#SPSNL17 - @thomasvochten @eliostruyf
What is a CDN?
Content & static assets
Website
#SPSNL17 - @thomasvochten @eliostruyf
What is a CDN?
Content
Website
CDN CDN
Static assets Static assets
#SPSNL17 - @thomasvochten @eliostruyf
Thoughts about using CDN’s
• Critical part of the deployment
• Choose a highly available & reliable one
• Security implications of using a CDN are potentially big
• Carefully consider and check every CDN in your organization
• Office 365 has its own CDN, can be enabled through PowerShell.
• Anonymous access!
#SPSNL17 - @thomasvochten @eliostruyf
Demo
Office 365 CDN
Questions?
www.biwug.be
@biwug
#SPSNL17 - @thomasvochten @eliostruyf
Resources
• https://dev.office.com/sharepoint
• https://eliostruyf.com
• http://www.andrewconnell.com
• https://blog.mastykarz.nl

Contenu connexe

Tendances

Tendances (20)

Connecticut Salesforce Developer Group - Jan 2017
Connecticut Salesforce Developer Group - Jan 2017Connecticut Salesforce Developer Group - Jan 2017
Connecticut Salesforce Developer Group - Jan 2017
 
Using Microsoft Flow for IT Professionals
Using Microsoft Flow for IT ProfessionalsUsing Microsoft Flow for IT Professionals
Using Microsoft Flow for IT Professionals
 
Dev Tools for Admins - Forcelandia 2016
Dev Tools for Admins - Forcelandia 2016Dev Tools for Admins - Forcelandia 2016
Dev Tools for Admins - Forcelandia 2016
 
Logic Apps – Deployments
Logic Apps – DeploymentsLogic Apps – Deployments
Logic Apps – Deployments
 
Microsoft Flow and PowerShell combined to automate everything
Microsoft Flow and PowerShell combined to automate everythingMicrosoft Flow and PowerShell combined to automate everything
Microsoft Flow and PowerShell combined to automate everything
 
Be a Modern SharePoint Developer
Be a Modern SharePoint DeveloperBe a Modern SharePoint Developer
Be a Modern SharePoint Developer
 
Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!Automate yourself out of a job - Use ChatOps!
Automate yourself out of a job - Use ChatOps!
 
SharePoint Framework
SharePoint FrameworkSharePoint Framework
SharePoint Framework
 
Create Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutesCreate Salesforce online IDE in 30 minutes
Create Salesforce online IDE in 30 minutes
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform TutorialECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
 
O365Engage17 - Hybrid flow and power apps
O365Engage17 - Hybrid flow and power appsO365Engage17 - Hybrid flow and power apps
O365Engage17 - Hybrid flow and power apps
 
Azure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and moreAzure Integration in Production with Logic Apps and more
Azure Integration in Production with Logic Apps and more
 
Automate it with Azure Functions
Automate it with Azure FunctionsAutomate it with Azure Functions
Automate it with Azure Functions
 
Share conference 2016 nintex
Share conference 2016 nintexShare conference 2016 nintex
Share conference 2016 nintex
 
Extend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph APIExtend Microsoft Flow Capabilities Using Microsoft Graph API
Extend Microsoft Flow Capabilities Using Microsoft Graph API
 
Advanced PowerShell for Office 365
Advanced PowerShell for Office 365Advanced PowerShell for Office 365
Advanced PowerShell for Office 365
 
Create awesome Azure Functions with PowerShell
Create awesome Azure Functions with PowerShellCreate awesome Azure Functions with PowerShell
Create awesome Azure Functions with PowerShell
 
What's new in SharePoint Server 2019
What's new in SharePoint Server 2019What's new in SharePoint Server 2019
What's new in SharePoint Server 2019
 
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
 
O365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van RousseltO365Con18 - Git and GitHub - Rick van Rousselt
O365Con18 - Git and GitHub - Rick van Rousselt
 

Similaire à SPSNL17 - Getting started with SharePoint development for the reluctant IT Pro - Elio Struyf & Thomas Vochten

Surviving in a Microservices Environment
Surviving in a Microservices EnvironmentSurviving in a Microservices Environment
Surviving in a Microservices Environment
Steve Pember
 
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
JAXLondon2014
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
Louis-Philippe Lavoie
 

Similaire à SPSNL17 - Getting started with SharePoint development for the reluctant IT Pro - Elio Struyf & Thomas Vochten (20)

DevOps & the Dark Side 10 ways to convince your team DevOps is a force for good
DevOps & the Dark Side 10 ways to convince your team DevOps is a force for goodDevOps & the Dark Side 10 ways to convince your team DevOps is a force for good
DevOps & the Dark Side 10 ways to convince your team DevOps is a force for good
 
SPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooksSPUnite17 Getting Notified by SharePoint with WebHooks
SPUnite17 Getting Notified by SharePoint with WebHooks
 
Surviving in a Microservices Environment
Surviving in a Microservices EnvironmentSurviving in a Microservices Environment
Surviving in a Microservices Environment
 
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
 
JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"
JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"
JAX London 2014 "Moving to DevOps Mode: easy, hard or just plain terrifying?"
 
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
 
BrainQuest-DevOps
BrainQuest-DevOpsBrainQuest-DevOps
BrainQuest-DevOps
 
SPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint FrameworkSPUnite17 Making Sense of the SharePoint Framework
SPUnite17 Making Sense of the SharePoint Framework
 
Building rich interface components with SharePoint
Building rich interface components with SharePointBuilding rich interface components with SharePoint
Building rich interface components with SharePoint
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
SPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic AppsSPUnite17 Introducing Logic Apps
SPUnite17 Introducing Logic Apps
 
GeeCON 2015 DevOps and the dark side
GeeCON 2015 DevOps and the dark side GeeCON 2015 DevOps and the dark side
GeeCON 2015 DevOps and the dark side
 
15 tips for bullet proof requirements analysis on SharePoint projects
15 tips for bullet proof requirements analysis on SharePoint projects15 tips for bullet proof requirements analysis on SharePoint projects
15 tips for bullet proof requirements analysis on SharePoint projects
 
DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"
DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"
DevoxxUK 2014 "Moving to a DevOps Mode: Easy, Hard, or Just Plain Terrifying?"
 
It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready? It's gonna be PowerApps and Flow - are you ready?
It's gonna be PowerApps and Flow - are you ready?
 
PnP Monthly Community Call - December 2017
PnP Monthly Community Call - December 2017PnP Monthly Community Call - December 2017
PnP Monthly Community Call - December 2017
 
ChatOps Workshop
ChatOps WorkshopChatOps Workshop
ChatOps Workshop
 
Planning for Office 365 Mobile Access
Planning for Office 365 Mobile AccessPlanning for Office 365 Mobile Access
Planning for Office 365 Mobile Access
 
Design Tokens For Dummies
Design Tokens For DummiesDesign Tokens For Dummies
Design Tokens For Dummies
 
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
SPSToronto: SharePoint 2016 - Hybrid, right choice for you and your organizat...
 

Plus de DIWUG

Plus de DIWUG (10)

SPSNL17 - Integratie van Microsoft Teams met het Bot Framework - Michael Homp...
SPSNL17 - Integratie van Microsoft Teams met het Bot Framework - Michael Homp...SPSNL17 - Integratie van Microsoft Teams met het Bot Framework - Michael Homp...
SPSNL17 - Integratie van Microsoft Teams met het Bot Framework - Michael Homp...
 
SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...
SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...
SPSNL17 - Secure Collaboration: Start classifying, labeling, and protecting y...
 
SPSNL17 - Custom SharePoint integration for Dynamics365 - Martijn Eikelenboom
SPSNL17 - Custom SharePoint integration for Dynamics365 - Martijn EikelenboomSPSNL17 - Custom SharePoint integration for Dynamics365 - Martijn Eikelenboom
SPSNL17 - Custom SharePoint integration for Dynamics365 - Martijn Eikelenboom
 
SPSNL17 - Content publishing and communication strategies for Office 365 and ...
SPSNL17 - Content publishing and communication strategies for Office 365 and ...SPSNL17 - Content publishing and communication strategies for Office 365 and ...
SPSNL17 - Content publishing and communication strategies for Office 365 and ...
 
SPSNL17 - How to solve Azure AD Connect sync issues - Arjan Cornelissen
SPSNL17 - How to solve Azure AD Connect sync issues - Arjan CornelissenSPSNL17 - How to solve Azure AD Connect sync issues - Arjan Cornelissen
SPSNL17 - How to solve Azure AD Connect sync issues - Arjan Cornelissen
 
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel HamersSPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
SPSNL17 - Introductie HoloLens - Augmented Reality in 2017 - Michiel Hamers
 
SPSNL17 - Adoption, I love it when a plan comes together - Katharina Schroeder
SPSNL17 - Adoption, I love it when a plan comes together - Katharina SchroederSPSNL17 - Adoption, I love it when a plan comes together - Katharina Schroeder
SPSNL17 - Adoption, I love it when a plan comes together - Katharina Schroeder
 
SPSNL17 - Delivering the promise of Software as a Service with Hybrid solutio...
SPSNL17 - Delivering the promise of Software as a Service with Hybrid solutio...SPSNL17 - Delivering the promise of Software as a Service with Hybrid solutio...
SPSNL17 - Delivering the promise of Software as a Service with Hybrid solutio...
 
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
SPSNL17 - Securing Office 365 and Microsoft Azure like a rock star (or groupi...
 
SPSNL17 - The business & end-user guide into the new and modern SharePoint! -...
SPSNL17 - The business & end-user guide into the new and modern SharePoint! -...SPSNL17 - The business & end-user guide into the new and modern SharePoint! -...
SPSNL17 - The business & end-user guide into the new and modern SharePoint! -...
 

Dernier

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 

Dernier (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

SPSNL17 - Getting started with SharePoint development for the reluctant IT Pro - Elio Struyf & Thomas Vochten

  • 1. #SPSNL17 - @thomasvochten @eliostruyf SharePoint Saturday Netherlands 2017 | @thomasvochten @eliostruyf SharePoint Framework for the reluctant IT PRO
  • 3. @thomasvochten http://thomasvochten.com mail@thomasvochten.com Elio Struyf Thomas Vochten @eliostruyf http://eliostruyf.com info@estruyf.be
  • 5. #SPSNL17 - @thomasvochten @eliostruyf Questions • Why did we need another development model? • Why would we care as administrators? • What do I need to know about the SharePoint Framework? • How exactly are dark-themed command-line tools cool again? • What about security? • How do I control which customizations make it into my tenant? • What about on-premises? • Never mind. Show me some code!
  • 6. SharePoint Development A brief lesson in history
  • 7. #SPSNL17 - @thomasvochten @eliostruyf 2001 SharePoint Portal Server 2001 2003 SharePoint Portal Server 2003 2006 Office SharePoint Server 2007 2009 SharePoint Server 2010 2012 SharePoint Server 2013 2016 SharePoint Server 2016 Add-in model Sandboxed solutions Farm solutions - Feature pack (FTC) Full Trust Code Microsoft Managed Solutions Microsoft Online Services Office 365 SPFx
  • 8. #SPSNL17 - @thomasvochten @eliostruyf What could go wrong with farm solutions?
  • 9.
  • 10. #SPSNL17 - @thomasvochten @eliostruyf What’s wrong with Sandboxed Solutions?
  • 11. #SPSNL17 - @thomasvochten @eliostruyf Add-Ins maybe? • Still supported in SharePoint Online • Can work side-by-side with SPFx • Allow for great flexibility • Can become complicated very quickly • Use a different security model (IFrame) • Are not responsive (IFrame) • Can be distributed through the Store
  • 12. #SPSNL17 - @thomasvochten @eliostruyf Uncontrolled JavaScript code • Much simpler than SharePoint Hosted Add-Ins • But doesn’t use any model • Typically through content/script editor webparts • Heavy dependency on the DOM (Document Object Model) • Tendency to break when SharePoint Online changes • Difficult to control by the administrators: On or Off only
  • 13.
  • 14. #SPSNL17 - @thomasvochten @eliostruyf What can go wrong with client-side code? • What runs where? • How many scripts? • Do you actually know who wrote it? • What happens when your server crashes? • …
  • 16. #SPSNL17 - @thomasvochten @eliostruyf A better model for client-side development • A unified and new way of working • A set of development and deployment rules • Tenant admins regain control over customizations • Use the same tools as the product team • Restrictions to development so SharePoint stays in control
  • 17. #SPSNL17 - @thomasvochten @eliostruyf SharePoint Framework v1.0.0 • Generally available since February 2017 • Focuses on user interface extensibility • Currently only offers web-part like functionalities • Uses client-side technologies • Works with SharePoint Online • New language, new tools, new frameworks
  • 18. #SPSNL17 - @thomasvochten @eliostruyf What is expected from you? • Rather steep learning curve for seasoned SharePoint developers • Embraces standard, modern web technologies • A lot more freedom when it comes to tools • Typically no Visual Studio is involved
  • 19. #SPSNL17 - @thomasvochten @eliostruyf Great, I want to use this on-premises too! • SharePoint Server 2016 Feature Pack 2 • No support for older SharePoint versions
  • 20. SPFx - the Tools All about being modern
  • 21. #SPSNL17 - @thomasvochten @eliostruyf • Tooling • Node.js • Yeoman • Gulp • TypeScript • Visual Studio (Code) • Frameworks – Choose yours • React • Angular.js • Knockout • Etc. Typical tooling for SharePoint Framework
  • 22. #SPSNL17 - @thomasvochten @eliostruyf Web stack tooling comparison IIS Express VS Project  New  <Template>
  • 23. #SPSNL17 - @thomasvochten @eliostruyf Demo SPFx tooling
  • 25. #SPSNL17 - @thomasvochten @eliostruyf Deploying SPFx customizations • .sppkg files are your new friends • Deployed tenant-wide • Remove or disable the solution if needed • Just upload a new version when you need to • SharePoint Admin Center offers some statistics • Site collection administrator can add the solution to the site • Backup your package files and your CDN artifacts • It’s still all about trust!
  • 26. #SPSNL17 - @thomasvochten @eliostruyf Deployment model • Deploy to the App Catalog • Assets need to be deployed to a location under your control • Validation during deployment process by the admin • Important: do not give developers permissions to the app catalog and asset location
  • 28.
  • 29. #SPSNL17 - @thomasvochten @eliostruyf SPFx in the Enterprise (aka The Real World) Create a plan! • Which tools to use and how to train your staff • Which frameworks to use • How and where to deploy (CDN) • Application Lifecycle Management and DevOps • Pro Tip: Unblock npm & GitHub sites in your firewall 
  • 30. #SPSNL17 - @thomasvochten @eliostruyf Demo SPFx Solution deployment
  • 32. It all runs in the context of the user
  • 33. #SPSNL17 - @thomasvochten @eliostruyf SharePoint Add-Ins have security isolation
  • 34. But do you trust your developers?
  • 35. #SPSNL17 - @thomasvochten @eliostruyf Modern sites and “noscript” • “Noscript” is by default enabled on Modern Sites • What is the impact? • No custom scripts on pages • No JSLink in lists and libraries • No custom actions
  • 36. #SPSNL17 - @thomasvochten @eliostruyf What about the file location?
  • 37. #SPSNL17 - @thomasvochten @eliostruyf What is a CDN? Content & static assets Website
  • 38. #SPSNL17 - @thomasvochten @eliostruyf What is a CDN? Content Website CDN CDN Static assets Static assets
  • 39. #SPSNL17 - @thomasvochten @eliostruyf Thoughts about using CDN’s • Critical part of the deployment • Choose a highly available & reliable one • Security implications of using a CDN are potentially big • Carefully consider and check every CDN in your organization • Office 365 has its own CDN, can be enabled through PowerShell. • Anonymous access!
  • 40. #SPSNL17 - @thomasvochten @eliostruyf Demo Office 365 CDN
  • 43. #SPSNL17 - @thomasvochten @eliostruyf Resources • https://dev.office.com/sharepoint • https://eliostruyf.com • http://www.andrewconnell.com • https://blog.mastykarz.nl

Notes de l'éditeur

  1. How farm solutions are bad. How farm solutions are created.
  2. Great for admins, not so great for developers
  3. SharePoint will also support open source tooling to drive greater efficiencies when developing Parts and Apps. These tools should not be considered a replacement of an organizations traditional tools, but rather an extension of those, providing new opportunities to quickly get up and running with SharePoint development. If you’re familiar with Visual Studio development with SharePoint, this tools carry a lot of similarities with the tools you may already be familiar with for example: Yeoman provides a generator ecosystem. A generator is basically a plugin that can be run with the `yo` command to scaffold complete projects or useful parts. yo scaffolds out a new application, writing your build configuration (e.g Gruntfile, Gulpfile) and pulling in relevant build tasks and package manager dependencies (Bower, npm) that you might need for your build. This is similar to Project Scaffolding in Visual Studio. Gulp Automation - gulp is a toolkit that helps you automate painful or time-consuming tasks in your development workflow. Platform-agnostic - Integrations are built into all major IDEs and people are using gulp with PHP, .NET, Node.js, Java, and other platforms. Strong Ecosystem - Use npm modules to do anything you want + over 2000 curated plugins for streaming file transformations Simple - By providing only a minimal API surface, gulp is easy to learn and simple to use Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world. event driven JavaScript runtime, Node is designed to build scalable network applications similar to VS SharePoint development: Gulp = MSBuild, NodeJS = IIS (Express), YeoMan = project scafolding in VS, TypeScript= typed superset of JavaScript
  4. Office 365 – Postman demo - https://publiccdn.sharepointonline.com/estruyfdev.sharepoint.com/spfxassets/script3.js – Referer: https://estruyfdev.sharepoint.com
  5. Cfr artikel van Elio