38
Outlook Social Connector: Deployment and Development Overview John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Embed Size (px)

Citation preview

Page 1: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Outlook Social Connector:Deployment and Development OverviewJohn R. DurantSenior Product ManagerMicrosoft Corporation

SESSION CODE: OSP317

Page 2: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Session Objectives and TakeawaysSession Objective(s):

Identify the value proposition of the OSCUnderstand how the OSC can integrate with social networks and LOB applicationsKnow what is required to implement, debug, and deploy an OSC provider

Key takeaway(s):OSC adds value to Outlook by surfacing people-centric information from social networks and LOB applicationsOSC providers built on an open extensibility modelNo specific knowledge of Outlook APIs (MAPI and Outlook OM) is required to build a provider.

Page 3: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

AgendaOverview and missionGuide to OSC UIPartner landscapeOSC FutureProvider extensibility architectureOSC provider interfacesOSC XML schema and localizationProvider deployment and debugging

Page 4: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Overview

1. Outlook “PIM” featuresinformation about the people you work with: photos, titles, and status updates from various networks & sourcescommunications history: e-mail, meetings, attachments shared

2. Connect to Microsoft consumer & business networks

feeds from Windows Live and SharePoint 2010: see activity from Windows Live (Spaces, Skydrive, etc.) as well as SharePoint 2010 social activity (tagging, profile updates)

3. Open API for 3rd party network providersconnect to popular consumer social networks to view their feeds and activitydevelopers can write to the OSC API’s to connect to any network or LOB system to bring any people-centric stream into outlook

The OSC brings people-centric data views into Outlook

1

2

3

2

3

1

Page 5: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Outlook Social ConnectorJohn R. DurantSenior Product ManagerMicrosoft

DEMO

Page 6: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Guide to OSC UI

minimized(default)

maximized(single person)

add command (on network)

network badge (click for profile)

thumbnails

tabs

people pane

yearbook view

Page 7: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Quick Takeaways

You can get started today!Tell our social networking story with Office and SharePointHelp your customers see the benefits of social in the 2010 waveExplore customer internal/LOB systems that would be a good fit for the OSC

Evangelize consumer social networking in the enterpriseLinkedIn and MySpace have downloads available todayFacebook, Xing, OfficeTalk, and more are coming soon

Page 8: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Opportunity Landscape

We classify our partnerships by their level of engineering support

Tier 0

• Provider is built & shipped by Outlook

Tier 1

• Provider is built & shipped by the partner, but we have significant interest in outcome

• High-touch relationship

Tier 2

• Provider is built & shipped by the all other 3rd-parties

SharePoint

Windows Live

3rd partiesIn-house development

LinkedIn

MySpace

Facebook

Page 9: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Future

The core OSC experience will grow to include deeper SN integration, feed aggregation, and moreAs the OSC evolves, partners and developers will be able to leverage new APIs to deepen / enhance the experience inside OutlookFeedback is welcome! Email [email protected] with ideas and concepts

The OSC is a core component of outlook that will evolve over time

Page 10: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Extensibility modelthe OSC has open API’s that allow anyone to build a provider for a social network or LOB application

Add-In

Outlook 2003 / 2007 / 2010

Outlook Social ConnectorCore Engine

FooNet1Provider

FooNet2Provider

FooNet3Provider

FooNet4Provider

FooNet2FooNet1

etc…

Page 11: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

OSC Provider Extensibility

Plan of record: Social network implements its own OSC provider Provider is a COM-visible DLL loaded by OSC add-in running in-process with OutlookTo write a provider, use any development tool that can create a COM component DLL

Page 12: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

OSC Interfaces (version 1.0)

ISocialProvider Load, GetCapabilities, GetSession, SocialNetworkName

ISocialSession Logon, LogonWeb, GetActivities, GetPerson

ISocialProfile::ISocialPerson GetActivitiesOfFriendsAndColleagues

ISocialPerson GetActivities, GetDetails, GetPicture

Page 13: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

FooNet in the cloud

Add-In

Ou

tlook

Ou

tlook

Socia

l C

on

necto

r C

ore

En

gin

e

FooN

et

Pro

vid

er

FooNet

API

GetCapabilities

API

Authenticate

API

Download Network Activity

API

Sync Contacts

FooNet Web Services / REST APIs

XML parsing and storage

Outlook item creation and storage

Outlook item data mining and WDS lookups

Outlook Data File & Application

Page 14: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Test ProviderJohn R. DurantSenior Product ManagerMicrosoft

DEMO

Page 15: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Building a ProviderMicrosoft Development Tools

Unmanaged C++Managed Visual C#Managed Visual Basic .NET

Any development tool that supports creation of a COM-visible Windows class library component

Page 16: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Provider Extensibility TypeLib

Type Library: socialprovider.dll installed with OSC

Page 17: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Implementation

You write the implementation code that talks to your social networkReturn Xml that conforms to OutlookSocialProvider.xsd

capabilitiesfriends/personactivityFeed

OSC surfaces person and activityFeed Xml as network contacts and activity items in people pane

Page 18: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Provider Authentication

ISocialProvider::GetCapabilities supports these authentication methods:

Basic (userName/password)ISocialSession::Logon

Forms-based (connectIn/connectOut)ISocialSession::LogonWeb

Credentials are cached and encrypted

Page 19: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Outlook 2010 (x86 and x64)

Office 2010 available in both 32-bit and 64-bit versionsDefault install is 32-bit Office on 64-bit OSNative providers

You must detect installed version of Outlook and install x86/x64 accordinglySuggest building 32-bit OSC Provider as default and gauging interest in 64-bit

Managed providers – Compile w/ Any CPU option and one provider will run on x86/x64

Page 20: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

LOB considerations

Business opportunity:Using OSC to surface contact and activity data for knowledge networks or LOB apps in the enterprise Caveats

OSC is not a plug-in replacement for CRMContact sync brings down only a subset of basic contact fields to local network contact itemsCustom contact properties not supported in v1RSS items are stored in hidden “News Feed” folder and cannot be customized with metadata or custom UI

Page 21: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Provider TemplatesJohn R. DurantSenior Product ManagerMicrosoft

DEMO

Page 22: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Getting Started

Naming your providerManaged versus Native Provider

Will the provider be downloaded?Will you support Outlook 2010 x64?XML parser issues

Determine your capabilitiesOn-demand versus cached contacts/activitiesAuthentication method

Write implementation codeDebug and deploy your provider

Page 23: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Activities XML

Page 24: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

<activityTemplateContainer>

<activityTemplateContainer> <applicationID>2</applicationID> <templateID>1</templateID> <activityTemplate> <type>Photo</type> <title>{publisher:Publisher} has a new profile photo: </title> <data>{list:ProfilePhoto({picture:Photo})}</data> <icon>http://www.microsoft.com/about/images/rss_button.gif</icon> </activityTemplate> </activityTemplateContainer>

Page 25: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Activity Template Types

Template Variable Types DescriptionlinkVariable Specifies a linkpublisherVariable Specifies the publisher of the activity itemtextVariable Specifies a block of textentityVariable Specifies a person, group, or other entitypictureVariable Specifies a picturelistVariable Specifies a group of objects

Page 26: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Activity Localization

OSC supports Unicode (utf-16)Provider detects the Outlook UI language based on languageTag (RFC 4646/4647) passed to ISocialProvider::LoadIf your provider ships for multiple languages, you must localize templatesPass localized templates back to ISocialSession::GetActivities or ISocialPerson::GetActivitiesOfFriendsOrColleagues

Page 27: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Provider PerformanceOSC represents possible millions of hits per day on your servers

Approximately 20-50 million OSC users short term, 100-200 million long termApproximately 25-50 pieces of mail per day per typical corporate userFor on-demand contact or activities sync, OSC makes network call each time people pane is refreshed

Mitigations that improve server scalabilityDefault interval: 30 minutes for ISocialPerson::GetActivitiesOfFriendsAndColleaguesIn your provider, generate a unique userAgent that goes to the service to track OSC calls.

Threading model to improve provider performanceSTA and MTA supportedSee INFO: Descriptions and Workings of OLE Threading Models

Page 28: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Basic Deployment

Provider setup using your preferred installation tool

OSC will auto-detect installed provider

Required registry keys:COM Registration of Provider DLL

Provider ProgID under

HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\SocialConnector\SocialProvidersorHKEY_LOCAL_MACHINE\Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders

Page 29: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

DebuggingOver the wire tools

Fiddler

Wireshark

Using Visual Studio when developing a providerOn Debug tab, Start Action, Start External Program point to Outlook.exe, for example

C:\Program Files\Microsoft Office\Office14\OUTLOOK.EXE

Set breakpoints in your code

On Debug menu, point to Start Debugging (F5)

OSC registry keys for debugging underHKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\SocialConnector

DebugProviders (DWORD=1) – validate provider Xml using OutlookSocialConnector.xsd

ShowDebugButtons (DWORD=1) – show buttons on Ribbon

Page 30: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

More debugging tipsIf your provider caches activities, unhide the “News Feed” folder using MFCMAPI“News Feed” under IPM_SUBTREE in default storeChange PR_ATTR_HIDDEN to false

Page 31: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Track ResourcesFor More Information – http://sharepoint.microsoft.com SharePoint Developer Center – http://msdn.microsoft.com/sharepointSharePoint Tech Center – http://technet.microsoft.com/sharepointOfficial SharePoint Team Blog – http://blogs.msdn.com/sharepoint

Page 32: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Related ContentBreakout Sessions – See Conference Guide for full list of OSP Track SessionsInteractive Sessions – OSP Track has 10 Interactive Sessions – OSP01-INT – OSP10-INTHands-on Labs – OSP01-HOL – OSP20-HOLProduct Demo Stations – Yellow Section, OSP

Office 2010, SharePoint 2010, Project Server 2010, Visio 2010 have kiosks and demos

Page 33: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Resources

www.microsoft.com/teched

Sessions On-Demand & Community Microsoft Certification & Training Resources

Resources for IT Professionals Resources for Developers

www.microsoft.com/learning

http://microsoft.com/technet http://microsoft.com/msdn

Learning

Page 34: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Complete an evaluation on CommNet and enter to win!

Page 35: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Sign up for Tech·Ed 2011 and save $500 starting June 8 – June 31st

http://northamerica.msteched.com/registration

You can also register at the

North America 2011 kiosk located at registrationJoin us in Atlanta next year

Page 36: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

Play the Microsoft Office & SharePoint Track Tag Contest

Download the Microsoft Tag ReaderOpen the internet browser on your mobile phone and visit http://gettag.mobi

Come to the Expo Hall – Yellow Section OSP Info Desk for Official Rules & Collect Additional Tags!

Grand Prize (1)Xbox 360 Prize Package and

Microsoft® Office 2010

Daily Prizes40 copies of

Microsoft® Office 2010

Page 37: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Page 38: John R. Durant Senior Product Manager Microsoft Corporation SESSION CODE: OSP317

JUNE 7-10, 2010 | NEW ORLEANS, LA