George Durzi

in

OCSDKWrapper Project on CodePlex

A colleague of mine - Peter Walke - was working on an internal project where he needed to quickly integrate some functionality provided by the Office Communicator SDK. Having worked on several projects involving Communicator automation, he asked me if I could give him some code he could simply drop into his project.

The Office Communicator SDK is generally easy to use, however, the code to connect to communicator, monitor the status of the connection, and clean up if the connection is lost can be complicated. I quickly realized that it's very inefficient and inelegant to have to paste this large blob of code into every project that used the Office Communicator SDK.

I decided to wrap that functionality into a helpful class library, where the developer's only responsibility would be to create an instance of the class - letting it handle all the underlying plumbing with Communicator.

While I was at it, I also baked in a number of helpful utility functions into the wrapper. This includes functions to trigger various types of Communicator conversations, perform Contact maintenance, query presence, and several others.

I create and published the OCSDKWrapper project, along with a sample application built using it, into CodePlex. You can find the project at http://www.codeplex.com/OCSDKWrapper

Design Decisions

I worked on this over a couple of days this weekend, and made a couple of design decisions to finish the project quickly and get it published:

  • You still have to reference CommunicatorAPI in your application.
    • I didn't see any real worth in creating DTO classes for every class in the Office Communicator SDK.
  • I left all the Communicator event parameter variable names as-is, even though I wasn't fond of the naming scheme
CodePlex

I've never created a project on CodePlex before, who knew picking what type of license to use would be so complicated.

If you're interested in contributing to the project, have some feedback, or want to report a bug, please contact me via this blog or by posting on the project page on CodePlex.

Sample Application

In the project's source code, you will find a simple sample application that was built using the OCSDKWrapper. The application displays the current connection status, the signed in user's status, and a running list of events that were raised by Office Communicator.

Take a look at the source code in the sample application, you'll see how quickly you can get up and running.

To do
  • Documentation
  • Unit tests

Comments

Marc Wetters said:

Really nice wrapper.

# July 10, 2008 2:59 AM

Readed By Wrocław NUG members said:

Our office recently cut over to using Office Communications Server for our telephony needs, thereby replacing

# August 21, 2008 6:36 PM