Documentum Configurations

This Article explains how to Configure documentum users authentication method case insensitive: 

By default documentum user name case sensitive.

1. First we need to update server.ini file on Content Server 

-Update user auth case to lower (Add the "user_auth_case=lower" parameter in server.ini).  
-Stop Content Server.
-Clean the cache.
-Start Content Server .

Login to DA (Documentum Administrator) as a superuser and go to Jobs node. Search for the job "dm_LDAPSynchronization". Go to the properties of that job and within the method tab add the method argument "-alpha_case_user_login_name lower"

3. Execute the following query to run the LDAP as full sync mode. DQL> update dm_ldap_config object set a_last_run = '

4. After doing all above steps , run LDAP full synch job.

5. If still you find some users are not updated then 

You can make sure by running below sql

select * from dm_user_s where user_source='LDAP' and 

(user_login_name <> LOWER(user_login_name) or user_os_name <> LOWER(user_os_name)  ) ;

If exist then Update dm_user objects using below sqls .

update dm_user_s SET user_login_name=LOWER(user_login_name),user_os_name=LOWER(user_os_name) where user_source='LDAP' and 
(user_login_name <> LOWER(user_login_name) or user_os_name <> LOWER(user_os_name)  ) ;

How to run dm_LDAPSynchronization tool manually from the command line.

The syntax is
java com.documentum.ldap.LDAPSync -docbase_name repositoryname
-user_name superuser_login -method_trace_level integer -full_sync true
where repositoryname is the name of the repository, superuser_login is the login for a
Superuser is required .

java com.documentum.ldap.LDAPSync -docbase_name myrepo -user_name dmadmin -method_trace_level 5 -full_sync true

How to configure LDAP in documentum

Go to Documentum Administrator LDAP configurations 

Create new LDAP server configuration 

Select Microsoft Active Directory

Provide microsoft active director host ,port ,username , password detail 

In Sync & Authentication 

Import User only 

Sync Type - Incremental 

Deleted user - set to inactive

Other follow from image

In Mapping

Create User and Group Mapping

Add the properties mapping 

Do the failure setting as per image

Best practice to design the business object model in documentum system.

Many times people when designing business model in documentum follow 

wrong approach they just apply their previous project understanding 

experiences like designing a data model in database where they 

create a table for type and in that some attribute like

document_type to distinguishes different types which is absolutely wrong 

design that leads to performance issues ,future customization.

Here we need to distinguish thinking from data model to content model. 

For example designing a Hr document model in DMS ,lets say employee has 

some personal , official documents.

So we can define 

How we can achieve pagination in Documentum:

Approach 1 :

DQL doesn’t provide anything that gives result on the basis of row index .

 The “closest” you get is the ENABLE (RETURN_TOP n)
but the result will always start from the first record. You can create a view in your db,

Register the view in DCTM,

 and query the view through DQL.Put the where criteria for rowindex.

Approach 2 :

(Note that documentum forum linked is changed , new documentum forum url link  )

You can store the collection results in the Vector and get the first 10 and then call the same jsp using the “get” 

method by passing a variable with the pagination value to get the next set of rows.Example to store the 

rows into 

Vector and get the values from Vector:

q.setDQL("select r_object_id, object_name, r_modify_date 

from dm_document where object_name like 'My Name%"); 

// Assume that m_myRows is declared as a member variable of type vector
 m_myRows = new Vector(); 
try {  
       DfCollection col = q.execute(session, IDfQuery.DF_READ_QUERY); 
        while( {  m_myRows.addElement(col.getTypedObject()); }  
   }     catch(DfException dfc){  // Error handling code     }
     // Elsewhere in your code
     try {         int cnt = n_myRows.size();         

for (inti=0; i < cnt; i++) {             
IDfTypedObject row = (IDfTypedObject) m_myRows.elementAt(i);
IDfId id = row.getId("r_object_id");      
       String name = row.getString("object_name"); 
            IDfTime time = row.getTime("r_modify_date"); 
            // Etc., etc...         }     }  
   catch(DfException dfc); {         // Error handling code     }


Logges in documentum:


DEBUG mode for Process Engine

When to enable?

Issues in executing the Outbound Activities

How to enable DEBUG mode?

Change WARN to DEBUG in the following lines in log4j.properites available in bpm.ear/APP-INF/classes, bpmappender, bpmappender

So it should be changed as, bpmappender, bpmappender

Log file to collect: bpm-runtime.log

DEBUG mode for Process Integrator

When to enable?

Issues in executing the Inbound Activities

How to enable DEBUG mode?

Change WARN to DEBUG in the following lines in log4j.properites available in bps.war/WEB-INF/classes, bpsappender

So it should be changed as, bpsappender

Log file to collect: bps.log

Method launch trace

When to collect?

Problems in invoking OOTB or custom method

Turning on method launch trace


API>retrieve,c,dm_method where object_name='<method_name>‘




Turning off method launch trace


API>retrieve,c,dm_method where object_name='<method_name>‘




Log file to collect:  repository log

Additional Info to collect: dump of dm_server_config and dm_jms_config objects

Mail session trace

When to collect?

Connectivity issues with mail in Email Inbound Activities (applicable 6.5 SP2 or later) and Email Outbound Activities (applicable from  6.5 SP2  & 6.6 Patch 24 and 6.7 SP1 Patch 07 or later)

How to enable?

For Inbound Activities:

Set property “mail.debug”  to “true” in bps.xml and restart PI

Log file to collect: App Server’s (where PI is deployed) system out log

For Outbound Activities

Enable debug mode for Process Engine

Log file to collect: Jboss method server system out log (server.log)

Classloader trace

When to collect?

Classloading issues in executing the automatic tasks

How to enable?

Follow the instructions as in

Log file to collect: The log file as mentioned in above article

Workflow agent trace

When to collect?

Automatic tasks are not getting processed or poor performance in processing automatic tasks

Turing on the trace:



Turning off the trace:



Log file to collect: repository log

Session Authentication trace

When to collect?

Authentication issues with Content  Server

Turning on the trace



Turning off the trace


Log file to collect: repository log

DFC tracing

When to collect?

Version mismatch errors or session hang when executing Outbound and Inbound activities

How to enable?

Add following properties in (in DOCUMENTUM/config for Outboundbound Activities  and in bps.war/WEB-INF/classes

dfc.tracing.enable = true

dfc.tracing.include_rpcs = true

dfc.tracing.include_rpc_count = true


dfc.tracing.max_stack_depth = 6

dfc.tracing.include_session_id = true

dfc.tracing.log.level = DEBUG


dfc.tracing.date_format=yyyy-MM-dd HH:mm:ss.SSS



dfc.tracing.include_session_id = true

Log file to collect: Generated dfc trace files



No comments:

Post a comment