Monday, December 29, 2008

Documentum BizTalk Adapter V0.1 Available for Download

You can download the Documentum BizTalk Adapter from here

Installation Steps:

- Extract the zip file to the BizTalk Folder (X:\Program Files\Microsoft BizTalk Server)

- The registry file adds the necessary keys to the registry, please note that the registry file assumes that you installed BizTalk server on the C drive so if your installation is in a different drive just change the drive letter in the registry file

- Double click the registry file to create the keys

- Open the BizTalk Administration Console and go to Platform Settings, right click the Adapters folder and select New Adapter

- Enter “Documentum Adapter” in the Name, and select the Documentum Adapter from the list, click ok and restart the host instance


- Now you should be able to see the Documentum Adapter in the list of the available adapters when you create a new send port

Tuesday, December 23, 2008

Documentum BizTalk Adapter V0.1 (Using the Adapter to send Custom Type Documents)

In the previous post I showed how we can use the adapter to send files to Documentum to be stored as documents of type “dm_document”.

A more practical use for the adapter is to use the adapter to send files to be stored as custom type documents, to do so we need to create a schema that reflects the custom type definition, I employed the adapter metadata wizard, here is a walkthrough on how to use this functionality:

- create a new empty BizTalk project, right click the project in the solution explorer and click add generated item

- The add adapter wizard will open, in the first step select the Dynamic Documentum Adapter


- On the next step enter the credentials to connect to Documentum and choose the Docbase


- In the next step select the custom type you want to import its schema (here I have a custom type purchaseorder that has the following attributes: ponumber(string), supplier(string), podate(time), items(repeating string) )


- click the finish button and the wizard will import the schema of the custom type to your project


- if you examined the schema generated by the adapter, you will find four xml elements: the first one is DocumentumName which should contain the name of the document to be saved in Documentum, the second element DocumentExtension should contain the extension of the file to be uploaded to Documentum, the third element DocumentContent contains the file content in base64Binary format, the fourth element DocumentAttributes is a complex element with sub-elements that correspondences to the custom attributes of the custom type 


- To test the adapter I will pass an XML file that matches the schema above, I will set the DocumentContent to be a simple string represented in base64Binary and will upload it to Documentum as a text file(DocumentExtension=”.txt”), of course a better way to do this is to use a custom pipeline component to automatically convert the physical file to its base64Binary but I will leave this to another post

- In the orchestration file created by the add adapter metadata wizard add a receive port that receives xml files from a certain folder


- add another port to send to Documentum, when prompted for the adapter type choose the existing adapter type SubmitpurchaseorderPortType this port type correspondences to the schema described earlier, set the communication direction to send request and receive response, specify the binding later


- The response returned from the Documentum adapter contains the r_object_id on the new document sent to Documentum, I will take this response and send it to a specific folder using a simple FILE send adapter, so my orchestration will look like the following


- Deploy the orchestration and go to the BizTalk Admin Console to configure it, choose BizTalkServerApplication as a host, and for the outbound logical port “SendToDocumentumPort” choose to create a new send port


- In the new send port properties window, choose the BizTalkServerApplication as the send handler and the XMLTrasmit, XMLReceive for the send and the receive pipelines, configure the adapter and set the adapter specific information (Docbase, username, password, Document path, etc.)


- Now start the orchestration and try to place xml file with our schema in the receive folder, go to Documentum to the location you specified in the send adapter configuration you will find a new document of type purchaseorder there that has the Name, file type, content and attributes that is specified in the xml file

Friday, December 19, 2008

Documentum BizTalk Adapter V0.1 (Using The Adapter to send Un-typed Documents)

I finished developing the features I planned for the first release of the Documentum BizTalk Adapter. I will try to package the adapter and make it available for download next week.

The adapter allows you to send documents to Documentum Content Server from within BizTalk Server 2006, you can use the adapter in two ways:

1- either send a file to be stored as a document of the general type “dm_document”

2- or use the adapter to send a file to be stored as a document of a certain custom type, in this case I use the add adapter metadata wizard to generate a schema for the selected custom type

In this post I will demonstrate the first way, to do so I created a BizTalk messaging solution that allows you to drop files in a specific folder and automatically these files are sent to Documentum to be stored as objects of type “dm_document”, here are the steps:

- From BizTalk server administration, I created a new Receive Port “ReceiveInputFile” and associated a receive location with this port, the receive location uses a FILE adapter that watches a certain folder (e.g. C:\Inbox\*.*), I used the “PassThruReceive” pipeline


- To send to Documentum I created a new static one way send adapter, choosed the Documentum Adapter as the transport type and the “PassThruTransmit” as the send pipeline, added a filter(BTS.ReceivePortName==ReceiveInputFile) to allow only messages coming from our receive port.


- To Configure the adapter properties, all I have to do is to click on the Configure button and the BizTalk automatically creates a UI based on my custom adapter configuration, through this UI I can choose the Docbase, set the username/password that i will use to connect to Documentum and specify the path inside Documentum where I want my files to be saved, as you can note from the image below I set the Document Name property to be equal to the BizTalk variable %MessageID%


- this all that I have to do, now if dropped any file in the folder the file immediately is transferred to Documentum to the location I specified in the adapter configuration

I will post another entry on how you can use the adapter to send documents of a certain custom type