d.velop Importer

Introduction

The d.velop Importer imports document objects processed by migration-center into a d.velop documents repository by using the d.velop DMS and migration bulk APIs.

The importer supports:

  • Document import with content, common attributes, and category attributes including datasets

  • Multi-version document trees

  • Document updates for already imported objects

  • Optional content integrity verification

  • Optional assignment to one or more parent Dossiers

  • Retry and backoff handling for transient API errors, including throttling responses

Known issues and limitations

  • No error thrown when importing dataset attributes with invalid value (#80136)

  • Document is imported with value that breaks attribute limits (#80132)

  • Unreported deletion of previous imported versions when a versions down the tree throws an error and is not reimported (#80148)

  • Intermediate version update document triggers rollback of the other versions that are newer (#80182)

  • Access date attribute is set to 'Jan 1, 1 1:44:24 AM' in target system when no value is set in MC (#80393)

Prerequisites

Java version

The d.velop importer requires a minimum of Java 17.

API Key

An API Key needs to be created in d.velop from Configuration -> Infrastructure and security -> API Key. This API Key will be used to run the d.velop Importer.

Importer Configuration

The common adaptor parameters are described in Common Parameters.

The configuration parameters available for the d.velop importer are described below:

Importer Parameters

  • serverUrl* URL of the d.velop server. Example: https://my-tenant.d-velop.cloud/dms/r

  • apiKey* API key used to connect to d.velop.

  • repositoryName* Name of the target repository in d.velop.

  • checkContentIntegrity Enables content integrity verification during import. RIPEMD256 algorithm required for the scanned objects. See Content.

  • batchSize The number of objects that can be added to a bulk import request. The default value is 50.

  • numberOfThreads Number of parallel importer threads. Maximum allowed threads across all running import jobs per d.velop server is 10.

  • loggingLevel* See Common Parameters.

Throttling Configuration

You can find the dvelop-importer-config.properties file in <Your Jobserver Installation Folder>/lib/mc-dvelop-importer.

This file allows you to configure several parameters that will change the importer behavior in case the import is being throttled and requests are timing out.

Migset System Rules

  • alterationText Version change reason text sent for a document version.

  • filename* File name including extension. Example: contract_2026.pdf Required.

  • mc_content_location Absolute path to content file used for import. If empty, importer uses the object content location from scan data.

  • parentDossiers Multivalue list of parent dossier IDs to link the document to one or more dossiers. Each ID must exist in d.velop and be a dossier type.

  • target_type* Multivalue rule with exactly 2 values. Value 1 must be dvelop_document Value 2 must be the d.velop category name Example values: dvelop_document and Invoices

Features

Common Attributes

You need to use the dvelop_document object type as the first value in target_type for all documents you are importing. This object type has the following common d.velop attributes:

  • Owner*

  • Created*

  • Last Modified

  • File Changed On

  • Access Date

  • Comments

  • Document Number

  • Variant Number

The Document Number needs to be unique per document. Multiple documents can be imported under the same Document Number only if their Variant Number is unique per document.

Categories

You need to set a Category as the second value in target_type.

Your category can have any number of custom attributes. All available d.velop attribute types are supported, including attributes with Datasets.

Content

d.velop requires that all documents have content and that their content is not 0 kb.

If checkContentIntegrity is enabled your source objects need to have had their checksum values calculated during the scanning process. This checksum value needs to have been calculated using RIPEMD256 algorithm. Using any other algorithm will result in an error on import.

Dossiers

You can use the parentDossiers system attribute to assign documents to one or more Dossiers.

You need to use the Dossier's ID, setting one value for each Dossier. Any Dossier set here needs to already exist in d.velop. If a set Dossier does not exist an error will be thrown on import.

Versions and Updates

Document versions and updates are supported.

Because of how the d.velop API works, when new versions are imported for an existing version tree, the previously imported versions are deleted and the whole version tree is reimported. There are certain scenarios where this can result in unintuitive behavior in migration-center.

Version tree size is larger than your maximum batch size

In this case, after importing the first part of the version tree in one batch, when importing the second part of the version tree in the following batch the previously imported versions will be deleted from d.velop and reimported.

This can result in a scenario where, if an error is thrown during the import of the second part, the first part of the version tree shows up as imported in MC but is actually not present in d.velop.

The solution is to reset the entire version tree and reimport it.

A version tree is imported in different migsets

When importing new versions for an existing version tree in a separate migset, if the second import throws an error, the previously imported version tree will be deleted in d.velop but will still show up as imported in migration-center.

The solution is to reset the entire version tree and reimport it.

An update for an intermediate version is imported after the full version tree

After importing a full version tree, if an update for an intermediate version is imported (Ex. Update for version 3 out of 6), the version tree in d.velop will now only show the state of the version tree for that intermediate update. So only versions 1 to 3.

Last updated

Was this helpful?