SlideShare a Scribd company logo
Become a Developer Hero by
Building Office Add-ins
Bill Ayers
SPUnite17 Become a Developer Hero by Building Office Add ins
Bill Ayers
Flow Simulation Ltd.
www.SPDoctor.net
BillA@flosim.com
@SPDoctor
Consultant specialising in SharePoint and Office
365 Development and Architecture for
Collaboration and Mobile Development
MCM/MCSM Charter SharePoint, MCT, MVP,
MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA,
MSc, Professional Scrum Master, etc.
Agenda
• Background
• Office Add-in Shapes
• Building Office Add-ins
• Distributing Add-ins
• Conclusions
• Q & A
2-3 hours/day in
Office Apps
Mobile Devices
1.2B in 2014
1.8B in 2018
1B+
• The de-facto standard for business
• Now available on iOS, Android, OS X, Windows
Phone and in browsers
Office is Everywhere!
Add-in vision
• Native and intuitive feel
• Use UI framework of host client (Office UI
Fabric)
• Write once, run everywhere
• Simple point solutions to automate existing
manual processes
Office 365 Platform at Ignite 2017
Standalone web, device,
and service apps
 
Extensions
Embedded canvases
1Microsoft Graph
Groups
People
Conversations
Files
Insights
Office Add-ins
Reactor
Extensions for Office
VSTOCOM
Office Add-ins
VBAMacros
*all still supported
Behind the Scenes
Hosted Add-In Web Page
XML Manifest file in
Exchange, catalog or
file store
Could do with something interesting here…
Office Add-in Shapes
Add-in that runs within a document content with
read/write access: Excel, PowerPoint, Access
Add-in launched contextually from a mail message or appointment:
Outlook and Outlook Web Access (OWA), and could include actionable
messages
Command in the Office UI to launch add-in or execute
JavaScript: Outlook, Outlook Web Access (OWA)
Add-in that runs beside a document/mail with read/write access:
Word, Excel, PowerPoint, Project, Outlook
Module extension for the Outlook navigation bar: Outlook
Task Pane Add-in
Content Add-in
Add-in Command
• “1-click” way for users to invoke add-ins
• Launch task pane
• Execute a JavaScript function without showing UI
• Dropdown (menu) with different types of buttons as options
• Up to 6 buttons per group
• 1 group on default tab, up to 10 groups on custom tab
• Commands that don’t launch UI can show status messages on
the mail item or appointment
• Supported starting with Office Developer Tools for Visual Studio
Update 1
Win32 Online iPad iPhone Mac Android UWA
Read Read
Compose Compose
Add-in Roadmap
https://dev.office.com/add-in-availability
Office.js
• Access to body and attachments, content
• Launch native forms (e.g. reply, new message, appointment)
• Modify fields and add attachments
• Set/get custom properties on items
• Persist user settings
JavaScript API Reference: http://dev.office.com/docs/add-ins/overview/office-add-ins
JavaScript API for Office
Building an Office Add-in
• Napa in-browser web editor – zero install -
https://www.napacloudapp.com/ *retired*
• Script Lab add-in
• Microsoft Visual Studio
• Any Web Editor of you choice (e.g. VS Code) plus
Yeoman project generator
https://dev.office.com/blogs/creating-office-add-ins-
with-any-editor-introducing-yo-office
Getting Started at dev.office.com – can use MSDN subscription, sign up for Office
Developer Program for free 1 year licence, or get a free 30-day Office 365 trial
Using Visual Studio 2015
• Make sure Office Add-ins toolset installed (Visual Studio
2015 setup or http://www.visualstudio.com/features/office-tools-vs)
• Office Developer Tools for Visual Studio 2015 Update 2
available
• Design user interface as a web site
• Edit manifest
• Implement logic with client-side JavaScript or server-side
code
• Run or debug – will host Add-in locally
• Publish from Visual Studio
Using Visual Studio 2017
• Visual Studio 2017 (including community edition) – check the installer option
• Create new project: Add-in for Office App for Office Web Add-in
• Design user interface as a web site, edit manifest, etc…
Project Structure
• First project contains just the XML add-in
manifest (VS includes a design wizard)
• Second project is the supporting ASP.NET
Website with HTML, CSS and JavaScript
files (including jQuery library)
• Use any other technology, but you will have
to provision it yourself
• Things like alerts, pop-up browser windows
and anything modal will be blocked by the
hosting Office app
Build Add-in with Visual Studio
More Development Choices…
• Use any technology that delivers for the web
• Microsoft offering Yeoman generator for skeleton
add-in project (similar to SPFx toolchain)
• Keep in mind that add-ins need SSL/HTTPS
Hosted on GitHub
yo office!
• > npm install -g yo
• > npm install -g generator-office
• > yo office
Building an Add-in Using
Command-line Tooling and Visual
Studio Code
Reference: https://code.visualstudio.com/Docs/runtimes/office
Office UI Fabric
• Responsive framework (kind-of)
• Office Design Language for web
• Designed for Office Add-ins by
OneDrive and SharePoint Design Studio
• Consistent look-and-feel with Office
• About 100k, 200k with components
• Available as raw CSS or versions for Angular and React
• Dev.office.com/fabric
• Open source (github.com/OfficeDev/Office-UI-Fabric)
Office UI Fabric
• Design elements to give add-ins the same look and feel as
the rest of the Office suite
• Consistent typography, icons and behaviour
Link to UI Fabric Stylesheets:
<link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.min.css">
<link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.components.min.css">
Decorate elements with UI Fabric classes:
<button class="ms-Button" id="get-data-from-selection">
<span class="ms-Button-icon"><em class="ms-Icon ms-Icon--plus"></em></span>
<span class="ms-Button-label">Get Data from selection</span>
<span class="ms-Button-description">Get Data from the document selection</span>
</button>
http://dev.office.com/fabric
Link to UI Fabric JS:
<script src="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-js/1.2.0/js/fabric.min.js"></script>
Office UI Fabric ReactJS
Components
• 30 re-useable React components, ready to use
• Used by Microsoft to build Office and SharePoint
• Angular? See ngOfficeUIFabric
import Button from 'office-ui-fabric-react';
Var b = <Button onClick={() => this.getData() }
className="ms-Button--primary">
Refresh List</Button>
Breadcrumb
Button
Callout
Checkbox
ChoiceGroup
ColorPicker
CommandBar
ContextualMenu
DatePicker
DetailsList
Dialog
DocumentCard
Dropdown
Facepile
Label
Layer
Link
List
MessageBar
Nav
Overlay
Panel
Persona
Pickers
PeoplePicker
Pivot
ProgressIndicator
SearchBox
TextField
Toggle
Captain Klepto
Office Design Patterns
•Apply solutions to common customer scenarios
•Apply design best practices
•Incorporate Office UI Fabric components and styles
•Build add-ins that visually integrate with the default Office UI
•“Steal” HTML and CSS from samples on GitHub
https://github.com/OfficeDev/Office-Add-in-UX-Design-Patterns-Code
Distribution through Office Store
Great to have a cross-platform model, but how will people
find add-ins?
Easy access to the Office
Store where users can get
add-ins
* New options for IT management of add-ins now in preview
Licensing to Third Parties
• Licensing framework allows you to tell if user has a valid licence
• You add logic to enforce licencing (e.g. limited functionality
without licence)
• Only works for add-ins obtained from Office Store or catalog
(SharePoint/Exch)
• User must be signed in
• Store handles payment and tracks licence tokens – web service to
verify licence
• Token passed as query string parameter
• Think about your licensing model
Licence Validation Flow
User
Utility.GetAppLicenseInformation
How to install an Office add-in?
Side-loading
• During development
of add-in
➢ Upload manifest
➢ For testing
Distribute
publicly
• Office store
➢ Validated against
policies
➢ Free or Paid
➢ Not for internal
Deploy within
Organization
• Admin uses
➢ Add-in Catalog
➢ EAC for Outlook
➢ Centralized
deployment
New PowerShell cmdlets for Centralized Deployment management: New-OrganizationAddIn, etc.
On-premises Add-in Deployment
• Deploy Mail Add-ins to local copy of Exchange
Server using Exchange Management Console
• Deploy other Office Add-ins to SharePoint Add-in
Catalog (sits along-side SharePoint Add-in Catalog)
• Configure Office client to trust the catalog
• Can also deploy Add-in manifest to a file share
Two Ways to Call Out
Web Application
(e.g. ASP.NET
MVC)
User running Office client,
Office 365, or mobile
Office.
Service (e.g.
MS Graph)
called from
Web
Application
Web Service
Called from JS
User running Office client,
Office 365, or mobile
Office.
Service (e.g.
MS Graph)
Static Content
Web Application
Web Service
Called from JS
Content
TASKS
manag
er
member
Of
FILES
MESSAGES
workingWit
h
Shared with
me
directRepor
ts
createdB
y
FILES
CONVERSATIONS
created
By
workingWit
h
EVENTS
trendingAroun
d
GROUPS
TASKS
NOTES
NOTES
publ
ic
modifiedB
y
USER
trendingAroun
d
Microsoft Graph API
• Outlook (Mail) add-ins
now support the 400
million users of
Outlook.com
• This is in addition to the
billion users of Outlook
client across Windows
and iOS and users of
Office 365
Using with Protected Web
Services
• Use displayDialog to handle auth. flow
• Office-js-helpers.js
• https://github.com/OfficeDev/office-js-helpers
• Use with any OAuth 2.0 service
• Supports both Implicit and Authorization Code OAuth 2.0 flows
• Connect using Server-side code
• Outlook add-in SSO - Exchange generates token - Add-in can
validate and map to known user id
Office.context.ui.displayDialogAsync(dialogURL,
{ width:100, height: 100, requireHTTPS: true },
function(result) {
// handle the result…
});
New Add-in SSO
• https://dev.office.com/docs/add-ins/develop/sso-in-office-add-ins
What’s new and on the horizon
GA Preview
Now
• Centralized Deployment for
Word, Excel and PPT
• Auto-open taskpane
• Excel 1.5 and 1.6 APIs
• Outlook Add-ins in Android
• Single Sign-on for Outlook
• Excel 1.7 APIs
• Outlook 1.5 APIs for Mac
Outlook
Soon
• Single Sign-on for Word,
Excel and PPT
• Custom Functions in Excel
• Centralized Deployment for
Outlook
Focus
Areas
• More APIs, particularly for Outlook and Excel
• Better, deeper UX integration
• Better add-in discovery
• Performance
Conclusions:
• Office Add-ins – potential for huge business benefit for
your users with minimal effort
• > 1.5bn potential users across multiple platforms
• Use same skillset across Office Add-ins, SharePoint,
Web, Universal Apps and Mobile Cross-platform Apps
• Your choice of developer tooling
• Sign up for Office 365 Developer Program to get started
– dev.office.com
• Platform continuing to get more capabilities and better
reach with Microsoft Graph
• Think about how add-ins could help your business
Resources:
• Office 365 Dev Center (dev.office.com)
• https://dev.office.com/docs/add-ins/overview/office-add-ins
• Samples and training content: github.com/OfficeDev
• Visit dev.office.com and click the Sign Up button to join the
Office 365 Developer Program
• Microsoft Virtual Academy course “App Model Deep Dive”
with Ted Pattison and Scott Hillier
• Get started with Office development:
dev.office.com/getting-started
• UX Patterns: https://dev.office.com/docs/add-ins/design/ux-
design-patterns
• https://dev.office.com/fabric

More Related Content

What's hot (20)

What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechConWhat’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
SPTechCon
 
Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010
Michal Pisarek
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Elaine Van Bergen
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT Pro
NCCOMMS
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT
 
Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Build scalable SharePoint 2013 Staged Workflows to run locally and in the CloudBuild scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Brian Culver
 
Creating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsCreating SharePoint 2013 Workflows
Creating SharePoint 2013 Workflows
SPC Adriatics
 
SharePoint 2010 Workflows
SharePoint 2010 WorkflowsSharePoint 2010 Workflows
SharePoint 2010 Workflows
Phil Wicklund
 
Workflow in SharePoint 2013
Workflow in SharePoint 2013Workflow in SharePoint 2013
Workflow in SharePoint 2013
MJ Ferdous
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
Microsoft 365 Developer
 
Office add ins community call-January 2019
Office add ins community call-January 2019Office add ins community call-January 2019
Office add ins community call-January 2019
Microsoft 365 Developer
 
The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft Graph
Eric Overfield
 
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
NCCOMMS
 
Microsoft Office Web Apps Server - Deployment Simplified
Microsoft Office Web Apps Server - Deployment SimplifiedMicrosoft Office Web Apps Server - Deployment Simplified
Microsoft Office Web Apps Server - Deployment Simplified
David J Rosenthal
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2
K2
 
Share Point 2010 Workflow
Share Point 2010 WorkflowShare Point 2010 Workflow
Share Point 2010 Workflow
Phuong Nguyen
 
New Office Web Apps story
New Office Web Apps storyNew Office Web Apps story
New Office Web Apps story
Jason Himmelstein
 
Demonstration steps visio 2010 share point workflow
Demonstration steps visio 2010 share point workflowDemonstration steps visio 2010 share point workflow
Demonstration steps visio 2010 share point workflow
Jason Hamlin
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
Fabio Franzini
 
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Bram de Jager
 
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechConWhat’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
What’s new with Workflow in SharePoint 2013 by Andew Connell - SPTechCon
SPTechCon
 
Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010
Michal Pisarek
 
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and VisioBuilding Workflows for SharePoint 2010 with SharePoint Designer and Visio
Building Workflows for SharePoint 2010 with SharePoint Designer and Visio
Elaine Van Bergen
 
SPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT ProSPCA2013 - Windows Workflow Manager for the IT Pro
SPCA2013 - Windows Workflow Manager for the IT Pro
NCCOMMS
 
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT - Application Lifecycle Management for SharePoint in the Enterprise
Envision IT
 
Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Build scalable SharePoint 2013 Staged Workflows to run locally and in the CloudBuild scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Build scalable SharePoint 2013 Staged Workflows to run locally and in the Cloud
Brian Culver
 
Creating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsCreating SharePoint 2013 Workflows
Creating SharePoint 2013 Workflows
SPC Adriatics
 
SharePoint 2010 Workflows
SharePoint 2010 WorkflowsSharePoint 2010 Workflows
SharePoint 2010 Workflows
Phil Wicklund
 
Workflow in SharePoint 2013
Workflow in SharePoint 2013Workflow in SharePoint 2013
Workflow in SharePoint 2013
MJ Ferdous
 
Office Add ins community call-February 2019
Office Add ins community call-February 2019Office Add ins community call-February 2019
Office Add ins community call-February 2019
Microsoft 365 Developer
 
Office add ins community call-January 2019
Office add ins community call-January 2019Office add ins community call-January 2019
Office add ins community call-January 2019
Microsoft 365 Developer
 
The Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft GraphThe Adventures of Azure Functions and Microsoft Graph
The Adventures of Azure Functions and Microsoft Graph
Eric Overfield
 
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
SPCA2013 - Taking Office Beyond the Client with Office Web Apps 2013
NCCOMMS
 
Microsoft Office Web Apps Server - Deployment Simplified
Microsoft Office Web Apps Server - Deployment SimplifiedMicrosoft Office Web Apps Server - Deployment Simplified
Microsoft Office Web Apps Server - Deployment Simplified
David J Rosenthal
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2
K2
 
Share Point 2010 Workflow
Share Point 2010 WorkflowShare Point 2010 Workflow
Share Point 2010 Workflow
Phuong Nguyen
 
Demonstration steps visio 2010 share point workflow
Demonstration steps visio 2010 share point workflowDemonstration steps visio 2010 share point workflow
Demonstration steps visio 2010 share point workflow
Jason Hamlin
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
Fabio Franzini
 
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Develop, Build, Package and Deploy Office Add-ins with Visual Studio - ESPC 2015
Bram de Jager
 

Similar to SPUnite17 Become a Developer Hero by Building Office Add ins (20)

Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
BIWUG
 
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
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
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...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
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
NCCOMMS
 
Office Add-in development
Office Add-in developmentOffice Add-in development
Office Add-in development
Vjekoslav Ratkajec
 
Office Add-in development using JavaScript
Office Add-in development using JavaScriptOffice Add-in development using JavaScript
Office Add-in development using JavaScript
krutidanak96
 
Patterns and Practices in Building Office Add-ins
Patterns and Practices in Building Office Add-insPatterns and Practices in Building Office Add-ins
Patterns and Practices in Building Office Add-ins
Mostafa
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
Dipti Chhatrapati
 
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
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
Haaron Gonzalez
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
Microsoft 365 Developer
 
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
Brian Culver
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
SPC Adriatics
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Anupam Ranku
 
My Resume_Uday -
My Resume_Uday -My Resume_Uday -
My Resume_Uday -
Uday Kiran
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
Nicolò Carandini
 
Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)
Miguel Alberto
 
Use Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePointUse Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePoint
Eric Overfield
 
Resume
ResumeResume
Resume
Satendra Kasana
 
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
Yo Office! Use your SPFx Skills to Build Add-Ins for Word, Excel, Outlook and...
BIWUG
 
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
 
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...SPS Paris: Building great client-side web parts with spfx, pnp-js-core, React...
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...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
D1 - Building Great Client-side Web Parts with SPFx, PnP-JS-Core, ReactJS and...
SPS Paris
 
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
NCCOMMS
 
Office Add-in development using JavaScript
Office Add-in development using JavaScriptOffice Add-in development using JavaScript
Office Add-in development using JavaScript
krutidanak96
 
Patterns and Practices in Building Office Add-ins
Patterns and Practices in Building Office Add-insPatterns and Practices in Building Office Add-ins
Patterns and Practices in Building Office Add-ins
Mostafa
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
Dipti Chhatrapati
 
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
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
Haaron Gonzalez
 
Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
Microsoft 365 Developer
 
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
Brian Culver
 
Office apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thingOffice apps in Office 365 - Napa the next big thing
Office apps in Office 365 - Napa the next big thing
SPC Adriatics
 
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Office 365 Saturday (Sydney) - SharePoint framework – build integrated user e...
Anupam Ranku
 
My Resume_Uday -
My Resume_Uday -My Resume_Uday -
My Resume_Uday -
Uday Kiran
 
Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)
Miguel Alberto
 
Use Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePointUse Office UI Fabric React to Build Beauty with SharePoint
Use Office UI Fabric React to Build Beauty with SharePoint
Eric Overfield
 

More from NCCOMMS (20)

O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
NCCOMMS
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick BakkerO365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
NCCOMMS
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
NCCOMMS
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
NCCOMMS
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis JugoO365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
NCCOMMS
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul HuntO365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
NCCOMMS
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
NCCOMMS
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
NCCOMMS
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi RoineO365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
NCCOMMS
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
NCCOMMS
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
NCCOMMS
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna LinsO365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
NCCOMMS
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
NCCOMMS
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de JagerO365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
NCCOMMS
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van RousseltO365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
NCCOMMS
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise FreeseO365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
NCCOMMS
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris GoosenO365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
NCCOMMS
 
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
O365Con19 - UI:UX 101 Learn How to Design Custom Experiences for SharePoint -...
NCCOMMS
 
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick BakkerO365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
O365Con19 - Model-driven Apps or Canvas Apps? - Rick Bakker
NCCOMMS
 
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper OosterveldO365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
O365Con19 - Office 365 Groups Surviving the Real World - Jasper Oosterveld
NCCOMMS
 
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis JugoO365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
O365Con19 - Developing Timerjob and Eventhandler Equivalents - Adis Jugo
NCCOMMS
 
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis JugoO365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
O365Con19 - Sharepoint with (Artificial) Intelligence - Adis Jugo
NCCOMMS
 
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul HuntO365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
O365Con19 - What Do You Mean 90 days Isn't Enough - Paul Hunt
NCCOMMS
 
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
O365Con19 - Tips and Tricks for Complex Migrations to SharePoint Online - And...
NCCOMMS
 
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
O365Con19 - Start Developing Teams Tabs and SharePoint Webparts with SPFX - O...
NCCOMMS
 
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
O365Con19 - Start Your Journey from Skype for Business to Teams - Sasja Beere...
NCCOMMS
 
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi RoineO365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
O365Con19 - Lets Get Started with Azure Container Instances - Jussi Roine
NCCOMMS
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
NCCOMMS
 
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna LinsO365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
O365Con19 - Customise the UI in Modern SharePoint Workspaces - Corinna Lins
NCCOMMS
 
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna LinsO365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
O365Con19 - Be The Protagonist of Your Modern Workplace - Corinna Lins
NCCOMMS
 
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
O365Con19 - How to Really Manage all your Tasks Across Microsoft 365 - Luise ...
NCCOMMS
 
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio StruyfO365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
O365Con19 - Sharing Code Efficiently in your Organisation - Elio Struyf
NCCOMMS
 
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
O365Con19 - Things I've Learned While Building a Product on SharePoint Modern...
NCCOMMS
 
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de JagerO365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
O365Con19 - Keep Control of Your Data with AIP and CA - Bram de Jager
NCCOMMS
 
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van RousseltO365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
O365Con19 - Kaizala a Dive Into the Unknown - Rick van Rousselt
NCCOMMS
 
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise FreeseO365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
O365Con19 - How to Inspire Users to Unstick from Email - Luise Freese
NCCOMMS
 
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris GoosenO365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
O365Con19 - O365 Identity Management and The Golden Config - Chris Goosen
NCCOMMS
 

Recently uploaded (20)

Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global TrendsAI and Data Privacy in 2025: Global Trends
AI and Data Privacy in 2025: Global Trends
InData Labs
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025Splunk Security Update | Public Sector Summit Germany 2025
Splunk Security Update | Public Sector Summit Germany 2025
Splunk
 
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxIncreasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptx
Anoop Ashok
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
Big Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur MorganBig Data Analytics Quick Research Guide by Arthur Morgan
Big Data Analytics Quick Research Guide by Arthur Morgan
Arthur Morgan
 
Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)Into The Box Conference Keynote Day 1 (ITB2025)
Into The Box Conference Keynote Day 1 (ITB2025)
Ortus Solutions, Corp
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...
Aqusag Technologies
 
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveDesigning Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep Dive
ScyllaDB
 
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded DevelopersLinux Support for SMARC: How Toradex Empowers Embedded Developers
Linux Support for SMARC: How Toradex Empowers Embedded Developers
Toradex
 
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell: Transforming Business Strategy Through Data-Driven Insights
Andrew Marnell
 
Semantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AISemantic Cultivators : The Critical Future Role to Enable AI
Semantic Cultivators : The Critical Future Role to Enable AI
artmondano
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
Quantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur MorganQuantum Computing Quick Research Guide by Arthur Morgan
Quantum Computing Quick Research Guide by Arthur Morgan
Arthur Morgan
 
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...
Alan Dix
 
Cybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure ADCybersecurity Identity and Access Solutions using Azure AD
Cybersecurity Identity and Access Solutions using Azure AD
VICTOR MAESTRE RAMIREZ
 
Generative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in BusinessGenerative Artificial Intelligence (GenAI) in Business
Generative Artificial Intelligence (GenAI) in Business
Dr. Tathagat Varma
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy ConsumptionDrupalcamp Finland – Measuring Front-end Energy Consumption
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 

SPUnite17 Become a Developer Hero by Building Office Add ins

  • 1. Become a Developer Hero by Building Office Add-ins Bill Ayers
  • 3. Bill Ayers Flow Simulation Ltd. www.SPDoctor.net [email protected] @SPDoctor Consultant specialising in SharePoint and Office 365 Development and Architecture for Collaboration and Mobile Development MCM/MCSM Charter SharePoint, MCT, MVP, MCTS, MCITP, MCSD, MCAD, MCSA, MCDBA, MSc, Professional Scrum Master, etc.
  • 4. Agenda • Background • Office Add-in Shapes • Building Office Add-ins • Distributing Add-ins • Conclusions • Q & A
  • 5. 2-3 hours/day in Office Apps Mobile Devices 1.2B in 2014 1.8B in 2018 1B+ • The de-facto standard for business • Now available on iOS, Android, OS X, Windows Phone and in browsers Office is Everywhere!
  • 6. Add-in vision • Native and intuitive feel • Use UI framework of host client (Office UI Fabric) • Write once, run everywhere • Simple point solutions to automate existing manual processes
  • 7. Office 365 Platform at Ignite 2017 Standalone web, device, and service apps   Extensions Embedded canvases 1Microsoft Graph Groups People Conversations Files Insights Office Add-ins
  • 9. Extensions for Office VSTOCOM Office Add-ins VBAMacros *all still supported
  • 10. Behind the Scenes Hosted Add-In Web Page XML Manifest file in Exchange, catalog or file store
  • 11. Could do with something interesting here…
  • 12. Office Add-in Shapes Add-in that runs within a document content with read/write access: Excel, PowerPoint, Access Add-in launched contextually from a mail message or appointment: Outlook and Outlook Web Access (OWA), and could include actionable messages Command in the Office UI to launch add-in or execute JavaScript: Outlook, Outlook Web Access (OWA) Add-in that runs beside a document/mail with read/write access: Word, Excel, PowerPoint, Project, Outlook Module extension for the Outlook navigation bar: Outlook
  • 15. Add-in Command • “1-click” way for users to invoke add-ins • Launch task pane • Execute a JavaScript function without showing UI • Dropdown (menu) with different types of buttons as options • Up to 6 buttons per group • 1 group on default tab, up to 10 groups on custom tab • Commands that don’t launch UI can show status messages on the mail item or appointment • Supported starting with Office Developer Tools for Visual Studio Update 1
  • 16. Win32 Online iPad iPhone Mac Android UWA Read Read Compose Compose Add-in Roadmap https://dev.office.com/add-in-availability
  • 17. Office.js • Access to body and attachments, content • Launch native forms (e.g. reply, new message, appointment) • Modify fields and add attachments • Set/get custom properties on items • Persist user settings JavaScript API Reference: http://dev.office.com/docs/add-ins/overview/office-add-ins
  • 19. Building an Office Add-in • Napa in-browser web editor – zero install - https://www.napacloudapp.com/ *retired* • Script Lab add-in • Microsoft Visual Studio • Any Web Editor of you choice (e.g. VS Code) plus Yeoman project generator https://dev.office.com/blogs/creating-office-add-ins- with-any-editor-introducing-yo-office Getting Started at dev.office.com – can use MSDN subscription, sign up for Office Developer Program for free 1 year licence, or get a free 30-day Office 365 trial
  • 20. Using Visual Studio 2015 • Make sure Office Add-ins toolset installed (Visual Studio 2015 setup or http://www.visualstudio.com/features/office-tools-vs) • Office Developer Tools for Visual Studio 2015 Update 2 available • Design user interface as a web site • Edit manifest • Implement logic with client-side JavaScript or server-side code • Run or debug – will host Add-in locally • Publish from Visual Studio
  • 21. Using Visual Studio 2017 • Visual Studio 2017 (including community edition) – check the installer option • Create new project: Add-in for Office App for Office Web Add-in • Design user interface as a web site, edit manifest, etc…
  • 22. Project Structure • First project contains just the XML add-in manifest (VS includes a design wizard) • Second project is the supporting ASP.NET Website with HTML, CSS and JavaScript files (including jQuery library) • Use any other technology, but you will have to provision it yourself • Things like alerts, pop-up browser windows and anything modal will be blocked by the hosting Office app
  • 23. Build Add-in with Visual Studio
  • 24. More Development Choices… • Use any technology that delivers for the web • Microsoft offering Yeoman generator for skeleton add-in project (similar to SPFx toolchain) • Keep in mind that add-ins need SSL/HTTPS Hosted on GitHub
  • 25. yo office! • > npm install -g yo • > npm install -g generator-office • > yo office
  • 26. Building an Add-in Using Command-line Tooling and Visual Studio Code Reference: https://code.visualstudio.com/Docs/runtimes/office
  • 27. Office UI Fabric • Responsive framework (kind-of) • Office Design Language for web • Designed for Office Add-ins by OneDrive and SharePoint Design Studio • Consistent look-and-feel with Office • About 100k, 200k with components • Available as raw CSS or versions for Angular and React • Dev.office.com/fabric • Open source (github.com/OfficeDev/Office-UI-Fabric)
  • 28. Office UI Fabric • Design elements to give add-ins the same look and feel as the rest of the Office suite • Consistent typography, icons and behaviour Link to UI Fabric Stylesheets: <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.min.css"> <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.2.0/fabric.components.min.css"> Decorate elements with UI Fabric classes: <button class="ms-Button" id="get-data-from-selection"> <span class="ms-Button-icon"><em class="ms-Icon ms-Icon--plus"></em></span> <span class="ms-Button-label">Get Data from selection</span> <span class="ms-Button-description">Get Data from the document selection</span> </button> http://dev.office.com/fabric Link to UI Fabric JS: <script src="https://static2.sharepointonline.com/files/fabric/office-ui-fabric-js/1.2.0/js/fabric.min.js"></script>
  • 29. Office UI Fabric ReactJS Components • 30 re-useable React components, ready to use • Used by Microsoft to build Office and SharePoint • Angular? See ngOfficeUIFabric import Button from 'office-ui-fabric-react'; Var b = <Button onClick={() => this.getData() } className="ms-Button--primary"> Refresh List</Button> Breadcrumb Button Callout Checkbox ChoiceGroup ColorPicker CommandBar ContextualMenu DatePicker DetailsList Dialog DocumentCard Dropdown Facepile Label Layer Link List MessageBar Nav Overlay Panel Persona Pickers PeoplePicker Pivot ProgressIndicator SearchBox TextField Toggle
  • 30. Captain Klepto Office Design Patterns •Apply solutions to common customer scenarios •Apply design best practices •Incorporate Office UI Fabric components and styles •Build add-ins that visually integrate with the default Office UI •“Steal” HTML and CSS from samples on GitHub https://github.com/OfficeDev/Office-Add-in-UX-Design-Patterns-Code
  • 31. Distribution through Office Store Great to have a cross-platform model, but how will people find add-ins? Easy access to the Office Store where users can get add-ins * New options for IT management of add-ins now in preview
  • 32. Licensing to Third Parties • Licensing framework allows you to tell if user has a valid licence • You add logic to enforce licencing (e.g. limited functionality without licence) • Only works for add-ins obtained from Office Store or catalog (SharePoint/Exch) • User must be signed in • Store handles payment and tracks licence tokens – web service to verify licence • Token passed as query string parameter • Think about your licensing model
  • 34. How to install an Office add-in? Side-loading • During development of add-in ➢ Upload manifest ➢ For testing Distribute publicly • Office store ➢ Validated against policies ➢ Free or Paid ➢ Not for internal Deploy within Organization • Admin uses ➢ Add-in Catalog ➢ EAC for Outlook ➢ Centralized deployment New PowerShell cmdlets for Centralized Deployment management: New-OrganizationAddIn, etc.
  • 35. On-premises Add-in Deployment • Deploy Mail Add-ins to local copy of Exchange Server using Exchange Management Console • Deploy other Office Add-ins to SharePoint Add-in Catalog (sits along-side SharePoint Add-in Catalog) • Configure Office client to trust the catalog • Can also deploy Add-in manifest to a file share
  • 36. Two Ways to Call Out Web Application (e.g. ASP.NET MVC) User running Office client, Office 365, or mobile Office. Service (e.g. MS Graph) called from Web Application Web Service Called from JS User running Office client, Office 365, or mobile Office. Service (e.g. MS Graph) Static Content Web Application Web Service Called from JS Content
  • 37. TASKS manag er member Of FILES MESSAGES workingWit h Shared with me directRepor ts createdB y FILES CONVERSATIONS created By workingWit h EVENTS trendingAroun d GROUPS TASKS NOTES NOTES publ ic modifiedB y USER trendingAroun d Microsoft Graph API • Outlook (Mail) add-ins now support the 400 million users of Outlook.com • This is in addition to the billion users of Outlook client across Windows and iOS and users of Office 365
  • 38. Using with Protected Web Services • Use displayDialog to handle auth. flow • Office-js-helpers.js • https://github.com/OfficeDev/office-js-helpers • Use with any OAuth 2.0 service • Supports both Implicit and Authorization Code OAuth 2.0 flows • Connect using Server-side code • Outlook add-in SSO - Exchange generates token - Add-in can validate and map to known user id Office.context.ui.displayDialogAsync(dialogURL, { width:100, height: 100, requireHTTPS: true }, function(result) { // handle the result… });
  • 39. New Add-in SSO • https://dev.office.com/docs/add-ins/develop/sso-in-office-add-ins
  • 40. What’s new and on the horizon GA Preview Now • Centralized Deployment for Word, Excel and PPT • Auto-open taskpane • Excel 1.5 and 1.6 APIs • Outlook Add-ins in Android • Single Sign-on for Outlook • Excel 1.7 APIs • Outlook 1.5 APIs for Mac Outlook Soon • Single Sign-on for Word, Excel and PPT • Custom Functions in Excel • Centralized Deployment for Outlook Focus Areas • More APIs, particularly for Outlook and Excel • Better, deeper UX integration • Better add-in discovery • Performance
  • 41. Conclusions: • Office Add-ins – potential for huge business benefit for your users with minimal effort • > 1.5bn potential users across multiple platforms • Use same skillset across Office Add-ins, SharePoint, Web, Universal Apps and Mobile Cross-platform Apps • Your choice of developer tooling • Sign up for Office 365 Developer Program to get started – dev.office.com • Platform continuing to get more capabilities and better reach with Microsoft Graph • Think about how add-ins could help your business
  • 42. Resources: • Office 365 Dev Center (dev.office.com) • https://dev.office.com/docs/add-ins/overview/office-add-ins • Samples and training content: github.com/OfficeDev • Visit dev.office.com and click the Sign Up button to join the Office 365 Developer Program • Microsoft Virtual Academy course “App Model Deep Dive” with Ted Pattison and Scott Hillier • Get started with Office development: dev.office.com/getting-started • UX Patterns: https://dev.office.com/docs/add-ins/design/ux- design-patterns • https://dev.office.com/fabric