Posts Tagged ‘widgets’

D2 Best Practices and all about Widgets

August 27, 2019 Leave a comment

There are several best practices that we can follow and to list below are a few key important ones:

  • Improving Content Transfer Performance
  1. Enable compression of content:
  2. Navigate to and open <install path of D2 Client>/WEB-INF/classes/
  3. Set the applet level properties parameters
  4. Increase the socket buffer size
  • Enabling Compression at the Application Server
  1. Navigate to and open <TOMCAT_HOME>/conf/server.xml
  2. Configure the threshold of the content size and the type of content to be compressed
  • Optimizing Performance for Widgets and Large Numbers of Content
  1. Navigate to and open <install path of D2 Client>/WEB-INF/classes/
  2. Configure a maximum result size for the Doclist widget, User and Group widgets, Thumbnails widget , Repository Browser or Taxonomy widgets.
  • General Tuning Tips

On Oracle Server:

  • Modify the Oracle sessions and processes parameters.

On the Content Server:

  • Modify server.ini and set the concurrent_sessions parameter.

On the web application server:

  • Modify the Java heap size, maximum threads, and GC policy.

Configuration Files

Navigate to <install path of web application server>/webapps/D2–Config/WEB-INF/classes for the D2 Config configuration files:, & logback.xml

Navigate to <install path of web application server>/webapps/D2/WEB-INF/classes for the D2 Client and D2FS configuration files:

applicationContext.xml, settings. Properties, logback.xml,, D2FS-trust. properties

Note: The names of configuration files are case-sensitive.

How do you configure a menu item for a Template Plugin?

We can configure a menu item using D2 Config to allow end users to call the custom action.

  1. Log in to D2 Config and navigate to Go to > Menu D2 to open the D2 Client menu configuration page.
  2. Add a new menu item to the menu in which you want the button to appear.
  3. We then fill out the form for the new menu item.
  4. Click Save.

Facet Search

The facets widget allows the search refinement in a dynamic facet list. Facets are grouped by category and ordered based on the configuration or advanced search settings.

D2 uses the EVENTS to communicate between widgets, Custom Widgets


Internal Widgets





How to set up an external Widget?

I used the D2 implementation of OAH, called D2-OAH.js which provides the binding between a web page and the surrounding D2 application. D2 Config refers to these web pages as external widgets, which are hosted in an iframe within the D2 Client web application. How to setup depends on which external widget we are trying to setup – like there is UpdateDoclist widget:

  1. Extract UpdateDocList folder from D2
  2. Stop the web application server.
  3. Copy the UpdateDoclist folder to the <web application server>/webapps/ folder.
  4. Start the web application server.
  5. Log in to D2 Config:
  6. Navigate to File > Import configuration from the menu bar.
  7. Import
  8. Navigate to Widget view > Widget from the menu bar.
  9. Select the UpdateDoclist widget.
  10. Modify the Widget url field to match the location of the web application server that we have deployed.
  11. Log in to D2 Client and add the new widget to your workspace.

This is pretty much the standard procedure.




A more detailed information about D2 Widgets can be found in the D2 Administrative Guide.

Happy Reading!!!

D2 Plugins and Customization…

August 19, 2019 Leave a comment

Customizing D2- What is Possible?1-e1566236184837.jpg

2.jpgHow does Content Check-in Service work in D2?

The content checkin process uses IDownloadService.getCheckinUrls() service to perform the checkin operation as a single and/or atomic operation. We first cease the usage of the checkin() and getUploadUrls() services and use the getCheckinUrls() service.

D2-Specs Plugin

 Automatically design technical specifications of D2 product

  • Generate a document that compares two different configurations.
  • Using Module Description, we can describe the various elements of our configuration matrix.
  • Once modules are described, we can generate application specifications.
  • We can include dictionaries and taxonomies in the technical document.
  • All the configurations differences are listed into a PDF document
  • All the differences between the two configurations are listed into tables organized by types and modules.


BOCS sits on a separated host, nearer to customer needs. A server machine with only an OS installed, so this machine does not need Documentum or DB to be installed. The host will be used only to install BOCS and DFS. On the content server, it is required to have a DMS installed and running.


D2 is integrated with Documentum Retention Policy Services. RPS policies and markup that apply to a selected document can be displayed, and operations on documents will conform to retention policies.

If we install D2-RPS-CONNECTOR, this will add a set of PDF control capabilities to D2-Client along with a set of configuration modules and dedicated screens to D2-Config.

D2-RPS-CONNECTOR involves two components:

  1. D2-RPS-CONNECTOR docapp or dar
  2. D2-RPS-CONNECTOR-Install.jar library

The D2-RPS-CONNECTOR library has to be installed on the Content Server & the application server.

Copy D2-RPS-CONNECTOR-API.jar in the Jboss lib folder:

Copy Policy engine and services jars in the RPSA webapp lib folder.


Lockbox is a component of the RSA Common Security Toolkit (CST) which securely stores passwords for Documentum D2 in an encrypted file. The stored passwords are put as <key, value> pairs. Lockbox uses keys to store and retrieve the passwords. Documentum D2 uses Lockbox that were earlier present as clear text in the various properties files, such as,,, and

The Lockbox configuration for D2 can be done in either of the following ways:

  • Using the new D2 Configurator Utility – Configure the lockbox through the configurator: D2-Configurator-4.5.0.jar file.
  • Manual configuration of D2 Lockbox


  • Copy LB.jar and LBJNI.jar that are extracted from the D2 installer into <Documentum install path>\<Jboss version>\server\DctmServer_MethodServer\lib folder
  • set PATH=C:\Documentum\D2\Lockbox\win_vc80_x64;%PATH%
  • set CLASSPATH=<D2 install path>\C6-Common-<version>.jar;<lockbox install path>\LB.jar;<lockbox install path>\LBJNI.jar;%CLASSPATH%
  • Generate lockbox file and set D2.passphrase

java.exe –cp “C:\Program Files\EMC\D2\C6-Common-4.5.0.jar;C:\Documentum\D2\Lockbox\LB.jar;C:\Documentum\D2\Lockbox\LBJNI.jar” C:\Lockbox D2Method.passphrase #1Password

  • We can create a passphrase using java PassphraseGenerator:

java <length>


  • Copy the D2.lockbox file generated in <Documentum-root>/<JBoss-version>/server/DctmServer_MethodServer/deployments/ServerApps.ear/APP-INF/classes/
  • Create emc/d2/lockbox/main folder under <Documentum install path>/<JBoss version>/modules/ & Copy LB.jar and LBJNI.jar files that are extracted by the D2 installer to the main/ folder
  • Create module.xml for these 2 jar entries.
  • Add dependencies in jboss deployment xml file.


Need to configure the lockboxPath entry both in D2-Config and D2 client applications:

D2 Config

  • In D2-Config application, file contains lockboxPath properties entry. The file path of this properties file is located at :

<webapp root>\webapps\D2-Config\WEB-INF\classes\

  • Open the above file in a text editor and search for the string “lockboxPath”. By default, this entry would be commented. Uncomment and specify the fully qualified folder path of D2.lockbox file.

D2 Client

  • In D2 application, file contains lockboxPath properties entry. The file path of this properties file is as under:

<webapp root>\webapps\D2\WEB-INF\classes\

  • Open the above file in a text editor and search for the string “lockboxPath”. By default, this entry would be commented. Uncomment and specify the fully qualified folder path of D2.lockbox file
  • Lastly Copy lockbox librariesjar and LBJNI.jar into AS webapps.

 Restart Environment

The system hostname key is missing from the Lockbox – Regenerate the lockbox file again by running the installer through admin command line pointing to the supported java.

Deployed LB onto the JMS (D2 Lockbox on Content Server), Set the dll path:


java Dclb.library.path=C:\Documentum\D2\Lockbox\win_vc80_x64 C:\Progra~1\EMC\D2\lockbox D2Method.passphrase $Pass123

ExtJS- Not just another JavaScript library

October 25, 2010 Comments off

Ext is not just another JavaScript library—in fact, Ext can work alongside other JavaScript libraries by using adapters.We’ll see how to work with adapters in my later Posts.

Typically, we would use Ext in a web site that requires a high level of user
interaction—something more complex than your typical web site. A web site that requires processes and a work flow would be a perfect example.

Ext makes web application development simple by:

  1. Providing easy-to-use cross-browser compatible widgets such as windows,grids, and forms. The widgets are already fine-tuned to handle the intricacies of each web browser on the market, without us needing to change a thing.
  2. Interacting with the user and browser via the EventManager, responding to the users keystrokes, mouse clicks, and monitoring events in a browser such as a window resize, or font size changes.
  3. Communicating with the server in the background without the need to
    refresh the page. This allows you to request or post data to or from your
    web server using AJAX and process the feedback in real time. [The term AJAX (Asynchronous JavaScript and XML) is an overly-complicated
    acronym for saying that processes can take place in the background while the user is performing other tasks. A user could be filling out a form while a grid of data is loading—both can happen at the same time, with no waiting around for the page to reload].
%d bloggers like this: