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 .

2. 
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)
hint, 
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

https://communities.opentext.com/forums/categories  )



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(col.next()) {  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

log4j.logger.com.documentum.bpm=WARN, bpmappender
log4j.logger.com.documentum.bps=WARN, bpmappender


So it should be changed as

log4j.logger.com.documentum.bpm=DEBUG, bpmappender
log4j.logger.com.documentum.bps=DEBUG, 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

log4j.logger.com.documentum.bps=WARN, bpsappender

So it should be changed as

log4j.logger.com.documentum.bps=DEBUG, 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



From IAPI

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

API>set,c,l,trace_launch

API>T

API>save,c,l

Turning off method launch trace



From IAPI

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

API>set,c,l,trace_launch

API>F

API>save,c,l


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 https://community.jboss.org/wiki/EnableClassloaderLogging

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:

From IAPI

apply,c,NULL,SET_OPTIONS,OPTION,S,trace_workflow_agent,VALUE,B,T

Turning off the trace:

From IAPI

apply,c,NULL,SET_OPTIONS,OPTION,S,trace_workflow_agent,VALUE,B,F


Log file to collect: repository log


Session Authentication trace



When to collect?

Authentication issues with Content  Server




Turning on the trace



From IAPI

apply,c,NULL,SET_OPTIONS,OPTION,S,trace_authentication,VALUE,B,T

Turning off the trace

apply,c,NULL,SET_OPTIONS,OPTION,S,trace_authentication,VALUE,B,F


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 dfc.properties (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.verbose=true

dfc.tracing.max_stack_depth = 6

dfc.tracing.include_session_id = true

dfc.tracing.log.level = DEBUG

dfc.tracing.timing_style=date

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

dfc.tracing.mode=standard

dfc.tracing.date_column_width=12

dfc.tracing.include_session_id = true


Log file to collect: Generated dfc trace files



b)SQL API>apply,c,NULL,SET_OPTIONS,OPTION,S,sqltrace,VALUE,B,T

C)RPC. API>apply,c,NULL,SET_OPTIONS,OPTION,S,rpctrace,VALUE,B,T




1 comment:

  1. Thank you for your precious information. very clear explanation.Please share more like that..
    erp software companies in chennai

    ReplyDelete