Home > DOCUMENTUM > Documentum D2 Components and Architecture

Documentum D2 Components and Architecture

Over a year ago we know how EMC use to manage Documentum providing all the users and developers access to two of the most popular public forums for Documentum : Documentum Support Forum and Documentum Developer Forum, today with OpenText moving their content slowly  to OpenText community forum and restricting access only to their customers  , the Documentum forums became inaccessible now.

Some of the key foundational products of Documentum like the xCP, xDB, Info Archive and D2 are still widely used by many customers and is scaling with regular updates in features. This is going to be my first blog about D2, that I will be trying to post in with all the works I have been doing since past 3 years.

So, let me start with explaining the basics of D2, its components and how its architecture looks like:

Documentum D2 consists of two components:

  • D2 Client: It’s a web-based application for users that provides the ability to interact with content in one or more repositories. D2 Client allows users to:
    • Personalize the user interface using widgets and workspaces.
    • Perform searches across one or more repositories.
    • Create, import, edit, modify, export, and delete content.
    • Organize content manually and automatically using relationships, metadata, and so on.
    • Use content lifecycle and workflow processes as constructed by administrators.


  • D2 Configuration: It’s a web-based application, hereafter known as D2 Config, for administrators to use to configure settings such as automated content-handling processes and background settings for D2 Client. For example, administrators use D2 Config to configure automatic renaming and placement of created or imported content. Other settings include content lifecycle and workflow, workspace layouts, and available widgets.

D2 Architecture

D2 Client consists of three layers:

  • The Browser layer denoting the web browsers that are used by end users to connect to D2. D2 uses standard HTTP requests for all communication between the browser client and the D2 web application. For requests for static resources such as images, D2 uses GWT RPC calls backed by the D2FS services layer, to retrieve dynamic data
  • The web application server layer corresponds to the installation and configuration of D2.war which mainly includes most of the presentation logic, including the GWT and GXT libraries, custom interface controls, static web resources, and pass-through services to allow web browsers to invoke the D2FS services. The layer does not link to the DFC or DFS client libraries because all communication between the D2 web application and the Documentum repository passes through the D2FS interface.
  • The Documentum Content Server layer that consists of the installed DAR files. Includes most of the Documentum types necessary for storing configuration objects in the repository. Configuration objects are subtypes of d2_module_config or d2_moduledoc_config, depending on whether the configuration is stored as object metadata or as XML content.

D2 Config is comprised of three layers:

  • The Browser layer denoting the web browsers that are used by end users to connect to D2 Config.
  • The web application server layer that corresponds to the installation and configuration of D2–Config.war and the D2-Widget plug-in. This includes most of the presentation logic, including the ActiveX controls.
  • The Documentum Content Server layer.

How do you install D2?

D2 installation includes three DAR files:

  • D2–DAR.dar
  • D2–Widget-DAR.dar
  • Collaboration_Services.dar

Extending D2

D2 offers the certain methods of extending D2 by using the D2 API:

  • Building integrated solutions by using the D2FS services to interact with the D2 web application.
  • Using Open Ajax Hub (OAH) and JavaScript to create external web applications that can be manipulated as iframes (External Widgets) from within the D2 web application.
  • Using D2 Java packages to create and configure D2 plug-ins that add custom actions or override existing D2 services.

I have used Eclipse for building the code.

What is D2FS and what is the significance of D2FS? Can you give few examples?

The D2FS API is exposed from the D2 web application as a set of SOAP services. The D2 SDK package contains the sample Java classes that use the Java stub libraries to invoke and modify the D2 processes and data. We can generate Java Stub Libraries to Call D2FS Using SOAP. The D2 SDK package comes with quite a few example java classes, if I recollect there are:

  • CheckinContentExample which Demonstrates how to use getCheckinUrls() to Check out content, Request a checkin URL.
  • DestroyExample Demonstrates how to destroy content, and
  • ImportAndUploadDocumentExample – this tells how to use createproperties() to import and upload content.

To name a few.

What is OAH?

OAH or Open Ajax Hub (OAH) is a standard JavaScript library for publishing and subscribing to web applications. We can use OAH to:

  • Publish to a channel to send a message.
  • Subscribe to a channel to listen for a message.

Hope this is helpful, in the next post I will try to describe the customization that you can do with D2 and its various available plugins.

  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: