Documentum InPlace Adapter

Introduction

The Documentum InPlace importer takes the objects processed in migration-center and imports them back in a Documentum repository. Documentum InPlace importer works together only with Documentum scanner.

Documentum InPlace adaptor supports a limited amount of Documentum features such as changing the object types of the documents, changing the links of the documents and changing the attributes. Changing object’s relations is not supported, neither is changing the Virtual documents or Audit trails.

Importer is the term used for an output adapter used as the last step of the migration process. It takes care of importing the objects processed in migration-center into the target system (such as a Documentum repository).

An importer works as a job that can be run at any time and can even be executed repeatedly. For every run, a detailed history and log file are created. It is defined by a unique name, a set of configuration parameters and an optional description.

Documentum InPlace can be created, configured, started and monitored through migration-center Client, but the corresponding processes are executed by migration-center Job Server.

Supported Documentum Content Server versions

The supported Documentum Content Server versions are 5.3 – 20.2, including service packs. For accessing a Documentum repository Documentum Foundation Classes 5.3 or newer is required. Any combinations of DFC versions and Content Server versions supported by EMC Documentum are also supported by migration-center’s Documentum InPlace Importer, but it is recommended to use the DFC version matching the version of the Content Server targeted for import. The DFC must be installed and configured on every machine where migration-center Server Components is deployed.

DFC (Documentum Foundation Classes) configuration

Starting from version 3.9 of migration-center additional configurations need to be made for the Documentum adapter to be able to locate Documentum Foundation Classes. This is done by modifying the dfc.conf file, located in the Job Server installation folder.

There are two settings inside the file that by default match the paths of a standard DFC install. One needs to have the path for the config folder of DFC and the other needs the path to the dctm.jar.

See below example:

wrapper.java.classpath.dfcConfig=C:/Documentum/config wrapper.java.classpath.dfcDctmJar=C:/Program Files/Documentum/dctm.jar

The dfcConfig parameter must point to the configuration folder. The dfcDctmJar parameter must point to the dctm.jar file!

Configuring Documentum scanner

For scanning the data from the Documentum repository, Documentum Scanner is used. As Documentum InPlace is not altering the content, only the metadata of the files, the parameter "skipContent" should be checked in the scanner’s configuration. For more details regarding the configuration of the scanner please check Documentum Scanner user guide.

Changing the types of the documents

Changing the types of the documents is possible with the Documentum InPlace Importer, by setting the value of the r_object_type attribute to a new type. In order to update the target type of the document, the new target type needs to be created beforehand in migration-center in Manage > Object types section and the attributes need to be associated in the Associations tab of the Transformation rules window.

migration-center Client does not connect directly to any source or target system to extract information about r_object_type thus object type definitions can be exported from Documentum to a CSV file which in turn can be imported to migration-center Object Types definition window.

DqMan is recommended to connect to Documentum to extract the object type definition. DqMan is an administration Tool for EMC Documentum supporting DQL queries and API commands and much more. dqMan is free and can be downloaded at http://www.fme.de. Other comparable administration tools can also be used, provided they can output a compatible CSV file or generate some similar output, which can be processed to match the required format using other tools.

  1. Start dqMan and connect to the target DOCUMENTUM repository. dqMan normally starts with the interface for working with DQL selected by default. Press the [DQL] button in the toolbar if not already selected.

  2. In the “DQL Query” box, paste the following command and replace dm_document with the targeted object type: select distinct t.attr_name, t.attr_type, '0' as min_length, t.attr_length, t.attr_repeating, a.not_null as mandatory from dm_type t, dmi_dd_attr_info a where t.name=a.type_name and t.attr_name=a.attr_name and t.name='dm_document' enable(row_based); Press the [Run] button.

  3. Click somewhere in the “Results” box. Use {CTRL+A} to select all. Right-click to open the context menu and choose <Export to> <CSV>.

  4. The extracted object type template is now ready to be imported to migration-center 3.x as described in the chapter Object Types (or object type template definitions) in the migration-center Client User Guide

Updating the attributes of documents

The attributes of documents can be updated, with the values provided by the user, through the associations tab.

Removing a value for an attribute is possible by not providing a value for that attribute and associating it.

The attributes r_creation_date and r_creator_name cannot be modified, however r_modify_date and r_modifier can.

In order to set the r_modify_date and r_modifier attributes they need to have the values associated in Associations section. If the attributes r_modify_date and r_modifier are not set, the current date and current user will be set to the documents.

Permissions can be assigned to documents by setting and associating the attributes group_permit, world_permit and owner_permit. For setting ACLs, the attributes acl_domain and acl_name must be used. The user must set either *_permit attributes or acl_* attributes. If both*_permit attributes or acl_* attributes are configured to be migrated together the *_permit attributes will override the permissions set by the acl_* attributes. Because Documentum will not throw an error in such a case migration-center will not be able to tell that the acl_* attributes have been overridden and as such it will not report an error either, considering that all attributes have been set correctly.

Changing the links of the documents

For changing the links of the documents, dcmt_obj_link rule for system attribute is used. The rule is multi value thus a document can be linked in multiple locations.

If the dctm_obj_links attribute is set, the old links of the documents will be replaced with the new links.

If the dctm_obj_links attribute is not set, the links will not be updated, and the document will be linked in the original location.

As other migration-center paths, InPlace Importer has some predefined system attributes:

  • dctm_obj_link this must be filled with the links where the objects should be placed.

  • r_object_type must be set to a valid Documentum object type. This is normally “dm_document” but custom object types are supported as well.

Moving the content to another storage

The importer allows moving the content from the actual storage to another storage. This can be done by setting the target storage name in the attribute “a_storage_type”. When this attribute is set, the importer will use the MIGRATE_CONTENT server method for moving the content to the specified storage. The importer parameters allow you to specify if the renditions or checked out content will be moved and if the content will be removed from the original storage. For more details regarding these configurations see Documentum InPlace importer parameters.

In case of any error that may occur during the content movement a generic error is logged in the importer run log but another log with the root cause of the error is created on the content server in the location specified in the importer parameter “moveContentLogFile”.

If the storage name specified in the rule “a_storage_type” is the same as the storage where content is already stored, the importer will just mark the object as being successfully processed, so no error or warning is logged in this case.

Documentum InPlace Properties

To create a new Documentum InPlace Importer job, specify the respective adapter type in the importer’s Properties window – from the list of available adapters, “DocumentumInPlace” must be selected. Once the adapter type has been selected, the Parameters list will be populated with the parameters specific to the selected adapter type, in this case the Documentum.

The Properties window of an importer can be accessed by double-clicking an importer in the list, by selecting the Properties button from the toolbar or from the context menu.

Common importer parameters

Configuration parameters

Values

Name

Enter a unique name for this scanner

Mandatory

Adapter type

Select the “DocumentumInPlace” adapter from the list of available adapters

Mandatory

Location

Select the Job Server location where this job should be run. Job Servers are defined in the Jobserver window. If no Job Server migration-center will prompt the user to define a Job Server Location when saving the Scanner.

Mandatory

Description

Enter a description for this job (optional)

Documentum InPlace importer parameters

Configuration parameters

Values

username*

Username for connecting to the target repository.

A user account with super user privileges must be used to support the full Documentum functionality offered by migration-center.

Mandatory

password*

The user’s password.

Mandatory

repository*

Name of the target repository. The target repository must be accessible from the machine where the selected Job Server is running.

Mandatory

moveContentOnly

Flag indicating if the metadata will not be updated but only the content should be moved. This will save some processing in case there is no need to update any metadata.

autoCreateFolders

This option will be used for letting the importer automatically create any missing folders that are part of “dctm_obj_link” or “r_folder_path”.

Use this option to have migration-center re-create a folder structure at the target repository during import. If the target repository already has a fixed/predefined folder structure and creating new folders is not desired, deselect this option

defaultFolderType

String. The Documentum folder type name used when automatically creating the missing object links. If left empty, “dm_folder” will be used as default type.

moveRenditionContent

Flag indicating if renditions will be moved to the new storage. If checked, all renditions and primary content are moved otherwise only the primary content is moved.

moveCheckoutContent

Flag indicating if checkout documents will be moved to new storage. If not checked, the importer will throw an error if a document is checked out.

removeOriginalContent

Flag indicating if the content will be removed from the original storage. If checked, the content is removed from the original storage, otherwise the content remains there.

moveContentLogFile

The file path on the content server where the log related to move content operations will be saved. The folder must exist on the content server. If it does not exist, the log will not be created at all. A value must be set when move content feature is activated by the setting of attribute “a_storage_type”.

numberOfThreads

The number threads that will be used for importing objects. Maximum allowed is 20.

loggingLevel*

Sets the verbosity of the log file.

Values:

1 - logs only errors during scan

2 - is the default value reporting all warnings and errors

3 - logs all successfully performed operations in addition to any warnings or errors

4 - logs all events (for debugging only, use only if instructed by fme product support since it generates a very large amount of output. Do not use in production)

Mandatory

On the | Migsets | tab, the user can select the migration sets to be imported with this importer. Depending on the chosen Adapter Type only the migration sets compatible with this type of importer will be displayed and can be selected for import. In addition, only migration sets containing at least one object in a validated state will be displayed (since objects that have not been validated cannot be imported). Available migration sets can be moved between the two columns by double clicking or using the arrows buttons.

Log files

A complete history is available for any Documentum Scanner or Importer job from the respective item’s History window. It is accessible through the History button/menu entry on the toolbar/context menu. The list of all runs for the selected job together with additional information, such as the number of processed objects, the starting time, the ending time and the status are displayed in a grid format.

Double clicking an entry or clicking the Open button on the toolbar opens the log file created by that run. The log file contains more information about the run of the selected job:

  • Version information of the migration-center Server Components the job was run with

  • The parameters the job was run with

  • Execution Summary that contains the total number of objects processed, the number of documents and folders scanned or imported, the count of warnings and errors that occurred during runtime.

Log files generated by the Documentum Scanner can be found in the chosen “logs” folder at the installation of the Server Components of the machine where the job was run, e.g. …\fme AG\migration-center Server Components <Version>\logs\ Dctm-Importer

The amount of information written to the log files depends on the setting specified in the loggingLevel start parameter for the respective job.

“Rule-to-Attribute” associations supported for dm_document and subtypes

This list displays which Documentum attributes can be associated with a migration-center transformation rule.

dm_document

Attribute Name

Type

Length

Is Repeating

Association Possible

a_application_type

String

32

No

Yes

a_archive

Boolean

0

No

No

a_category

String

64

No

Yes

a_compound_architecture

String

16

No

No

a_content_type

String

32

No

Yes

a_controlling_app

String

32

No

No

a_effective_date

DateTime

0

Yes

No

a_effective_flag

String

8

Yes

No

a_effective_label

String

32

Yes

No

a_expiration_date

DateTime

0

Yes

No

a_extended_properties

String

32

Yes

No

a_full_text

Boolean

0

No

No

a_is_hidden

Boolean

0

No

Yes

a_is_signed

Boolean

0

No

No

a_is_template

Boolean

0

No

Yes

a_last_review_date

DateTime

0

No

No

a_link_resolved

Boolean

0

No

No

a_publish_formats

String

32

Yes

No

a_retention_date

DateTime

0

No

No

a_special_app

String

32

No

No

a_status

String

16

No

Yes

a_storage_type

String

32

No

No

acl_domain

String

32

No

Yes

acl_name

String

32

No

Yes

authors

String

48

Yes

Yes

group_name

String

32

No

Yes

group_permit

Number

0

No

Yes

i_antecedent_id

ID

0

No

No

i_branch_cnt

Number

0

No

No

i_cabinet_id

ID

0

No

No

i_chronicle_id

ID

0

No

No

i_contents_id

ID

0

No

No

i_direct_dsc

Boolean

0

No

No

i_folder_id

ID

0

Yes

No

i_has_folder

Boolean

0

No

No

i_is_deleted

Boolean

0

No

No

i_is_reference

Boolean

0

No

No

i_is_replica

Boolean

0

No

No

i_latest_flag

Boolean

0

No

No

i_partition

Number

0

No

No

i_reference_cnt

Number

0

No

No

i_retain_until

DateTime

0

No

No

i_retainer_id

ID

0

Yes

No

i_vstamp

Number

0

No

No

keywords

String

48

Yes

Yes

language_code

String

5

No

Yes

log_entry

String

120

No

No

object_name

String

255

No

Yes

owner_name

String

32

No

Yes

owner_permit

Number

0

No

Yes

r_access_date

DateTime

0

No

No

r_alias_set_id

ID

0

No

No

r_aspect_name

String

64

Yes

No

r_assembled_from_id

ID

0

No

No

r_component_label

String

32

Yes

No

r_composite_id

ID

0

Yes

No

r_composite_label

String

32

Yes

No

r_content_size

Number

0

No

No

r_creation_date

DateTime

0

No

Yes

r_creator_name

String

32

No

Yes

r_current_state

Number

0

No

Yes

r_frozen_flag

Boolean

0

No

No

r_frzn_assembly_cnt

Number

0

No

No

r_full_content_size

Double

0

No

No

r_has_events

Boolean

0

No

No

r_has_frzn_assembly

Boolean

0

No

No

r_immutable_flag

Boolean

0

No

No

r_is_public

Boolean

0

No

Yes

r_is_virtual_doc

Number

0

No

Yes

r_link_cnt

Number

0

No

No

r_link_high_cnt

Number

0

No

No

r_lock_date

DateTime

0

No

No

r_lock_machine

String

80

No

No

r_lock_owner

String

32

No

No

r_modifier

String

32

No

Yes

r_modify_date

DateTime

0

No

Yes

r_object_type

String

32

No

Yes

r_order_no

Number

0

Yes

No

r_page_cnt

Number

0

No

No

r_policy_id

ID

0

No

No

r_resume_state

Number

0

No

No

r_version_label

String

32

Yes

Yes

resolution_label

String

32

No

Yes

subject

String

192

No

Yes

title

String

400

No

Yes

world_permit

Number

0

No

Yes

Custom object types

Attribute Name

Type

Length

Is Repeating

Association Possible

<custom_attribute_number>

Number

-

-

Yes

<custom_attribute_string>

String

-

-

Yes

<custom_attribute_dateTime>

DateTime

-

-

Yes

<custom_attribute_double>

Double

-

-

Yes

<custom_attribute_ID>

ID

-

-

No

<custom_attribute_boolean>

Boolean

-

-

Yes