# WebClient User Guide

## Introduction

The **migration-center WebClient** is a new component introduced in version 22.1.0 and serves to replace the **Desktop Client** in order to provide a better experience and add new features and improvements in the coming versions. It is delivered as a customized Tomcat that is installed as a windows service. The WebClient is currently compatible with **Google Chrome** and **Microsoft Edge.**

### General Information

#### Scanners and Importers

**Scanner** is the term used in migration-center for an input connector. It is used to read the data that needs processing into migration-center and is the first step in a migration project.&#x20;

**Importer** is the term used for an output connector used as the last step of the migration process. It takes care of importing the objects processed in migration-center into the target system.

Scanners or importers have a unique name, a set of configuration parameters and an optional description. They work as a job that can be run at any time and can be executed repeatedly.

Scanners and importers are created, configured, started and monitored through **migration-center WebClient** but the corresponding processes are executed by **migration-center Job Server**.

For every run a detailed **history** and **log** file are created.

#### History, Reports, Logs

A complete history is available for any Scanner or Importer job from the **Scan Runs** / **Import Runs** window.

This section displays a list of all runs for the selected job together with additional information, such as the number of processed objects, the status, the start and ending time.

![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FS6wcCKG9eSJUz5Maav4C%2Fimage.png?alt=media\&token=1405febb-a030-408f-aa74-be70ddb6f292)

Double clicking an entry or clicking the **Logs** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F2ukwcFZCTmrTx87Ubd80%2Fimage.png?alt=media\&token=e58b000f-5ac0-4311-b1bf-0f24b2321fa3) 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.

{% hint style="info" %}
The amount of information written to the log files depends on the setting specified in the ‘loggingLevel’ start parameter for the respective job.
{% endhint %}

## Configure HTTPS certificates

The WebClient server is delivered with a self signed certificate for localhost. Because the certificate is self signed it is not recognized by the browser as a trusted certificate. Therefore, when accessing the WebClient on localhost the browser will show a disclaimer "Your connection is not private" so first time when accessing the webclient the user needs to confirm by clicking "Proceed to localhost(unsafe)".

To get rid of the "Not secure" warning in the browser any customer can generate a trusted certificate for the machine(s) where the WebClient. To publish the trusted certificate in the WebClient the following steps are required:

1. Copy the generated certificate (p12) in the **conf** folder.
2. Edit the **conf\server.xml** file with a text editor and change the **keystoreFile** and **keystorePass** to match the certificate file name and the certificate password.&#x20;

```
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="200" scheme="https" secure="true" SSLEnabled="true"
               keystoreFile="conf/your_own_certificate.p12" keystorePass="yourpass"
               clientAuth="false" sslProtocol="TLS" >
 </Connector>
```

&#x20;  3\. Restart the WebClient service (Migration Center Web Client)

## Sign in

**To connect to a migration-center database**, open the WebClient URL address in the browser:\
\&#xNAN;*https\://\<server-name>/mc-web-client/login*

![the migration-center login page](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FP5awwhqDK4AfJ84OrdMg%2Fimage.png?alt=media\&token=36cf7337-14bd-4f0b-907c-6e6780e076a8)

**Connection**\
Select one of the available connections to the server from the list. If no connections are available or if you want to modify an existing one, click **Manage connections**.

**Manage connections**\
You can create, modify and delete a connection and you can also refresh the list of existing connections.

* **To create a connection**, click the **Add Connection** **+** button and then, in the **New Database Connection** dialog box, type your **Connection Name**, **Host**, **Port** number and **Service Name**. \
  When finished, click **CREATE**.
* **To modify an existing connection**, select the desired connection, click the **Edit** **Connection** <img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FPdjoXxaFnSfHpcsySL0H%2Fimage.png?alt=media&#x26;token=ed075f1c-e041-4ac6-8485-c30beac098fe" alt="" data-size="line"> button and modify the **Connection Name**, **Host**, **Port** number and **Service Name** accordingly. When finished, click **Save**.
* **To delete a connection**, select the desired connection, click the **Delete Connection** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FPhT5HJSp8NvVnnKyBONv%2Fimage.png?alt=media\&token=92c061f5-585e-434d-9261-0eebf8933f29) button and then, in the confirmation message, click **DELETE**.

Return to the **Sign in** page either by double clicking the desired connection, by right-clicking the desired connection and selecting **Log in using this connection** or by clicking the **Back <** button on the buttons bar and then logging in.

**User name**\
Type your username (default *fmemc*).

**Password**\
Type your password (default *migration123*).

When finished, click **SIGN IN**.

{% hint style="info" %}
If you are unable to sign in, a notification with the reason will be displayed in the bottom the the page.
{% endhint %}

**To log out of migration-center WebClient**, click **Log Out** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FGf99lSmWHstfOLSjPiaB%2Fimage.png?alt=media\&token=b1eeeb36-9739-499f-b818-30c591127fcb) on the sidebar.

## Navigate the WebClient

You can easily navigate through the migration-center WebClient sections using the sidebar on the left, as follows:

<table><thead><tr><th width="156.23709369024857">UI element</th><th>Section name</th><th>Used to:</th></tr></thead><tbody><tr><td><p></p><p><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FIWbpvhqwWe7K4GHgo1FN%2Fimage.png?alt=media&#x26;token=6da97ba9-044f-4b06-ab66-2f11cd2c0c44" alt=""></p></td><td><strong>Jobs</strong></td><td>Start, stop or pause running jobs. This section also displays running scan and import jobs. Along with the description, the run number, start/end date.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FPxBJW5NhndkOmdOIHZdq%2Fimage.png?alt=media&#x26;token=89a614e1-3c36-422b-954d-01990479b95e" alt=""></td><td><strong>Scanners</strong></td><td>Create and configure scanners that connect to a source systems and extract documents and metadata as migration-center objects.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FLWB5fhOncAtB4AhikQjR%2Fimage.png?alt=media&#x26;token=a0d0bd4d-4c38-41fe-90cb-ff4abbb660eb" alt=""></td><td><strong>MigSets</strong></td><td>Split the scanned objects into migration sets and define all the transformation rules and generate the target objects ready for import.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FoArt47nDLLzxTigfYYFx%2Fimage.png?alt=media&#x26;token=caded667-be44-4169-85d6-94ec4d8b2036" alt=""></td><td><strong>Importers</strong></td><td>Create and configure importers that take migration sets with validated objects and imports them in a target system.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FTmGcqm7QVk7nMykZE4bA%2Fimage.png?alt=media&#x26;token=0f5d55b9-7066-4ee8-93e5-ac9cb552a318" alt=""></td><td><strong>Schedulers</strong></td><td>Create schedulers that run automated end to end migrations at regular intervals. </td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FwivOsDiDyzXzsYMLSCqc%2Fimage.png?alt=media&#x26;token=715d3918-8e9e-4ddb-8647-1ee1355a2913" alt=""></td><td><strong>Dashboard</strong></td><td>View graphs and analyze the status of the entire migration.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F1SOmj7d4QN5yaZGET4ho%2Fimage.png?alt=media&#x26;token=e840762c-02a7-4fff-b5ad-8665c074193a" alt=""></td><td><strong>Configure</strong></td><td>Create and manage Job Server definitions, Object Types and Mapping Lists. <br>You can also renew your license and view information in the About section.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FbBmP5tkKK2t5EfTMCKCj%2Fimage.png?alt=media&#x26;token=7f114f7b-037d-478d-8d12-0cfa27de5273" alt=""></td><td><strong>Help</strong></td><td>Go to the documentation page relevant to the section you are currently in.</td></tr><tr><td><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FQt3S6zoIkVICXEXFQ0hN%2Fimage.png?alt=media&#x26;token=fcfc2e7e-5472-445d-8343-0cf2e9c92b9c" alt=""></td><td><strong>Log out</strong></td><td>Disconnect from the current migration-center database.</td></tr></tbody></table>

## Use the WebClient

To run a migration, first you need to create a Job Server definition. You can do so in the [<mark style="color:blue;">Jobservers</mark>](#jobservers) section.

Then, you need to:

1. [Create and run a Scanner](#scanners)
2. [Create a Migration Set](#migsets)
3. [Define rules and apply Transformation](#transformation)
4. [Create and run an Importer](#importers)

Additionally, you can:

1. [Schedule a Migration](#schedulers)
2. [Monitor Migration Jobs](#jobs)

## Jobs

**To monitor running migration jobs**, click the **Jobs** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F6c2WfRKFYNVkrJjTLs3u%2Fimage.png?alt=media\&token=7449bccc-bcf2-468f-879b-31f6d83593fe) on the sidebar.&#x20;

Here you can select a job and **Pause** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F57CrttODcnmQjWCCw9rD%2Fimage.png?alt=media\&token=6473aad7-a935-4dd2-baf4-d350e59c1f51), **Start** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fy0XCkjeYVsYugT5296x0%2Fimage.png?alt=media\&token=d9afca35-b81b-426b-b00f-f7af2fc30e61) or **Stop** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FVGr9KUy1aIRM5w5OFubl%2Fimage.png?alt=media\&token=bc8c08af-5fd9-45a5-8ffe-33e7f09705b1) it using the buttons in the toolbar. You can also filter the list using the **Column Selector** and **Search** field in the top right of the page.

## Scanners

You need to create, configure and run a scanner in order to connect to a source system.&#x20;

**To create a scanner**, click the **Scanners** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fgj6XHKWOP0u7WkrbyZta%2Fimage.png?alt=media\&token=56b6b37c-c97e-4a35-9155-27d876e61188) on the sidebar, click the **Add Scanner +** icon on the toolbar and then configure the parameters.

**To modify a scanner**, select the desired Scanner and either right-click it and then select **Edit Scanner** on the context menu, or click the **Edit** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcPN01IKywSA76TGYmXTT%2Fimage.png?alt=media\&token=42075b77-7356-4f77-8f0c-ba763d4fc34e) on the toolbar.&#x20;

**To copy a scanner,** select the desired Scanner and either right-click it and then select **Copy Scanner** on the context menu, or click on the **Copy** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FqVS65eFB969JKxGIKKGI%2Fimage.png?alt=media\&token=a865d355-48d6-4b57-a7f5-ecb4794bb753) on the toolbar. When finished, click **SAVE**.

**To delete an existing Scanner**, select the desired Scanner and either right-click it and click **Delete Scanner** on the context menu, or click the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fba4xjnAqU2pqmnvRglyE%2Fimage.png?alt=media\&token=cdac7c7f-8c4e-43fd-bafa-275d0cb47383) on the toolbar. Then, in the **Confirm Delete** dialog box, click **DELETE**.

{% hint style="info" %}
You cannot delete a Scanner or a Scan Run if any objects belonging to it are assigned in a migset.
{% endhint %}

{% hint style="danger" %}
Deleting a Scanner will also delete and remove all its associated Source Objects from the migration-center database.
{% endhint %}

### Details <a href="#scanner-details" id="scanner-details"></a>

In the **DETAILS** tab, give your scanner a meaningful **Name**, then select the **Type** of connector from the list. Then, depending on the selected connector type, the **Parameters** section will be populated with the connector's specific configuration parameters.

{% hint style="info" %}
Depending on the selected connector type, the actual parameters displayed will vary. For more information, consult the individual User Guide of the connector you are configuring.
{% endhint %}

![example of a Documentum scanner](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FguwcB4TH60j5F12kMsXE%2Fimage.png?alt=media\&token=30217f9e-1ec7-4ed8-afb9-b094db1b8bcd)

Next, in the **Location** field, select the Job Server where your Scanner be executed when you run it. Optionally type a meaningful **Description** for your scanner.

When finished, click either:

* **SAVE** - if you plan to run the scan later;
* **SAVE & RUN -** to save and run the scanner immediately, in which case you will be prompted to enter a description for this run in the **Enter Job Run Description** dialog box. By default the run description is the name of the scanner and the number of which run it is.&#x20;

### Scan Runs <a href="#scanner-runs" id="scanner-runs"></a>

To view the history of your scanner, click the **SCAN RUNS** tab of a scanner.

**To view a Scan Run Log** select the desired scan run and either right-click it and select **Download Scan Run Logs**, or on the **Log** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FUUYwzUOIiNSWBFMq8mKz%2Fimage.png?alt=media\&token=1eacf3d6-3117-4733-bc9f-d571c61e6faa) in the toolbar or by double clicking the entry.

**To view the Scanned Objects** of a Scan Run select the desired scan run and either right-click and select **Show Scan Run Objects** or click the **Source Objects** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F7a2PDHoU4HY6K49Mzpfy%2Fimage.png?alt=media\&token=0afc93aa-691c-42ab-8968-a09b4966524d) in the toolbar.

**To delete a Scan Run** select the desired scan run and either right-click it and select **Delete Scan Run** or click the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSDFwnPyqPcR64wAC6dy6%2Fimage.png?alt=media\&token=cca5a0f1-2eab-4668-9702-adf5a1c53f8b) in the toolbar.

{% hint style="danger" %}
When you delete a scan run, all the objects belonging to that run will be deleted and removed from the migration-center database.
{% endhint %}

### Source Objects <a href="#scanner-objects" id="scanner-objects"></a>

You can view the metadata of the extracted documents for the entire scanner by clicking the **SOURCE OBJECTS** tab.&#x20;

You can also do this by selecting your scanner in the **Scanners** view and either right-click and select **Source Objects** or click the **Source Objects** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F7a2PDHoU4HY6K49Mzpfy%2Fimage.png?alt=media\&token=0afc93aa-691c-42ab-8968-a09b4966524d) in the toolbar.

The first **columns** from **Id** to **Import date** are internal migration-center columns and the rest represent an **attribute** from your source system.

You can change the number of rows on a page and navigate between pages using the bottom toolbar.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F15sEePzNJ79CW3uCFZQz%2FSource%20Objects%20View.png?alt=media&#x26;token=8426a79d-d8d6-4511-b117-c295183a90da" alt=""><figcaption></figcaption></figure>

**To Customize the displayed columns,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FlYUea7FGGNlLXGGhsa5s%2FCustomize%20Icon.png?alt=media\&token=b4771c25-ad48-4a30-9eb6-12dd572b5a5c) **Customize Columns** button in the toolbar. You will be presented with a list of all existing columns from which you can choose which will be displayed. By default, all columns are displayed.&#x20;

**To Export objects as CSV,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fbmldu7ODiSw0tEChWJoO%2Fimage.png?alt=media\&token=83cc697a-3c44-48ee-8401-b75226c16645) **Export objects as CSV** button in the toolbar. This will export all the object metadata present in the Scanner as a CSV file.

**To view the Attributes of an object,** click on the object and then on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FisoQYyNaBfwWdm3w1qmo%2Fimage.png?alt=media\&token=ebc72e2d-9469-4a65-9bba-9f9b88f2b2a3) **View Attributes** button in the toolbar. This will open a view that contains all the attributes of that specific object.&#x20;

**To view the Relations of an object,** click on the object and then on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FmZpwvz8j4ppS9kXNNArA%2Fimage.png?alt=media\&token=939ff0bc-6655-4af5-9790-27ef799385ab) **View Relations** button in the toolbar. This will open a view that contains all the relations and their details for a specific object.

**To refresh the objects list,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcJNtiUPvZk7KbM1m2yGO%2Fimage.png?alt=media\&token=8730266b-7c8d-4a59-ad4a-fd31eda06321) **Refresh Objects** button in the toolbar.

**To Filter objects based on a specific attribute,** use the dropdown to the right of the toolbar. This will enable you to select one of the attributes of your objects and then search for values in that attribute.

## Migsets

A **migration set,** or **migset** for short, is a grouping of Source Objects on which a set of transformation rules are applied which generates Target Objects.

**To create a Migset**, click on the **Migsets** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSaDrjSCHT0G1q0eP7buh%2Fimage.png?alt=media\&token=c803ead6-aea7-49fe-af83-17b7eb010144) in the sidebar and on the buttons bar click the **Add MigSet +** button.&#x20;

**To modify a Migset**, select the desired Migset and either right-click it and then select **Edit Migset** on the context menu, or click the **Edit** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FyxdkTssRjK5JRzbBhY8q%2Fimage.png?alt=media\&token=3f802ec7-87ee-4a14-bc24-8c3d38318c6b) icon on the toolbar. When finished, click **SAVE**.

**To copy a Migset,** select the desired Migset and either right-click it and then select **Copy Migset** on the context menu, or click on the Copy icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FqVS65eFB969JKxGIKKGI%2Fimage.png?alt=media\&token=a865d355-48d6-4b57-a7f5-ecb4794bb753) on the toolbar. When finished, click **SAVE**.

**To delete a Migset**, select the desired Migset and either right-click it and click **Delete Migset** on the context menu, or click the **Delete** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FOW44ulEF9TwJwZEBDVOg%2Fimage.png?alt=media\&token=54aa42d6-3e3f-48b7-ba75-d28a560859cd) icon the toolbar. Then, in the **Confirm Delete** dialog box, click **DELETE**.

**To Apply Transformation on a migset** you can use the **Transform** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FJhzZrJGQYprzfVTP6nAa%2Fimage.png?alt=media\&token=f11abcd2-9c80-4826-a2af-2ef3037f2c84). This will start a background process of processing all Transformation Rules on each Source Object in order to generate the new metadata on the Target Objects.

{% hint style="info" %}
Source Object metadata is **NOT** modified during transformation. A copy of the objects is generate with the new metadata, called **Target Objects**.
{% endhint %}

**To Reset Transformation on a migset** you can use the **Reset** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FWML2rUEWdXcf7ZDBq2dT%2Fimage.png?alt=media\&token=ef12bbcd-1fb2-4394-8edd-9bf44eb69e9e). In the confirmation dialog you have a checkbox if you want to **Reset Imported Objects** (by default only objects in status *Transformed*, *Validated* and *Error* are reset).

{% hint style="danger" %}
Resetting imported objects will break the ability to do **Delta Migrations** for those objects in the future (scanning and importing updates to the already migrated objects).

Therefore this is **NOT** recommended unless you plan on deleting them from the Target System and re-importing them.
{% endhint %}

**Splitting a migset** is a new feature added in the new migration-center WebClient. It allows you to create copies of the selected migset and split its objects equally among them. \
After clicking on the **Split Migset button** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FN9RztvPCCXabDjtBT6dC%2Fimage.png?alt=media\&token=d7c4c70a-cc15-4f88-abbe-8713ff96b3c5)you can select the number of migsets to split it in. \
An approximation of the number of objects per migset after the split is displayed. \
Click on the **SPLIT** button and confirm to start the process.

{% hint style="info" %}
**Transforming**, **Resetting** and **Splitting** objects are processes triggered in the background and can take a longer time to complete, depending on the number and complexity of the transformation rules, the number of objects in the migset and the performance of the Database.
{% endhint %}

### Properties <a href="#migset-properties" id="migset-properties"></a>

#### Details <a href="#migset-details" id="migset-details"></a>

In the **PROPERTIES** tab, in the **DETAILS** subtab, give your MigSet a meaningful Name and optionally a **Description**.

In the **Type** dropdown, select the *Source* to *Target* system migset type (i.e. *FileSystemToDCTM*). Once selected, the list of all scan runs that match the Source part of the migset type are displayed under the **Available** list.&#x20;

**To select objects in a migset**, double-click an entry in the list of **Available** scan runs or select one and use the down arrow button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FUgmLDhu6sdTDAHW7MQIL%2Fimage.png?alt=media\&token=05fa47b3-ad2a-408b-b055-e183bada9688) to add it to the list of **Selected** scan runs.

![Example of a new Filesystem To Documentum MigSet](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSkkokuhKSpQqeFeL00rl%2Fimage.png?alt=media\&token=f274e7f8-7990-4f2a-9c07-07bebfc09d3b)

You can also filter which objects are included in the MigSet by using the **EXCLUSIONS** and the **ADVANCED FILTERS** subtabs.

{% hint style="info" %}
You can only filter objects while objects are not currently selected in your migset.
{% endhint %}

#### Exclusions

In the **EXCLUSIONS** subtab, objects are excluded from your MigSet by choosing which attribute values should be excluded. To do so, select the desired attribute under **Available attributes** and use the **< >** arrow buttons to exclude the values.

#### Advanced Filters

In the **ADVANCED FILTERS** subtab, you can create rule based filters using operators. Select a **Source Attribute**, **Operator**, **Values** and **Connector**, the click on **ADD** to include them. You can also delete rule filters.

You can check your selection by going to the **OBJECT PREVIEW** subtab.

#### Object Preview

In the **OBJECT PREVIEW** subtab, you can see a preview of the filtered objects.

When finished, click the **SELECT OBJECTS** button to add the selected objects to your MigSet. This means that these objects will be locked in this migset and cannot be used in another one. \
Then, in the **Confirm Object Selection** dialog box, click **Yes**.

{% hint style="info" %}
Object Selection is done in a background process and can take longer to complete depending on the number of objects being selected and the performance of the Database.
{% endhint %}

### Transformation

#### Rules

**Transformation Rules** define how metadata from **Source Objects** is used to generate new metadata for **Target Objects** by using **Transformation Functions**. A transformation rule is equivalent to a **Target Attribute** after transformation.

**To add a Transformation Rule** click on the Plus icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FuCyC8p8aEGfTPpnumD2Y%2Fimage.png?alt=media\&token=715da141-79c6-433e-bd2d-549c2fb27a56) then set a **Name** and optionally a **Description**.

**To copy a Transformation Rule** select the rules and click on the **Copy** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FaulHnmzKUU3HV7aN8qqD%2Fimage.png?alt=media\&token=c2743e17-8b3c-4ff9-987b-201c8bf77afb).

**To delete a Transformation Rule** select the rules and click on the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FB35OY5Qb34QtocbOD9IE%2Fimage.png?alt=media\&token=b43a1f4d-c026-4024-bf05-84ae3827ea03).

**To copy rules between migsets** select the rules and click on the **Copy to Clipboard** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FWdpNQsXDcN91W4akx8xI%2Fimage.png?alt=media\&token=56b975f8-0d33-455a-8074-31094b128ea1). Then open the **Rules** section of the migset where you want to paste the rules and click on the **Paste from Clipboard** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FTQwLHD2UCIMBKSuSPUAI%2Fimage.png?alt=media\&token=65c50530-1bd9-4488-8171-2f3481fe6647).

#### Transformation Functions

A transformation rule can have multiple transformation functions. They can take source attributes, static strings or even previous functions as the input value and provide an output value.

**To add a Transformation Function**:

1. Select the Transformation Rule you want to add a function to.
2. Under **Transformation Methods**, select the desired transformation **Function** you want to use and click on **INSERT FUNCTION**.
3. Fill the function parameters in the popup (the parameters vary depending on the function).
4. Click **OK** to insert the function or **CANCEL** to close the popup.

![Example of a Concatenate function parameters](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FJobrXHLZoY5SwCfd4iHz%2Fimage.png?alt=media\&token=58e850ba-ad38-4d49-b56d-185172d7e184)

**To get a description of the function or its parameters** you can hover your mouse over the **info** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FxaNFwapLw7yHDYfio7H4%2Fimage.png?alt=media\&token=f2b478ec-d7c8-471d-810c-b7b57eeb18db).&#x20;

![Description of the If function](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F77EfQvGWBoQrFlI2qXcA%2Fimage.png?alt=media\&token=719b8906-8d1a-4f2d-a0a0-4acb145ab5d7)

**Multi-value Transformation Rules**

Attributes from a source object can be **Single Value** or **Multi Value** (**Repeating**). A Transformation Rule can process both these kinds of attributes, but if the rule itself is not marked as **MultiValue** using the checkbox in the **Rule Properties** it will return only the last processed value.&#x20;

A transformation function can process **All** values or only the value at a specific index of a repeating attribute.&#x20;

![Example of a GetValue function with repeating source attribute](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FgXOo7lzrmunFaz5NWsBM%2Fimage.png?alt=media\&token=e65bc247-2470-4a8e-b484-0f986224fe60)

After making a **Transformation Rule** into a multi value one, you can also return multiple functions as separate repeating values using the **Result** toggle.

![Example of multi value rule returning multiple functions](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FgVOGKM3shvyNfsafD4am%2Fimage.png?alt=media\&token=100cdd52-de8c-4ef7-ba87-e70becfccacb)

**Generate Rules**

For migrations where a simple transformation rule is needed for each or most source attributes you can use the Generate Rules feature by clicking on the <img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FS9U7w4ewoS1HMCGQOvU0%2Fimage.png?alt=media&#x26;token=880d36bf-d020-4d26-bb1b-92386ecc34f6" alt="" data-size="original"> button. \
This will create a Transformation Rule for each Source Attribute with the same name and with a **GetValue()** function for each specific attribute in it. This is very useful in migrations where the Source and Target systems are of the same type.&#x20;

{% hint style="warning" %}
Using the generate rules feature will delete any existing transformation rules and changes will be saved automatically after the confirmation dialog.
{% endhint %}

**Other Features**

**Transformation functions reference**

All standard transformation functions provided with migration-center are described below. Full context-sensitive information is also available in the **WebClient** when inserting or editing any transformation function.

| **Function**                     | **Description**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------ | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- | -- | -- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- | ---------------------------------------- | ------ |
| **CalculateNewDate**             | <p>Computes a new date by adding Years, Months and Days to a valid source date. The Database’s Datetime pattern must be followed by the input value. Negative integer parameters are accepted.</p><p>Example: CalculateNewDate('01.01.2001 12:32:05', 1,2,3) returns '04.03.2002 12:32:05'</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **CalculateNewNumber**           | <p>It adds or substract a number to another number. Decimal and negative numbers are allowed. If a provide value cannot be converted to a number then an error is reported during the transformation.</p><p>Ex: CalculateNewNumber(10, 5.2) returns 15.2</p><p>CalculateNewNumber(1000, -100) returns 900</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Concatenate**                  | <p>Concatenate() concatenates up to three strings values into one and returns it as a single value Concatenate('AAA',' and ','BBB') returns "AAA and BBB".</p><p><strong>IMPORTANT:</strong> The function returns only the first 4000 bytes of the resulted string since this is the maximum length allowed for an attribute  value.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **ConvertDateTimezones**         | <p>Converts a given date from one timezone to another. The accepted timezones are the ones provided by Oracle, so you can see them with the following query:</p><p>SELECT DISTINCT tzname FROM v$timezone\_names;</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Count Values**                 | Counts the number of values of a repeating attribute. If null or no values provided it returns 0.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetDataFromSql**               | <p>Map one or multiple source attributes with the data extracted from an external table. The external table must be located on the migration-center database in any schema that is accessible by FMEMC user.</p><p>The user FMEMC must have "select" permission on that table. The query must return a single column and must have at least one parameter and maximum 3 that will be replaced at runtime with the values of the parameter1, parameter2 and parameter3.</p><p>The parameter name in the query is any string the start with : (colon). The number of parameters in the query must match the number of parameters set in the function.</p><p>If the query returns multiple values the following behavior applies:</p><ul><li>if the rule is single value only the first value returned by the query will be taken in consideration by the transformation engine. </li><li>if the rule is multivalue then all values returned by the query will be taken in consideration by the transformation engine. Nevertheless, to prevent loading millions of values in the database because of a wrong query, the number of values that can be returned by this function are limited to 10,000.</li></ul><p>Example: </p><p><code>select user\_id from mcextra.users\_data where username = :username</code></p><p><br><strong>Important Note:</strong> Since the SQL query is executed for each object in the migset, you should ensure that it is executed fast, i.e. the columns used in the <em>where</em> condition should be indexed.</p> |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetDateFromString**            | <p>GetDateFromString() extracts a date type expression from any string if it matches the date expression specified by the user.</p><p>Use this function to extract non-standard or partial dates from source attributes like a filename.</p><p>Example: GetDateFromString('filename 2007-Dec 14. 16:11','YYYY-</p><p>MON DD. HH24:MI') will identify and extract the non-standard date format contained within the input string</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetInternalAttributeValue**    | <p>It is used to get the value of an internal attribute of the source objects. An internal attribute is a fix column, in the source objects view that is used internally by migration-center for different purposes. The available internal attributes that can be used with this function are: Id, Is\_update, Content\_location, Content\_hash, Id\_in\_source\_system, Parent\_version\_object\_id, Level\_in\_version\_tree, Scanned\_date</p><p>The name of the internal attributes are not case sensitive.</p><p>If other internal attribute name is provided an error is reported during the transformation.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetPathLevel**                 | <p>It can understand strings representing paths and can extract specific levels from that path. The path separator character, the path level to start from and the path level up to which the function should extract the subpath can be specified as input parameters. The function will also strip leading and ending path separators from the result.</p><p>Example: GetPathLevel('/this/is/the/folder/structure','/','2','4') will parse the input string looking for "/" as the path separator, and return path levels 2-4, i.e. "is/the/folder"</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetValue**                     | It is used to migrate attributes where the attribute's value is not supposed to be changed or to generate and set user defined values which are not present in the source data and cannot or have not been generated by other transformation functions. The GetValue() function always returns the exact same value it gets as input without altering it in any way. Examples: GetValue('user') outputs the string value "user" for all objects to which the current rule applies GetValue(filename\[1]) outputs the value of the source attribute filename for all objects to which the current rule applies. For each object, the value will vary according to the actual value from that objects' source attribute named filename.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetValueAt**                   | <p>It gets the value at specific index from a multi-value attribute. Index counting starts with 1. If the provided index is out of range the function returns null.</p><p>Example: GetValuesAt('a,b,c', 2) reruns 'b' and GetValuesAt('a,b,c', 4) returns null.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **GetValueIndex**                | <p>Get the first index number of a given value for a multi-value attribute. If no value was found 0 is returned.</p><p>The parameter "ExactMatch" specifies if exact match will be used for comparing the values. Use '1' or 'T' for exact match and '0' or 'F' for "contains" search. In any case the search is case sensitive.</p><p>Example: GetValueIndex('abc,def,ghi', 'de', 'F') returns 0</p><p>GetValueIndex('abc,def,ghi', 'de', 'T') returns 2</p><p>GetValueIndex('abc,def,ghi', 'DE', 'T') returns 0</p><p>GetValueIndex('a,b,c,b','b' ', 'F') returns 2</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **If**                           | <p>If() evaluates a logical condition and returns different outputs depending on whether the condition is found to be true or false.</p><p>A previous transformation step from the current rule, a source attribute or a user specified string are all valid arguments for both input and output values as well as for the logical condition.</p><p>The If() function can correctly evaluate conditions based on various types of data such as strings, numbers, dates, null values, etc. and offers a number of predefined conditional operators.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Length**                       | Calculates the length of the string using Unicode characters.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Ltrim**                        | The Ltrim function removes characters from the left of the given Source String, with all the leftmost characters that appear in the Characters to trim removed. The function begins scanning the Source String value from its first character and removes all characters that appear in the Characters to trim until reaching a character that is not in the trim expression and then returns the result. If second parameter is empty the leading spaces will be removed, i.e. Ltrim('babcde','ab') will remove the first 3 characters so the result will be 'cde'".                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **MapValue**                     | <p>MapValue() considers the input value a key, looks for a row with a matching key in a specified mapping list and returns the value corresponding to that key if a suitable match is found. Keys with no match can be reported as transformations errors (optional).</p><p>A mapping list must be defined before using a MapValue function. Mapping lists can be defined either on the Mapping lists tab in the Transformation Rules window of a migration set (case in which they would be available only to that particular migration set), or as a global mapping list (available to all migration sets) from the Manage menu in the main application window.<br>Use the MapValue() function to define direct mappings of source attribute values to target attribute values based on simple key-value lists.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **MultiColumnMapValue**          | MultiColumnMapValue() considers the input value a key, looks for a row with a matching key in a specified mapping list, and returns the value corresponding to that key if a match is found. Keys with no match will be assigned a null value, or they can be reported as transformations errors instead, forcing the user to take action with regard to such values. A mapping list must be defined before using a MultiColumnMapValue function. Mapping lists can be defined either on the Mapping lists tab in the Transformation Rules window of a migration set (case in which they would be available only to that particular migration set), or as a global mapping list (available to all migration sets) from the Manage menu in the main application window. Use the MultiColumnMapValue() functions to define direct mappings of source attribute values to target attribute values based on simple key-value lists.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Multivalue\_RemoveDuplicates** | Remove duplicates from a multivalue attribute. To use this function in a rule, the rule must be a multi-value rule. If the input values are a,b,b,c,a the result will be a,b,c.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **MultiValue\_ReplaceNulls**     | MultiValue\_ReplaceNulls() can replace null values in a multi-value attribute with another, user defined value. The function can also remove null values from a multi-value attribute if no replacement string is defined. To use this function in a rule, the rule must be a multi-value rule. Examples: MultiValue\_ReplaceNulls(multi\_value\_input\[all],'default') will replace all null values from the multi-value source attribute named "multi\_value\_input" with "default" MultiValue\_ReplaceNulls(multi\_value\_input\[all],'') will remove all null values from the multi-value source\_attribute named "multi\_value\_input", thereby reducing the total number of values for the multi-value attribute.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **RemoveDuplicates**             | <p>Provided for removing duplicates from a given string.</p><p>Example:</p><p>RemoveDuplicates('DE                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | RO                                                                                                                                                 | IT     | DE                                                     | P','                        | ') will remove duplicates form the first string by using the delimiter ‘                                                                                                              | ’ so it will return "DE | RO | IT | P.</p><p>The function can be used in combination with <strong>RepeatingToSingleValue</strong> and <strong>SingleToRepeatingValues</strong> for removing duplicated values from a repeating source attribute.</p><p>Example:</p><p>#1 RepeatingToSingleValue (countries\[all], ‘ | ’)</p><p>#2 RemoveDuplicates(#1, ‘ | ’)</p><p>#3 SingleToRepeatingValues(#2,’ | ’)</p> |
| **RepeatingToSingleValue**       | <p>RepeatingToSingleValue() concatenates all values of the source string value into one single string.</p><p>Optional parameters include the delimiter to be used (can be zero, one or multiple characters), the range of values which should be concatenated and a replacement string to be used in place of any NULL values the source may contain.</p><p>It is recommended to use a multi-value (repeating) attribute or previous step as source for this function</p><p>Example:</p><p>SingleToRepeatingValues(keywords\[all],'                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | ') will return value1                                                                                                                              | value2 | value3.</p><p>SingleToRepeatingValues(keywords\[all],' | ', 2, 3) will return value2 | value3.</p><p><strong>IMPORTANT:</strong> The function returns only the first 4000 bytes of the resulted string since this is the maximum length allowed for an attribute  value.</p> |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **ReplaceStringRegex**           | <p>ReplaceStringRegex() Replaces the parts of the input value that match the regular expression specified by the user with a user defined value<br>Example: ReplaceStringRegex('AAAAA-CX-9234-BBBBB','\w{2}-\d{4}','AB-0000') will parse the input string looking for a match; according to the regex this would be a sequence of 2 letters followed by a dash and four numbers. Since the input does contain a matching part, it will be replaced with "AB-0000", and the final output of the function will be "AAAAA-AB-0000-BBBBB"</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Rtrim**                        | The Rtrim function removes characters from the right of the given Source String, with all the rightmost characters that appear in the Characters to trim removed. The function begins scanning the Source String value from its last character and removes all characters that appear in the Characters to trim until reaching a character that is not in the trim expression and then returns the result. If second parameter is empty the trailing spaces will be removed, i.e. Rtrim('cdebab','ab') will remove the last 3 characters so the result will be 'cde'.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **SingleToRepeatingValues**      | <p>SingleToRepeatingValues() separates a string value based on a user specified separator character and returns all resulting values as a multi-value result<br>Use this function to transform a string of comma separated values into a multi-value attribute with multiple individual values.<br>To use this function in a rule, the rule must be a multi-value rule<br>Example: SingleToRepeatingValues(comma\_separated\[all],',') will parse the source attribute named "comma\_separated" looking for commas (","), strip the commas and create a multi-value list from the resulting values.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **SplitStringRegex**             | <p>SplitStringRegex() is an advanced function for splitting up a string value by specifying the separator as a regular expression rather than a single character (the regex can represent a single character as well). Depending on the number of matches for the specified separator, multiple substrings can result from the function; which one of the resulting substrings the function should return can also be specified by the user.</p><p>Example: SplitStringRegex('one-(two)-three','(-()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | ()-)','2') will split the string into substrings based on the separators described by the regex and return the second substring which is "two"</p> |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **SubStringRegex**               | <p>SubstringRegex() is an advanced transformation function for extracting a substring from the input value. A regular expression can be used to extract a complex substring from the input string, such as a particular name, a formatted number sequence, a custom date expression, an email address, etc.<br>SubstringRegex('0123abc 4567 ',' \d{4} ') will return " 4567 " according to the regex defining the substring.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Substring**                    | <p>Substring() returns part of the input string. Which part of the string should be returned can be specified as a number of characters starting from a given index within the input string.</p><p>Example: Substring('teststring','3','5') returns 5 characters starting with the 3rd character, which is "ststr"</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **Sysdate**                      | Sysdate() outputs the current system date as a value. Use this function to track the date when a document underwent transformation in migration-center. This function does not have any properties.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **ToLowerCase**                  | ToLowercase() transforms all characters from the input string value to lowercase characters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |
| **ToUpperCase**                  | <p><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |                                                                                                                                                    |        |                                                        |                             |                                                                                                                                                                                       |                         |    |    |                                                                                                                                                                                                                                                                                 |                                    |                                          |        |

**Other Features**

You can **Export** the entire migset configuration using the Export to XML icon <img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FFSbzi16aKOfZ266ThlPZ%2Fimage.png?alt=media&#x26;token=7bf95bfd-fcc9-44f9-89ba-6114d2370d8c" alt="" data-size="original">.

You can **Import** previously exported migset configurations using the Import from XML icon <img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FlbAdSmSzuekVLKnw8rBl%2Fimage.png?alt=media&#x26;token=7509dd9a-87f5-422d-aea4-25b9a3412c34" alt="" data-size="original">.&#x20;

You can also **Transform** or **Reset** the objects of this migset without returning to the list of migsets.

#### Migset Mapping Lists

The migset mapping lists function in the same way as regular mapping lists except they are usable only in the migset they belong to.&#x20;

Fore more details please see the main [Mapping Lists](#mapping-list) section.

#### Associations

Transformation Rules are not automatically used when importing an object. They need to be associated to a **Target Attribute** of an **Object Type** in the **Associations** subtab of the migset.&#x20;

{% hint style="info" %}
See [Object Types](#object-types) for more information.
{% endhint %}

Each Migset has a **target type** system rule that determines to which type an object will be associated with. This rule differs depending on the migset type. For example for any **...ToDCTM** migset the rule is **r\_object\_type**.

**To add an Object Type**, select one from the dropdown list and click the **Add** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FIPIYjhYXzxTMOfIBGoVd%2Fimage.png?alt=media\&token=51023c7c-6ef4-4016-8a57-e4678db85c56).&#x20;

**To add an Association**, select the object type, then the transformation rule and target attribute you want to associate, and click on the green **Add** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FPnfyfGOrovDnig6gKMLL%2Fimage.png?alt=media\&token=136bc5d7-2766-4413-a16d-b265e1ff5fb7).

Alternatively you can **Auto Associate** transformation rules and target attributes that have the same name, by using the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FZO4QWgShaRZyxf7SUMXi%2Fimage.png?alt=media\&token=82762027-07c6-447c-a8d7-c2d734fa2fb4) button. This is the recommended way.

![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FixwoLwWYvx4YXGnfOX7h%2Fimage.png?alt=media\&token=b57b89ce-011a-4e27-8044-1888de8a2a92)

### Source Objects

You can view the source attributes of the objects in the MigSet by clicking the **SOURCE OBJECTS** tab.

The first **columns** from **Id** to **Import date** are internal migration-center columns and the rest represent an **attribute** from your source system.

You can change the **number of rows** on a page and **navigate between pages** using the bottom toolbar.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FhHim78IIl360D8mLcD1B%2FSource%20Objects%20Migset.png?alt=media&#x26;token=770d871b-5050-4a55-8d1f-4845e60cd3a7" alt=""><figcaption></figcaption></figure>

**To Customize the displayed columns,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FlYUea7FGGNlLXGGhsa5s%2FCustomize%20Icon.png?alt=media\&token=b4771c25-ad48-4a30-9eb6-12dd572b5a5c) **Customize Columns** button in the toolbar. You will be presented with a list of all existing columns from which you can choose which will be displayed. By default, all columns are displayed.&#x20;

**To Export objects as CSV,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fbmldu7ODiSw0tEChWJoO%2Fimage.png?alt=media\&token=83cc697a-3c44-48ee-8401-b75226c16645) **Export objects as CSV** button in the toolbar. This will export all the object metadata as a CSV file.

**To view the Attributes of an object,** click on the object and then on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FisoQYyNaBfwWdm3w1qmo%2Fimage.png?alt=media\&token=ebc72e2d-9469-4a65-9bba-9f9b88f2b2a3) **View Attributes** button in the toolbar. This will open a view that contains all the attributes of that specific object.&#x20;

**To view the Relations of an object,** click on the object and then on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FmZpwvz8j4ppS9kXNNArA%2Fimage.png?alt=media\&token=939ff0bc-6655-4af5-9790-27ef799385ab) **View Relations** button in the toolbar. This will open a view that contains all the relations and their details for a specific object.

**To refresh the objects list,** click on the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcJNtiUPvZk7KbM1m2yGO%2Fimage.png?alt=media\&token=8730266b-7c8d-4a59-ad4a-fd31eda06321) **Refresh Objects** button in the toolbar.

**To Filter objects based on a specific attribute,** use the dropdown to the right of the toolbar. This will enable you to select one of the attributes of your objects and then search for values in that attribute.

**To Remove objects from the migset,** you can select one or multiple objects using the checkboxes to the left of the table. Once you have your selection, press the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FeYXIzUK9yzWp4dOZrXIV%2Fimage.png?alt=media\&token=9ebfab44-e75d-4d72-b5a2-d8d8241d318e) **Remove from Migset** button in the toolbar or in the context menu.&#x20;

{% hint style="info" %}
Objects removed from a MigSet are still present in their Scanner and can be selected in other MigSets.
{% endhint %}

### Target Objects

You can view the attributes generated by the transformation rules of the objects in the Migset by clicking the **TARGET OBJECTS** tab.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fx6xtU8AZz0ydpKS57YoU%2FTarget%20Objects.png?alt=media&#x26;token=062769d1-2590-4d35-93e0-0070d8c36934" alt=""><figcaption></figcaption></figure>

Please see the [**Source Objects**](#source-objects) section for features common to all Objects Views, including **Target Objects.**

**To manually edit the attributes of an object,** press the![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FabWAYx8WIQYls7JQpbcE%2Fimage.png?alt=media\&token=a0568a18-6217-4591-a1c7-23bc2460c058) **Edit Attributes** button in the toolbar or in the context menu. This will open a view that will allow you to edit individual object attributes.

{% hint style="info" %}
After manually editing an object, the object will be set to the **Transformed** state. In order to have the object **Validated** you need to run transformation again on the MigSet. This will not affect your manual changes and will validate the edited objects.
{% endhint %}

**To Reset Transformation for one or more objects,** select the required object/s and press the ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FnIujiWisL7umlPzY1lrh%2Fimage.png?alt=media\&token=05cc3b3e-09fb-4353-ac74-dd29cddd49fa) **Reset** button in the toolbar or in the context menu. The object will be reset to its **Unprocessed** state.

**To Filter objects based on their status,** use the **Statuses** checkboxes in the bottom toolbar.

### Error Objects

You can view the objects that encountered errors during the **Transform**, **Validate** or **Import** phases in the MigSet by clicking the **ERROR OBJECTS** tab.

The **Error Objects** tab has features present in the [**Source Objects**](#source-objects) and [**Target Objects**](#target-objects) tab.

## Importers

Importers will connect to the Target System, take the selected MigSet with Validated Objects and import them. You can monitor the progress in the Importer run history or directly in the MigSets view.

**To create an importer**, click the **Importers** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FqGPIPcWXlAhIKPxKU9UM%2Fimage.png?alt=media\&token=b82f80f2-17b0-4b98-bfed-bf644a81cef4) on the sidebar and then click the **Add** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FDVVWqLiYLlcR631uTjl8%2Fimage.png?alt=media\&token=437b357f-bc66-4cd7-a396-079a4062dc5b) on the buttons bar and then configure the parameters.

**To modify an importer**, select the desired Importer and either right-click it and then select **Edit Importer** on the context menu, or click the **Edit** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcPN01IKywSA76TGYmXTT%2Fimage.png?alt=media\&token=42075b77-7356-4f77-8f0c-ba763d4fc34e) on the toolbar.&#x20;

**To copy an importer,** select the desired Importer and either right-click it and then select **Copy Importer** on the context menu, or click on the **Copy** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FqVS65eFB969JKxGIKKGI%2Fimage.png?alt=media\&token=a865d355-48d6-4b57-a7f5-ecb4794bb753) on the toolbar. When finished, click **SAVE**.

**To delete an existing importer**, select the desired Importer and either right-click it and click **Delete Importer** on the context menu, or click the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fba4xjnAqU2pqmnvRglyE%2Fimage.png?alt=media\&token=cdac7c7f-8c4e-43fd-bafa-275d0cb47383) on the toolbar. Then, in the **Confirm Delete** dialog box, click **DELETE**.

### Details <a href="#importer-details" id="importer-details"></a>

In the **DETAILS** tab, give your Importer a meaningful **Name**, type or select the Importer **Type** from the list and complete the needed **Parameters**.

{% hint style="info" %}
Depending on the selected importer type, the actual parameters displayed will vary. For more information, consult the individual User Guide of the connector you are configuring
{% endhint %}

![Example of a new OpenText importer](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FpeMmxXsb8WWDJ8iGuf3A%2Fimage.png?alt=media\&token=fddcd398-fee9-4ddd-b272-f73a944ec457)

Next, in the **Location** field, select the Job Server where your Importer be executed when you run it. Optionally type a meaningful **Description** for your scanner.

### Migset Selection

In the **SELECTION** tab, under **AVAILABLE MIGSETS** you can see MigSets with validated objects that match your target destination: for example, for an OpenText importer, only MigSets with the type **...ToOpenText** will be displayed. Double-click the desired MigSet to add it to the **ASSIGNED MIGSETS** list to be migrated. Note that only validated objects or error objects that previously failed an import will be processed.

When finished, click either:

* **SAVE** - if you plan to run the import later;
* **SAVE & RUN -** to save and run the import immediately, in which case you will be prompted to enter a description for this run in the **Enter Job Run Description** dialog box. By default the run description is the name of the importer and the number of which run it is.&#x20;

### Import Runs <a href="#importer-runs" id="importer-runs"></a>

To view the history of your importer, click the **IMPORT** **RUNS** tab of an importer.

**To view an Import Run Log** select the desired import run and either right-click it and select **Download Import Run Logs**, or on the **Log** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FUUYwzUOIiNSWBFMq8mKz%2Fimage.png?alt=media\&token=1eacf3d6-3117-4733-bc9f-d571c61e6faa) in the toolbar or by double clicking the entry.

### Delta Migration

Delta Migration is a feature of migration-center that allows you to migrate updates made to documents that have already been scanned and newly created documents that were not scanned yet.&#x20;

This feature is possible using most available connectors.&#x20;

Check the user guide for your connector to confirm if it is capable of delta migration and to see if there are any pre-requisites or limitations.

#### Prerequisites

You need to have the initial batch of objects scanned, transformed and imported successfully. In the target system the imported objects need to be present.

{% hint style="warning" %}
The original MigSet/s **must not** be changed by resetting or deselecting the objects or by deleting the MigSet. If this happens, update objects **cannot be imported**.
{% endhint %}

#### Scanning

You can start a delta migration by running either the same original scanner or any scanner that will pick up already scanned objects. If these objects have been modified since the original scan, they will be scanned again as an **update** object, otherwise they will be ignored. New objects, that were not scanned before will be scanned normally.

Update objects can be identified by having the **is\_update** attribute value set to **1** or **True**.

{% hint style="info" %}
Please check the configuration for your scanner for any update specific options
{% endhint %}

#### MigSet

Since the original MigSet needs to be left untouched with all objects intact, and the delta migset needs the same rules, the best way to do this is to create **a copy of the original migset**.&#x20;

Transform the migset used for the Delta Migration, as you would normally.

#### Importing

The Delta MigSet can be selected in the same Importer used for the original import, or in any other importer as required.&#x20;

The Delta Import will create all new objects normally and it will locate already imported objects in the target system and update their metadata and content as needed.

**To delete an Import Run** select the desired import run and either right-click it and select **Delete Import Run** or click the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSDFwnPyqPcR64wAC6dy6%2Fimage.png?alt=media\&token=cca5a0f1-2eab-4668-9702-adf5a1c53f8b) in the toolbar.

## Schedulers

A **Scheduler** is used to automate an **end to end migration** and is useful when needing to make regular delta scans and imports for a Source System that changes often.

The workflow of a Scheduler is as follows:&#x20;

1. It will run the selected **Scanner**
2. If there are objects in the **Scan Run**, it will create a copy of the selected **Migset**, assign the Scan Run to it and **Transform** the objects
3. If there are **Validated Objects** after the transformation, it will assign the migset to the **Importer** and run it.
4. If **Email Report** is set it will send the email as configured, when the import ends.

**To create a Scheduler** click on the **Schedulers** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FHDTqlZWmKXLBrs4p2cxL%2Fimage.png?alt=media\&token=b50ad7c4-5c3e-4a55-b847-de6ed3714a44) in the sidebar and on the **Add** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FISUQWGMHnx1gBfPKLQ2H%2Fimage.png?alt=media\&token=b64c720a-f784-4cb7-ba78-763ae1430fb5). See the following instructions on how to configure the rest of the Scheduler configuration.&#x20;

**To modify a Scheduler**, select it and either right-click it and then select **Edit Scheduler** on the context menu, or click the **Edit** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F6W4P1GfyJqjVbBZe6FGR%2Fimage.png?alt=media\&token=fce9bdfe-183c-4853-a3c7-ae133e17734c) on the toolbar. When finished, click **SAVE**.

**To delete an Scheduler**, select it and either right-click it and click **Delete Scheduler** on the context menu, or click the **Delete** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FkbKhsWmLFNCEfS1kiQn9%2Fimage.png?alt=media\&token=504ce28e-e675-4333-92a2-6406d9913f49) on the toolbar. Then, in the **confirmation** dialog box, click **DELETE**.

{% hint style="warning" %}
To run a Scheduler the **Database Server** also needs to access the **Jobserver** configured for the Scanner and Importer on the selected **Port**. The reason being that the Oracle Database will start the jobs directly.
{% endhint %}

### Configuration <a href="#scheduler-configuration" id="scheduler-configuration"></a>

In the **CONFIGURATION** tab, configure the **Details** of your scanner, such as **Name**, **Description** and whether you want to set the scheduler to **Active**.

Next, select the **Scanner**, **MigSet** and **Importer** by clicking the respective buttons.\
The list of Migsets will be filtered to match the selected Scanner type and the list of Importers will be filtered to match the selected Migset type.

### Frequency

In the **FREQUENCY** tab, configure the **Start Date** when this scheduler will be running from and either the **End Date** or the number of runs after which it will stop.

In the **Interval** section configure a timeslot and the **Frequency** at which the Scheduler will start.

In the **Email Report** section you can set an **Email Address** where the scheduler will send reports and whether you want the report send in case of **Success** or in case of **Error**. \
You also need to have an **SMTP Server** to use for sending the email reports.

In the **IMPORTED OBJECTS** tab, you can see the list of objects imported by your scheduler.

In the **ERROR OBJECTS** tab, you can see the list of errors that may have occurred during the scheduled migration.\
When finished, click **Save** on the top right corner.

### History <a href="#scheduler-history" id="scheduler-history"></a>

In the **HISTORY** tab, you can see all the runs of the selected Scheduler.&#x20;

**To delete a Scheduler Run** select it and click on the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FdHGhxd9qgEoscxAPTY4B%2Fimage.png?alt=media\&token=16a74bcd-efec-497b-bcc0-464d11ed0770). Click on **DELETE** if you want to also delete the scan run, migset and import run along with all the imported objects. Or click on **JUST THE RUN** to delete only the Scheduler Run from history.

**To view the Imported Objects or Error Objects**, select a run and click on their respective icons.

### Imported Objects <a href="#scheduler-imported-objects" id="scheduler-imported-objects"></a>

Here you can view the list of **Imported Objects** for the selected Scheduler Run.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F0ZxBDY1PSnB6kplDFPGc%2FImported%20Objs%20Scheduler.png?alt=media&#x26;token=6c13e7a9-e8ec-49a6-954e-f72a616233b2" alt=""><figcaption></figcaption></figure>

The **Imported Objects** view features are common among the other **Object Views**. Please see [**Source Objects**](#scanner-objects) for details.

### Error Objects <a href="#scheduler-error-objects" id="scheduler-error-objects"></a>

Here you can view the list of **Error Objects** for the selected Scheduler Run.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FrLbwxHFuHeCYRYN9kLwn%2FError%20objs%20scheduler.png?alt=media&#x26;token=62ce8774-c997-4b6d-8ed2-9e04f43400ed" alt=""><figcaption></figcaption></figure>

The **Error Objects** view features are common among the other **Object Views**. Please see [**Source Objects**](#scanner-objects) for details.

## Dashboard

The **Dashboard** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FuZoboSyJO7TU63GcepFl%2Fimage.png?alt=media\&token=335288eb-fe53-4307-8165-3aa09be6aa93) is a new feature added to the **WebClient** which provides reports on the objects present in your migration-center Database.&#x20;

### Migration Status

The **Migration Status** tab of the Dashboard presents the total number of objects in your Database, divided between the 4 states: **Unprocessed**, **In Progress**, **Errors** and **Imported**.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcCnP1iBG7Ww0HVZLSKnU%2FDashboard%20Mig%20Status.png?alt=media&#x26;token=34b186d8-00c4-4eaa-b726-ac62e19ba8a1" alt=""><figcaption></figcaption></figure>

From the dropdown menu on the left you can chose to display **Numbers** or **Percentages** on your graph.

The toolbar to the right allows you to change the type of the chart, offering a **Pie Chart** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FS1WEB5myhQzxSklGrsPL%2Fimage.png?alt=media\&token=b13e292f-4150-49e5-a3f8-8fc31b57175f) , **Bar Chart** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fyvk6HZR3HqPoThNqkbxa%2Fimage.png?alt=media\&token=28f9f60a-ea03-456e-b835-ef067b9c3ebc) and **Donut Chart** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fu2KA6En1ZPeVgt5hBcZx%2Fimage.png?alt=media\&token=072bb628-e85b-4c48-9de2-88b8079abfc6).

The chart of your choosing can then be **exported** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcriVoSyDoRpIzKvWtbbZ%2Fimage.png?alt=media\&token=bb40c2dc-585c-4417-a7b2-8b8fbcd35dd6) as a **SVG**, **PNG** or **CSV** file using the drop down menu to the right.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSz9Mz4uDYprGJCTkNkQT%2FDashboard%20Bar%20Chart.png?alt=media&#x26;token=ea3b4a86-0bba-4849-b893-d6da781d9b0c" alt=""><figcaption></figcaption></figure>

### Object Distribution

The **Object Distribution** tab provides more detailed reporting for specific source object types or specific **Scanners**.&#x20;

The chart on the left shows the scanned object distribution yearly, while the chart on the right shows the scanned objects distribution monthly for a selected year.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FrwbcnRoGOzoXrzX4nmfL%2FObject%20Distribution.png?alt=media&#x26;token=58d4034f-2255-401f-8d5a-568575fd4ce4" alt=""><figcaption></figcaption></figure>

**To load all data of a source object type**, first selected the required type from the **Source Type** dropdown and then press **Load Data**.

**To load the data of a specific scanner**, after selecting the required **Source Type**, press the **Select Scanner** button.

**To select the required year period**, from the toolbar of the first chart, press **Zoom In** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FSwb2ftfTyTf8g5XcMWqt%2Fimage.png?alt=media\&token=0d84c799-fa4d-4616-a3b0-615ca918e103) or **Zoom Out** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FFjAcVV2f4k1dOzRjjeyy%2Fimage.png?alt=media\&token=d75562b4-bbaf-47ec-a720-6f82edf3ab0b) or press **Selection Zoom** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F0UE2CVVFvJJLv6vwtbsx%2Fimage.png?alt=media\&token=ba5a932a-783e-4473-a969-5e1a2f16f2f9) to drag-select the needed years.

**To return the chart to its default state** press the **Reset Zoom** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FggJKbE1pmgCcQQXtkw33%2Fimage.png?alt=media\&token=0a4163ff-ec95-4265-98a2-4e1923f93352) button.

**To export the charts**, press the **Export** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FcriVoSyDoRpIzKvWtbbZ%2Fimage.png?alt=media\&token=bb40c2dc-585c-4417-a7b2-8b8fbcd35dd6) to **SVG**, **PNG** or **CSV** for the respective chart.

<figure><img src="https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FaLEBCthfepNzTT17ZkAP%2Fexport%20chart.png?alt=media&#x26;token=92e1c205-f624-4272-a968-b18226c45a61" alt=""><figcaption></figcaption></figure>

## Configuration

### Job Servers

A **Job Server** definition is needed to run jobs like scanning or importing documents.

**To create a Job Server definition**, click the **Configure** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FsLlBx76zApQGjPIxz2bO%2Fimage.png?alt=media\&token=013684f7-ebca-4a2c-98bf-6c8680c81ca2) button on the sidebar, in the **JOB SERVERS** tab click the **Add** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FISUQWGMHnx1gBfPKLQ2H%2Fimage.png?alt=media\&token=b64c720a-f784-4cb7-ba78-763ae1430fb5) on the buttons bar and then configure the Job Server parameters in the **Create** dialog box.&#x20;

![new Job Server definition](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FKew2TCe8Fp8M7aTFnZv8%2Fimage.png?alt=media\&token=5a5b8bda-b147-4065-9d7a-e95f6a5d5475)

Enter a **Name**, **Location** (where a Job Server is installed), **Port** (9700 by default) and a **Description** (optional) for your Job Server definition. \
When finished, click **CREATE**.

**To modify an existing Job Server**, select the desired Job Server and either right-click it and then select **Edit Job Server** on the context menu, or click the **Edit** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F73fu4tZj8M3M64o76vTT%2Fimage.png?alt=media\&token=425c133c-b2a9-4ffb-8a57-ab275c302bd8) button on the buttons bar. Then, in the **Edit** dialog box, configure the parameters accordingly. When finished, click **SAVE**.

**To delete an existing Job Server**, select the desired Job Server and either right-click it and click **Delete Job Server** on the context menu, or click the **Delete** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fk9zrB9dwBJoyvfSDtNzI%2Fimage.png?alt=media\&token=4daeb47d-08bb-4d99-8602-ef99cfcd5ffb) button on the buttons bar. Then, in the **Confirm Delete** dialog box, click **DELETE**.

### Object Types

**Object Types** in migration-center are a representation of a document or other objects in a Target System where you are importing. They are used in the **Associations** section of a migset and any object needs to be associated to at lest **one** Object Type to be able to **Transform,** **Validate** and **Import** it.

**To create an Object Type** click the **Configure** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FsLlBx76zApQGjPIxz2bO%2Fimage.png?alt=media\&token=013684f7-ebca-4a2c-98bf-6c8680c81ca2) button on the sidebar, in the **OBJECT TYPES** tab and click on the **Add** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FKUTE1C8oyubV1mz3ChAJ%2Fimage.png?alt=media\&token=5bf4965d-59c9-4b53-8871-ddc8dfb6b182). Enter a **Name** and an optional **Description**, then click on the **SAVE** button.

**To delete an Object Type** select the Object Type and click on the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2Fv2T14CWbNdi1L7cTKiqE%2Fimage.png?alt=media\&token=d9119e3f-56d3-487a-95c5-7896cd1fb25f). Confirm the action in the confirmation dialog.

{% hint style="info" %}
Object Types currently used in MigSets cannot be deleted.
{% endhint %}

**To export an Object Type to CSV** select the Object Type and click on the **Export** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FjzXkg17fnCcSKv0UkgKa%2Fimage.png?alt=media\&token=836d86a4-0510-4843-bf57-d79ea41f0131).

**To import an Object Type from CSV** click on the **Import** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FHx77RjhVo8aPlwezM05h%2Fimage.png?alt=media\&token=d74a271e-c3ee-4842-8786-a6451f200924) and select the CSV file. Set the desired **Name** of the newly imported Object Type and click on the **OK** button.

{% hint style="warning" %}
Only CSV files using comma "," as separator are supported. See the CSV "RFC 4180" specification.&#x20;
{% endhint %}

#### Adding attributes

The attributes of an object type need to match the attributes or fields in the target system in **Name** and **Type**. If the attributes do not accurately represent the target system this can result in object values passing validation and causing errors during the Import phase.

**To add a new Attribute** select the Object Type, then click on the **Add Attribute** button![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F1Kk2Efjn9su7Ht61fFh5%2Fimage.png?alt=media\&token=15b58a9f-bf03-4263-a85a-34b21af78013). Set the attribute **Name**, **Type** (**String**, **Number**, **Date** or **Boolean**), **Minimum** and **Maximum** length allowed for the values of this attribute, if it allows **Repeating** values or not and if it is **Required** (mandatory to have a value). \
You can also set a **Regular Expression** to determine specific formats that the values are allowed to have.

**To delete an Attribute** select the Object Type and click on the **Red X** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FOm1fGCjaSDaaNU9CL3EK%2Fimage.png?alt=media\&token=fddcfca6-853f-475e-8f05-319a1f7dadba) of the attribute you want to delete. When finished click on **SAVE**.

### Mapping List

A **Mapping List** is a collection of *key* - *value* pairs that can be used in Transformation Rules using the **MapValue()** function.

**To create a Mapping List** click the **Configure** ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FsLlBx76zApQGjPIxz2bO%2Fimage.png?alt=media\&token=013684f7-ebca-4a2c-98bf-6c8680c81ca2) button on the sidebar, in the **MAPPING LIST** tab and click on the **Add** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FKUTE1C8oyubV1mz3ChAJ%2Fimage.png?alt=media\&token=5bf4965d-59c9-4b53-8871-ddc8dfb6b182). Enter a **Name** and click on the **SAVE** button.

**To copy a Mapping List** select the desired mapping list and click on the **Copy** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FF9VVyMNgE1reqJEMK15E%2Fimage.png?alt=media\&token=4e8b8dcc-ad67-45e9-be8c-364d347ec3b6) in the toolbar.

**To delete a Mapping List** select the desired mapping list and click on the **Delete** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F01vGo7n7dfruAteFGxXl%2Fimage.png?alt=media\&token=6e0cf96d-798e-43df-b3c0-f67729706659) in the toolbar.

Checking **Exact Match** makes the mapping list match key values only if they are exactly the same. Otherwise partial matches will also be work.

Checking **Case Sensitive** makes the mapping list match  key values only if the case matches. Otherwise matches will be made regardless of case.

#### Adding entries

**To add a new entry manually** click on the **Add Value** button ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FPUXNYzioFKE0AUVT8vDi%2Fimage.png?alt=media\&token=8c416c0c-7495-4d90-b9f5-7c0018c34615), enter the values for the **Key** and the **Value** columns. When finished click on **SAVE**.

**To paste entries** first copy values either from an Excel table or from a text file that has the values tab separated, then click on the **Paste Values** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FqzfIn2MO3SPUFmGIwrdu%2Fimage.png?alt=media\&token=8a439aeb-e6bd-435a-a9ee-ba0eeb612416). When finished click on **SAVE**.

**To export entries to a CSV** select the mapping list and click on the **Export to CSV** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2F7XffJeVLSde4TLFHlIOF%2Fimage.png?alt=media\&token=f3198ae2-41ea-423b-b382-542abc4f7e57).

**To import entries from CSV** create or select a mapping list, click on the **Import to CSV** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FvavGIuOBw2hliJNsO3JD%2Fimage.png?alt=media\&token=a589fc3d-a0af-4bba-b355-ea61466128b3), Drag and Drop the CSV file, check the **Overwrite existing entries** option if you want existing entries with the same key as an imported one to be replaced, then click on **Upload**.\
After the import is finished you will receive a message with the number of successfully imported entries and a list of any error entries, if there are any. \
If the number of errors exceeds 1000, the import is canceled.&#x20;

{% hint style="warning" %}
Only CSV files using comma "," as separator are supported. See the CSV "RFC 4180" specification.&#x20;
{% endhint %}

**To delete an entry** select the mapping list and click on the **Red X** icon ![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FOm1fGCjaSDaaNU9CL3EK%2Fimage.png?alt=media\&token=fddcfca6-853f-475e-8f05-319a1f7dadba) of the entry you want to delete. When finished click on **SAVE**.

#### Multi Column Mapping Lists

The Multi Column Mapping List is a new feature usable only with the migration-center WebClient.

**To make a mapping list Multi Column** create or select a mapping list, click on the **Customize Columns** icon![](https://684970288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUk68Y0NizJ3t87Rvguk7%2Fuploads%2FEFhczyx6tYyGMiSWf1rK%2Fimage.png?alt=media\&token=7dfe19bf-a3b3-4d72-8706-f05b9e9dd230)and add up to 10 **Value Columns**. Afterwards enter or import your entries as you would normally. When finished click on **SAVE.**&#x20;

#### **Using a Mapping List**

**To use a regular Mapping List**, in the transformation rule select the **MapValue()** function. Set the value to be matched with the values in the **Key** column, select the **Mapping List** you want to use and whether or not you want the function to report a transformation error when a value is not matched.

**To use a Multi Column Mapping List**, in the transformation rule select the **MultiColumnMapValue()** function. Set the first parameters as you would for a regular mapping list and also specify the name of which **Value** column you want the function to return when finding a match.&#x20;

### Licence

Here you can enter a new License key for the migration-center database installation you are currently connected to.

{% hint style="info" %}
After upgrading the migration-center database to a newer version, changing the license key is not mandatory.&#x20;
{% endhint %}

{% hint style="warning" %}
Entering a license key with different migration paths, will **NOT** update the list of available Connector or Migset types.&#x20;
{% endhint %}

### About

The **About** section provide information on your current installation as follows:&#x20;

Version of migration-center components: **UI version**, **API version** and **Database version.**

The **Java version** that is running the **WebClient Apache Tomcat.**

The **Oracle version** of the migration-center Database that you are currently connected to.

Licence Information: **Licensed to** and **Licence validity.**
