Skip to main content

Documentum DFC

Documentum is an enterprise content management platform. Its functionality is made available through application programming interfaces (API).

Most of the customization in the basic product is done using the DFC (Documentum Foundation Classes), a comprehensive collection of Java APIs. Customization can be done via configuration, particularly through the extension products D2 and xCP. These additions aim to provide faster ways of building applications based on document types and metadata, and business processes, respectively.


Documentum DFC Authentication Connection

Authentication Connection Fields

  • Name: Unique name for connection
  • Username: Username to authenticate with
  • Password: Password to authenticate with
  • Collection: The default collection name
  • Doc Broker: Documentum Doc Broker
  • Doc Base: Documentum Doc Base
  • Server Port: Port number

Discovery Connector

Discovery Instance Configuration Fields

  • Name Unique Name for the Discovery Connection to identify it in the UI.
  • Authentication Connection A predefined connection for authentication.
  • Ignore Types Comma delimited list of types to ignore. Note that you can have regex as well. So to ignore all types with "workflow" in the name, you would enter(.)workflow(.) into the ignore types textbox.
  • Doc Base Documentum Doc Base
  • Server Port Port number
  • Doc Broker Documentum Doc Broker

Integration Connection

The Documentum DFC (Documentum Foundation Classes) Integration Connection is for retrieving content, and it's associated metadata from a Documentum Repository based on root folder, content type and document type. Simflofy is currently compatible with Documentum v5 and higher.The Documentum Integration Connection utilizes the DFC library along with DQL (Documentum Query Language) to sync/integrate content, and it's associated metadata to Documentum. Simflofy is currently compatible with Documentum v5 and higher.

Integration Connection Fields

  • Connection Name This is a unique name given to the connector instance upon creation.
  • Description A description of the connector to help identify it better.
  • Connector Class The class of this connector that implements the IOutputConnector interface. You may have different connector types that write to the same type of repository.

DFC Query Repository Connector

There is a new documentum connector called the DFC Query Connector it's query based, not folder crawl based

  • Query: this is how you get docs, needs to be a full query that works in documentum.

    • You need the i_chronicle_id, and it should be unique, so DISTINCT i_chronicle_id
    • If you want to track links as relationships you can add this to the select part of the query: i_reference_cnt
  • Worker Count: number of workers. These will go and get each document, and it's versions, metadata, renditions, permissions, etc... essentially think of a worker as a concurrent user, though because of queries that need to be run it could result in more than one connection to documentum.

  • Document Queue Size: the internal queue we use for documents. These will just be document ids that will be picked up by workers and then resolved

    • If there are a lot of files in folders this will speed things up a lot to have folders in cache, but you don't want the cache too big, or it will take up a lot of memory. We suggest 1000-10000 as the optimal number depending on your system.
  • Cache Options Tab: Number of Items in Cache: this is a folder cache where we keep the properties and info for folders this is used to get the document path and to get folder properties if that option is checked

Job Configuration

Output Configuration

  • Version Label Field: Source field containing version label
  • Root Path: This is the root path / cabinet to start writing content to. Note that any subsequent folders that do not exist will be created. Defaults to "/"
  • Content Type Rule: This is the DQL to find the Documentum Content Type (dm_format object) for a given extension and or mime type using content specific parameters. This is done as Documentum may have more than one content type per extension and or mimetype. If more than one dm_format is returned in the DQL result, then the first one will be used.
    • dos_extension --> Query Parameter: ${extension}
      • Example:select name from dm_format where dos_extension = '${extension}'
    • mime_type --> Query Parameter: ${mimeType}
      • Example:select name from dm_format where mime_type= '${mimeType}'
    • is_hidden
      • Example:select name from dm_format where mime_type= '${mimeType}' and dos_extension = ${extension} and is_hidden = false
    • can_index
      • Example:select name from dm_format where mime_type= '${mimeType}' and dos_extension = ${extension} and can_index = true

Repository Run Options:

  • Query: this is how you get docs, needs to be a full query that works in documentum.
    • You need the i_chronicle_id, and it should be unique, so DISTINCT i_chronicle_id
    • If you want to track links as relationships you can add this to the select part of the query: i_reference_cnt
  • Content Max Length: Max Document Size Allowed, set to 0 to allow any sized document.
  • Document Queue Size: the internal queue we use for documents. These will just be document ids that will be picked up by workers and then resolved
    • If there are a lot of files in folders this will speed things up a lot to have folders in cache, but you don't want the cache too big, or it will take up a lot of memory. We suggest 1000-10000 as the optimal number depending on your system.
  • Max Document Retries: How many times to attempt a document before erring.
  • BFS Integration: Check if output connector is BFS (Bulk File System).
  • Include Parent Folder Properties: Check to include
  • Parent Folder Properties: The number of levels of parent properties you want. 1 is the parent, 2 is the parent and grandparent, etc...
  • Include ACLs: Check box to include
  • dctm.includeFoldersDesc: Check box to include the folder description.
  • Filesystem Staging Location: Enter a location on the filesystem to stage documents or leave blank to use in-memory staging.
  • Use Mounted Drive for Binary: Check to use a mounted drive to retrieve binary using getPath on DFC Document.
  • All versions: Check to retrieve all versions of a Document.
  • Use Renditions: Check to retrieve the renditions of the document.
  • Ignore Use Renditions Mime Types: Comma delimited list of mime types to ignore using renditions.
  • Use First Matching Rendition as Binary?: Check to use the first Rendition that matches as the Document Binary (Include Binaries and Use Renditions also have to be checked)
  • First Rendition MimeType to match and use as Binary:
    • If the Use First Rendition as Binary box is checked, this field is the MimeType of the Rendition to match (defaults to application/pdf if left blank or fed invalid value).
    • If ANY MimeType to Match is acceptable EXCEPT a specific MimeType. Use: NOT(mimetype) where mimetype is the mimetype you would like to only have a rendition and NOT the binary
    • (e.g. NOT(application/pdf) will use the first rendition that is NOT of the mimetype application/pdf.

Repository Cache Options

Max Number of Items in Cache:Maximum number of folders to keep cached

Detecting Resource Leaks

In a case of Troubleshooting the Documentum DFC Connector, there may be the need to look for resource leaks. To detect these leaks, a property will need to be added to your dfc.propertiesfile. If you do not have adfc.propertiesfile, create one in the web application'sWEB-INF/classes directory with the single entry. This will allow for the detection of the leaks and provide a statement about the cause of the leak in your log files. The entry to add to your log file isdfc.diagnostics.resources.enable=true

For more information see the official documentation here.

Documentum DFC External Dependencies

Simflofy comes pre-packaged with some required dependencies for Documentum. If you experience errors related to missing classes or any errors stemming from the DFC connector classes you may need to replace existing DFC dependencies with files from your targeted Documentum server. Simflofy is currently compatible with Documentum v5 and higher.

  1. Locate the following jars on your Documentum server:
    • dfc.jar
    • configservice-api.jar
    • configservice-impl.jar
  2. Copy those jars to your Simflofy server
  3. Delete the dfc-1.0.jar file from the tomcat/webapps/simflofy-admin/WEB-INF/lib directory.
  4. Place Documentum jars in the tomcat/webapps/simflofy-admin/WEB-INF/lib directory.
  5. Restart Simflofy.

Note: There are known compatibility issues with the external DFC dependencies and Java 11. If you are using Java 11and experience startup errors after adding the external dependencies, please consider using Java 8.


Content Service Connector

Note: An Auth connector is not needed for the Documentum DFC content service connector. For Security Mode, choose Service Provided Credentials

The methods currently supported for this connector are:

  • Create Folder
  • Create File
  • Update File
  • Get Object by path
  • Update Properties
  • Get File Content
  • Get Object Properties
  • Delete Folder
  • Get Root Folder ID
  • List Folder Items
  • Delete Object by ID
  • Get Types

Managing Permissions with Documentum DFC Content Services

As of Simflofy 2.7.6, this connector also offers permissions support using the /acls content service endpoint.

The API supports GET, POST, and DELETE calls.

All the endpoints take the "id" parameter, which takes the form of a string.


Looking to integrate with Documentum? We can help.