Developing a provider for the Outlook Social Connector

I’m happy to announce that a new member has joined the Outlook platform family. The new arrival has a long and formal name known as Microsoft Outlook Social Connector Provider Extensibility, but the name shouldn’t stop you from getting acquainted with this exciting new extensibility feature for Outlook 2010!

What is an Outlook Social Connector (OSC) provider?

The Microsoft Outlook Social Connector is an add-in that surfaces social network data including friends, profiles, activities, and status information from social networks in Microsoft Outlook. The user interface of the OSC is shown below:

outlook social connector screenshot

The OSC obtains social network data using an OSC provider, which provides the abstraction layer between the OSC and the APIs offered by social networks.

If the provider implements the required OSC provider extensibility interfaces and is registered with the OSC, the data from the social network becomes available to Outlook so that an end user can view social data in the context of the Outlook user interface. OSC providers can be developed by third parties or individual social networks that want to expose their social data in Outlook. Think of an OSC provider as a translation layer between Outlook and your favorite social network. Another great scenario for corporate customers is to create a provider that connects to a in-house business application, and surfaces business information about people directly inside of Outlook. The provider extensibility stack is represented by the following diagram:

diagram representing outlook social connectorprovider extensibility stack

How do I develop an OSC provider?

You can develop an OSC provider using the development tool of your choice. When you develop an OSC provider, you are not writing MAPI or Outlook Object Model code. The OSC core engine handles writing activity or contact information to the user’s default store. Your OSC provider simply hands back XML to the OSC core engine when methods are called on the required interfaces. The XML should conform to the OSC schema defined by OutlookSocialConnector.xsd. Each OSC provider is built on a set of required interfaces that must be implemented by your provider code. The interface contract is defined by a type library installed with the OSC, socialprovider.dll. The documentation for the required interfaces is available in the following MSDN technical article:

http://msdn.microsoft.com/en-us/library/ee829696(office.14).aspx

An OSC provider can be written using managed languages such as Microsoft Visual C# or Microsoft Visual Basic, or unmanaged languages such as Microsoft Visual C++. Any tool that can create a COM-visible DLL component can be used to develop an OSC provider. The decision to use a managed or unmanaged language to develop a provider should take into account the download size and dependencies of the provider installation package.

An OSC provider must be COM-visible as defined by the following:

  • After installation, an OSC provider must be registered using COM self-registration or regsvr32.
  • COM registration of an OSC provider DLL registers the provider under HKCU or HKLM.
  • A provider’s ProgID is registered under HKCU\Software\Microsoft\Office\Outlook\SocialConnector\SocialProviders
  • An OSC provider developed in a managed language (that is, a managed OSC provider) is COM-visible.

Is sample code available?

All developers love sample code that helps to unleash their creativity, so of course sample code is available! To get started, take a look at the sample code available on http://code.msdn.microsoft.com/odcOL14OSCProvider:

  • TestProvider, a Visual C# sample provider that implements all interface members required for the Beta version of the OSC
  • The OSC schema, OutlookSocialProvider.xsd
  • Provider templates that you can use to develop your own provider in the following languages:
    • Visual Basic .NET
    • C#
    • C++

How do I learn more?

To learn more about OSC provider extensibility, read the technical article on MSDN and download the sample provider and provider templates. Be aware that the OSC interfaces and members might change between the OSC Beta and the final release of Outlook 2010.

If you represent a social network or are interested in developing an OSC provider for your favorite social network or line of business application, contact us at oscprex@microsoft.com and we will consider enrolling you in the OSC provider extensibility preview program.

Randy Byrne
Outlook Program Manager

Office Blogs Comments

Comments: (7) Collapse

  • ribbon in outlook needs some more work other than that it's fine

  • Randy, Is there any way to submit bugs to Outlook team? I think I found couple of problems with Conversations and out-of-the-box COM add-ins I'd like to report about. Thanks.

  • Great feature. This will be a winner for sure.

  • Hi there, In Outlook 2003 and 2007 (not tested in 2010 but I don't think it's changed) I've observed what I think is strange and annoying behaviour. The scenario goes like this : 1. Someone sends me an S/MIME signed mail. His/hers digital cert is valid and active (i.e. not expired) and I read the email without problem.

    2. Some time later, the certificate, naturally, expires.

    3. After this time, if I try to open the above email I'm presented with a warning message (in Outlook 2003) or a red line (in Outlook 2007) that warn me that the cert is no longer valid. If I remember correctly, in 2003 I could not even preview it. I find this behavior puzzling and annoying; When the email was sent, the cert was valid. Outlook has all the information : it knows when the email was sent and received, and it knows when the certificate expired. I think that the correct way to handle this is the same way Windows handles singed .exe files when they come with a timestamp. See for example search.thawte.com/.../index : "[...] The Certificate expires but the signature will be valid for as long as the .exe file is in production". I hope you can find time to comment on this.

  • 水啦~~~終於用好了!!!

  • MEU NOVO BLOG NO OUTLOOK

  • muito bom esse complemento do outlook...devia ter uma pra gmail e outro para o yahoo!

Comments

Comments: (loading) Collapse