SlideShare a Scribd company logo
Become a Developer Hero by
Building Office Add-ins
Bill Ayers
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

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 SimplifiedDavid 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 WorkflowPhuong 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 workflowJason Hamlin
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slideFabio 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 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
 
Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010Configuring Workflows in SharePoint 2010
Configuring Workflows in SharePoint 2010
 
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
 
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
 
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
 
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
 
Creating SharePoint 2013 Workflows
Creating SharePoint 2013 WorkflowsCreating SharePoint 2013 Workflows
Creating SharePoint 2013 Workflows
 
SharePoint 2010 Workflows
SharePoint 2010 WorkflowsSharePoint 2010 Workflows
SharePoint 2010 Workflows
 
Workflow in SharePoint 2013
Workflow in SharePoint 2013Workflow in SharePoint 2013
Workflow in SharePoint 2013
 
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
 
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
 
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
 
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
 
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
 
SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2SharePoint 2013 Workflow from K2
SharePoint 2013 Workflow from K2
 
Share Point 2010 Workflow
Share Point 2010 WorkflowShare Point 2010 Workflow
Share Point 2010 Workflow
 
New Office Web Apps story
New Office Web Apps storyNew Office Web Apps story
New Office Web Apps story
 
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
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
 
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
 

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

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
 
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
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 development
Sébastien Levert
 

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...
 
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 ...
 
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...
 
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...
 
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
 
Office Add-in development
Office Add-in developmentOffice Add-in development
Office Add-in development
 
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
 
Building share point framework solutions
Building share point framework solutionsBuilding share point framework solutions
Building share point framework solutions
 
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 ...
 
Introduction to Office Development Topics
Introduction to Office Development TopicsIntroduction to Office Development Topics
Introduction to Office Development Topics
 
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
 
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
 
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
 
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...
 
My Resume_Uday -
My Resume_Uday -My Resume_Uday -
My Resume_Uday -
 
Xamarin microsoft graph
Xamarin microsoft graphXamarin microsoft graph
Xamarin microsoft graph
 
Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)Miguel Alberto Flores Torres AM (1)
Miguel Alberto Flores Torres AM (1)
 
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
 
Resume
ResumeResume
Resume
 
SPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 developmentSPTechCon Austin 2019 - From SharePoint to Office 365 development
SPTechCon Austin 2019 - From SharePoint to Office 365 development
 

More from 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
 

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 -...
 
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
 
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
 
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
 
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
 
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
 
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...
 
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...
 
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...
 
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
 
O365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi RoineO365Con19 - Azure Blackbelt - Jussi Roine
O365Con19 - Azure Blackbelt - Jussi Roine
 
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
 
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
 
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 ...
 
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
 
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...
 
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
 
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
 
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
 
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
 

Recently uploaded

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 

Recently uploaded (20)

Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 

SPUnite17 Become a Developer Hero by Building Office Add ins

  • 1. Become a Developer Hero by Building Office Add-ins Bill Ayers
  • 2.
  • 3. 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.
  • 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