SlideShare a Scribd company logo
1 of 36
Office Add-Ins
Special thanks to our sponsors
About me
Peter Plessers - peter.plessers@spikes.be
SharePoint Architect at Spikes
http://www.spikes.be
Co-founder of Tasks in a Box
http://tasksinabox.com
Agenda
 What are my options?
 Office Add-Ins
 Task Add-Ins
 Content Add-Ins
 Command Add-Ins
 Mail Add-Ins
 Office UI Fabric
 Lessons learned the hard way
Visual Basic for Applications
Visual Studio Tools for Office
Office Add-Ins
Office Add-Ins VSTO VBA
Automations & Interaction with host
computer
a a
User Interface Customizations Partial a Partial
Interaction with Office APIs Partial a a
Offline Availability (HTML 5 capabilities) a a
Support for team development + source
control
a a
Run code at application-level a a
Sandboxed environment a
Compatibility Office 2013+
(Windows & Mac*)
Office Online
Mobile
Office 2007+
(Windows)
Office 2000+
(Windows & Mac*)
Applications Outlook
Word
Excel
PowerPoint
Project
Office Mix
Access Web Apps
Outlook
Word
Excel
PowerPoint
Project
Visio
InfoPath
Outlook
Word
Excel
PowerPoint
Access
Types of Office Add-ins
Where available?
Manifest + webpage = an app for Office
Task Pane App User Experience
 Familiar User Experience
 Leverages familiar Office UI paradigm
 Reference Information
 Ideal for providing reference information associated with document.
Everything you need to easily create
and share interactive online videos
Appear in messages and
appointments
Read & Compose Mode
Contextual to current item
Distributed by Exchange
Contextual Activation Rules
Extracted Entities
Entity Type Text Detected
Address US postal addresses
1 Microsoft Way, Redmond WA, 98052
EmailAddress Any SMTP address
MeetingSuggestion A reference to an event or meeting
Let’s meet next Tuesday for lunch.
Contact A personal name related to other entities
Randy Byrne, 1 Microsoft Way, Redmond WA, 98052
PhoneNumber US telephone numbers
(555) 867-5309
TaskSuggestion Actionable sentences in an email
Please install office 2013 on my computer.
Url A filename or web address
Get subject of selected mail
Office.context.mailbox.item.subject 
Get attachments of selected mail
Office.context.mailbox.item.attachments 
Accessing Mail Properties
In Add-In:
1. Get a callback token from Exchange server
2. Call custom web service passing callback token + email
id
In custom web service:
1. Authenticate to Exchange server with callback token
2. Call EWS to get attachments for email
3. Return result
Get Attachments
• Get the same look & feel of native Office
applications
• Collection of CSS, HTML and JavaScript
• Features
• Typography
• Color Schemes
• Icons
• Animations
• Responsive Grid
Office UI Fabric
Components
• Test in multiple browsers / desktop applications
• Security zones in IE 
• Differences in capabilities
• E.g., Outlook for Mac does not support APIs for compose mode
• EWS Callback Token Bug !!!
Lessons Learned
Thank you!

More Related Content

What's hot

Activate bots within SharePoint Framework
Activate bots within SharePoint FrameworkActivate bots within SharePoint Framework
Activate bots within SharePoint FrameworkKushan Lahiru Perera
 
SharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersSharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersGreg Hurlman
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentChris O'Brien
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsNCCOMMS
 
O365con14 - sharepoint online applification
O365con14 - sharepoint online applificationO365con14 - sharepoint online applification
O365con14 - sharepoint online applificationNCCOMMS
 
NextGen Portal for Your Organization
NextGen Portal for Your OrganizationNextGen Portal for Your Organization
NextGen Portal for Your OrganizationWaldek Mastykarz
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Fabio Franzini
 
SPCA2013 - Apps, Apps, Apps
SPCA2013 - Apps, Apps, AppsSPCA2013 - Apps, Apps, Apps
SPCA2013 - Apps, Apps, AppsNCCOMMS
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris O'Brien
 
Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxFabio Franzini
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien
 
Spca2014 mirjam van olst upgrading share point 2010 custom solutions to sha...
Spca2014 mirjam van olst   upgrading share point 2010 custom solutions to sha...Spca2014 mirjam van olst   upgrading share point 2010 custom solutions to sha...
Spca2014 mirjam van olst upgrading share point 2010 custom solutions to sha...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
 
What do you get from share point hybrid
What do you get from share point hybridWhat do you get from share point hybrid
What do you get from share point hybridSamuel Lévesque
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersNCCOMMS
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI FabricFabio Franzini
 
Building Office 365 Apps with TypeScript
Building Office 365 Apps with TypeScriptBuilding Office 365 Apps with TypeScript
Building Office 365 Apps with TypeScriptSPC Adriatics
 
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
 

What's hot (20)

Developing apps for share point 2013
Developing apps for share point 2013Developing apps for share point 2013
Developing apps for share point 2013
 
Activate bots within SharePoint Framework
Activate bots within SharePoint FrameworkActivate bots within SharePoint Framework
Activate bots within SharePoint Framework
 
SharePoint for ASP.Net Developers
SharePoint for ASP.Net DevelopersSharePoint for ASP.Net Developers
SharePoint for ASP.Net Developers
 
Do's and don'ts for Office 365 development
Do's and don'ts for Office 365 developmentDo's and don'ts for Office 365 development
Do's and don'ts for Office 365 development
 
SPUnite17 SPFx Extensions
SPUnite17 SPFx ExtensionsSPUnite17 SPFx Extensions
SPUnite17 SPFx Extensions
 
O365con14 - sharepoint online applification
O365con14 - sharepoint online applificationO365con14 - sharepoint online applification
O365con14 - sharepoint online applification
 
NextGen Portal for Your Organization
NextGen Portal for Your OrganizationNextGen Portal for Your Organization
NextGen Portal for Your Organization
 
Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)Introduction to SharePoint Framework (SPFx)
Introduction to SharePoint Framework (SPFx)
 
SPCA2013 - Apps, Apps, Apps
SPCA2013 - Apps, Apps, AppsSPCA2013 - Apps, Apps, Apps
SPCA2013 - Apps, Apps, Apps
 
Chris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office ProductsChris OBrien - Weaving Enterprise Solutions into Office Products
Chris OBrien - Weaving Enterprise Solutions into Office Products
 
Use the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a boxUse the PnP SharePoint Starter Kit to create your intranet in a box
Use the PnP SharePoint Starter Kit to create your intranet in a box
 
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - referenceChris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
Chris O'Brien - Modern SharePoint sites and the SharePoint Framework - reference
 
Spca2014 mirjam van olst upgrading share point 2010 custom solutions to sha...
Spca2014 mirjam van olst   upgrading share point 2010 custom solutions to sha...Spca2014 mirjam van olst   upgrading share point 2010 custom solutions to sha...
Spca2014 mirjam van olst upgrading share point 2010 custom solutions to sha...
 
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
 
What do you get from share point hybrid
What do you get from share point hybridWhat do you get from share point hybrid
What do you get from share point hybrid
 
SPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event HandlersSPUnite17 Timer Jobs Event Handlers
SPUnite17 Timer Jobs Event Handlers
 
Chris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developersChris O'Brien - Introduction to the SharePoint Framework for developers
Chris O'Brien - Introduction to the SharePoint Framework for developers
 
All about Office UI Fabric
All about Office UI FabricAll about Office UI Fabric
All about Office UI Fabric
 
Building Office 365 Apps with TypeScript
Building Office 365 Apps with TypeScriptBuilding Office 365 Apps with TypeScript
Building Office 365 Apps with TypeScript
 
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 ...
 

Similar to Developing Office Add-Ins

Office Add-Ins
Office Add-InsOffice Add-Ins
Office Add-InsSpikes NV
 
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Ryan Schouten
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slideFabio Franzini
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphBram de Jager
 
Microsoft 365, la herramienta moderna para la oficina moderna
Microsoft 365, la herramienta moderna para la oficina modernaMicrosoft 365, la herramienta moderna para la oficina moderna
Microsoft 365, la herramienta moderna para la oficina modernaHaaron Gonzalez
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Microsoft 365 Developer
 
Interface between IBM Lotus Notes and Office Productivity Tools:
Interface between IBM Lotus Notes and Office Productivity Tools:Interface between IBM Lotus Notes and Office Productivity Tools:
Interface between IBM Lotus Notes and Office Productivity Tools:GBS PAVONE Groupware GmbH
 
Interface between IBM Lotus Notes and Office Suites
Interface between IBM Lotus Notes and Office SuitesInterface between IBM Lotus Notes and Office Suites
Interface between IBM Lotus Notes and Office SuitesGBS PAVONE Groupware GmbH
 
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoftSwiss SharePoint Club
 
Developing for Office 2007 using VSTO 2005
Developing for Office 2007 using VSTO 2005Developing for Office 2007 using VSTO 2005
Developing for Office 2007 using VSTO 2005sudhakar
 
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPConnecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPAyman El-Hattab
 
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-insMostafa
 
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourEuropean Collaboration Summit
 
Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Michael Noel
 
SPUnite17 Become a Developer Hero by Building Office Add ins
SPUnite17 Become a Developer Hero by Building Office Add insSPUnite17 Become a Developer Hero by Building Office Add ins
SPUnite17 Become a Developer Hero by Building Office Add insNCCOMMS
 
Back Office Productivity with SharePoint
Back Office Productivity with SharePointBack Office Productivity with SharePoint
Back Office Productivity with SharePointGareth Fisher
 
Microsoft Office SharePoint Server 2007
Microsoft Office SharePoint Server 2007Microsoft Office SharePoint Server 2007
Microsoft Office SharePoint Server 2007Derek Punaro
 
Office 2010 For IT Pros
Office 2010 For IT ProsOffice 2010 For IT Pros
Office 2010 For IT ProsStephen Rose
 
Project Request Mobile Approvals with SharePoint 2010 No Code Solution
Project Request Mobile Approvals with SharePoint 2010 No Code SolutionProject Request Mobile Approvals with SharePoint 2010 No Code Solution
Project Request Mobile Approvals with SharePoint 2010 No Code SolutionKerry Dirks MCPS MS
 

Similar to Developing Office Add-Ins (20)

Office Add-Ins
Office Add-InsOffice Add-Ins
Office Add-Ins
 
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
Using office add ins to solve business problems-SharePoint Saturday Redmond 2015
 
Office 2013 loves web developers slide
Office 2013 loves web developers   slideOffice 2013 loves web developers   slide
Office 2013 loves web developers slide
 
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft GraphDeep Dive Building Office Mail Add-ins with the Microsoft Graph
Deep Dive Building Office Mail Add-ins with the Microsoft Graph
 
Microsoft 365, la herramienta moderna para la oficina moderna
Microsoft 365, la herramienta moderna para la oficina modernaMicrosoft 365, la herramienta moderna para la oficina moderna
Microsoft 365, la herramienta moderna para la oficina moderna
 
Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020Office Add-ins developer community call-January 2020
Office Add-ins developer community call-January 2020
 
Interface between IBM Lotus Notes and Office Productivity Tools:
Interface between IBM Lotus Notes and Office Productivity Tools:Interface between IBM Lotus Notes and Office Productivity Tools:
Interface between IBM Lotus Notes and Office Productivity Tools:
 
Interface between IBM Lotus Notes and Office Suites
Interface between IBM Lotus Notes and Office SuitesInterface between IBM Lotus Notes and Office Suites
Interface between IBM Lotus Notes and Office Suites
 
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft
02.microsoft_strategy_on_share_point_office 365_thierry_gasser_microsoft
 
Developing for Office 2007 using VSTO 2005
Developing for Office 2007 using VSTO 2005Developing for Office 2007 using VSTO 2005
Developing for Office 2007 using VSTO 2005
 
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVPConnecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
Connecting to LOB Systems Using BCS, Ayman El-Hattab, MVP
 
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
 
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s TourECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
ECS19 - Mike Ammerlaan - The Microsoft 365 Platform: A Developer’s Tour
 
Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015Breaking Down and Understanding Office 365 - SPSJHB 2015
Breaking Down and Understanding Office 365 - SPSJHB 2015
 
SPUnite17 Become a Developer Hero by Building Office Add ins
SPUnite17 Become a Developer Hero by Building Office Add insSPUnite17 Become a Developer Hero by Building Office Add ins
SPUnite17 Become a Developer Hero by Building Office Add ins
 
Back Office Productivity with SharePoint
Back Office Productivity with SharePointBack Office Productivity with SharePoint
Back Office Productivity with SharePoint
 
Office 2007
Office 2007Office 2007
Office 2007
 
Microsoft Office SharePoint Server 2007
Microsoft Office SharePoint Server 2007Microsoft Office SharePoint Server 2007
Microsoft Office SharePoint Server 2007
 
Office 2010 For IT Pros
Office 2010 For IT ProsOffice 2010 For IT Pros
Office 2010 For IT Pros
 
Project Request Mobile Approvals with SharePoint 2010 No Code Solution
Project Request Mobile Approvals with SharePoint 2010 No Code SolutionProject Request Mobile Approvals with SharePoint 2010 No Code Solution
Project Request Mobile Approvals with SharePoint 2010 No Code Solution
 

Recently uploaded

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 

Recently uploaded (20)

Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 

Developing Office Add-Ins

  • 2. Special thanks to our sponsors
  • 3. About me Peter Plessers - peter.plessers@spikes.be SharePoint Architect at Spikes http://www.spikes.be Co-founder of Tasks in a Box http://tasksinabox.com
  • 4. Agenda  What are my options?  Office Add-Ins  Task Add-Ins  Content Add-Ins  Command Add-Ins  Mail Add-Ins  Office UI Fabric  Lessons learned the hard way
  • 5. Visual Basic for Applications Visual Studio Tools for Office Office Add-Ins
  • 6.
  • 7.
  • 8.
  • 9. Office Add-Ins VSTO VBA Automations & Interaction with host computer a a User Interface Customizations Partial a Partial Interaction with Office APIs Partial a a Offline Availability (HTML 5 capabilities) a a Support for team development + source control a a Run code at application-level a a Sandboxed environment a Compatibility Office 2013+ (Windows & Mac*) Office Online Mobile Office 2007+ (Windows) Office 2000+ (Windows & Mac*) Applications Outlook Word Excel PowerPoint Project Office Mix Access Web Apps Outlook Word Excel PowerPoint Project Visio InfoPath Outlook Word Excel PowerPoint Access
  • 10.
  • 11. Types of Office Add-ins
  • 13. Manifest + webpage = an app for Office
  • 14.
  • 15. Task Pane App User Experience  Familiar User Experience  Leverages familiar Office UI paradigm  Reference Information  Ideal for providing reference information associated with document.
  • 16.
  • 17.
  • 18.
  • 19. Everything you need to easily create and share interactive online videos
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Appear in messages and appointments Read & Compose Mode Contextual to current item Distributed by Exchange
  • 26. Extracted Entities Entity Type Text Detected Address US postal addresses 1 Microsoft Way, Redmond WA, 98052 EmailAddress Any SMTP address MeetingSuggestion A reference to an event or meeting Let’s meet next Tuesday for lunch. Contact A personal name related to other entities Randy Byrne, 1 Microsoft Way, Redmond WA, 98052 PhoneNumber US telephone numbers (555) 867-5309 TaskSuggestion Actionable sentences in an email Please install office 2013 on my computer. Url A filename or web address
  • 27.
  • 28. Get subject of selected mail Office.context.mailbox.item.subject  Get attachments of selected mail Office.context.mailbox.item.attachments  Accessing Mail Properties
  • 29. In Add-In: 1. Get a callback token from Exchange server 2. Call custom web service passing callback token + email id In custom web service: 1. Authenticate to Exchange server with callback token 2. Call EWS to get attachments for email 3. Return result Get Attachments
  • 30.
  • 31. • Get the same look & feel of native Office applications • Collection of CSS, HTML and JavaScript • Features • Typography • Color Schemes • Icons • Animations • Responsive Grid Office UI Fabric
  • 33.
  • 34. • Test in multiple browsers / desktop applications • Security zones in IE  • Differences in capabilities • E.g., Outlook for Mac does not support APIs for compose mode • EWS Callback Token Bug !!! Lessons Learned
  • 35.

Editor's Notes

  1. Template may not be modified Twitter hashtag: #spsbe for all sessions
  2. Currently Apps for Office are available in the following shapes Content App – These are embedded into the main content similar to a chart or image would be. Task Pane App – These appear in the sidebars Mail App – Dedicated experience for email inboxes
  3. The basic components of an app for Office are an XML manifest file and a webpage. The manifest defines various settings and points to the webpage that implements the app UI and custom logic
  4. One reason to create a task pane app is that it provides Office users with a familiar user experience. For example Microsoft Word and Microsoft Excel have exposed many of its internal features using task panes so task pane apps provides a familiar Office UI paradigm. Task pane apps are ideal for providing users with reference information. For example, a task pane app can perform Internet searches or lockups and provide reference information that can be inserted back into the current document. This slide contains a screenshot showing the app after it has been inserted in a document. In Microsoft Word 2013. Different apps provide different user experiences. This app which is available for free on the Office Store allows the user to leverage the Marriam-Webster online dictionary lookup service to look up words and terms right from within Microsoft Word.
  5. Word CustomXmlParts
  6. https://mix.office.com/watch/1tkuqw9i7m4jr