July 1, 2010

A Nice Encounter

There I was, minding my own business, when out of the blue I get this requirement to connect a SharePoint search system to Documentum. Normally, I’d go, great – download connector from, install, done. However, the particular environment I find myself in necessitated a custom code approach.

Now, as many of you know and as I’ve said many times prior, I’m not a developer. That being said, it seemed like an easy exercise. I need a Finder, a Specific Finder and an IDEnumerator to index something. So I created a facade webservice that exposed those endpoints and pointed BDC at it (we’re still MOSS here kids – I know, slumming it :)). So far, so good – in fact, have done that five times now, no prob for other systems. Next was to wire up the facade to actually talk to Documentum through…um…shall we say, an interesting security interface – custom – totally custom – to the point that even the EMC boys were freaked out a bit. Sigh.

The following is my honest and professional opinion: SharePoint is a much better enterprise content management system than Documentum.  At least from a developer standpoint.  Hands down. I’ve been into the guts of that darn thing for a few weeks now and I’m no closer to understanding that steaming pile of…very useful software 🙂

Here’s the thing – the APIs are predicated on a set of very specific ‘things’ working just perfectly, not the least of which is a very specific version of JRE (long story), something called a UFC and four or five servers (the result of the ‘interesting’ security interface) to coordinate a simple – get. What actually gets returned? At the very least, it is a strongly typed object, but to get to that, my poor test code went from one web reference (not a good idea) to ten assembly references (after spending the better part of a week just finding the damn SDK) – hey EMC – get a better website!!!!

There I went and digressed into whining. Allow me to illustrate what is better – I now have, in test code at lest, after a month of work, a program that can pull document IDs (the ID enumerator), document objects (the finder) and document objects by ID number (the specific finder).
Now I know why someone produced the connector – and gave it away – they were trying to keep poor schmucks like me from having to endure that. Success!