36
Office Add-Ins

Developing Office Add-Ins

Embed Size (px)

Citation preview

Page 1: Developing Office Add-Ins

Office Add-Ins

Page 2: Developing Office Add-Ins

Special thanks to our sponsors

Page 3: Developing Office Add-Ins

About mePeter Plessers - [email protected]

SharePoint Architect at Spikeshttp://www.spikes.be

Co-founder of Tasks in a Boxhttp://tasksinabox.com

Page 4: Developing Office Add-Ins

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

Page 5: Developing Office Add-Ins

Visual Basic for Applications

Visual Studio Tools for Office

Office Add-Ins

Page 6: Developing Office Add-Ins

Visual Basic For Applications (VBA)

• Visual Basic 6

• Introduced in Office 2000

• Application level & Document level solutions

• Includes macro recorder

• Easy Distribution (Document level solutions)

• Desktop (Windows & Mac)

Page 7: Developing Office Add-Ins

Visual Studio Tools for Office (VSTO)

• .NET

• Introduced in Office 2007

• Requires installation on clients

• Same security privileges as other desktop applications

• Windows Desktop

Page 8: Developing Office Add-Ins

Office Add-Ins

• Web Technologies

• Introduced in Office 2013

• Distribution using the Office Store or corporate

app catalog

• Runs inside a sandbox

• Cross-Device

Page 9: Developing Office Add-Ins

Office Add-Ins VSTO VBAAutomations & Interaction with host computer

a a

User Interface Customizations Partial a PartialInteraction with Office APIs Partial a aOffline Availability (HTML 5

capabilities)a a

Support for team development + source control

a a

Run code at application-level a aSandboxed environment aCompatibility Office 2013+

(Windows & Mac*) Office Online

Mobile

Office 2007+(Windows)

Office 2000+(Windows &

Mac*)

Applications OutlookWordExcel

PowerPointProject

Office MixAccess Web

Apps

OutlookWordExcel

PowerPointProjectVisio

InfoPath

OutlookWordExcel

PowerPointAccess

Page 10: Developing Office Add-Ins

Office add-ins

Page 11: Developing Office Add-Ins

Types of Office Add-ins

Content Add-in

Task Pane

Add-in

Mail Add-in

Add-in Command

s*

Page 12: Developing Office Add-Ins

Where available?

Page 13: Developing Office Add-Ins

Manifest + webpage = an app for Office

Page 14: Developing Office Add-Ins

Task Add-ins

Page 15: Developing Office Add-Ins

Task Pane App User Experience Familiar User Experience

Leverages familiar Office UI paradigm Reference Information

Ideal for providing reference information associated with document.

Page 16: Developing Office Add-Ins

Demo Time

Page 17: Developing Office Add-Ins

Content Add-ins

Page 18: Developing Office Add-Ins
Page 19: Developing Office Add-Ins

Everything you need to easily create and share interactive online videos

Page 20: Developing Office Add-Ins

Demo Time

Page 21: Developing Office Add-Ins

Command Add-ins

Page 22: Developing Office Add-Ins
Page 23: Developing Office Add-Ins

Mail Add-ins

Page 24: Developing Office Add-Ins

Appear in messages and appointments

Read & Compose Mode

Contextual to current item

Distributed by Exchange

Page 25: Developing Office Add-Ins

Contextual Activation RulesItem ClassesChecks if an item is a specific type (message, appointment or custom item class)

Item Has Regular Expression MatchChecks for matches to the reg ex against body, subject or sender’s email address

Item Has AttachmentChecks whether the item has an attachment

Extracted EntitiesChecks if the email contains one or more extracted entities

Page 26: Developing Office Add-Ins

Extracted EntitiesExchange detects specific entitiesExchange 2013 inspects each incoming message for text, such as postal addresses, URLs, etc. These entities are stamped on each item as a property.Entity Type Text DetectedAddress US postal addresses

1 Microsoft Way, Redmond WA, 98052EmailAddress Any SMTP address

MeetingSuggestion A reference to an event or meetingLet’s meet next Tuesday for lunch.

Contact A personal name related to other entitiesRandy Byrne, 1 Microsoft Way, Redmond WA, 98052

PhoneNumber US telephone numbers(555) 867-5309

TaskSuggestion Actionable sentences in an emailPlease install office 2013 on my computer.

Url A filename or web address

Page 27: Developing Office Add-Ins

Demo Time

Page 28: Developing Office Add-Ins

Get subject of selected mailOffice.context.mailbox.item.subject

Get attachments of selected mailOffice.context.mailbox.item.attachments

Accessing Mail Properties

Page 29: Developing Office Add-Ins

In Add-In:1. Get a callback token from Exchange server2. Call custom web service passing callback token +

email idIn custom web service:3. Authenticate to Exchange server with callback token4. Call EWS to get attachments for email5. Return result

Get Attachments

Page 30: Developing Office Add-Ins

Office UI Fabric

Page 31: Developing Office Add-Ins

• 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

Page 32: Developing Office Add-Ins

Components

Page 33: Developing Office Add-Ins

Lessons learned

Page 34: Developing Office Add-Ins

• 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

Page 35: Developing Office Add-Ins

Demo Time

Page 36: Developing Office Add-Ins

Thank you!