Copy the structure but not the data.

I’m working on a prototype at the moment that requires me to insert data into offline tables (offline as far as Documentum is concerned). The examples that I’ve found all resort to specifying the exact structure of the table. create table DMI_OBJECT_TYPEx ( R_OBJECT_ID VARCHAR2(16) NOT NULL, I_TYPE NUMBER(10,0) NOT NULL, I_PARTITION NUMBER(10,0) NULL); The example above is smaller than most of the tables I have to create. The weakness with this is that you have to look up the table structure. The writers probably chose this method because the much simpler syntax shown below also brings any data that is in the table. CREATE TABLE DMI_OBJECT_TYPEx AS SELECT * FROM DMI_OBJECT_TYPE; My initial thought was why not copy the table and then just truncate it, but after a bit of searching I stumbled upon the solution. Essentially adding a WHERE clause to the end of the query that never evaluates to TRUE enables us to take the structure without the data. CREATE TABLE DMI_OBJECT_TYPEx AS SELECT * FROM DMI_OBJECT_TYPE WHERE 1=2;

Documentum, old world document management (or why to avoid Documentum 6.0SP1)

I’m sick of raising support cases for things that should just work. I’m frustrated that a product as buggy and unstable as Documentum 6.0 SP1 can be proposed as a solution (by EMC). There are a lot of good things about Documentum, but there is a lot of bloat as well. This will be a growing list of stupid problems that I’ve found, I’ll start with one item and go from there.

  • Clicking on ‘Save As’ on a permission set with a name over a certain length causes it to bomb out. Why? because it tries to give the permission set a temporary name that is longer than the allowed 32 characters. No chance to override this name, no graceful handling, just a fat error message and the chance to reload DA and try again.
  • When using LDAPSync (which you probably need to get hotfixed anyway what with it having so many bugs fixed) ‘Groups and their member users’ does not update the content of mapped attributes even if they change (for instance during a rename).
  • My favorite of the last 2 weeks: BOCS and DTS are not supported in the same solution. This problem is related to DTS going looking for content that is still parked on the BOCS server. It’s been fixed in 6.5…the problem is that it was EMC that built the solution that we’re now using. There is some instability in the DTS services, which is something I have to follow up, but EMC/Documentum had better be hoping that the two are not related.

I think part of the problem is that Documentum like a lot of old world enterprise applications has a very tenous hold on some of the techniques that allow for more error free development. I mean was the code even unit tested…

Turn on Authentication Tracing in Documentum Administrator

The following comes in very hand when you’re trying to troubleshoot authentication problems. Go into DA and find the Administrative Methods; there should be one called ‘SET_OPTIONS’  which allows you to put in trace_authentication and set it to true. All authentication attempts will then be logged to the docbase log.

A few notes:

  • If you have a clustered setup you’ll need to make sure it gets turned on for both content servers (you can specify which you’re connecting to when you login)
  • Make sure you turn it off when you’re done troubleshooting, it adds a performance overhead not to mention chewing up log space.
  • Restarting the content server will cause it to turn off…to turn it off without restarting the content server just set it to false in the same place you turned it on.