SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office...

50
P&M301 Wes Hackett Bringing SharePoint information into Office through Office Apps

description

Office 2013 introduces new Apps for Office which allows developers to create apps which interact with Word, Excel and Outlook. Using an App for Office we can bring information from within the enterprises SharePoint platform and help users create documents and bring increased value form their SharePoint data. The session will explore some scenarios to bring SharePoint into the Office clients.

Transcript of SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office...

Page 1: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

P&M301

Wes Hackett

Bringing SharePoint information into Office

through Office Apps

Page 2: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Wes Hackett

Principal

Solution Architect

@weshackett

[email protected]

Page 3: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Agenda

introduction to Apps for Office

Apps closer look

Mail App

SharePoint hosted Office App

opportunities

Task Pane and Content App

introduction

Page 4: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

where did we start?

Page 5: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Trends impacting the way we work

Devices

1 billionsmartphones by 2016, 350M of

those being used at work

People

82% of the world's online population engages

in social networking

Services

50%of enterprise customers

are “on the road” to cloud

Page 6: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Office for Enterprises

controldelightful social extensible cloud

Page 7: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

The Vision: Modernising the platform

Today’s Market Today’s Trends Our Principles

Page 8: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

The Result: a new cloud app model

Page 10: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Three ‘UI’ Shapes for Office Apps

Content

App

Task Pane

App

Mail

App

Page 11: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Shapes and where they appear

Page 12: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Anatomy

App ManifestWeb Page

<XML>HTML/CSS/JS

Page 13: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

App Development Tools

Use any tools you likeAny editor that can manipulate text files

Notepad, UltraEdit, etc.

Visual Studio 2012 ExperienceProject templates

Excellent productivity features

One tool to accomplish all of your development needs

Great looking appsMicrosoft provide the CSS, controls and templates

Page 14: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Office Store or

App Catalog

Consumers &

Corporate Users

Developer

Web Server(Internet or Intranet)

App manifest (.xml)

or .app package

Document

Sharing

App Packaging and Deployment

Web Page

Page 15: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

App Hosting Models

Autohosted App

Deploy to SharePoint, let SharePoint

deploy to Azure for you

SharePoint(Online)

Windows Azure

SharePoint-hosted

Host your code in SharePoint

Client side technologies and declarative

workflows

SharePoint(Online or On-premises)

Provider-hosted

“Bring your own server hosting

infrastructure”

Any Web Server(Online or On-premises)

Page 16: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

ServerClient

Bro

wse

r Hos

t

Common App Architecture

Web Server H

ost

Client-side LogicHTML / CSS / JavaScript

Office JS SharePoint JS (CSOM)

SharePoint

& Exchange

Server-side LogicAny language

Office Web

App

s

Win

RT

Mac

Mob

ile

Win

32

APPProvider-hosted

Oth

erE.g

. LAM

P

IIS /

ASP

.Net

Win

dow

s

Azu

re

CSOM REST

On-premises

IE

Chro

me

FireF

ox

Safa

ri

Tier 1 Tier 2

Other

ECMAScript 5

Online

SharePoint

SQL

Workflow

Autohosted

SQL

Web Sites

Clie

nt A

PIs

Server APIs

Oth

er D

evice

s

& C

lient

s

3rd

Par

ty S

ervice

s

Development Tools

Visual Studio 2012, Napa or any standard Web development tool

Page 17: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

ServerClient

Bro

wse

r Hos

t

Common App Architecture

Web Server H

ost

SharePoint JS (CSOM)

SharePoint

& Exchange

Server-side LogicAny language

APPProvider-hosted

Oth

erE.g

. LAM

P

IIS /

ASP

.Net

Win

dow

s

Azu

re

CSOM REST

On-premises

IE

Chro

me

FireF

ox

Safa

ri

Tier 1 Tier 2

Other

ECMAScript 5

Online

SharePoint

SQL

Workflow

Autohosted

SQL

Web Sites

Clie

nt A

PIs

Server APIs

Oth

er D

evice

s

& C

lient

s

3rd

Par

ty S

ervice

s

Office JS

Office Web

App

s

Win

RT

Mac

Mob

ile

Win

32

Client-side LogicHTML / CSS / JavaScript

Development Tools

Visual Studio 2012, Napa or any standard Web development tool

Page 18: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Office JavaScript API Overview

Document

Office.context

CustomXmlParts

Bindings

Settings

R/W Selection

Mailbox

Properties & Settings

User Profile

EWS

Item

Project

Tasks

Project Info

Page 19: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Functional Areas vs. App Support SummaryFunctional area

Word Excel/Excel WAC

PowerPoint Outlook/OWA Project

Get/Set data as text, table, matrix

Settings

Get File

Bindings

Custom XML Parts

Html and OOXML

Mailbox

Page 20: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Let’s take a lookMail app example

Page 21: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Mail App

Availability

Mail apps are available in Outlook, Outlook Web App and

Mobile Outlook Web App.

Subtle User Experience

Mail apps are designed to remain unobtrusively in the

background, yet easily activated when needed.

Supplemental Information

Contextual apps provide additional information based on

rules applied to a messaging item.

Mail App

Available In: Outlook, OWA, MOWA

Interaction:

• Expand/Collapse

Developer sets the height

Min: 32, Max 450 px

Width: variable

Form Factor: Desktop, Tablet, Mobile

*Cannot set height for Mobile

Page 22: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Appear in messages and

appointments

Contextual to current item

Cross platform, cross device

Page 23: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Behind the scenes

Manifest deployed to ExchangeApp added manifest saved to user’s mailbox

Exchange 2013 is required for mail apps

Exchange Server

with app manifests

Cloud Service

with app

HTML + JS

User running OutlookOutlook loads Office JS libraryClicking on app tab loads the app’s HTML and JS

Apps must reference Office.js and use it to interact with Outlook

Outlook processes rules Outlook 2013 client loads all manifests

Outlook processes rules from manifest on the selected item

Apps whose rules match are displayed as tabs

Page 24: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Extracted Entities

Exchange 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 Detected

Address US postal addresses1 Microsoft Way, Redmond WA, 98052

EmailAddress 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 25: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Activation rules

ItemlsChecks if an item is a specific type (message, appt or custom item class)

ItemHasKnownEntityChecks whether the item has the specified entity

ItemHasRegularExpressionMatchChecks for matches to the reg ex against body, subject or sender’s email address

ItemHasAttachmentChecks whether the item has an attachment

RuleCollectionGroups multiple rules together using AND or OR

Rule Collections can be nested within each other

Page 26: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Permissions

Restricted

App can access data from limited entities

Regular expressions are blocked

JS API limits item data access

ReadItem

Apps can access data from all entities

Regular expressions allowed

Full JS API is allowed

EWS calls are not allowed

ReadWriteMailbox

Limited EWS methods are allowed

ReadWriteMailbox

Admin

can add

End-users

can add

Page 27: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Possibilities…

Activate on patternsBug tracking

Package tracking

Case number/PO status look-up

Activate on entities or item classesNews link summary

Phone dialer

Workflow around a custom Exchange item class

Activate on all itemsCRM

Social (LinkedIn)

Display information about recipients

Page 28: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Let’s take a lookTask Pane app example

Page 29: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Task Pane App

Familiar User Experience

Leveraging the task pane infrastructure, these apps leverage

users familiarity with a popular Office UI paradigm.

Reference Information

Task Pane apps are perfect for providing reference

information associated with a document.

Available In: Word, Excel, EWA, Project,

PowerPoint

Interaction:

• Dock/Un-dock

• Float

• Resize

• Lock

Standard 350 px default size

Task Pane App

Part of the document

A task pane app is embedded within the content of the

document. It is part of the document.

Page 30: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Task Pane App

Layout Guidance

The default width of 350 pixels cannot be changed programmatically. Users can resize

and move so design to adjust to different widths.

Context Menus

Developers have full control of the context menu inside an app. However, you

can not take over, or add to the Office Task Pane menu.

Scrollbar Guidance

Vertical scrollbars are acceptable, use CSS to modify so they match

Office scrollbars. Horizontal scrollbars should be avoided.

320 pixels

Page 31: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Content App

Part of the document

A content app is embedded within the content of the

document. It is part of the document.

Implemented as an Excel shape

Print, resize, move, copy/paste, etc. The user is in complete

control.

Travels with the document

The app travels with the document for easy, yet secure,

distribution. An image is shown if the app is not available.

Content App

Available In: Excel, EWA

Interaction:

• Move

• Print

• Resize

• Copy/Paste

• Save as image

Developer sets the default size

Page 32: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Content App

Set an appropriate size

Specify an appropriate size for the app in the Manifest

This example is sized too small – resize to avoid scrollbars

Layout Guidance

Content Agaves have a generous size limit of 2560x2048. Users can resize and move so

design accordingly. Remember – content may print with the document.

Context Menus

Developers have full control of the context menu inside an app. However, you

can not take over, or add to the Shape context menu.

Scrollbar Guidance

Scrollbars should be avoided within a content app. Size them

appropriately within the manifest.

Page 33: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Task Pane and Content App

1

Page 34: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Let’s take a lookDocument Accelerate

SP and Office app example

Page 35: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Add apps for Office

Integrated with a Document Library

Embedded in the Document Template

Deployed as part of the app for SharePoint

Office-enabled app for SharePoint

App for SharePoint

Document Library

Document

Template

App

Page 36: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Apps for Office Scenarios

Content Authoring &

Publishing

Resumes, Contracts

DashboardsData Analysis, Data Mash

ups

Forms & ReportsLegal Forms, Financial

Reports

Business ProcessesSales & Marketing, Finance, HR

Team CollaborationContent & Project Management

WorkflowDocument Approval, Expenses

Rich Web contentYouTube Video,

Photo Gallery

Data Visualisation, Analysis &

Mash up

Maps, Custom charts,

Lookups

Reference ToolsTranslation, Definitions, Dictionary, Help,

Research

Content Authoring &

Publishing

Contextual

Content & Services

Workflow and

Collaboration

Doc builders,

Print services

Business data lookup (CRM), Contextual

forms (surveys)

Project tracking,

Coauthoring Document

Template

App App

App

App for SharePoint

Document

Template

App App

Workflow

Custom Actions

Lists & Doc Libs

App Parts

Event Receivers

More…

Page 37: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Let’s take a deeper dive

Page 38: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios - Visualisations

Show data in useful waysBing maps example

Binding to dataDynamically show the visualisation of the selected data

Great looking appsCreate the dashboard experience

Page 39: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Contextual content

Only shown when neededRules activation

Only shown when the item matches the rules

Great looking appsShowing information together when contextually relevant

Page 40: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Data enhancement

Combine dataBring together separate sources of data into one view

Apply transformation and enhancement to data

Reaction to changeBound data services allow document to feel alive

Great looking appsReal-time dashboarding

Page 41: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Reference & Research

Enable searchFind related information to the selections in the document

Validation and ImprovementsAdd authoritative content to your document

Great looking appsAdd content from reference sources to improve your doc

Page 42: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Master/Detail

Rich InformationBring up rich information to supplement you content

Great looking appsAdd to your users experience

Page 43: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Document Authoring

Assisting your userHelp your user create the document

Assist repetitive tasksAllow users to focus on distinct content

Provide easy completion for repetitive document sections

Great looking appsImprove your document quality

Page 44: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Document Publishing

Send document to a serviceSend your document to other services like Fax or hard print

Great looking appsAllow others to utilise your documents in other formats

Page 45: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Content Transformation

Enhance your contentSend your document to other services for enhancement

Translate content to other languages or formats

Great looking appsLet people interact with your organisation from other formats

Page 46: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Social

Add social to OfficeAdd your own social experience and sources to Office

Great looking appsBring new experiences to your user while they are inside Office

Page 47: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Scenarios – Dynamic Documents

Assist rendering structured dataHelp users to incorporate their structured data into new or existing documents

Great looking appsHelp users with new document templates for complex structured data

Page 48: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Apps for Office Opportunity

Page 49: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Questions?

Page 50: SharePoint Evolution conference 2013 - Bringing SharePoint Information into Office through Office Apps

Thank you for attending