SlideShare a Scribd company logo
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
♡ ♡
Agenda for today
• 9:00 – 9:30 – Overview and introductions - Vesa
• 9:30 – 10:30 – SharePoint Framework for solution architects - Vesa
• 10:30 – 11:00 – Break
• 11:00 – 12:00 – Building portals with modern SharePoint experiences - Paolo
• 12:00 – 13:00 – Lunch
• 13:00 – 13:45 – Transforming classic experiences to modern - Bert
• 13:45 – 14:30 – Provisioning SharePoint and Office 365 assets - Erwin
• 14:30 – 15:00 – Break
• 15:00 – 15:30 – Using Azure Functions as your business logic layer - Radi
• 15:30 – 16:15 – View and column formatting - Chris
• 16:15 – 17:00 – Microsoft Graph - Laura
Your speakers today
Let’s get started…
Teamwork
Content
Processes
Email and Calendar
App Elements
Microsoft Teams
Office Apps and OneDrive SharePoint
Outlook
Flow and Planner
Lists, Search & App Hosting in SharePoint
Microsoft Graph
Microsoft Identity
People & Teams
Pages & Sites
Windows 10
App Experiences
18 trillion
Microsoft Graph nodes
180 million
monthly active users of
Office 365 commercial
90%
Fortune 500
1 billion
users across work,
life and edu
100 billion
Microsoft Graph
requests per month
1 million
monthly active apps
using Microsoft Identity
Your tailored
experiences or
customizations
Web parts
SPFx
Extension
footer
SPFx
Extension
header
Page visuals
Web parts
SPFx
Extension
footer
SPFx
Extension
header
Page visuals
SharePoint Framework usage growth curve
SharePoint Framework (SPFx)
SharePoint Framework (SPFx) Extensions
Application customizer Command set Field customizer
Add script to modern pages
Adjust top and bottom sections
of page with custom renderings
Extend the modern list command
surface with new actions that run
custom code
Visualize data inside
columns in the list view
Extend the user experience of SharePoint, leveraging the familiar tools and
libraries for client-side development coming from the SharePoint Framework.
Toolkits for
Sketch/Figma
Code for
Fabric Core and Fabric React
UI Fabric
Documentation for
uifabric.io
PnP SPFx reusable open-source controls
React content controls
Use in the web parts and extensions
sharepoint.github.io/sp-dev-fx-controls-react sharepoint.github.io/sp-dev-fx-property-controls
Property pane controls
Configuration options
Teams TabsApp pagesWeb Parts Office add-ins*
SharePoint Framework platform
Extensions
SharePoint Framework in different services
SharePoint Framework Architecture
For 3rd party components
Support ALM capabilities
REST APIs and UX
Hosted in SharePoint
Provides context
pre-fetch data
TypeScript libraries
Handles load
Handles execution
Gives access to Web APIs
Serves AAD access tokens
Wraps to ADAL.js
Integrated in Yeoman
IDE agnostic
Uses Node and NPM
SharePoint Framework Evolves Constantly
Tenant wide deployment of SPFx extensions
Enable developers to build SPFx
based Tabs solutions
Full Teams context and SDK
available at development and run
time
Hosting, authentication, and API
access handled by SharePoint
directly
Full support for rich clients
Develop Teams Tabs using SPFx
Enable developers to build SPFx
based Tabs solutions
Full Teams context and SDK
available at development and run
time
Hosting, authentication, and API
access handled by SharePoint
directly
Full support for rich clients
Develop Teams Tabs using SPFx
Building Tabs using SPFx Development Model
Enable developers to build SPFx
based Tabs solutions
Full Teams context and SDK
available at development and run
time
Hosting, authentication, and API
access handled by SharePoint
directly
Full support for rich clients
Partners who were involved in the preview program and contributed on the design
Microsoft Teams tabs with SharePoint Framework partners
Uses the same infrastructure /
package as Microsoft Teams
Supported both as Web Part and App
Page
Provides the SharePoint Page Context
as part of the SDK
Requires minimal or no changes to
existing solutions
Supports both js/client solutions as
well as traditional server-side
solutions (.Net / C# or even Python)
"Teams" Provider Hosted Solutions in SharePoint
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
Partners which Solutions work on Teams and SharePoint TODAY
"Teams" Provider Hosted Solutions in SharePoint
Teams Solutions in SharePoint
A Full Modern Page with pre
configured application content and
no authoring experience – only
optional configuration
Created as part of the “new Page”
flow, or viewed using a query string
driven _Layouts page.
Uses the same “chrome” as other
pages in the site
Supports all the same extensions as
authored pages
App Pages
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
App Pages in SharePoint Online
Code runs in an auto-generated domain w/
different API permissions than the main
tenant, and is iFramed into the main page
Same context as the hosting page
Framework handles AAD App registration and
permission scopes and authentication
Support for Web Parts, App Pages and Teams
tabs
Useful for a Web Part that needs extra
permissions (mail.read) or a Web Part that
wants extra protection (other parts can't
access your back end data)
Domain Isolated Web Parts
Few architectural discussion
points on common
discussion topics…
Web API end point
WebAPI
https://connection.contoso.com
Custom
On-prem
LOB System
SPFx
Call WebAPIs hosted in Azure
securely using the corporate
identities. Identity flows through as
an access token, which is verified as
WebAPI is secured with Azure Active
Directory.
SQL Azure
Multiple
different
options on
accessing
relevant data
from the on-
premises
using Azure
technologies
Surfacing business information in SharePoint Online
SPFx
Adjust data presentation
loading based on user
profile information
stored in oob profile
properties or in custom
properties
js
User Profile
service
There is no 3rd party audience
capability currently available for
SharePoint Framework, so
implementation will need to be
web part specific and typically
based on user profile attributes.
Personalization with the SharePoint Framework solutions
Currently in development /
planning – Coming soon…
Using SPFx for building Personal tabs
Like group chat tabs, developers
target Personal tabs using
supportedHost property in the
manifest
Manifest in Teams gets generated
automatically from SharePoint App
Catalog
In Teams, all personal tabs surface
as static tabs: no configuration
capability is provided
Allow independently versioned and deployed
code, to be served automatically for the
SharePoint Framework components
Libraries are deployed in the app catalog then
they can be referenced across other
components
Things to be aware of:
• All components in the tenant get the same instance
of the library
• A solution cannot contain webparts/extensions and
libraries. It's one or the other.
• You have to reference library components at
development time from a package manager or
using npm link
Library Components – General Availability
Developers will target Office client using
supportedHost property in the manifest
Available to enterprises through Tenant
Centralized Deployment
Full Office SDK available at development and
run times
Hosting, Authentication and API access
handled by SharePoint directly
Some questions still to be decided:
• Do we want to target different clients (Outlook / Word /
WAC) as supportedHost or leave that to the developer?
• How do we work with the enterprise office add-in catalog?
• Office Manifests are complex. We'll need a way to make it
easy to incorporate them into the solution.
Using SPFx for building Office Add-ins
Strongly Typed Extensions for Modern Portals
Navigation Data Extension
Developer get the default
navigation data from the site
They can change that data in any
way they wish
The page is responsible for
rendering the new nodes using the
normal rendering
Strongly Typed Extensions for Modern Portals
Navigation Rendering Extension
Developer get the navigation data
and a pre-created DIV.
They are responsible for rendering
the new nodes in the DIV
Doesn't allow for changing the size
or location of navigation.
Doesn’t allow removal or
customization of Hub nav for hub
connected sites
Strongly Typed Extensions for Modern Portals
Footer Extension
A way to replace our existing footer
with custom code
In pages where footer doesn’t exist
this extension will not run
Loading extension code will happen
after the OOB components load
Support for WebPack 4
Smaller packages / node_modules
Faster inner loop
Reduce Logging in debug console
Developer Tools Improvements
A developer technology for building a new
class of shared, interactive experiences on
the web:
• support multi-person coauthoring on web and
document content
• provides a componentized document model
that allows authors to deconstruct content into
collaborative building blocks, use them across
applications, and combine them in a new, more
flexible kind of document
• makes room for intelligent agents to work
alongside humans to translate text, fetch
content, suggest edits, perform compliance
checks, and more
Fluid Framework
Fluid Framework with SharePoint Framework
SharePoint Dev Roadmap
SharePoint Dev next steps – current plans
• Smaller, more rapid SharePoint Framework releases
• Teams Integration Improvements
• General availability of Library components
• Office add-ins with SharePoint Framework
• CSP – Content Security Policy
• CSOM .NET Standard
• Open-sourcing Yeoman generator
• and more…
Top of mind
• Additional content extensions for modern pages
• Fluid Framework
• Throttling updates – Guidance
• Developer tools improvements in SPFx
• Store story for SPFx solutions
Views in YouTube
42,242
Unique tenants #
22,417
Unique visitors in GitHub
55, 353 (avg 2 weeks)
Views in GitHub
271,219 (avg 2 weeks)
Watch time in YouTube
232,251 minutes
Views in docs.microsoft.com –
SharePoint Dev
1,170,325
Http Requests #
15,2 Billion
Most used capability
- Provisioning Engine (2972 tenants)
http://aka.ms/sppnp
Sharing is caring!
aka.ms/spdev-docs aka.ms/spdev-videos aka.ms/spdev-issues
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
Build SharePoint
Framework
extensibility
Explore Patterns
and Practices open-
source assets
Extend and
integrate with
Microsoft
ecosystem
Sign up for the Office 365 Dev Program - https://aka.ms/offdp
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass
ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass

More Related Content

PDF
ECS19 - Katja Jokisalo - Modernize your Intranet
European Collaboration Summit
 
PPTX
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
European Collaboration Summit
 
PPTX
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
PDF
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
European Collaboration Summit
 
PPTX
Learn from my Mistakes - Building Better Solutions in SPFx
Thomas Daly
 
PDF
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
European Collaboration Summit
 
PPTX
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Thomas Daly
 
PPTX
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 
ECS19 - Katja Jokisalo - Modernize your Intranet
European Collaboration Summit
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
European Collaboration Summit
 
ECS19 - Vesa Juvonen - Getting Started With SharePoint Framework - Roadmap
European Collaboration Summit
 
ECS19 Elio Struyf - Setting Up Your SPFx CI/CD pipelines on Azure DevOps
European Collaboration Summit
 
Learn from my Mistakes - Building Better Solutions in SPFx
Thomas Daly
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
European Collaboration Summit
 
Cross Site Collection Navigation using SPFx, Powershell PnP & PnP-JS
Thomas Daly
 
Access share point-2013-data-with-provider-hosted-apps
Alexander Meijers
 

What's hot (20)

PPTX
Develop business apps cross-platform development using visual studio with x...
Alexander Meijers
 
PPTX
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Małgorzata Borzęcka
 
PPTX
Custom Development for SharePoint
Talbott Crowell
 
PPTX
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Thomas Daly
 
PPTX
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
European Collaboration Summit
 
PPTX
ECS19 Bert Jansen - Modernizing your existing sites
European Collaboration Summit
 
PPTX
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
PDF
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
NCCOMMS
 
PDF
All about SPFx
Fabio Franzini
 
PPTX
Essential Knowledge for SharePoint Add-Ins
InnoTech
 
PPT
Best Practices Configuring And Developing Share Point Solutions
Alexander Meijers
 
PPTX
Introduction to SharePoint Framework
Małgorzata Borzęcka
 
PPTX
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
European Collaboration Summit
 
PDF
JavaScript and jQuery for SharePoint Developers
Rob Windsor
 
PPTX
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
European Collaboration Summit
 
PDF
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
European Collaboration Summit
 
PPTX
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
PDF
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
NCCOMMS
 
PPTX
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
PPTX
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 
Develop business apps cross-platform development using visual studio with x...
Alexander Meijers
 
The Greatest Introduction to SharePoint Framework (SPFx) on earth!
Małgorzata Borzęcka
 
Custom Development for SharePoint
Talbott Crowell
 
Cross Site Collection Navigation with SPFX, PowerShell PnP, PnP-JS, Office UI
Thomas Daly
 
ECS19 - Robi Voncina - Upgrade to SharePoint 2019
European Collaboration Summit
 
ECS19 Bert Jansen - Modernizing your existing sites
European Collaboration Summit
 
Custom Development in SharePoint – What are my options now?
Talbott Crowell
 
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
NCCOMMS
 
All about SPFx
Fabio Franzini
 
Essential Knowledge for SharePoint Add-Ins
InnoTech
 
Best Practices Configuring And Developing Share Point Solutions
Alexander Meijers
 
Introduction to SharePoint Framework
Małgorzata Borzęcka
 
[Patel] SPFx: An ISV Insight into latest Microsoft's customization model
European Collaboration Summit
 
JavaScript and jQuery for SharePoint Developers
Rob Windsor
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
European Collaboration Summit
 
ECS19 - Bill Ayers - UNLOCK YOUR BUSINESS KNOWLEDGE WITH THE MICROSOFT GRAPH,...
European Collaboration Summit
 
Cloud-Based App Development using SharePoint 2013, Office 365 and Azure
Tobias Lekman
 
O365Con18 - Site Templates, Site Life Cycle Management and Modern SharePoint ...
NCCOMMS
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien
 
ECS19 - Vesa Juvonen - SharePoint Development for Enterprises - What's New an...
European Collaboration Summit
 
Ad

Similar to ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass (20)

PPTX
What's new and what's next in SharePoint Development for Enterprise & SPFx
Vignesh Ganesan I Microsoft MVP
 
PPTX
Building share point framework solutions
Dipti Chhatrapati
 
PDF
Office 365 Developer Bootcamp Melbourne
Anupam Ranku
 
PDF
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
PPTX
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Asish Padhy
 
PPTX
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
Vincent Biret
 
PPTX
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
Vincent Biret
 
PPTX
Leveraging SharePoint as a development platform for the modern intranet
Microsoft Tech Community
 
PPTX
SPTechCon Austin 2019 - From SharePoint to Office 365 development
Sébastien Levert
 
PDF
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
PDF
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
PPTX
Target SharePoint and Teams with SharePoint Framework
Haaron Gonzalez
 
PPTX
Real World Add-in Development for Office365
Brian Culver
 
PPTX
SharePoint development 2017 wrap-up
Joel Rodrigues
 
PPTX
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
Sébastien Levert
 
PPTX
Building SharePoint framework Web Parts using the Microsoft Graph
Shawn Fagan
 
PPTX
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
PPTX
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
PDF
Real World SharePoint Framework and Azure Services
Brian Culver
 
PPTX
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
What's new and what's next in SharePoint Development for Enterprise & SPFx
Vignesh Ganesan I Microsoft MVP
 
Building share point framework solutions
Dipti Chhatrapati
 
Office 365 Developer Bootcamp Melbourne
Anupam Ranku
 
SPUnite17 Building Great Client Side Web Parts with SPFx
NCCOMMS
 
Building Responsive Intranet using Sharepoint Framework solutions - Asish Pad...
Asish Padhy
 
#SPSNYC 2018 Migrate your custom components to the #SharePoint Framework #SPFX
Vincent Biret
 
#SPSToronto 2018 migrate you custom development to the SharePoint Framework
Vincent Biret
 
Leveraging SharePoint as a development platform for the modern intranet
Microsoft Tech Community
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
Sébastien Levert
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
Bill Ayers
 
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
Target SharePoint and Teams with SharePoint Framework
Haaron Gonzalez
 
Real World Add-in Development for Office365
Brian Culver
 
SharePoint development 2017 wrap-up
Joel Rodrigues
 
SharePoint Fest Chicago 2019 - From SharePoint to Office 365 Development
Sébastien Levert
 
Building SharePoint framework Web Parts using the Microsoft Graph
Shawn Fagan
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx) in 1 hour
Brian Culver
 
Real World SharePoint Framework and Azure Services
Brian Culver
 
SharePoint as Development Platform for the Modern Intranet
Haaron Gonzalez
 
Ad

More from European Collaboration Summit (20)

PDF
ECS19 - Bram De Jager - Design a secure collaboration solution with Azure In...
European Collaboration Summit
 
PPTX
ECS19 - Eric Harlan - Increasing throughput of Office 365
European Collaboration Summit
 
PPTX
ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?
European Collaboration Summit
 
PPTX
ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...
European Collaboration Summit
 
PPTX
ECS19 - Christina Wheeler - Become Data Modeling Superhero
European Collaboration Summit
 
PPTX
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
European Collaboration Summit
 
PPTX
ECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiences
European Collaboration Summit
 
PPTX
ECS19 - Nicki Borell - Microsoft Cybersecurity Reference Architecture
European Collaboration Summit
 
PPTX
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
European Collaboration Summit
 
PPTX
ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...
European Collaboration Summit
 
PPTX
ECS19 - Toni Pohl - Develop intelligent apps for the Modern Workplace
European Collaboration Summit
 
PPTX
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
European Collaboration Summit
 
PPTX
ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...
European Collaboration Summit
 
PPTX
ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...
European Collaboration Summit
 
PDF
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
European Collaboration Summit
 
PPTX
ECS19 - Samuel Zuercher - Do I still need an Intranet or is MS Teams just eno...
European Collaboration Summit
 
PDF
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
European Collaboration Summit
 
PDF
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
European Collaboration Summit
 
PPTX
ECS19 - Radi Atanassov - Using Azure Functions as Your Business Logic Layer
European Collaboration Summit
 
PPTX
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
European Collaboration Summit
 
ECS19 - Bram De Jager - Design a secure collaboration solution with Azure In...
European Collaboration Summit
 
ECS19 - Eric Harlan - Increasing throughput of Office 365
European Collaboration Summit
 
ECS19 - Ahmad Najjar - Logic Apps vs Microsoft Flow - When, how and where?
European Collaboration Summit
 
ECS19 - Michael Van Horenbeeck - Divide Et Imperat Office 365 Mergers, Acquis...
European Collaboration Summit
 
ECS19 - Christina Wheeler - Become Data Modeling Superhero
European Collaboration Summit
 
ECS19 - Ahmad Najjar and Serge Luca - Power Platform Tutorial
European Collaboration Summit
 
ECS19 - Paolo Pialorsi - Building Portals with modern SharePoint experiences
European Collaboration Summit
 
ECS19 - Nicki Borell - Microsoft Cybersecurity Reference Architecture
European Collaboration Summit
 
ECS19 - Mike Ammerlaan - Microsoft Graph Data Connect
European Collaboration Summit
 
ECS19 - Vesa Juvonen, Paolo Pialorsi - Building “modern” portals with SharePo...
European Collaboration Summit
 
ECS19 - Toni Pohl - Develop intelligent apps for the Modern Workplace
European Collaboration Summit
 
ECS19 - Tomislav Lulic - What is changed in product/service licensing with Cl...
European Collaboration Summit
 
ECS19 - Thomas Goelles, Stephan Bisser - Unite your workplace with Microsoft'...
European Collaboration Summit
 
ECS19 - Steven Collier - Live Events in Teams, Yammer and Stream using Extern...
European Collaboration Summit
 
ECS19 - Serge Luca - MICROSOFT FLOW IN REAL WORLD PROJECTS: 3 YEARS LATER AN...
European Collaboration Summit
 
ECS19 - Samuel Zuercher - Do I still need an Intranet or is MS Teams just eno...
European Collaboration Summit
 
ECS19 - Rodrigo Pinto - Modernize Your Classic SharePoint Sites
European Collaboration Summit
 
ECS19 - Rodrigo Pinto - Migrating to Teams, real cases and scenarios
European Collaboration Summit
 
ECS19 - Radi Atanassov - Using Azure Functions as Your Business Logic Layer
European Collaboration Summit
 
ECS19 - Paul Collinge - Transforming enterprise network connectivity in a clo...
European Collaboration Summit
 

Recently uploaded (20)

PDF
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
PDF
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PPTX
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
An Experience-Based Look at AI Lead Generation Pricing, Features & B2B Results
Thomas albart
 
advancepresentationskillshdhdhhdhdhdhhfhf
jasmenrojas249
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
ESUG
 
Activate_Methodology_Summary presentatio
annapureddyn
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
AI-Ready Handoff: Auto-Summaries & Draft Emails from MQL to Slack in One Flow
bbedford2
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 

ECS19 - Vesa Juvonen - SharePoint and Office 365 Development PowerClass

  • 3. Agenda for today • 9:00 – 9:30 – Overview and introductions - Vesa • 9:30 – 10:30 – SharePoint Framework for solution architects - Vesa • 10:30 – 11:00 – Break • 11:00 – 12:00 – Building portals with modern SharePoint experiences - Paolo • 12:00 – 13:00 – Lunch • 13:00 – 13:45 – Transforming classic experiences to modern - Bert • 13:45 – 14:30 – Provisioning SharePoint and Office 365 assets - Erwin • 14:30 – 15:00 – Break • 15:00 – 15:30 – Using Azure Functions as your business logic layer - Radi • 15:30 – 16:15 – View and column formatting - Chris • 16:15 – 17:00 – Microsoft Graph - Laura
  • 6. Teamwork Content Processes Email and Calendar App Elements Microsoft Teams Office Apps and OneDrive SharePoint Outlook Flow and Planner Lists, Search & App Hosting in SharePoint Microsoft Graph Microsoft Identity People & Teams Pages & Sites Windows 10 App Experiences
  • 7. 18 trillion Microsoft Graph nodes 180 million monthly active users of Office 365 commercial 90% Fortune 500 1 billion users across work, life and edu 100 billion Microsoft Graph requests per month 1 million monthly active apps using Microsoft Identity Your tailored experiences or customizations
  • 12. SharePoint Framework (SPFx) Extensions Application customizer Command set Field customizer Add script to modern pages Adjust top and bottom sections of page with custom renderings Extend the modern list command surface with new actions that run custom code Visualize data inside columns in the list view Extend the user experience of SharePoint, leveraging the familiar tools and libraries for client-side development coming from the SharePoint Framework.
  • 13. Toolkits for Sketch/Figma Code for Fabric Core and Fabric React UI Fabric Documentation for uifabric.io
  • 14. PnP SPFx reusable open-source controls React content controls Use in the web parts and extensions sharepoint.github.io/sp-dev-fx-controls-react sharepoint.github.io/sp-dev-fx-property-controls Property pane controls Configuration options
  • 15. Teams TabsApp pagesWeb Parts Office add-ins* SharePoint Framework platform Extensions
  • 16. SharePoint Framework in different services
  • 17. SharePoint Framework Architecture For 3rd party components Support ALM capabilities REST APIs and UX Hosted in SharePoint Provides context pre-fetch data TypeScript libraries Handles load Handles execution Gives access to Web APIs Serves AAD access tokens Wraps to ADAL.js Integrated in Yeoman IDE agnostic Uses Node and NPM
  • 19. Tenant wide deployment of SPFx extensions
  • 20. Enable developers to build SPFx based Tabs solutions Full Teams context and SDK available at development and run time Hosting, authentication, and API access handled by SharePoint directly Full support for rich clients Develop Teams Tabs using SPFx
  • 21. Enable developers to build SPFx based Tabs solutions Full Teams context and SDK available at development and run time Hosting, authentication, and API access handled by SharePoint directly Full support for rich clients Develop Teams Tabs using SPFx
  • 22. Building Tabs using SPFx Development Model Enable developers to build SPFx based Tabs solutions Full Teams context and SDK available at development and run time Hosting, authentication, and API access handled by SharePoint directly Full support for rich clients
  • 23. Partners who were involved in the preview program and contributed on the design Microsoft Teams tabs with SharePoint Framework partners
  • 24. Uses the same infrastructure / package as Microsoft Teams Supported both as Web Part and App Page Provides the SharePoint Page Context as part of the SDK Requires minimal or no changes to existing solutions Supports both js/client solutions as well as traditional server-side solutions (.Net / C# or even Python) "Teams" Provider Hosted Solutions in SharePoint
  • 27. Partners which Solutions work on Teams and SharePoint TODAY "Teams" Provider Hosted Solutions in SharePoint
  • 28. Teams Solutions in SharePoint
  • 29. A Full Modern Page with pre configured application content and no authoring experience – only optional configuration Created as part of the “new Page” flow, or viewed using a query string driven _Layouts page. Uses the same “chrome” as other pages in the site Supports all the same extensions as authored pages App Pages
  • 32. App Pages in SharePoint Online
  • 33. Code runs in an auto-generated domain w/ different API permissions than the main tenant, and is iFramed into the main page Same context as the hosting page Framework handles AAD App registration and permission scopes and authentication Support for Web Parts, App Pages and Teams tabs Useful for a Web Part that needs extra permissions (mail.read) or a Web Part that wants extra protection (other parts can't access your back end data) Domain Isolated Web Parts
  • 34. Few architectural discussion points on common discussion topics…
  • 35. Web API end point WebAPI https://connection.contoso.com Custom On-prem LOB System SPFx Call WebAPIs hosted in Azure securely using the corporate identities. Identity flows through as an access token, which is verified as WebAPI is secured with Azure Active Directory. SQL Azure Multiple different options on accessing relevant data from the on- premises using Azure technologies Surfacing business information in SharePoint Online
  • 36. SPFx Adjust data presentation loading based on user profile information stored in oob profile properties or in custom properties js User Profile service There is no 3rd party audience capability currently available for SharePoint Framework, so implementation will need to be web part specific and typically based on user profile attributes. Personalization with the SharePoint Framework solutions
  • 37. Currently in development / planning – Coming soon…
  • 38. Using SPFx for building Personal tabs Like group chat tabs, developers target Personal tabs using supportedHost property in the manifest Manifest in Teams gets generated automatically from SharePoint App Catalog In Teams, all personal tabs surface as static tabs: no configuration capability is provided
  • 39. Allow independently versioned and deployed code, to be served automatically for the SharePoint Framework components Libraries are deployed in the app catalog then they can be referenced across other components Things to be aware of: • All components in the tenant get the same instance of the library • A solution cannot contain webparts/extensions and libraries. It's one or the other. • You have to reference library components at development time from a package manager or using npm link Library Components – General Availability
  • 40. Developers will target Office client using supportedHost property in the manifest Available to enterprises through Tenant Centralized Deployment Full Office SDK available at development and run times Hosting, Authentication and API access handled by SharePoint directly Some questions still to be decided: • Do we want to target different clients (Outlook / Word / WAC) as supportedHost or leave that to the developer? • How do we work with the enterprise office add-in catalog? • Office Manifests are complex. We'll need a way to make it easy to incorporate them into the solution. Using SPFx for building Office Add-ins
  • 41. Strongly Typed Extensions for Modern Portals Navigation Data Extension Developer get the default navigation data from the site They can change that data in any way they wish The page is responsible for rendering the new nodes using the normal rendering
  • 42. Strongly Typed Extensions for Modern Portals Navigation Rendering Extension Developer get the navigation data and a pre-created DIV. They are responsible for rendering the new nodes in the DIV Doesn't allow for changing the size or location of navigation. Doesn’t allow removal or customization of Hub nav for hub connected sites
  • 43. Strongly Typed Extensions for Modern Portals Footer Extension A way to replace our existing footer with custom code In pages where footer doesn’t exist this extension will not run Loading extension code will happen after the OOB components load
  • 44. Support for WebPack 4 Smaller packages / node_modules Faster inner loop Reduce Logging in debug console Developer Tools Improvements
  • 45. A developer technology for building a new class of shared, interactive experiences on the web: • support multi-person coauthoring on web and document content • provides a componentized document model that allows authors to deconstruct content into collaborative building blocks, use them across applications, and combine them in a new, more flexible kind of document • makes room for intelligent agents to work alongside humans to translate text, fetch content, suggest edits, perform compliance checks, and more Fluid Framework
  • 46. Fluid Framework with SharePoint Framework
  • 47. SharePoint Dev Roadmap SharePoint Dev next steps – current plans • Smaller, more rapid SharePoint Framework releases • Teams Integration Improvements • General availability of Library components • Office add-ins with SharePoint Framework • CSP – Content Security Policy • CSOM .NET Standard • Open-sourcing Yeoman generator • and more… Top of mind • Additional content extensions for modern pages • Fluid Framework • Throttling updates – Guidance • Developer tools improvements in SPFx • Store story for SPFx solutions
  • 48. Views in YouTube 42,242 Unique tenants # 22,417 Unique visitors in GitHub 55, 353 (avg 2 weeks) Views in GitHub 271,219 (avg 2 weeks) Watch time in YouTube 232,251 minutes Views in docs.microsoft.com – SharePoint Dev 1,170,325 Http Requests # 15,2 Billion Most used capability - Provisioning Engine (2972 tenants) http://aka.ms/sppnp Sharing is caring!
  • 51. Build SharePoint Framework extensibility Explore Patterns and Practices open- source assets Extend and integrate with Microsoft ecosystem Sign up for the Office 365 Dev Program - https://aka.ms/offdp

Editor's Notes

  • #7: Objective: Reinforce our teamwork position - Microsoft 365 meets the diverse needs of teams with an integrated solution that is secure We’ve designed Microsoft 365 to meet the unique needs of every group. For each of those categories of teamwork, Microsoft 365 includes a purpose-built application. Teams as a hub for teamwork where groups that actively engage and are working on core projects can connect and collaborate Yammer for people to connect across their company, sharing ideas on common topics of interest Outlook where teams can communicate in a familiar place, and can easily create modern distribution list with groups in Outlook SharePoint for keeping content at the center of teamwork, making files, sites and all types of content easily shareable and accessible across teams Office Apps – enabling co-authoring in familiar apps like Word, Excel, and PowerPoint With these tools coming together in Microsoft 365 – teams get a holistic solution. What’s unique about teamwork in Microsoft 365 is that all of these applications are built on an intelligent fabric - suite-wide membership service with O365 Groups; suite-wide discovery and intelligence with Microsoft Graph, and suite-wide security and compliance. Office 365 Groups - A membership service providing a single identity for teams across Office applications and services Microsoft Graph - Suite-wide intelligence that maps the connection of people and content to surface insights Security and Compliance - Proactive security that simplifies IT management with intelligence built-in
  • #10: 2169917126 to
  • #19: WebParts Extensions Services available on all components Life cycle events (onInit) Context object (this.context.*) Various HttpClients (SharePoint, Graph, AAD, Generic) Service Scopes (a way to share services across components) Dialog framework Placeholders Well known divs on a page that are reserved for 3rd party use May or may not be present on a given page May or may not be present on a given view (say mobile) Available to any component (but often used in the Application Customizer Extension) Placeholders != Extensions. There is no “Top” extension, but there is a “Top” placeholder Default UX provided by framework, expandable by developer Integrated in the Property Panel
  • #33: Create a "new Page" app page Static _layouts aspx app page
  • #35: Mail web part on Page and in Teams