Archive for April, 2010

Documentum Foundation Classes Examples for Java

April 18, 2010 Comments off

Today i have to tried to put in some of the examples describing the DFC usage in Documentum.
1.Connecting to the content server docbase and establishing session :

public IDfSession getDfSession (String userName, String password, String docbaseName) throws Exception {
IDfLoginInfo loginInfo = new DfLoginInfo();
IDfClient client = new DfClient();
IDfSessionManager sessMgr = client.newSessionManager();
sessMgr.setIdentity(docbaseName, loginInfo);
idfSession = sessMgr.getSession(docbaseName);
if ( idfSession != null )
System.out.println(“Session created successfully”); return idfSession;

2.Get a list of available docbase:

public void getAllDocbases() throws Exception {
IDfClient client = DfClient.getLocalClient();
IDfDocbaseMap docbaseMap = client.getDocbaseMap();
for(int i=0;i<docbaseMap.getDocbaseCount();i++) {
System.out.println(“Docbase Name : ” + docbaseMap.getDocbaseName(i)); System.out.println(“Docbase Desc : ” + docbaseMap.getDocbaseDescription(i));
3. Create a cabinet (dm_cabinet object) in docbase:

public void createCabinet() throws Exception {
IDfFolder cabinetObj = (IDfFolder) idfSession.newObject(“dm_cabinet”);
if (cabinetObj != null) {
cabinetObj.setObjectName(“Cabinet Name”);;

4. Create a folder (dm_folder object) in docbase:

public void createFolder() throws Exception {
IDfFolder folderObj = (IDfFolder) idfSession.newObject(“dm_folder”);
if (folderObj != null) {
folderObj.setObjectName(“Folder Level 2”);“/Cabinet Name”);;

5. Create a document (dm_document object) in docbase:

public IDfDocument createDocument() throws Exception {
IDfDocument documentObj = (IDfDocument) idfSession.newObject(“dm_document”);
if (documentObj!= null) {
documentObj.setContentType(“crtext”); documentObj.setFile(“C:\\Documentum\\config\\”);“/Cabinet Name/Folder Level 2”);;
return documentObj;

DFC Programming Approach

April 17, 2010 Comments off

DFC enables programmers to access content management functionality through both high-level operations and low-level object method calls. A services layer encapsulates business logic for common processes, such as workflow, data validation, searching, and virtual document management.

 DFC is organized into a set of Interfaces and Classes.

 • DFC implementation classes will begin with Df

 • Interfaces will begin with IDf

Package Description Facilitates accessing DFC from COM
com.documentum.fc.client Provides basic functionality:Establishing DFC sessionsRetrieving and validating data

Managing workflows

Manipulating virtual documents

Working with document versions

common.documentum.fc.client.qb Constructs and run queries and SmartLists.
com.documentum.fc.common Supplies utility methods for other DFC classes.
com.documentum.operations Provides high-level functionality, such as checking documents or virtual documents in and out. Provides XML Support.
com.documentum.registry Maintains Documentum information on the client’s system, using the window registry on win32 platforms, and .ini files otherwise.
com.documentum.xml.xql Facilitates constructing Docbase queries that return results in an XML format.

Categories: DOCUMENTUM Tags: , , ,

DFC Installation and Configuration

April 16, 2010 Comments off

The below steps will guide  you to install & Configure  DFC :

Step 1: Use dfcWinSuiteSetup.exe to start the DFC installation.

Step 2: A welcome dialog box appears, click next to proceed to the next window.

Step 3: The license agreement is displayed, select the accept option and click next.

Step 4: Mention the path where you need to install DFC programs and click next.

Step 5: Specify whether to install optional components for developers like developer documentation and Primary Interop Assembly Installer.

Step 6: Specify the root directory for documentum user information and click next.

Step 7: Specify the host and port number for the connection broker machine.

Step 8: Check the global registry checkbox to use DFC as global registry.

Step 9: See the progress and click finish when the installation reports that it has successfully installed DFC.

The Following Files are required to run DFC and BOF programs. You can find the files in Directory “<<drive>>”:\Documentum\config


Set preferences for how DFC handles certain choices in the course of its execution.

This file contains documentation of all recognized properties and their default settings. (Do not modify this file and copy the properties to file)

Another important property is set dfc.registry.mode = file. This causes DFC to use a file to store certain settings, rather than the Windows registry. This is the standard setting for UNIX systems. It also works for Windows systems, but that setting is incompatible with Documentum Desktop.

Contains registry entries for BOF classes.

Configuring Log Properties

Edit dmcl.ini found in C:\WINNT


Host: Docbroker IP

Port: Port which Docbroker is listening

Documentum Foundation Classes (DFC)

April 15, 2010 Comments off

Documentum Foundation Classes (DFC)

The Documentum DMCL contains the core API to communicate to server. The DFC provides a robust, object oriented wrapper around DMCL API and includes additional functionality.

Documentum Applications depend on Documentum object model and DFC exposes this object model as an object oriented client library. Client side applications such as desktop, WDK, middle-tier libraries use DFC.

          Documentum Foundation Classes (DFC) is an object oriented application programming interface (API) and framework for accessing, customizing, and extending Documentum functionality.

DFC includes

  • A set of interfaces and implementation classes
  • A collection of DLLs to provide DFC functionality
  • A shared library that must be loaded to use DFC with non MS JVM
  • A type library to access DFC via COM

DFC Provides

  • Java-COM Bridge (DJCB) to access the DFC interfaces from COM
  • Primary Interop Assembly (PIA) to access DFC from .NET
  • BOF to embody business rules and patterns in re usable elements

DFC Uses

  • Access Documentum Functionality
  • Customize or extend Documentum Products (Web Top, Desktop)
  • Write method/procedure to be executed on server as part of workflow or lifecycle – method execution on server.
  • Integration of Content Management Functionality into third party Enterprise Applications

Categories: DOCUMENTUM Tags: , ,

What does Documentum recommend about deleting users?

April 14, 2010 Comments off


Every SysObject or SysObject subtype in the Docbase has an attribute called owner_name that identifies the user who owns the object. We suggest deactivating users, rather than deleting them based on the following issues:

– Before deleting a user from a Docbase, you must update the objects created by the deleted user to change the owner_name to identify a different user. You do not need to change the owner_name if you deactivate the user.

– When you delete a user, the server does not remove the user’s name from objects in the Docbase such as groups and ACLs. It is possible to delete a user, and then re-create the user with the same name. However, if you add a new user with the same name as a previously deleted Docbase user, the new user will inherit the group membership and object permissions of the previously deleted user.

– You cannot delete the Docbase owner, installation owner, or yourself.

– When you no longer need a user account, deactivate the user. Deactivating a user is better than deleting a user. Once a user is deactivated in a Docbase, that user will not be able to log in to that Docbase. You must have Sysadmin or Superuser privileges to deactivate or reactivate a user.

– You cannot change the login state of the Docbase owner, installation owner, or yourself. You deactivate and reactivate users by changing the user’s login state using Documentum Administrator, DQL or the API.

– By default, users are active when you create them, so you do not need to activate new users. The user’s login state is tracked by the user_state attribute of the dm_user object. If you deactivate a user who is currently logged in, the change takes affect when the user next logs in.

– If necessary, a user with Superuser privileges can use a ticket to log in as a deactivated user, and a user with Superuser privileges can add a deactivated user to a group.

%d bloggers like this: