Developing Office Add-Ins

Preview:

Citation preview

Office Add-Ins

Special thanks to our sponsors

About mePeter Plessers - peter.plessers@spikes.be

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

Co-founder of Tasks in a Boxhttp://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

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)

Visual Studio Tools for Office (VSTO)

• .NET

• Introduced in Office 2007

• Requires installation on clients

• Same security privileges as other desktop applications

• Windows Desktop

Office Add-Ins

• Web Technologies

• Introduced in Office 2013

• Distribution using the Office Store or corporate

app catalog

• Runs inside a sandbox

• Cross-Device

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

Office add-ins

Types of Office Add-ins

Content Add-in

Task Pane

Add-in

Mail Add-in

Add-in Command

s*

Where available?

Manifest + webpage = an app for Office

Task 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.

Demo Time

Content Add-ins

Everything you need to easily create and share interactive online videos

Demo Time

Command Add-ins

Mail Add-ins

Appear in messages and appointments

Read & Compose Mode

Contextual to current item

Distributed by Exchange

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

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

Demo Time

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

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

Accessing Mail Properties

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

Office UI Fabric

• 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

Lessons learned

• 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

Demo Time

Thank you!