If you’ve read Brad Stevenson’s post Types of Solutions then you’re already familiar with the three types of BCS solutions:
This post will discuss the different types of BCS solutions possible in Outlook 2010.
Simple solutions can be created using out-of-box capabilities, by simply clicking the “Connect to Outlook” button in the ribbon of a SharePoint External List.
At that point, a new folder will be displayed in Outlook. Clicking on the item type in that folder will display the external data items, previously seen in the External List, inside of Outlook either as a Contact, Post, Task or Appointment. See External Lists in Outlook for an example.
The fields that are unique to this External Content Type (i.e. “Customer ID Number”) that were not mapped to Outlook fields (such as First Name, Phone Number, Email, etc.) will be displayed in a standard auto-generated form region when opening up an item. All of the names and icons for the solution will be automatically selected.
For developers that want to create a similar type of solution in Outlook, yet customize it to extend its capabilities and look more uniquely professional, an intermediate declarative solution can be created for these needs. This will allow you to customize the:
In addition to these Simple and Intermediate solutions, developers can also create Advanced BCS solutions in Outlook with code, by creating an Outlook Office Add-In in Visual Studio 2010 and packaging it together with a BDC Model, subscriptions and a Solution Manifest in a BCS Solution Package.
Let’s look a little closer at both the Intermediate Declarative Solution and the Advanced Code-Based Solution.
To create an intermediate declarative solution:
To create the required artifacts, you can either:
a) Create them automatically using the BCS Artifact Generator tool, or
b) Create them by hand, following the guide Creating Intermediate Declarative Outlook Solutions Using Business Connectivity Services
Be sure to check out the following resources as well:
To package the required artifacts, you can either:
a) Use the BCS Solution Packaging Tool with type “Outlook Intermediate Declarative Solution”, or
b) Use the server APIs to package manually
Here’s an example of what a custom intermediate declarative solution can look like in Outlook:
The following table lists the required and optional artifacts:
Component
Artifact
Details
BDC Model
Metadata.bdcm
Required; must have .bdcm file extension or be named exactly “metadata.xml”
Subscription file(s)
*Subscription.xml
Required, one for each External Content Type; must be named as *Subscription.xml (i.e. “myCustomerSubscription.xml”)
Solution Manifest
OIR.config
Required; must be named OIR.config
OIR or layout resource file(s)
*.resx
Optional
Outlook ribbon file(s)
*.xml
Layout file(s)
InfoPath form(s)
*.xsn
Outlook form region(s)
*.ofs
Form region manifest file(s)
Custom Ribbon Manger, Custom Action and Custom OBPart assembly
*.dll
Outlook view definition(s)
*.ovd
Icon(s)
*.ico, *.jpg, *.png
To create an advanced code-based solution:
b) Create them by hand
a) Use the BCS Solution Packaging Tool with type “Outlook Advanced Code-Based Solution (OIR)”, or
VSTO Add-In assembly
Required
For more information on the BCS Solution Packaging Tool read the blog post BCS Solution Packaging Tool.
For more information on the BCS Artifact Generator see the blog post BCS Artifact Generator.
For more information check out the follow MSDN articles:
Thanks for reading!
Russell Palmer
Program Manager