# Documentum NCC Importer

## Introduction

The Documentum NCC (No Content Copy) Importer is a special variant of the regular Documentum Importer.  It offers the same features as regular  [Documentum Importer](https://docs.migration-center.com/25.1/importers/documentum-importer) with the difference that the content of the documents is not imported to Documentum during migration. The content files themselves can be attached to the migrated documents in the target repository by using one the following methods:

1. copy files from the source storage to the target storage outside of migration-center
2. attach the source storage to the target repository so the content will be access from the original storage. &#x20;

## Know Issues and Limitations

* Delta migration for the multi-page content does not work properly when a new page is added to the primary content (#55739)

{% hint style="danger" %}
When migrating documents with content located in a **dm\_filestore** storage type, you must **NOT** create any document in that storage outside of migration-center until you have done the Post Migration tasks of [Updating Data Ticket Sequence](#updating-data-ticket-sequence).\
**Otherwise, existing content might be overwritten in the filestore!**
{% endhint %}

{% hint style="warning" %}
Documentum NCC adapter does not work when migration-center is running on a **Postgres** database.
{% endhint %}

## Supported Versions

The Documentum Scanner currently supports Documentum Content Server versions 6.5 to 20.2, including service packs.

For accessing a Documentum repository Documentum Foundation Classes 6.5 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 Scanner, but it is recommended to use the DFC version matching the version of the Content Server being scanned. The DFC must be installed and configured on every machine where migration-center Server Components is deployed.

## Deployment and configuration for Content Addressable Storage(CAS)

When documents to be migrated are located in a Content Addressable Storage (CAS) like Centera or ECS some additional steps for deployment and configurations are required.

1. Create the centera.config file in the folder .\lib\mc-dctm-adaptor. The file must contain the following line: PEA\_CONFIG = cas.ecstestdrive.com?path=C:/centera/ecs\_testdrive.pea\
   Note: Set the storage IP or machine name and the local path to the PEA file.
2. Copy Centera SDK jar files in .\lib\mc-dctm-adaptor folder
3. Copy Centera SDK dlls in folder that is set in the path variable. Ex: C:\Program Files\Documentum\Shared
4. Restart the jobserver

{% hint style="info" %}
If Centera SDK 32 bit is used, than the Jobserver must be run with Java 32 bit\
The importer was tested with Centera SDK version 3.2
{% endhint %}

## Technical information on NCC feature

Documentum NCC importer works in combination with [Documentum No Content Copy (NCC) Scanner](https://docs.migration-center.com/25.1/scanners/documentum-no-content-copy-ncc). The scanner does not export the content from the source repository but it exports the dmr\_content objects associated with the documents and stores them in migration center database as relations of type "ContentRelation". The importer will use the information in the exported dmr\_content for creating the corresponding dmr\_content in the target repository in such such a way that it points to the content in the original filestore.&#x20;

Documentum NCC importer supports all the features of the standard [Documentum Importer](https://docs.migration-center.com/25.1/importers/documentum-importer) but the system rules related to the content behave differently as is described below. Also the some dm\_document attributes are now mandatory.

**Primary content attribute**

* **a\_content\_type**\
  It must be set with the format of the content in the target repository. Leave it empty for the documents that don't have a content.
* **a\_storage\_type**\
  It must be set with the name of the storage in the target repository where the document will imported. The target storage must be storage that points to filestore where the document was located in the source repository. Leave it empty for the documents that don't have a content.

**Rendition system attribute**

* **dctm\_obj\_rendition**\
  It has to be set with the r\_object\_id of the dmr\_content objects scanned from source repository. The required values are provided in the source attribute with the same name.
* **dctm\_obj\_rendition\_format**\
  For every value in dctm\_obj\_rendition, a rendition format must be specified in this rule. The formats specified in this attribute must be valid formats in the target repository.
* **dctm\_obj\_rendition\_modifier**\
  Specify a page modifier to be set for the rendition. Any string can be set (must conform to Documentum’s page\_modifier attribute, as that’s where the value would end up)\
  Leave empty if you don’t want to set any page modifiers for renditions.\
  **If not set, the importer will not set any page modifier**
* **dctm\_obj\_rendition\_page**\
  Specify the page number of every rendition in rule dctm\_obj\_rendition.\
  **If not set, the page number 0 will be set for all renditions**
* **dctm\_obj\_rendition\_storage**\
  Specify a valid Documentum filestore for every rendition set in the rule dctm\_obj\_rendition. It must have the same number of values as dcmt\_obj\_rendition attribute.

{% hint style="warning" %}
All renditions scanned from the source repository must be imported in the target repository. If dctm\_obj\_rendition will be set with fewer or more values than the renditions scanned from the source repository the object will fail to import.
{% endhint %}

## Specific importer parameters

In addition to standard parameters inherited from [Documentum Importer](https://docs.migration-center.com/25.1/documentum-importer#documentum-importer-parameters) some specific parameters are provided in the Documentum NCC importer.

* **maxSizeEmbeddedFileKB**\
  Content Addressable Storage (CAS) allows small content to be saved embedded. Set the max size of the content that can be stored embedded. Max allowed values is 100 (KB). If If 0 is set, no embedded content is saved.
* **tempStorageName**\
  The name of the temporary storage where a dummy content will be created during the migration. For creating dmr\_content objects the importer needs to create a temporary dummy content (files of 0 KB) that will be stored in the storage specified in this parameter.\
  This storage should be deleted after the migration is done.

## Post migration tasks

This kind of migration requires some settings to be done on the target repositories at the end of the migration.

### **Delete the temporary storage**&#x20;

As it was described above, the importer creates temporary content during migration. This content is not required to be kept after the migration and therefore the storage set in the parameter "tempStorageName" can be deleted from the target repository.

### **Updating data ticket sequence**

{% hint style="info" %}
This section applies only when content is located in a **dm\_filestore**.&#x20;

It does **not** apply to Content Addressable Storage.
{% endhint %}

After documents are imported to your new Documentum there will be a mismatch of the data ticket offset between your new Documentum file store and the Documentum Content Server Cache.&#x20;

We provide a tool for fixing this offset, located Server Components Installations folder under `\tools\mc-fix-data-ticket-sequence`.&#x20;

{% hint style="warning" %}
The tool requires a minumum of **Java 11.0.26** to work.
{% endhint %}

1. Open the tool  GUI by running the **start.bat** file.&#x20;
2. Select your repository with the imported documents from the dropdown dialog and provide credentials to connect to it.
3. The tool lists available Documentum file stores that may require an action to fix the data sequence. If the value "**offset**" of a file store is **less than 0** your action is required to update the data ticket sequence of this file store. The column "**action**" informs you to take action as well.
4. Select the filestore that needs the data ticket sequence updated and press tue button **Update data ticket sequence**.
5. After the action finishes successfully, **restart your Documentum repository**.
