SlideShare a Scribd company logo
1 of 35
STANDALONE WEB AND
DEVICE APPS
 
EXTENSIONS
EMBEDDED CANVASES
Microsoft Graph
Action
Task pane
Dialog box
Event
Common across canvases
Canvas
specific
extensions
Data import Bot
Connector
Navigation
Branding
 
EXTENSIONS
Project Templates C#MSBuild
IIS Express
XAML
Web parts can raise and
subscribe to events using
centralized service provided
from SharePoint Framework
SharePoint Framework
Client-side
web part
Client-side web part
Web part raises an event
towards SharePoint Framework.
SharePoint Framework will
handle notification flow towards
other web parts (subscribers) in
the page.
Client side web part can
subscribe to events from the
SharePoint Framework either
using event name or by using
instance identifier of event
originator.
1
2
private _onItemClick() {
this.props.spContext.eventAggregator.raiseEvent<DataModel.TrainingMasterItemSelectedEventProps>(
'TrainingMaster:ItemSelected’,
{
data: {selectedItem: this.props.listItem},
sourceId: this.props.spContext.instanceId,
targetId: ‘’
}
);
}
Method is raised using
eventAggregator. You are providing an
identifier for the event in code
Developer defines the data structure to
be sent as part of the event.
SourceId and targetId can be currently
provided in the structure, but targetId
does not have a purpose. All events are
raised for subscribers based on the
event identifier
public componentDidMount()
{
this.props.spContext.eventAggregator.subscribeByEventName<
DataModel.TrainingMasterItemSelectedEventProps>('TrainingMaster:ItemSelected’,
this.props.spContext.instanceId, this._receiveItemChangedEvent);
…
}
private _receiveItemChangedEvent(eventName: string, eventObject:
IWebPartEvent<DataModel.TrainingMasterItemSelectedEventProps>) {
const incomingItem: DataModel.TrainingMasterItemSelectedEventProps =
eventObject.data as DataModel.TrainingMasterItemSelectedEventProps;
if(incomingItem != null)
{
…
}
}
Subscribing to events based on their
identifier can be done using
eventAggregator available from the
context.
Developer defines a callback function
which will be called when event happens
in the page
Callback function will receive the event.
Developer will define the used data
structure for the information to be
passed over
Areas in the page available for
Application Customizer to embed
customizations for end users.
Application Customizer can be also
invisible for the end users.
Command Set customizer can be used
to introduce new custom actions to a
list. Can be configured to be active
when numerous items are selected.
Executes associated custom code when
clicked.
Field customizer can be used to
customize experiences around the
specific fields. You can associate field
customizer component to a specific
field instance to make a customization
execute when it’s used.
Field customizer to embed
JavaScript code for field
specific UI rendering
STANDALONE WEB AND
DEVICE APPS
 
EXTENSIONS
EMBEDDED CANVASES
Microsoft Graph
SharePoint Framework
Add-ins
• Azure AD
registration
• Native
responsive
support
• Built using
SharePoint
Framework
• … more …
Additionalareas
• More to
come…
js
Extensions
• Application
Customizer
• CommandSet
Customizer
• Field
Customizer
• … more …
Webparts
• Web part
connections
• JS Framework
isolation
• Maintenance
mode
• Workbench
improvements
• … more …
OpenId Connect support
for 3rd party solutions
Coming soon…
Capabilities
What’s included?
Road map CY17
Spring
Fall
Sharing is caring…
http://aka.ms/SharePointPnP
Code samples
Reusable components
Guidance documentation
Community calls
SharePoint Framework
SharePoint add-ins
Remote API models with
SharePoint development
When Title Speaker Where
Wed 11:30 AM B8086: Office 365 as a platform: Reach 100 million
Microsoft Office users with your web applications
Rob Howard
Tristan Davis
WSCC Room 608 (614)
Wed 02:00PM B8059: Introducing the Microsoft Teams Developer
platform: Integrate your app to enable higher
performing teams
Bhrighu
Sareen
Jigar Thakkar
WSCC Hall 6C (740)
Wed 03:30PM B8015: Microsoft Graph: Build better apps with the
API to your organization
Yina Arenas WSCC Room 612 (359)
Wed 05:00PM B8016: Build file collaboration and sharing
experiences with OneDrive, SharePoint and Microsoft
Graph
Martin Alonso
Rob Maguire
Ryan Gregg
TCC L3 Tahoma 3 (639)
Thu 01:00PM B8032: Create the modern workplace with the
SharePoint Framework
Daniel Kogan
Vesa Juvonen
WSCC Room 612 (359)
Thu 02:30PM B8053: Engage more users by bringing your apps to
Microsoft Outlook web, mobile, and desktop
Jyoti Pal
Wey Love
TCC L3 Tahoma 2 (378)
Thu 04:00PM B8905: Open Q&A: Hear from experts from Office
365, SharePoint, Microsoft Teams, and Microsoft
Graph
Yina Arenas
Pedro DeRose
Rob Howard
Tristan Davis
Vesa Juvonen
WSCC Hall 4C-4 (385)
Thu 05:30PM B8064: Integrate presence, chat, audio, and video
into custom apps with Skype for Business
Andrew Bybee TCC L3 Tahoma 3 (639)
Fri 09:00AM B8079: Slice, dice, and route your SharePoint
documents with Microsoft Flow, Azure Logic Apps
and Microsoft PowerApps
Kerem
Yuceturk
Merwan Hade
TCC L3 Tahoma 5 (200)
Fri 10:30AM B8033: Give Your Conversations Superpowers –
Building Intelligent Bots for Skype
Steven
Abrahams
Oren Jacobs
WSCC Room 612 (359)
Breakout Sessions
When Tech Talk Speaker
Wed 11:30 AM Integration with Microsoft Office 365 Data Loss Prevention with
Remedy by BMC
Darius Wallace
Jeff Desroches
Rick Nelson
Wed 01:00PM What's New in Office UI Fabric
Micah Godbolt
Wed 03:00PM Build data driven solutions using Microsoft Visio
Kulo Rajasekaran
Rishabh Agrawal
Wed 06:30PM New Virtual Health Templates extend Skype for Business as platform
for developers
Daniel Canning
David Newman
Wed 08:00PM Microsoft Teams Developer Tool Integrations Bill Bliss
Mansoor Malik
Thu 10:30AM Deploy, manage, and customize with SharePoint Patterns and
Practices tools and guidance Vesa Juvonen
Thu 11:00AM Script Lab, a Microsoft Garage project
Michael Saunders
Thu 12:00PM Adobe Creative Cloud and Adobe Document Cloud in Microsoft
Teams
Ashwani Chandil
Rajeev Sharma
Ram Prasad
Thu 03:30PM Writing an awesome Mobile Outlook add-in
Dwight Foster;
ergey Shvets
Thu 05:30PM DocuSign and Microsoft Office.js APIs integration
Kiah Jones
Fri 09:30AM From Zero to Hero: Building an Office add-in in one day
Clive Goodinson
Mike Ammerlaan
Fri 11:30AM Building a Better Bot: How Pullstring built the Doctor Who Bot
PullString Team
Fri 12:00AM Dun & Bradstreet powers data driven insight in Microsoft Teams and
Excel Chris Pardo
Fri 12:30AM Using Microsoft Graph to connect to Office 365 data
Yina Arenas
Fri 02:00PM Sapho connects legacy systems with Microsoft Teams
Peter Yared
Fri 02:30PM Deep Dive: Office Add-in Single Sign On
Tim McConnell
20-min Tech Talks @ Tech Talk A
Visit our booths and quick start challenges!
Create the Modern Workplace with the SharePoint Framework

More Related Content

What's hot

Getting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineGetting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineSPC Adriatics
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...NCCOMMS
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsNCCOMMS
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web AppsAyush Rathi
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectSPC Adriatics
 
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsO365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsNCCOMMS
 
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays CodeOps Technologies LLP
 
Understanding Azure Batch Service - Niloshima - CCDays
Understanding Azure Batch Service - Niloshima - CCDays Understanding Azure Batch Service - Niloshima - CCDays
Understanding Azure Batch Service - Niloshima - CCDays CodeOps Technologies LLP
 
O365Con18 - New Era of Customizing - Olli Jaaskelainen
O365Con18 - New Era of Customizing - Olli JaaskelainenO365Con18 - New Era of Customizing - Olli Jaaskelainen
O365Con18 - New Era of Customizing - Olli JaaskelainenNCCOMMS
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champKumton Suttiraksiri
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien
 
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business IntelligenceEuropean Collaboration Summit
 
Forge - DevCon 2016: Collaborating with Design Data
Forge - DevCon 2016: Collaborating with Design DataForge - DevCon 2016: Collaborating with Design Data
Forge - DevCon 2016: Collaborating with Design DataAutodesk
 
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...NCCOMMS
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsCallon Campbell
 
Microsoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help YouMicrosoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help YouSuhail Jamaldeen
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Callon Campbell
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...NCCOMMS
 
Extending Power BI With Your Own Custom Visual
Extending Power BI With Your Own Custom VisualExtending Power BI With Your Own Custom Visual
Extending Power BI With Your Own Custom VisualJan Pieter Posthuma
 

What's hot (20)

Getting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning EngineGetting started with the PnP Provisioning Engine
Getting started with the PnP Provisioning Engine
 
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
O365Con18 - PowerApps build custom forms for SharePoint with Azure Maps - Bra...
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx Extensions
 
Design and Implement Azure Web Apps
Design and Implement Azure Web AppsDesign and Implement Azure Web Apps
Design and Implement Azure Web Apps
 
An Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices ProjectAn Introduction to the Office 365 Patterns and Practices Project
An Introduction to the Office 365 Patterns and Practices Project
 
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten EekelsO365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
O365Con18 - Modern News Publishing with SharePoint - Maarten Eekels
 
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays
Accelerating Deployment With Azure DevOps - Murughan and Leena - CCDays
 
Understanding Azure Batch Service - Niloshima - CCDays
Understanding Azure Batch Service - Niloshima - CCDays Understanding Azure Batch Service - Niloshima - CCDays
Understanding Azure Batch Service - Niloshima - CCDays
 
O365Con18 - New Era of Customizing - Olli Jaaskelainen
O365Con18 - New Era of Customizing - Olli JaaskelainenO365Con18 - New Era of Customizing - Olli Jaaskelainen
O365Con18 - New Era of Customizing - Olli Jaaskelainen
 
Microsoft graph and power platform champ
Microsoft graph and power platform   champMicrosoft graph and power platform   champ
Microsoft graph and power platform champ
 
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmapsChris O'Brien - Ignite 2019 announcements and selected roadmaps
Chris O'Brien - Ignite 2019 announcements and selected roadmaps
 
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
[White/Himmelstein] Bridge the Cloud Divide with Hybrid Business Intelligence
 
Forge - DevCon 2016: Collaborating with Design Data
Forge - DevCon 2016: Collaborating with Design DataForge - DevCon 2016: Collaborating with Design Data
Forge - DevCon 2016: Collaborating with Design Data
 
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
O365Con18 - Customizing SharePoint and Microsoft Teams with SharePoint Framew...
 
Introduction to serverless compute with azure functions
Introduction to serverless compute with azure functionsIntroduction to serverless compute with azure functions
Introduction to serverless compute with azure functions
 
Microsoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help YouMicrosoft Azure and Microsoft 365 - How Will They Help You
Microsoft Azure and Microsoft 365 - How Will They Help You
 
Orion
OrionOrion
Orion
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)
 
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
O365Con18 - Innovate, Connecting Bleeding Edge Technologies - Sjoukje Zaal & ...
 
Extending Power BI With Your Own Custom Visual
Extending Power BI With Your Own Custom VisualExtending Power BI With Your Own Custom Visual
Extending Power BI With Your Own Custom Visual
 

Similar to Create the Modern Workplace with the SharePoint Framework

Commit University - Microsoft Azure
Commit University - Microsoft AzureCommit University - Microsoft Azure
Commit University - Microsoft AzureCommit University
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorTimothy McAliley
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1Dave Bost
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStartSajeetharan
 
Azure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsAzure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsBizTalk360
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveThomas Gölles
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introductionbrunoterkaly
 
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)White Nights Conference
 
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
Jeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect MeJeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect Me
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect MeJeremy Thake
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for DevelopersWes Yanaga
 
Microsoft Azure iPaaS Overview and What's New (2018-03-24)
Microsoft Azure iPaaS Overview and What's New (2018-03-24)Microsoft Azure iPaaS Overview and What's New (2018-03-24)
Microsoft Azure iPaaS Overview and What's New (2018-03-24)Paco de la Cruz
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Codemotion
 
Microsoft Learning Certification Roadmap
Microsoft Learning Certification RoadmapMicrosoft Learning Certification Roadmap
Microsoft Learning Certification RoadmapRobert Gabos
 
What's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureWhat's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureMicrosoft Tech Community
 

Similar to Create the Modern Workplace with the SharePoint Framework (20)

B8059
B8059B8059
B8059
 
Commit University - Microsoft Azure
Commit University - Microsoft AzureCommit University - Microsoft Azure
Commit University - Microsoft Azure
 
Go Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and BlazorGo Serverless with Cosmos DB, Azure Functions and Blazor
Go Serverless with Cosmos DB, Azure Functions and Blazor
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
 
Azure from Rookie to DevStart
Azure from Rookie to DevStartAzure from Rookie to DevStart
Azure from Rookie to DevStart
 
Azure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft FlowsAzure Logic Apps and Microsoft Flows
Azure Logic Apps and Microsoft Flows
 
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s PerspectiveESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
ESPC Teams week Microsoft Teams & Bot Framework – a Developer’s Perspective
 
Azure Introduction
Azure IntroductionAzure Introduction
Azure Introduction
 
Migrating Apps To Azure
Migrating Apps To AzureMigrating Apps To Azure
Migrating Apps To Azure
 
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
Romuald Zdebskiy (Microsoft) & Andrey Ivashentsev (Game Insight)
 
Create productive apps with Office 365
Create productive apps with Office 365Create productive apps with Office 365
Create productive apps with Office 365
 
Create productive apps with Office 365
Create productive apps with Office 365Create productive apps with Office 365
Create productive apps with Office 365
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
Jeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect MeJeremy Thake  Perth Share Point Ug   Sp2010 How Will Be Affect Me
Jeremy Thake Perth Share Point Ug Sp2010 How Will Be Affect Me
 
Office 365 for Developers
Office 365 for DevelopersOffice 365 for Developers
Office 365 for Developers
 
Microsoft Azure iPaaS Overview and What's New (2018-03-24)
Microsoft Azure iPaaS Overview and What's New (2018-03-24)Microsoft Azure iPaaS Overview and What's New (2018-03-24)
Microsoft Azure iPaaS Overview and What's New (2018-03-24)
 
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
Create cross-platform apps that interact with Microsoft Graph and Office 365 ...
 
Microsoft Learning Certification Roadmap
Microsoft Learning Certification RoadmapMicrosoft Learning Certification Roadmap
Microsoft Learning Certification Roadmap
 
What's new for Serverless Computing in Azure
What's new for Serverless Computing in AzureWhat's new for Serverless Computing in Azure
What's new for Serverless Computing in Azure
 
DevIntersection2015-Hybrid2015Final2.pptx
DevIntersection2015-Hybrid2015Final2.pptxDevIntersection2015-Hybrid2015Final2.pptx
DevIntersection2015-Hybrid2015Final2.pptx
 

More from SharePoint Patterns and Practices

PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLI
PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLIPnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLI
PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLISharePoint Patterns and Practices
 
PnP Webcast - Upgrade packages in SharePoint Framework solutions
PnP Webcast - Upgrade packages in SharePoint Framework solutionsPnP Webcast - Upgrade packages in SharePoint Framework solutions
PnP Webcast - Upgrade packages in SharePoint Framework solutionsSharePoint Patterns and Practices
 
PnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site ScriptsPnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site ScriptsSharePoint Patterns and Practices
 
PnP Webcast - Reusable control for your SharePoint Framework solutions
PnP Webcast - Reusable control for your SharePoint Framework solutionsPnP Webcast - Reusable control for your SharePoint Framework solutions
PnP Webcast - Reusable control for your SharePoint Framework solutionsSharePoint Patterns and Practices
 

More from SharePoint Patterns and Practices (13)

SharePoint Dev Ecosystem / PnP - July 2018 monthly call
SharePoint Dev Ecosystem / PnP - July 2018 monthly callSharePoint Dev Ecosystem / PnP - July 2018 monthly call
SharePoint Dev Ecosystem / PnP - July 2018 monthly call
 
PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLI
PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLIPnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLI
PnP Webcast - Upgrading your SharePoint Framework solutions using Office 365 CLI
 
SharePoint Dev Ecosystem / PnP - June 2018 monthly call
SharePoint Dev Ecosystem / PnP - June 2018 monthly callSharePoint Dev Ecosystem / PnP - June 2018 monthly call
SharePoint Dev Ecosystem / PnP - June 2018 monthly call
 
PnP Monthly Community Call - May 2015
PnP Monthly Community Call - May 2015PnP Monthly Community Call - May 2015
PnP Monthly Community Call - May 2015
 
PnP Monthly Community Call - April 2018
PnP Monthly Community Call - April 2018PnP Monthly Community Call - April 2018
PnP Monthly Community Call - April 2018
 
SharePoint Dev Monthly Community Call - 2018 March
SharePoint Dev Monthly Community Call - 2018 MarchSharePoint Dev Monthly Community Call - 2018 March
SharePoint Dev Monthly Community Call - 2018 March
 
PnP Webcast - Upgrade packages in SharePoint Framework solutions
PnP Webcast - Upgrade packages in SharePoint Framework solutionsPnP Webcast - Upgrade packages in SharePoint Framework solutions
PnP Webcast - Upgrade packages in SharePoint Framework solutions
 
SharePoint Dev Monthly Community Call - February 2018
SharePoint Dev Monthly Community Call - February 2018SharePoint Dev Monthly Community Call - February 2018
SharePoint Dev Monthly Community Call - February 2018
 
PnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site ScriptsPnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
PnP Webcast - Introduction to SharePoint Site Designs and Site Scripts
 
SharePoint Dev Ecosystem / PnP - January 2018 monthly call
SharePoint Dev Ecosystem / PnP - January 2018 monthly callSharePoint Dev Ecosystem / PnP - January 2018 monthly call
SharePoint Dev Ecosystem / PnP - January 2018 monthly call
 
PnP Webcast - Reusable control for your SharePoint Framework solutions
PnP Webcast - Reusable control for your SharePoint Framework solutionsPnP Webcast - Reusable control for your SharePoint Framework solutions
PnP Webcast - Reusable control for your SharePoint Framework solutions
 
PnP Webcast - Defining an icon for client-side web part
PnP Webcast - Defining an icon for client-side web partPnP Webcast - Defining an icon for client-side web part
PnP Webcast - Defining an icon for client-side web part
 
PnP Webcast - Sharepoint Access App scanner
PnP Webcast - Sharepoint Access App scannerPnP Webcast - Sharepoint Access App scanner
PnP Webcast - Sharepoint Access App scanner
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Create the Modern Workplace with the SharePoint Framework

  • 1.
  • 2.
  • 3. STANDALONE WEB AND DEVICE APPS   EXTENSIONS EMBEDDED CANVASES Microsoft Graph
  • 4. Action Task pane Dialog box Event Common across canvases Canvas specific extensions Data import Bot Connector Navigation Branding   EXTENSIONS
  • 5.
  • 6.
  • 7.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Web parts can raise and subscribe to events using centralized service provided from SharePoint Framework
  • 15. SharePoint Framework Client-side web part Client-side web part Web part raises an event towards SharePoint Framework. SharePoint Framework will handle notification flow towards other web parts (subscribers) in the page. Client side web part can subscribe to events from the SharePoint Framework either using event name or by using instance identifier of event originator. 1 2
  • 16. private _onItemClick() { this.props.spContext.eventAggregator.raiseEvent<DataModel.TrainingMasterItemSelectedEventProps>( 'TrainingMaster:ItemSelected’, { data: {selectedItem: this.props.listItem}, sourceId: this.props.spContext.instanceId, targetId: ‘’ } ); } Method is raised using eventAggregator. You are providing an identifier for the event in code Developer defines the data structure to be sent as part of the event. SourceId and targetId can be currently provided in the structure, but targetId does not have a purpose. All events are raised for subscribers based on the event identifier
  • 17. public componentDidMount() { this.props.spContext.eventAggregator.subscribeByEventName< DataModel.TrainingMasterItemSelectedEventProps>('TrainingMaster:ItemSelected’, this.props.spContext.instanceId, this._receiveItemChangedEvent); … } private _receiveItemChangedEvent(eventName: string, eventObject: IWebPartEvent<DataModel.TrainingMasterItemSelectedEventProps>) { const incomingItem: DataModel.TrainingMasterItemSelectedEventProps = eventObject.data as DataModel.TrainingMasterItemSelectedEventProps; if(incomingItem != null) { … } } Subscribing to events based on their identifier can be done using eventAggregator available from the context. Developer defines a callback function which will be called when event happens in the page Callback function will receive the event. Developer will define the used data structure for the information to be passed over
  • 18.
  • 19.
  • 20. Areas in the page available for Application Customizer to embed customizations for end users. Application Customizer can be also invisible for the end users. Command Set customizer can be used to introduce new custom actions to a list. Can be configured to be active when numerous items are selected. Executes associated custom code when clicked. Field customizer can be used to customize experiences around the specific fields. You can associate field customizer component to a specific field instance to make a customization execute when it’s used.
  • 21. Field customizer to embed JavaScript code for field specific UI rendering
  • 22.
  • 23.
  • 24. STANDALONE WEB AND DEVICE APPS   EXTENSIONS EMBEDDED CANVASES Microsoft Graph
  • 25.
  • 26. SharePoint Framework Add-ins • Azure AD registration • Native responsive support • Built using SharePoint Framework • … more … Additionalareas • More to come… js Extensions • Application Customizer • CommandSet Customizer • Field Customizer • … more … Webparts • Web part connections • JS Framework isolation • Maintenance mode • Workbench improvements • … more …
  • 27. OpenId Connect support for 3rd party solutions
  • 30.
  • 31. Sharing is caring… http://aka.ms/SharePointPnP Code samples Reusable components Guidance documentation Community calls SharePoint Framework SharePoint add-ins Remote API models with SharePoint development
  • 32.
  • 33.
  • 34. When Title Speaker Where Wed 11:30 AM B8086: Office 365 as a platform: Reach 100 million Microsoft Office users with your web applications Rob Howard Tristan Davis WSCC Room 608 (614) Wed 02:00PM B8059: Introducing the Microsoft Teams Developer platform: Integrate your app to enable higher performing teams Bhrighu Sareen Jigar Thakkar WSCC Hall 6C (740) Wed 03:30PM B8015: Microsoft Graph: Build better apps with the API to your organization Yina Arenas WSCC Room 612 (359) Wed 05:00PM B8016: Build file collaboration and sharing experiences with OneDrive, SharePoint and Microsoft Graph Martin Alonso Rob Maguire Ryan Gregg TCC L3 Tahoma 3 (639) Thu 01:00PM B8032: Create the modern workplace with the SharePoint Framework Daniel Kogan Vesa Juvonen WSCC Room 612 (359) Thu 02:30PM B8053: Engage more users by bringing your apps to Microsoft Outlook web, mobile, and desktop Jyoti Pal Wey Love TCC L3 Tahoma 2 (378) Thu 04:00PM B8905: Open Q&A: Hear from experts from Office 365, SharePoint, Microsoft Teams, and Microsoft Graph Yina Arenas Pedro DeRose Rob Howard Tristan Davis Vesa Juvonen WSCC Hall 4C-4 (385) Thu 05:30PM B8064: Integrate presence, chat, audio, and video into custom apps with Skype for Business Andrew Bybee TCC L3 Tahoma 3 (639) Fri 09:00AM B8079: Slice, dice, and route your SharePoint documents with Microsoft Flow, Azure Logic Apps and Microsoft PowerApps Kerem Yuceturk Merwan Hade TCC L3 Tahoma 5 (200) Fri 10:30AM B8033: Give Your Conversations Superpowers – Building Intelligent Bots for Skype Steven Abrahams Oren Jacobs WSCC Room 612 (359) Breakout Sessions When Tech Talk Speaker Wed 11:30 AM Integration with Microsoft Office 365 Data Loss Prevention with Remedy by BMC Darius Wallace Jeff Desroches Rick Nelson Wed 01:00PM What's New in Office UI Fabric Micah Godbolt Wed 03:00PM Build data driven solutions using Microsoft Visio Kulo Rajasekaran Rishabh Agrawal Wed 06:30PM New Virtual Health Templates extend Skype for Business as platform for developers Daniel Canning David Newman Wed 08:00PM Microsoft Teams Developer Tool Integrations Bill Bliss Mansoor Malik Thu 10:30AM Deploy, manage, and customize with SharePoint Patterns and Practices tools and guidance Vesa Juvonen Thu 11:00AM Script Lab, a Microsoft Garage project Michael Saunders Thu 12:00PM Adobe Creative Cloud and Adobe Document Cloud in Microsoft Teams Ashwani Chandil Rajeev Sharma Ram Prasad Thu 03:30PM Writing an awesome Mobile Outlook add-in Dwight Foster; ergey Shvets Thu 05:30PM DocuSign and Microsoft Office.js APIs integration Kiah Jones Fri 09:30AM From Zero to Hero: Building an Office add-in in one day Clive Goodinson Mike Ammerlaan Fri 11:30AM Building a Better Bot: How Pullstring built the Doctor Who Bot PullString Team Fri 12:00AM Dun & Bradstreet powers data driven insight in Microsoft Teams and Excel Chris Pardo Fri 12:30AM Using Microsoft Graph to connect to Office 365 data Yina Arenas Fri 02:00PM Sapho connects legacy systems with Microsoft Teams Peter Yared Fri 02:30PM Deep Dive: Office Add-in Single Sign On Tim McConnell 20-min Tech Talks @ Tech Talk A Visit our booths and quick start challenges!

Editor's Notes

  1. We want to move from the products to a more developer-oriented view of Office as a platform. The apps on slide 2 are merged into Office canvases, and then split out based on the type of “canvas”. Developers can extend the User experience around these canvases by adding new commands, task panes, dialog, etc. Within the canvas, they can add in custom, dynamic blocks of content. We’ll have a deeper dive on both of those in subsequent slides. In addition, developers can build standalone web and device apps that are peers of our Office apps. From both standalone apps and extensions to Office apps, developers can connect to Office data through the Microsoft Graph. Build smarter apps by connecting to Office services Microsoft Graph is the API for accessing data and intelligence in the Microsoft Cloud Our own apps use the graph, and third-party applications can take advantage of it as well, to give their applications rich context, deep insights, and real-time awareness about the business-critical data within an organization, including people, documents, calendars, mail, and devices Embed Office canvases in your own standalone apps Some Office canvases are also embeddable in your own web and device apps Embedded documents Voice / video conversations Embedded calendars Make your solutions a native part of Office canvases Office apps have a collection of unique canvases for different modes of digital work: content authoring, conversations, sites/portals You can extend the UI that surrounds these canvases with things like commands, on-object UI, task panes, dialogs, etc These extensions are based on simple, open, web technologies Office automatically adapts these extensions to the right experience, depending on the app and platform where they appear. For example, a command in Outlook desktop shows up as a button in the ribbon, while it shows up in a separate menu in Outlook mobile We support a continuum of extensions, from simple, declarative extensions, to fully-custom experiences that require imperative code Each of these canvases also supports extensions that are unique to their experience Documents Conversations Bots Connectors Input Extensions Pages You can also extend the canvases themselves with custom content This custom content can be as simple as text or a static image, or it can scale up to fully custom HTML and JavaScript-powered content, depending on the needs of your scenario
  2. We want to move from the products to a more developer-oriented view of Office as a platform. The apps on slide 2 are merged into Office canvases, and then split out based on the type of “canvas”. Developers can extend the User experience around these canvases by adding new commands, task panes, dialog, etc. Within the canvas, they can add in custom, dynamic blocks of content. We’ll have a deeper dive on both of those in subsequent slides. In addition, developers can build standalone web and device apps that are peers of our Office apps. From both standalone apps and extensions to Office apps, developers can connect to Office data through the Microsoft Graph. Build smarter apps by connecting to Office services Microsoft Graph is the API for accessing data and intelligence in the Microsoft Cloud Our own apps use the graph, and third-party applications can take advantage of it as well, to give their applications rich context, deep insights, and real-time awareness about the business-critical data within an organization, including people, documents, calendars, mail, and devices Embed Office canvases in your own standalone apps Some Office canvases are also embeddable in your own web and device apps Embedded documents Voice / video conversations Embedded calendars Make your solutions a native part of Office canvases Office apps have a collection of unique canvases for different modes of digital work: content authoring, conversations, sites/portals You can extend the UI that surrounds these canvases with things like commands, on-object UI, task panes, dialogs, etc These extensions are based on simple, open, web technologies Office automatically adapts these extensions to the right experience, depending on the app and platform where they appear. For example, a command in Outlook desktop shows up as a button in the ribbon, while it shows up in a separate menu in Outlook mobile We support a continuum of extensions, from simple, declarative extensions, to fully-custom experiences that require imperative code Each of these canvases also supports extensions that are unique to their experience Documents Conversations Bots Connectors Input Extensions Pages You can also extend the canvases themselves with custom content This custom content can be as simple as text or a static image, or it can scale up to fully custom HTML and JavaScript-powered content, depending on the needs of your scenario
  3. Developers can embed customer content into our canvases, and they can choose any point along a continuum of increasingly complex and capable technologies, depending the needs of their particular scenario. This slide is essentially a drill-down into the white boxes on slide 4. [tristand] we should figure out how we note that many of the extension surfaces also follow this continuum (e.g. task panes, tabs, dialog boxes)
  4. Over the past several years, with the evolution of Office 365, development of SharePoint solutions has encountered a new set of challenges: while on one hand IT and Tenant administrators require a new set of tools to control how data get accessed and consumed in their tenancies, developers, on the other hand, want to programmatically control the whole lifecycle, experience, and data access capabilities of a Site.   Unfortunately, developers today find themselves constraint around building app parts as a result of iFrames, a reduced set of APIs, and no integration with cross Office 365 workloads. This in turn limits their ability to develop powerful portals that extend SharePoint.   The client-side development framework will deliver capabilities that will help both first party and third party developers build powerful, rich applications and provide an enjoyable web experience in Office 365 for end users that are both intuitive and simple to consume.
  5. We want to move from the products to a more developer-oriented view of Office as a platform. The apps on slide 2 are merged into Office canvases, and then split out based on the type of “canvas”. Developers can extend the User experience around these canvases by adding new commands, task panes, dialog, etc. Within the canvas, they can add in custom, dynamic blocks of content. We’ll have a deeper dive on both of those in subsequent slides. In addition, developers can build standalone web and device apps that are peers of our Office apps. From both standalone apps and extensions to Office apps, developers can connect to Office data through the Microsoft Graph. Build smarter apps by connecting to Office services Microsoft Graph is the API for accessing data and intelligence in the Microsoft Cloud Our own apps use the graph, and third-party applications can take advantage of it as well, to give their applications rich context, deep insights, and real-time awareness about the business-critical data within an organization, including people, documents, calendars, mail, and devices Embed Office canvases in your own standalone apps Some Office canvases are also embeddable in your own web and device apps Embedded documents Voice / video conversations Embedded calendars Make your solutions a native part of Office canvases Office apps have a collection of unique canvases for different modes of digital work: content authoring, conversations, sites/portals You can extend the UI that surrounds these canvases with things like commands, on-object UI, task panes, dialogs, etc These extensions are based on simple, open, web technologies Office automatically adapts these extensions to the right experience, depending on the app and platform where they appear. For example, a command in Outlook desktop shows up as a button in the ribbon, while it shows up in a separate menu in Outlook mobile We support a continuum of extensions, from simple, declarative extensions, to fully-custom experiences that require imperative code Each of these canvases also supports extensions that are unique to their experience Documents Conversations Bots Connectors Input Extensions Pages You can also extend the canvases themselves with custom content This custom content can be as simple as text or a static image, or it can scale up to fully custom HTML and JavaScript-powered content, depending on the needs of your scenario