SlideShare ist ein Scribd-Unternehmen logo
1 von 136
M365 Philly Virtual
July 22, 2020 – Online Conference
Bootcamp Outline
ī‚š Session 1
ī‚š Getting Started
ī‚š O365 Developer Program
ī‚š Tenant Setup
ī‚š Client Setup
ī‚š Intro to SPFx
ī‚š Session 2
ī‚š Building You First Web Part
ī‚š Scaffolding
ī‚š Building
ī‚š Deployment
ī‚š Pulling Data from SharePoint
ī‚š Intro to PnP-JS
ī‚š Intro to PnP-JS
ī‚š Session 3
ī‚š Intro to React
ī‚š Rebuild Part Using React
ī‚š Intro to Office UI Fabric
ī‚š Text Box
ī‚š Button
ī‚š Creating New Items via PnP
ī‚š Session 4
ī‚š SPFx in Teams
ī‚š Building a Package for Teams
ī‚š Creating Teams Tab
About Me
ī‚š SharePoint Collaboration Director @ SoHo Dragon - NYC
ī‚š Branding & Developer for SharePoint / Office 365
ī‚š Focused on the UI side of things
ī‚š Community Involvement
ī‚š Speaker [Branding & Front End Development]
ī‚š NJ SharePoint User Group Organizer
ī‚š SharePoint Saturday NYC Organizer
ī‚š NJ & NYC Global Office 365 Dev Bootcamp Organizer 2017
ī‚š NJ Azure Bootcamp Organizer
ī‚š SharePoint Saturday NJ Organizer [2013-2014]
ī‚š My SharePoint Blog
ī‚š Git Hub [corp directory controls / o365 sticky footer / bootstrap navigation]
Twitter: @_tomdaly_
Session 1
Getting Started - Setting up Tenant / Environment
Bootcamp Outline
ī‚š Session 1
ī‚š Getting Started
ī‚š O365 Developer Program
ī‚š Tenant Setup
ī‚š Client Setup
ī‚š Intro to SPFx
ī‚š Session 2
ī‚š Building You First Web Part
ī‚š Scaffolding
ī‚š Building
ī‚š Deployment
ī‚š Pulling Data from SharePoint
ī‚š Intro to PnP-JS
ī‚š Intro to PnP-JS
ī‚š Session 3
ī‚š Intro to React
ī‚š Rebuild Part Using React
ī‚š Intro to Office UI Fabric
ī‚š Text Box
ī‚š Button
ī‚š Creating New Items via PnP
ī‚š Session 4
ī‚š SPFx in Teams
ī‚š Building a Package for Teams
ī‚š Creating Teams Tab
Office 365 Developer Subscription
ī‚š Sign up – Online, FREE [Required Live Account]
ī‚š https://developer.microsoft.com/en-us/office/dev-program
ī‚š Starting in April 2019, we offer renewable 90-day subscriptions
ī‚š What's included in the developer subscription?
ī‚š Office 365 E3 – 25 User License
ī‚š SharePoint, Teams â€Ļ. everything else
Office 365 Tenant Setup
Create App Catalog Site
ī‚š Go to the Classic SharePoint Admin Center by entering the following URL in your browser.
Replace yourtenantprefix with your Office 365 tenant prefix.
ī‚š https://yourtenantprefix-admin.sharepoint.com
ī‚š In the left sidebar, select the Classic Features > apps menu item, and then select app catalog.
ī‚š Select OK to create a new app catalog site.
ī‚š On the next page, enter the following details:
ī‚š Title: Enter app catalog.
ī‚š Web Site Address suffix: Enter your preferred suffix for the app catalog; for example: apps.
ī‚š Administrator: Enter your username, and then select the resolve button to resolve the username.
ī‚š Select OK to create the app catalog site.
ī‚š SharePoint creates the app catalog site, and you are able to see its progress in the SharePoint admin
center.
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer-
tenant#to-create-an-app-catalog-site
Create Test Site Collection
ī‚š Go to the SharePoint Admin Center by entering the following URL in your browser.
Replace yourtenantprefix with your Office 365 tenant prefix.
ī‚š https://yourtenantprefix-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx
ī‚š In the left sidebar, select Sites > Active Sites.
ī‚š In the toolbar, select Create.
ī‚š In the Create a site dialog, select Communication Site.
ī‚š In the panel that appears, enter the following details:
ī‚š Choose a design: choose blank.
ī‚š Site name: Enter a title for your site; for example: Test Site.
ī‚š Site owner: Specify the name / email address of the site owner.
ī‚š Select Finish to create the site collection.
Using Existing Tenant?
ī‚š Don’t want to pollute global app catalog
ī‚š We can do site collection based app catalog to isolate your developments
Connect-SPOService -Url https://{TENANT}-admin.sharepoint.com
$site = Get-SPOSite https://{TENANT}.sharepoint.com/sites/{SITE}
Add-SPOSiteCollectionAppCatalog -Site $site
ī‚š See Team Member for assistance
ī‚š https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog
Development Environment
Software / Tooling
ī‚š Install NodeJS
ī‚š Install NodeJS LTS version 10
ī‚š Install a code editor
ī‚š Visual Studio Code
ī‚š Install Yeoman and gulp
ī‚š npm install -g yo gulp
ī‚š Install Yeoman SharePoint generator
ī‚š npm install -g @microsoft/generator-
sharepoint
ī‚š Trusting the self-signed developer certificate
ī‚š Do this after creating your first project
ī‚š gulp trust-dev-cert
ī‚š Install Google Chrome
ī‚š optional but recommended
ī‚š Extensions
ī‚š SP Editor
ī‚š React Developer Tools
ī‚š Internet Explorer 11
ī‚š Not Good for Web Development
https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development-
environment
Node.JS
As an asynchronous event-driven JavaScript
runtime
â€Ļruns JavaScript files on your computer
Get version 10.x for SPFx Development!
https://nodejs.org/dist/latest-v10.x/
Node Package Manager
ī‚š Online repository of packages
ī‚š Allows for quick installation into your projects
ī‚š Packages developed by 3rd party
individuals/teams on GitHub
ī‚š â€Ļsimilar to Android/iOS app store but for
JavaScript.
Yeoman
ī‚š ‘yo‘ scaffolds out a new application
ī‚š Writing your build configuration (e.g Gulpfile)
ī‚š Pulling in relevant build tasks and package
manager dependencies (e.g npm)
ī‚š Uses ‘generators’ which define the scaffolding
workflow
ī‚š â€Ļbased on a ‘template’, creates directories,
sets up project files and downloads
dependencies
Gulp
ī‚š A toolkit to automate & enhance your
workflow
ī‚š Automate slow, repetitive workflows and
compose them into efficient build pipelines.
ī‚š â€Ļtask runner to do very simple tasks in parallel
or series
Webpack
ī‚š Used to compile JavaScript modules.
ī‚š Handles dependencies between modules
automatically
ī‚š Transpiles Code
ī‚š â€Ļtakes all your files + dependencies [npm
packages] and creates 1 JavaScript file
TypeScript
ī‚š Open Source language developed
by Microsoft
ī‚š Superset of JavaScript
ī‚š Compiles to plain JavaScript
ī‚š Brings strong type checking /
compile-time error checks
ī‚š â€Ļmakes JavaScript more like C#,
typing, object oriented
programming concepts classes,
interfaces, inheritance
Intro to SPFx
SharePoint Framework (SPFx)
ī‚š Page / Web Part model that provides full support for client-side SharePoint development
ī‚š Easy integration with SharePoint data
ī‚š Support for Open Source tooling
ī‚š “The” customization model for Office 365
ī‚š Support for SharePoint 2016 Feature Pack 2, SharePoint 2019, & Office 365
Key Features
ī‚š It runs in the context of the current user and connection in the browser.
ī‚š NO iframes(JavaScript is embedded directly to the page).
ī‚š The controls are rendered in the normal page DOM.
ī‚š It is framework-agnostic. You can use any JavaScript framework that you like: React, Handlebars,
Knockout, Angular, and more.
ī‚š The toolchain is based on common open source client development tools such as npm,
TypeScript, Yeoman, webpack, and gulp.
ī‚š End users can use SPFx client-side solutions that are approved by the tenant administrators (or
their delegates) on all sites, including self-service team, group, or personal sites.
ī‚š SPFx web parts can be added to both classic and modern pages.
Session 2
First Look at SPFx - Building your first web part, talking to SharePoint via REST & PnP-JS
Bootcamp Outline
ī‚š Session 1
ī‚š Getting Started
ī‚š O365 Developer Program
ī‚š Tenant Setup
ī‚š Client Setup
ī‚š Intro to SPFx
ī‚š Session 2
ī‚š Building You First Web Part
ī‚š Scaffolding
ī‚š Building
ī‚š Deployment
ī‚š Pulling Data from SharePoint
ī‚š Intro to PnP-JS
ī‚š Intro to PnP-JS
ī‚š Part 3
ī‚š Intro to React
ī‚š Rebuild Part 2 using React
ī‚š Intro to Office UI Fabric
ī‚š Text Box
ī‚š Button
ī‚š Creating New Items via PnP
ī‚š Part 4
ī‚š SPFx in Teams
ī‚š Building a Package for Teams
ī‚š Creating Teams Tab
Building Your First Web Part
Create Web Part Project
ī‚š Create a new project directory in your favorite location.
ī‚š md helloworld-webpart
ī‚š Go to the project directory.
ī‚š cd helloworld-webpart
ī‚š Create a new HelloWorld web part by running the Yeoman SharePoint Generator.
ī‚š yo @microsoft/sharepoint
Create Web Part Project (cont)
ī‚š When prompted:
ī‚š Accept the default helloworld-webpart as your solution name, and then select Enter.
ī‚š Select SharePoint Online only (latest), and select Enter.
ī‚š Select Use the current folder for where to place the files.
ī‚š Select N to allow the solution to be deployed to all sites immediately.
ī‚š Select N on the question if solution contains unique permissions.
ī‚š Select WebPart as the client-side component type to be created.
Create Web Part Project (cont)
ī‚š The next set of prompts ask for
specific information about your web
part:
ī‚š Accept the default HelloWorld as
your web part name, and then
select Enter.
ī‚š Accept the default HelloWorld
description as your web part
description, and then select Enter.
ī‚š Accept the default No JavaScript
web framework as the framework
you would like to use, and then
select Enter.1
Create Web Part Project (cont)
ī‚š At this point, Yeoman installs the
required dependencies and
scaffolds the solution files along
with the HelloWorld web part. This
might take a few minutes.
ī‚š When the scaffold is complete, you
should see the following message
indicating a successful scaffold.
Preview the web part
ī‚š Enter the following command in the
console to open VS Code:
ī‚š code .
ī‚š Enter the following to open the
Terminal in VS Code
ī‚š CTRL + `
ī‚š Enter the following command in the
terminal to build and preview your
web part:
ī‚š gulp serve
What is Happening?
ī‚š SharePoint client-side development tools use gulp as the task runner to handle build process
tasks such as:
ī‚š Bundling and minifying JavaScript and CSS files.
ī‚š Running tools to call the bundling and minification tasks before each build.
ī‚š Compiling SASS files to CSS.
ī‚š Compiling TypeScript files to JavaScript.
SharePoint Workbench
ī‚š Developer design
surface that enables
you to quickly preview
and test web parts
without deploying them
in SharePoint.
Add Your Web Part
ī‚š To add the HelloWorld web part, select the add icon (this icon
appears when you mouse hovers over a section as shown in the
previous image).
ī‚š This opens the toolbox where you can see a list of web parts
available for you to add. The list includes the HelloWorld web
part as well other web parts available locally in your
development environment.
Add Your Web Part (cont)
ī‚š Select HelloWorld to add the web
part to the page.
Congratulations
You have successfully deployed your first SPFx web part
Deploying to SharePoint
Packaging the Web Part
ī‚š If gulp serve is still running, stop it from running by hitting, ctrl + C
ī‚š In the console window, enter the following command to package your client-side solution that
contains the web part:
ī‚š gulp clean
ī‚š gulp build --ship
ī‚š gulp bundle --ship
ī‚š gulp package-solution –-ship
For dev builds you don’t need the –ship but then you must be running gulp serve
Simple Build Script for the SharePoint Framework
Deploy to App Catalog
ī‚š Go to your site's app catalog.
ī‚š Upload or drag and drop
the helloworld-webpart.sppkg to
the app catalog.
Deploy to App Catalog (cont)
ī‚š This deploys the client-side
solution package. Because this is
a full trust client-side solution,
SharePoint displays a dialog and
asks you to trust the client-side
solution to deploy.
ī‚š Select Deploy.
ī‚š Notice that you can see if there's
any exceptions or issues in the
package by looking the App
Package Error Message column in
the app catalog.
Add to SharePoint Site
Install App in Site
ī‚š Go to your developer site
collection or site collection
which you want to use for
testing
ī‚š Select the gears icon on the
top nav bar on the right, and
then select Add an app to go
to your Apps page.
ī‚š In the Search box,
enter helloworld, and select
Enter to filter your apps.
Install App in Site (cont)
ī‚š Select the helloworld-
webpart-client-side-
solution app to install the
app on the site.
ī‚š The client-side solution
and the web part are
installed on your
developer site.
Add Web Part to Modern Page
ī‚š In your browser, go to your site
where the solution was just
installed.
ī‚š Select the gears icon in the top
nav bar on the right, and then
select Add a page.
ī‚š Edit the page.
ī‚š Open the web part picker and
select your HelloWorld web
part.
Congratulations
You have successfully deployed your first SPFx web part
Communicating with SharePoint
Create a Custom List
ī‚š Navigate to your site
ī‚š Gear > Add an app > Custom List
ī‚š Name: Test
ī‚š Make at least 2 items
Live Development
ī‚š Enter the following command in the console to build and
preview your web part:
ī‚š gulp serve
ī‚š On the Page with the webpart add the following to the end of
the url
ī‚š ?loadSPFX=true&debugManifestsFile=https://localhost
:4321/temp/manifests.js
ī‚š BONUS: use SP-Editor [Chrome Extension] to load debug url
Modify Code / Verify Connection
Refresh the Browser
Import spHttpClient
Scroll to the top of the HelloWorldWebPart.ts file
Update DOM in Render Function
Add Get List Items Function in Render
Add Get List Items Function
Add Render List Items Function
Refresh the Browser
Congratulations
You have successfully communicated with SharePoint list data
Intro to PnP-JS
What is PnP-JS?
ī‚š PnP-JS is a collection of fluent
libraries for consuming SharePoint,
Graph, and Office 365 REST APIs in
a type-safe way.
ī‚š Benefits:
ī‚š Intellisense
ī‚š Typing
ī‚š Asynchronous
ī‚š Caching
ī‚š Clear Code Intent
ī‚š Abstraction
ī‚š Open Source
Getting Started
ī‚š Install
ī‚š npm install
@pnp/logging
@pnp/common
@pnp/odata @pnp/sp
@pnp/graph --save
ī‚š Establish Context
ī‚š See Right Image
Stop any running gulp serve before installing
Import SP Library
Add Get List Items Function via PnP-JS
Replace Get List Items Call
Refresh the Browser
Congratulations
You have successfully communicated with SharePoint list data via PnP-JS
Session 3
Intro to React & Office UI Fabric
Bootcamp Outline
ī‚š Session 1
ī‚š Getting Started
ī‚š O365 Developer Program
ī‚š Tenant Setup
ī‚š Client Setup
ī‚š Intro to SPFx
ī‚š Session 2
ī‚š Building You First Web Part
ī‚š Scaffolding
ī‚š Building
ī‚š Deployment
ī‚š Pulling Data from SharePoint
ī‚š Intro to PnP-JS
ī‚š Intro to PnP-JS
ī‚š Session 3
ī‚š Intro to React
ī‚š Rebuild Part 2 using React
ī‚š Intro to Office UI Fabric
ī‚š Text Box
ī‚š Button
ī‚š Creating New Items via PnP
ī‚š Session 4
ī‚š SPFx in Teams
ī‚š Building a Package for Teams
ī‚š Creating Teams Tab
Intro to React
What is React?
ī‚š JavaScript library for building user interfaces
ī‚š At a minimum, know this:
ī‚š Components: These are the building blocks of your app. You want to make them as modular as possible.
ī‚š State: internal data, that when changed caused the UI to re-render. You own this data.
ī‚š Props: data / functions, passed to a component. You don’t own this data.
ī‚š Life Cycle Methods: functions that do things at certain points
Building Your First React
Web Part
Create React Web Part Project
ī‚š Create a new project directory in your favorite location.
ī‚š md helloworld-webpart-2
ī‚š Go to the project directory.
ī‚š cd helloworld-webpart-2
ī‚š Create a new HelloWorld web part by running the Yeoman SharePoint Generator.
ī‚š yo @microsoft/sharepoint
Create Web Part Project (cont)
ī‚š When prompted:
ī‚š Accept the default helloworld-webpart-2 as your solution name, and then select Enter.
ī‚š Select SharePoint Online only (latest), and select Enter.
ī‚š Select Use the current folder for where to place the files.
ī‚š Select N to allow the solution to be deployed to all sites immediately.
ī‚š Select N on the question if solution contains unique permissions.
ī‚š Select WebPart as the client-side component type to be created.
Create Web Part Project (cont)
ī‚š The next set of prompts ask for
specific information about your web
part:
ī‚š Accept the default HelloWorld as
your web part name, and then
select Enter.
ī‚š Accept the default HelloWorld
description as your web part
description, and then select Enter.
ī‚š Select React as the framework
you would like to use, and then
select Enter.1
Open with Visual Studio Code
ī‚š Type the following command:
ī‚š code .
ī‚š Use the VS Code console to run
gulp commands
Create Web Part Project (cont)
ī‚š At this point, Yeoman installs the
required dependencies and
scaffolds the solution files along
with the HelloWorld web part. This
might take a few minutes.
ī‚š When the scaffold is complete, you
should see the following message
indicating a successful scaffold.
Next Steps
ī‚š Open VS Code
ī‚š Build / Bundle / Package
ī‚š Deploy to SharePoint App Catalog
ī‚š Add App to SharePoint Site
ī‚š Add to Page
Add PnP-JS to Project
ī‚š Install
ī‚š npm install
@pnp/logging
@pnp/common
@pnp/odata @pnp/sp
@pnp/graph --save
ī‚š Establish Context in
HelloWorldWebPart.ts
ī‚š See Right Image
Add State Interface Definition
Import State, Use Constructor to Initialize
Import PnP-JS & Add State Interface
Add Get Items via PnP
Add Life Cycle Method
Update Render
Expected Output
Congratulations
You have successfully created a React Web Part with PnP-JS
Intro to Office UI Fabric
The Design Language of Microsoft Products
What is the Office UI Fabric?
ī‚š Microsoft’s UX Framework to create seamless experiences in Microsoft
products
ī‚š Two Flavors Available
ī‚š Fabric React – open-source React front-end framework designed to build
experiences that fit seamlessly into a broad range of Microsoft products.
ī‚š Fabric Core – open-source collection of CSS classes and Sass mixins that give you
access to Fabric's colors, animations, fonts, icons and grid.
Think of it as a bunch of styles and a bunch of controlsâ€Ļ similar to bootstrap
Styles - Example
Component Example - Button
Component Example - TextField
Building a Feedback Web Part
Let’s combine everything we’ve learned!
Add Office UI Fabric to Project
Let’s Add a Button
Import Button Component
Add Button Component
Create OnClick Function for Button Component
Add OnClick Event to Button Component
Let’s Add a Text Field
Import TextField Component
Add TextField Component
Add TextField State Variable on Interface
Initialize TextField State Variable in Component State
Connect OnChange Function to TextField
Create OnChange Function for TextField
Add State Value to TextField Component
Create Add New List Items via PnP Function
Update Get List Items Add OrderBy & Top
Refactor Component Will Mount
Update Render
Wire Button to Submit New Item, then Get New Items
Results
List Data in SharePoint
Congratulations
You have successfully created a Feedback Web using React, Office UI Fabric & PnP-JS
Session 4
Building SPFx Solutions for Tabs within Teams
Bootcamp Outline
ī‚š Session 1
ī‚š Getting Started
ī‚š O365 Developer Program
ī‚š Tenant Setup
ī‚š Client Setup
ī‚š Intro to SPFx
ī‚š Session 2
ī‚š Building You First Web Part
ī‚š Scaffolding
ī‚š Building
ī‚š Deployment
ī‚š Pulling Data from SharePoint
ī‚š Intro to PnP-JS
ī‚š Intro to PnP-JS
ī‚š Session 3
ī‚š Intro to React
ī‚š Rebuild Part 2 using React
ī‚š Intro to Office UI Fabric
ī‚š Text Box
ī‚š Button
ī‚š Creating New Items via PnP
ī‚š Session 4
ī‚š SPFx in Teams
ī‚š Building a Package for Teams
ī‚š Creating Teams Tab
Project Architecture
Teams Folder
ī‚š Starting with the SharePoint Framework v1.8, scaffolding
will also include additional ./teams folder
ī‚š Teams folder contains the following two files:
ī‚š [componentId]_color.png - Default small picture for a
tab
ī‚š [componentId]_outline.png - Default large picture for
a tab
ī‚š These images will be used as icons in Microsoft Teams.
ī‚š Teams Manifest – Defines the app, by default not there
SharePoint will create it for you!@
ī‚š https://docs.microsoft.com/en-
us/sharepoint/dev/spfx/web-parts/get-started/using-
web-part-as-ms-teams-tab
Update Web Part Manifest
Import Microsoft Teams – HelloWorldWebPart.ts
Add Teams Context Code
Add Team Context Prop
Pass Teams Context Prop
Update Render to Show Different Context
Set to Tenant Wide Deployment
Rebuild
ī‚š If gulp serve is still running, stop it from running by hitting, ctrl + C
ī‚š In the console window, enter the following command to package your client-side solution that
contains the web part:
ī‚š gulp clean
ī‚š gulp build --ship
ī‚š gulp bundle --ship
ī‚š gulp package-solution –-ship
Simple Build Script for the SharePoint Framework
Update Package in
App Catalog
Upload or Drag and Drop .SPPKG in to the
App Catalog
Sync to Teams
In Team Channel, Add a Tab
Add App
No Config, Save
SPFx Teams Tab
Congratulations
You have successfully created a Feedback Web using React, Office UI Fabric & PnP-JS
Resources
All Content comes from the
Official Microsoft Documentation
Code / Cheat Sheets - Part 2, 3
& 4 – all on github
https://github.com/tom-
daly/demos/tree/master/m365-
bootcamp
Slides
https://www.slideshare.net/tomm
daly/m365-global-developer-
bootcamp-2019-194066436
Voitanos On-Demand Training
ī‚š The best SPFx training resource – hands down,
always updated, on demand.
ī‚š ~$750 for the Ultimate Package. Worth It!
ī‚š Taught by Andrew Connell, 15+ year MVP in
SharePoint / Office 365
ī‚šâ€œUnderstanding the SPFx Dev Toolchain”
email course [FREE]
ī‚šMastering the SharePoint Framework On
Demand
Questions?
ī‚š Contact Info
ī‚š Email: Thomasd@sohodragon.com
ī‚š Twitter: @_tomdaly_
ī‚š LinkedIn: https://www.linkedin.com/in/thomas-m-daly/

Weitere ähnliche Inhalte

Was ist angesagt?

Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppWindows Developer
 
C# with Renas
C# with RenasC# with Renas
C# with RenasRenas Rekany
 
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsRandy Williams
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by CitytechRitwik Das
 
Domino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlDomino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlFrank van der Linden
 
Configure an Integrated Exchange, Lync, and SharePoint Test Lab
Configure an Integrated Exchange, Lync, and SharePoint Test LabConfigure an Integrated Exchange, Lync, and SharePoint Test Lab
Configure an Integrated Exchange, Lync, and SharePoint Test LabVinh Nguyen
 
Share point 2010_overview-day4-code
Share point 2010_overview-day4-codeShare point 2010_overview-day4-code
Share point 2010_overview-day4-codeNarayana Reddy
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsDigamber Singh
 
Diff sand box and farm
Diff sand box and farmDiff sand box and farm
Diff sand box and farmRajkiran Swain
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1Knut Relbe-Moe [MVP, MCT]
 
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesSPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesKnut Relbe-Moe [MVP, MCT]
 
Office Web Apps Server 2013
Office Web Apps Server 2013Office Web Apps Server 2013
Office Web Apps Server 2013SPC Adriatics
 
Dropbox with Mule
Dropbox with MuleDropbox with Mule
Dropbox with MuleManav Prasad
 
Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Michael Dobe, Ph.D.
 

Was ist angesagt? (19)

Modernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web AppModernizing Twitter for Windows as a Progressive Web App
Modernizing Twitter for Windows as a Progressive Web App
 
C# with Renas
C# with RenasC# with Renas
C# with Renas
 
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 AppsAn IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
An IT Pro Guide to Deploying and Managing SharePoint 2013 Apps
 
Progressive Web Application by Citytech
Progressive Web Application by CitytechProgressive Web Application by Citytech
Progressive Web Application by Citytech
 
Domino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source controlDomino point2012 integrate domino designer with cvs source control
Domino point2012 integrate domino designer with cvs source control
 
Configure an Integrated Exchange, Lync, and SharePoint Test Lab
Configure an Integrated Exchange, Lync, and SharePoint Test LabConfigure an Integrated Exchange, Lync, and SharePoint Test Lab
Configure an Integrated Exchange, Lync, and SharePoint Test Lab
 
Homestead demo
Homestead demoHomestead demo
Homestead demo
 
Share point 2010_overview-day4-code
Share point 2010_overview-day4-codeShare point 2010_overview-day4-code
Share point 2010_overview-day4-code
 
Angular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive FormsAngular 7 Firebase5 CRUD Operations with Reactive Forms
Angular 7 Firebase5 CRUD Operations with Reactive Forms
 
Diff sand box and farm
Diff sand box and farmDiff sand box and farm
Diff sand box and farm
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
 
Writing first-hudson-plugin
Writing first-hudson-pluginWriting first-hudson-plugin
Writing first-hudson-plugin
 
Securing api with_o_auth2
Securing api with_o_auth2Securing api with_o_auth2
Securing api with_o_auth2
 
Cloud hub deployment
Cloud hub deploymentCloud hub deployment
Cloud hub deployment
 
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practicesSPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
SPSBE14 SPSBE02 SharePoint Upgrade reel life experience, best practices
 
Mule Integration with Dropbox
Mule Integration with DropboxMule Integration with Dropbox
Mule Integration with Dropbox
 
Office Web Apps Server 2013
Office Web Apps Server 2013Office Web Apps Server 2013
Office Web Apps Server 2013
 
Dropbox with Mule
Dropbox with MuleDropbox with Mule
Dropbox with Mule
 
Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)Rutgers - FrontPage 98 (Advanced)
Rutgers - FrontPage 98 (Advanced)
 

Ähnlich wie M365 Philly Virtual Bootcamp - Building Your First SPFx Web Part

Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
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 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
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourBrian Culver
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialThomas Daly
 
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...European Collaboration Summit
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comULLPTT
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications Concetto Labs
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp frameworkBob German
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development TopicsHaaron Gonzalez
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franziniwalk2talk srl
 
SPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxSPUnite17 Building Great Client Side Web Parts with SPFx
SPUnite17 Building Great Client Side Web Parts with SPFxNCCOMMS
 
Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010KWizCom Team
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replitmatiasfund
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsDavid Schneider
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSalim M Bhonhariya
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesBrian Culver
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 

Ähnlich wie M365 Philly Virtual Bootcamp - Building Your First SPFx Web Part (20)

IntroducciÃŗn al SharePoint Framework SPFx
IntroducciÃŗn al SharePoint Framework SPFxIntroducciÃŗn al SharePoint Framework SPFx
IntroducciÃŗn al 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)
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 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 convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hourConvert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
 
O365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - MaterialO365 Developer Bootcamp NJ 2018 - Material
O365 Developer Bootcamp NJ 2018 - Material
 
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
ecs19 - Bill Ayers - RE-USE YOUR SHAREPOINT FRAMEWORK SKILLZ TO BUILD OFFICE ...
 
C# p1
C# p1C# p1
C# p1
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
 
How create react app help in creating a new react applications
How create react app help in creating a new react applications How create react app help in creating a new react applications
How create react app help in creating a new react applications
 
German introduction to sp framework
German   introduction to sp frameworkGerman   introduction to sp framework
German introduction to sp framework
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
 
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio FranziniCCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
CCI 2017 - Introduzione a SharePoint Framework (SPFx) - Fabio Franzini
 
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
 
Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010Upgrading SLFE from 2007 to 2010
Upgrading SLFE from 2007 to 2010
 
How to build and deploy app on Replit
How to build and deploy app on ReplitHow to build and deploy app on Replit
How to build and deploy app on Replit
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Software Developer’s Project Documentation Template
Software Developer’s Project Documentation TemplateSoftware Developer’s Project Documentation Template
Software Developer’s Project Documentation Template
 
Real World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure ServicesReal World SharePoint Framework and Azure Services
Real World SharePoint Framework and Azure Services
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 

Mehr von Thomas Daly

Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Thomas Daly
 
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 UIThomas Daly
 
New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019Thomas Daly
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection NavigationThomas Daly
 
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
 
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-JSThomas Daly
 
Things you can do
Things you can doThings you can do
Things you can doThomas Daly
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slidesThomas Daly
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPThomas Daly
 
Global Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksGlobal Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksThomas Daly
 
Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Thomas Daly
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI FabricThomas Daly
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end toolingThomas Daly
 
Things you can do to brand Office 365 now
Things you can do to brand Office 365 nowThings you can do to brand Office 365 now
Things you can do to brand Office 365 nowThomas Daly
 
Gab2017 science-lab
Gab2017 science-labGab2017 science-lab
Gab2017 science-labThomas Daly
 
NJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroNJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroThomas Daly
 
Sandboxed Solutions Discussion
Sandboxed Solutions DiscussionSandboxed Solutions Discussion
Sandboxed Solutions DiscussionThomas Daly
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?Thomas Daly
 
The A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThe A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThomas Daly
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Thomas Daly
 

Mehr von Thomas Daly (20)

Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
Building a Microsoft Teams Provisioning Process using Power Apps & Power Auto...
 
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
 
New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019New Jersey Azure Bootcamp 2019
New Jersey Azure Bootcamp 2019
 
Cross Site Collection Navigation
Cross Site Collection NavigationCross Site Collection Navigation
Cross Site Collection Navigation
 
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
 
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
 
Things you can do
Things you can doThings you can do
Things you can do
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slides
 
Branding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnPBranding Office 365 w/ Front End Tools + SharePoint PnP
Branding Office 365 w/ Front End Tools + SharePoint PnP
 
Global Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing RemarksGlobal Office 365 Developer Bootcamp - Closing Remarks
Global Office 365 Developer Bootcamp - Closing Remarks
 
Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)Introduction to SharePoint Patterns and Practices (PnP)
Introduction to SharePoint Patterns and Practices (PnP)
 
Intro to the Office UI Fabric
Intro to the Office UI FabricIntro to the Office UI Fabric
Intro to the Office UI Fabric
 
Branding office 365 with front end tooling
Branding office 365 with front end toolingBranding office 365 with front end tooling
Branding office 365 with front end tooling
 
Things you can do to brand Office 365 now
Things you can do to brand Office 365 nowThings you can do to brand Office 365 now
Things you can do to brand Office 365 now
 
Gab2017 science-lab
Gab2017 science-labGab2017 science-lab
Gab2017 science-lab
 
NJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - IntroNJ Office 365 User Group March 2017 - Intro
NJ Office 365 User Group March 2017 - Intro
 
Sandboxed Solutions Discussion
Sandboxed Solutions DiscussionSandboxed Solutions Discussion
Sandboxed Solutions Discussion
 
What Makes SharePoint UX Good?
What Makes SharePoint UX Good?What Makes SharePoint UX Good?
What Makes SharePoint UX Good?
 
The A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with BootstrapThe A to Z of Building a Responsive SharePoint Site with Bootstrap
The A to Z of Building a Responsive SharePoint Site with Bootstrap
 
Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013Intro to Branding SharePoint 2013
Intro to Branding SharePoint 2013
 

KÃŧrzlich hochgeladen

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 Servicesexy call girls service in goa
 
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 providersDamian Radcliffe
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Roomishabajaj13
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Roomdivyansh0kumar0
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Roomgirls4nights
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607dollysharma2066
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts servicevipmodelshub1
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Roomdivyansh0kumar0
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girlsstephieert
 
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
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...Diya Sharma
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsThierry TROUIN ☁
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...SofiyaSharma5
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Roomdivyansh0kumar0
 

KÃŧrzlich hochgeladen (20)

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
 
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
 
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With RoomVIP Kolkata Call Girl Salt Lake 👉 8250192130  Available With Room
VIP Kolkata Call Girl Salt Lake 👉 8250192130 Available With Room
 
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130  Available With RoomVIP Kolkata Call Girl Alambazar 👉 8250192130  Available With Room
VIP Kolkata Call Girl Alambazar 👉 8250192130 Available With Room
 
Call Girls In South Ex 📱 9999965857 🤩 Delhi đŸĢĻ HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱  9999965857  🤩 Delhi đŸĢĻ HOT AND SEXY VVIP 🍎 SERVICECall Girls In South Ex 📱  9999965857  🤩 Delhi đŸĢĻ HOT AND SEXY VVIP 🍎 SERVICE
Call Girls In South Ex 📱 9999965857 🤩 Delhi đŸĢĻ HOT AND SEXY VVIP 🍎 SERVICE
 
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...
 
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With RoomVIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
VIP Kolkata Call Girls Salt Lake 8250192130 Available With Room
 
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 26 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
FULL ENJOY Call Girls In Mayur Vihar Delhi Contact Us 8377087607
 
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts serviceChennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
Chennai Call Girls Alwarpet Phone 🍆 8250192130 👅 celebrity escorts service
 
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130  Available With RoomVIP Kolkata Call Girl Kestopur 👉 8250192130  Available With Room
VIP Kolkata Call Girl Kestopur 👉 8250192130 Available With Room
 
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Samaira 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Samaira 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Russian Call girls in Dubai +971563133746 Dubai Call girls
Russian  Call girls in Dubai +971563133746 Dubai  Call girlsRussian  Call girls in Dubai +971563133746 Dubai  Call girls
Russian Call girls in Dubai +971563133746 Dubai Call girls
 
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🔝
 
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
₹5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] 🔝|97111...
 
AlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with FlowsAlbaniaDreamin24 - How to easily use an API with Flows
AlbaniaDreamin24 - How to easily use an API with Flows
 
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls KolkataLow Rate Call Girls Kolkata Avani 🤌  8250192130 🚀 Vip Call Girls Kolkata
Low Rate Call Girls Kolkata Avani 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No AdvanceRohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
Rohini Sector 22 Call Girls Delhi 9999965857 @Sabina Saikh No Advance
 
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...
Low Rate Young Call Girls in Sector 63 Mamura Noida ✔ī¸â˜†9289244007✔ī¸â˜† Female E...
 
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With RoomVIP Kolkata Call Girl Dum Dum 👉 8250192130  Available With Room
VIP Kolkata Call Girl Dum Dum 👉 8250192130 Available With Room
 

M365 Philly Virtual Bootcamp - Building Your First SPFx Web Part

  • 1.
  • 2. M365 Philly Virtual July 22, 2020 – Online Conference
  • 3. Bootcamp Outline ī‚š Session 1 ī‚š Getting Started ī‚š O365 Developer Program ī‚š Tenant Setup ī‚š Client Setup ī‚š Intro to SPFx ī‚š Session 2 ī‚š Building You First Web Part ī‚š Scaffolding ī‚š Building ī‚š Deployment ī‚š Pulling Data from SharePoint ī‚š Intro to PnP-JS ī‚š Intro to PnP-JS ī‚š Session 3 ī‚š Intro to React ī‚š Rebuild Part Using React ī‚š Intro to Office UI Fabric ī‚š Text Box ī‚š Button ī‚š Creating New Items via PnP ī‚š Session 4 ī‚š SPFx in Teams ī‚š Building a Package for Teams ī‚š Creating Teams Tab
  • 4. About Me ī‚š SharePoint Collaboration Director @ SoHo Dragon - NYC ī‚š Branding & Developer for SharePoint / Office 365 ī‚š Focused on the UI side of things ī‚š Community Involvement ī‚š Speaker [Branding & Front End Development] ī‚š NJ SharePoint User Group Organizer ī‚š SharePoint Saturday NYC Organizer ī‚š NJ & NYC Global Office 365 Dev Bootcamp Organizer 2017 ī‚š NJ Azure Bootcamp Organizer ī‚š SharePoint Saturday NJ Organizer [2013-2014] ī‚š My SharePoint Blog ī‚š Git Hub [corp directory controls / o365 sticky footer / bootstrap navigation] Twitter: @_tomdaly_
  • 5. Session 1 Getting Started - Setting up Tenant / Environment
  • 6. Bootcamp Outline ī‚š Session 1 ī‚š Getting Started ī‚š O365 Developer Program ī‚š Tenant Setup ī‚š Client Setup ī‚š Intro to SPFx ī‚š Session 2 ī‚š Building You First Web Part ī‚š Scaffolding ī‚š Building ī‚š Deployment ī‚š Pulling Data from SharePoint ī‚š Intro to PnP-JS ī‚š Intro to PnP-JS ī‚š Session 3 ī‚š Intro to React ī‚š Rebuild Part Using React ī‚š Intro to Office UI Fabric ī‚š Text Box ī‚š Button ī‚š Creating New Items via PnP ī‚š Session 4 ī‚š SPFx in Teams ī‚š Building a Package for Teams ī‚š Creating Teams Tab
  • 7. Office 365 Developer Subscription ī‚š Sign up – Online, FREE [Required Live Account] ī‚š https://developer.microsoft.com/en-us/office/dev-program ī‚š Starting in April 2019, we offer renewable 90-day subscriptions ī‚š What's included in the developer subscription? ī‚š Office 365 E3 – 25 User License ī‚š SharePoint, Teams â€Ļ. everything else
  • 9. Create App Catalog Site ī‚š Go to the Classic SharePoint Admin Center by entering the following URL in your browser. Replace yourtenantprefix with your Office 365 tenant prefix. ī‚š https://yourtenantprefix-admin.sharepoint.com ī‚š In the left sidebar, select the Classic Features > apps menu item, and then select app catalog. ī‚š Select OK to create a new app catalog site. ī‚š On the next page, enter the following details: ī‚š Title: Enter app catalog. ī‚š Web Site Address suffix: Enter your preferred suffix for the app catalog; for example: apps. ī‚š Administrator: Enter your username, and then select the resolve button to resolve the username. ī‚š Select OK to create the app catalog site. ī‚š SharePoint creates the app catalog site, and you are able to see its progress in the SharePoint admin center. https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-developer- tenant#to-create-an-app-catalog-site
  • 10. Create Test Site Collection ī‚š Go to the SharePoint Admin Center by entering the following URL in your browser. Replace yourtenantprefix with your Office 365 tenant prefix. ī‚š https://yourtenantprefix-admin.sharepoint.com/_layouts/15/online/AdminHome.aspx ī‚š In the left sidebar, select Sites > Active Sites. ī‚š In the toolbar, select Create. ī‚š In the Create a site dialog, select Communication Site. ī‚š In the panel that appears, enter the following details: ī‚š Choose a design: choose blank. ī‚š Site name: Enter a title for your site; for example: Test Site. ī‚š Site owner: Specify the name / email address of the site owner. ī‚š Select Finish to create the site collection.
  • 11. Using Existing Tenant? ī‚š Don’t want to pollute global app catalog ī‚š We can do site collection based app catalog to isolate your developments Connect-SPOService -Url https://{TENANT}-admin.sharepoint.com $site = Get-SPOSite https://{TENANT}.sharepoint.com/sites/{SITE} Add-SPOSiteCollectionAppCatalog -Site $site ī‚š See Team Member for assistance ī‚š https://docs.microsoft.com/en-us/sharepoint/dev/general-development/site-collection-app-catalog
  • 13. Software / Tooling ī‚š Install NodeJS ī‚š Install NodeJS LTS version 10 ī‚š Install a code editor ī‚š Visual Studio Code ī‚š Install Yeoman and gulp ī‚š npm install -g yo gulp ī‚š Install Yeoman SharePoint generator ī‚š npm install -g @microsoft/generator- sharepoint ī‚š Trusting the self-signed developer certificate ī‚š Do this after creating your first project ī‚š gulp trust-dev-cert ī‚š Install Google Chrome ī‚š optional but recommended ī‚š Extensions ī‚š SP Editor ī‚š React Developer Tools ī‚š Internet Explorer 11 ī‚š Not Good for Web Development https://docs.microsoft.com/en-us/sharepoint/dev/spfx/set-up-your-development- environment
  • 14. Node.JS As an asynchronous event-driven JavaScript runtime â€Ļruns JavaScript files on your computer Get version 10.x for SPFx Development! https://nodejs.org/dist/latest-v10.x/
  • 15. Node Package Manager ī‚š Online repository of packages ī‚š Allows for quick installation into your projects ī‚š Packages developed by 3rd party individuals/teams on GitHub ī‚š â€Ļsimilar to Android/iOS app store but for JavaScript.
  • 16. Yeoman ī‚š ‘yo‘ scaffolds out a new application ī‚š Writing your build configuration (e.g Gulpfile) ī‚š Pulling in relevant build tasks and package manager dependencies (e.g npm) ī‚š Uses ‘generators’ which define the scaffolding workflow ī‚š â€Ļbased on a ‘template’, creates directories, sets up project files and downloads dependencies
  • 17. Gulp ī‚š A toolkit to automate & enhance your workflow ī‚š Automate slow, repetitive workflows and compose them into efficient build pipelines. ī‚š â€Ļtask runner to do very simple tasks in parallel or series
  • 18. Webpack ī‚š Used to compile JavaScript modules. ī‚š Handles dependencies between modules automatically ī‚š Transpiles Code ī‚š â€Ļtakes all your files + dependencies [npm packages] and creates 1 JavaScript file
  • 19. TypeScript ī‚š Open Source language developed by Microsoft ī‚š Superset of JavaScript ī‚š Compiles to plain JavaScript ī‚š Brings strong type checking / compile-time error checks ī‚š â€Ļmakes JavaScript more like C#, typing, object oriented programming concepts classes, interfaces, inheritance
  • 21. SharePoint Framework (SPFx) ī‚š Page / Web Part model that provides full support for client-side SharePoint development ī‚š Easy integration with SharePoint data ī‚š Support for Open Source tooling ī‚š “The” customization model for Office 365 ī‚š Support for SharePoint 2016 Feature Pack 2, SharePoint 2019, & Office 365
  • 22. Key Features ī‚š It runs in the context of the current user and connection in the browser. ī‚š NO iframes(JavaScript is embedded directly to the page). ī‚š The controls are rendered in the normal page DOM. ī‚š It is framework-agnostic. You can use any JavaScript framework that you like: React, Handlebars, Knockout, Angular, and more. ī‚š The toolchain is based on common open source client development tools such as npm, TypeScript, Yeoman, webpack, and gulp. ī‚š End users can use SPFx client-side solutions that are approved by the tenant administrators (or their delegates) on all sites, including self-service team, group, or personal sites. ī‚š SPFx web parts can be added to both classic and modern pages.
  • 23.
  • 24. Session 2 First Look at SPFx - Building your first web part, talking to SharePoint via REST & PnP-JS
  • 25. Bootcamp Outline ī‚š Session 1 ī‚š Getting Started ī‚š O365 Developer Program ī‚š Tenant Setup ī‚š Client Setup ī‚š Intro to SPFx ī‚š Session 2 ī‚š Building You First Web Part ī‚š Scaffolding ī‚š Building ī‚š Deployment ī‚š Pulling Data from SharePoint ī‚š Intro to PnP-JS ī‚š Intro to PnP-JS ī‚š Part 3 ī‚š Intro to React ī‚š Rebuild Part 2 using React ī‚š Intro to Office UI Fabric ī‚š Text Box ī‚š Button ī‚š Creating New Items via PnP ī‚š Part 4 ī‚š SPFx in Teams ī‚š Building a Package for Teams ī‚š Creating Teams Tab
  • 27. Create Web Part Project ī‚š Create a new project directory in your favorite location. ī‚š md helloworld-webpart ī‚š Go to the project directory. ī‚š cd helloworld-webpart ī‚š Create a new HelloWorld web part by running the Yeoman SharePoint Generator. ī‚š yo @microsoft/sharepoint
  • 28. Create Web Part Project (cont) ī‚š When prompted: ī‚š Accept the default helloworld-webpart as your solution name, and then select Enter. ī‚š Select SharePoint Online only (latest), and select Enter. ī‚š Select Use the current folder for where to place the files. ī‚š Select N to allow the solution to be deployed to all sites immediately. ī‚š Select N on the question if solution contains unique permissions. ī‚š Select WebPart as the client-side component type to be created.
  • 29. Create Web Part Project (cont) ī‚š The next set of prompts ask for specific information about your web part: ī‚š Accept the default HelloWorld as your web part name, and then select Enter. ī‚š Accept the default HelloWorld description as your web part description, and then select Enter. ī‚š Accept the default No JavaScript web framework as the framework you would like to use, and then select Enter.1
  • 30. Create Web Part Project (cont) ī‚š At this point, Yeoman installs the required dependencies and scaffolds the solution files along with the HelloWorld web part. This might take a few minutes. ī‚š When the scaffold is complete, you should see the following message indicating a successful scaffold.
  • 31. Preview the web part ī‚š Enter the following command in the console to open VS Code: ī‚š code . ī‚š Enter the following to open the Terminal in VS Code ī‚š CTRL + ` ī‚š Enter the following command in the terminal to build and preview your web part: ī‚š gulp serve
  • 32. What is Happening? ī‚š SharePoint client-side development tools use gulp as the task runner to handle build process tasks such as: ī‚š Bundling and minifying JavaScript and CSS files. ī‚š Running tools to call the bundling and minification tasks before each build. ī‚š Compiling SASS files to CSS. ī‚š Compiling TypeScript files to JavaScript.
  • 33. SharePoint Workbench ī‚š Developer design surface that enables you to quickly preview and test web parts without deploying them in SharePoint.
  • 34. Add Your Web Part ī‚š To add the HelloWorld web part, select the add icon (this icon appears when you mouse hovers over a section as shown in the previous image). ī‚š This opens the toolbox where you can see a list of web parts available for you to add. The list includes the HelloWorld web part as well other web parts available locally in your development environment.
  • 35. Add Your Web Part (cont) ī‚š Select HelloWorld to add the web part to the page.
  • 36. Congratulations You have successfully deployed your first SPFx web part
  • 38. Packaging the Web Part ī‚š If gulp serve is still running, stop it from running by hitting, ctrl + C ī‚š In the console window, enter the following command to package your client-side solution that contains the web part: ī‚š gulp clean ī‚š gulp build --ship ī‚š gulp bundle --ship ī‚š gulp package-solution –-ship For dev builds you don’t need the –ship but then you must be running gulp serve Simple Build Script for the SharePoint Framework
  • 39. Deploy to App Catalog ī‚š Go to your site's app catalog. ī‚š Upload or drag and drop the helloworld-webpart.sppkg to the app catalog.
  • 40. Deploy to App Catalog (cont) ī‚š This deploys the client-side solution package. Because this is a full trust client-side solution, SharePoint displays a dialog and asks you to trust the client-side solution to deploy. ī‚š Select Deploy. ī‚š Notice that you can see if there's any exceptions or issues in the package by looking the App Package Error Message column in the app catalog.
  • 42. Install App in Site ī‚š Go to your developer site collection or site collection which you want to use for testing ī‚š Select the gears icon on the top nav bar on the right, and then select Add an app to go to your Apps page. ī‚š In the Search box, enter helloworld, and select Enter to filter your apps.
  • 43. Install App in Site (cont) ī‚š Select the helloworld- webpart-client-side- solution app to install the app on the site. ī‚š The client-side solution and the web part are installed on your developer site.
  • 44. Add Web Part to Modern Page ī‚š In your browser, go to your site where the solution was just installed. ī‚š Select the gears icon in the top nav bar on the right, and then select Add a page. ī‚š Edit the page. ī‚š Open the web part picker and select your HelloWorld web part.
  • 45. Congratulations You have successfully deployed your first SPFx web part
  • 47. Create a Custom List ī‚š Navigate to your site ī‚š Gear > Add an app > Custom List ī‚š Name: Test ī‚š Make at least 2 items
  • 48. Live Development ī‚š Enter the following command in the console to build and preview your web part: ī‚š gulp serve ī‚š On the Page with the webpart add the following to the end of the url ī‚š ?loadSPFX=true&debugManifestsFile=https://localhost :4321/temp/manifests.js ī‚š BONUS: use SP-Editor [Chrome Extension] to load debug url
  • 49. Modify Code / Verify Connection
  • 51. Import spHttpClient Scroll to the top of the HelloWorldWebPart.ts file
  • 52. Update DOM in Render Function
  • 53. Add Get List Items Function in Render
  • 54. Add Get List Items Function
  • 55. Add Render List Items Function
  • 57. Congratulations You have successfully communicated with SharePoint list data
  • 59. What is PnP-JS? ī‚š PnP-JS is a collection of fluent libraries for consuming SharePoint, Graph, and Office 365 REST APIs in a type-safe way. ī‚š Benefits: ī‚š Intellisense ī‚š Typing ī‚š Asynchronous ī‚š Caching ī‚š Clear Code Intent ī‚š Abstraction ī‚š Open Source
  • 60. Getting Started ī‚š Install ī‚š npm install @pnp/logging @pnp/common @pnp/odata @pnp/sp @pnp/graph --save ī‚š Establish Context ī‚š See Right Image Stop any running gulp serve before installing
  • 62. Add Get List Items Function via PnP-JS
  • 63. Replace Get List Items Call
  • 65. Congratulations You have successfully communicated with SharePoint list data via PnP-JS
  • 66. Session 3 Intro to React & Office UI Fabric
  • 67. Bootcamp Outline ī‚š Session 1 ī‚š Getting Started ī‚š O365 Developer Program ī‚š Tenant Setup ī‚š Client Setup ī‚š Intro to SPFx ī‚š Session 2 ī‚š Building You First Web Part ī‚š Scaffolding ī‚š Building ī‚š Deployment ī‚š Pulling Data from SharePoint ī‚š Intro to PnP-JS ī‚š Intro to PnP-JS ī‚š Session 3 ī‚š Intro to React ī‚š Rebuild Part 2 using React ī‚š Intro to Office UI Fabric ī‚š Text Box ī‚š Button ī‚š Creating New Items via PnP ī‚š Session 4 ī‚š SPFx in Teams ī‚š Building a Package for Teams ī‚š Creating Teams Tab
  • 69. What is React? ī‚š JavaScript library for building user interfaces ī‚š At a minimum, know this: ī‚š Components: These are the building blocks of your app. You want to make them as modular as possible. ī‚š State: internal data, that when changed caused the UI to re-render. You own this data. ī‚š Props: data / functions, passed to a component. You don’t own this data. ī‚š Life Cycle Methods: functions that do things at certain points
  • 70. Building Your First React Web Part
  • 71. Create React Web Part Project ī‚š Create a new project directory in your favorite location. ī‚š md helloworld-webpart-2 ī‚š Go to the project directory. ī‚š cd helloworld-webpart-2 ī‚š Create a new HelloWorld web part by running the Yeoman SharePoint Generator. ī‚š yo @microsoft/sharepoint
  • 72. Create Web Part Project (cont) ī‚š When prompted: ī‚š Accept the default helloworld-webpart-2 as your solution name, and then select Enter. ī‚š Select SharePoint Online only (latest), and select Enter. ī‚š Select Use the current folder for where to place the files. ī‚š Select N to allow the solution to be deployed to all sites immediately. ī‚š Select N on the question if solution contains unique permissions. ī‚š Select WebPart as the client-side component type to be created.
  • 73. Create Web Part Project (cont) ī‚š The next set of prompts ask for specific information about your web part: ī‚š Accept the default HelloWorld as your web part name, and then select Enter. ī‚š Accept the default HelloWorld description as your web part description, and then select Enter. ī‚š Select React as the framework you would like to use, and then select Enter.1
  • 74. Open with Visual Studio Code ī‚š Type the following command: ī‚š code . ī‚š Use the VS Code console to run gulp commands
  • 75. Create Web Part Project (cont) ī‚š At this point, Yeoman installs the required dependencies and scaffolds the solution files along with the HelloWorld web part. This might take a few minutes. ī‚š When the scaffold is complete, you should see the following message indicating a successful scaffold.
  • 76. Next Steps ī‚š Open VS Code ī‚š Build / Bundle / Package ī‚š Deploy to SharePoint App Catalog ī‚š Add App to SharePoint Site ī‚š Add to Page
  • 77. Add PnP-JS to Project ī‚š Install ī‚š npm install @pnp/logging @pnp/common @pnp/odata @pnp/sp @pnp/graph --save ī‚š Establish Context in HelloWorldWebPart.ts ī‚š See Right Image
  • 78. Add State Interface Definition
  • 79. Import State, Use Constructor to Initialize
  • 80. Import PnP-JS & Add State Interface
  • 81. Add Get Items via PnP
  • 82. Add Life Cycle Method
  • 85. Congratulations You have successfully created a React Web Part with PnP-JS
  • 86. Intro to Office UI Fabric The Design Language of Microsoft Products
  • 87. What is the Office UI Fabric? ī‚š Microsoft’s UX Framework to create seamless experiences in Microsoft products ī‚š Two Flavors Available ī‚š Fabric React – open-source React front-end framework designed to build experiences that fit seamlessly into a broad range of Microsoft products. ī‚š Fabric Core – open-source collection of CSS classes and Sass mixins that give you access to Fabric's colors, animations, fonts, icons and grid. Think of it as a bunch of styles and a bunch of controlsâ€Ļ similar to bootstrap
  • 90. Component Example - TextField
  • 91. Building a Feedback Web Part Let’s combine everything we’ve learned!
  • 92. Add Office UI Fabric to Project
  • 96. Create OnClick Function for Button Component
  • 97. Add OnClick Event to Button Component
  • 98. Let’s Add a Text Field
  • 101. Add TextField State Variable on Interface
  • 102. Initialize TextField State Variable in Component State
  • 103. Connect OnChange Function to TextField
  • 104. Create OnChange Function for TextField
  • 105. Add State Value to TextField Component
  • 106. Create Add New List Items via PnP Function
  • 107. Update Get List Items Add OrderBy & Top
  • 110. Wire Button to Submit New Item, then Get New Items
  • 112. List Data in SharePoint
  • 113. Congratulations You have successfully created a Feedback Web using React, Office UI Fabric & PnP-JS
  • 114. Session 4 Building SPFx Solutions for Tabs within Teams
  • 115. Bootcamp Outline ī‚š Session 1 ī‚š Getting Started ī‚š O365 Developer Program ī‚š Tenant Setup ī‚š Client Setup ī‚š Intro to SPFx ī‚š Session 2 ī‚š Building You First Web Part ī‚š Scaffolding ī‚š Building ī‚š Deployment ī‚š Pulling Data from SharePoint ī‚š Intro to PnP-JS ī‚š Intro to PnP-JS ī‚š Session 3 ī‚š Intro to React ī‚š Rebuild Part 2 using React ī‚š Intro to Office UI Fabric ī‚š Text Box ī‚š Button ī‚š Creating New Items via PnP ī‚š Session 4 ī‚š SPFx in Teams ī‚š Building a Package for Teams ī‚š Creating Teams Tab
  • 117. Teams Folder ī‚š Starting with the SharePoint Framework v1.8, scaffolding will also include additional ./teams folder ī‚š Teams folder contains the following two files: ī‚š [componentId]_color.png - Default small picture for a tab ī‚š [componentId]_outline.png - Default large picture for a tab ī‚š These images will be used as icons in Microsoft Teams. ī‚š Teams Manifest – Defines the app, by default not there SharePoint will create it for you!@ ī‚š https://docs.microsoft.com/en- us/sharepoint/dev/spfx/web-parts/get-started/using- web-part-as-ms-teams-tab
  • 118. Update Web Part Manifest
  • 119. Import Microsoft Teams – HelloWorldWebPart.ts
  • 123. Update Render to Show Different Context
  • 124. Set to Tenant Wide Deployment
  • 125. Rebuild ī‚š If gulp serve is still running, stop it from running by hitting, ctrl + C ī‚š In the console window, enter the following command to package your client-side solution that contains the web part: ī‚š gulp clean ī‚š gulp build --ship ī‚š gulp bundle --ship ī‚š gulp package-solution –-ship Simple Build Script for the SharePoint Framework
  • 126. Update Package in App Catalog Upload or Drag and Drop .SPPKG in to the App Catalog
  • 128. In Team Channel, Add a Tab
  • 132. Congratulations You have successfully created a Feedback Web using React, Office UI Fabric & PnP-JS
  • 133. Resources All Content comes from the Official Microsoft Documentation Code / Cheat Sheets - Part 2, 3 & 4 – all on github https://github.com/tom- daly/demos/tree/master/m365- bootcamp Slides https://www.slideshare.net/tomm daly/m365-global-developer- bootcamp-2019-194066436
  • 134. Voitanos On-Demand Training ī‚š The best SPFx training resource – hands down, always updated, on demand. ī‚š ~$750 for the Ultimate Package. Worth It! ī‚š Taught by Andrew Connell, 15+ year MVP in SharePoint / Office 365 ī‚šâ€œUnderstanding the SPFx Dev Toolchain” email course [FREE] ī‚šMastering the SharePoint Framework On Demand
  • 135.
  • 136. Questions? ī‚š Contact Info ī‚š Email: Thomasd@sohodragon.com ī‚š Twitter: @_tomdaly_ ī‚š LinkedIn: https://www.linkedin.com/in/thomas-m-daly/