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.
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!
DFC compatibility issues
If the DFC version used by the migration-center Jobserver is not compatible with the Java version or the Content Server it is connecting to, errors might be encountered when running a Documentum adapter.
When encountering the following error, the first thing to check is the DFC - Java - DCTM compatibility matrixes.
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.
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.
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.
Click somewhere in the “Results” box. Use {CTRL+A} to select all. Right-click to open the context menu and choose <Export to> <CSV>.
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.
“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 |
Last updated