Skip to main content
Version: 4.49.0-beta

Transformation template

The transformation template accelerator is a template for creating your own transformation. It contains the basic structure for running a transformation. It will do the bare minimum to run a complete transformation as required by the structure of the Content Store and the target connectors. Use it as a starting point for your own transformation and add any additional logic that you need.

Features

  • Basic transformation structure

    • Basic structure
    • Versions
    • Binaries
  • Creation of ROOT documents(s)

  • User and group mapping

  • Permission mapping

    note

that the source.created.principal.systemName and source.lastModified.principal.systemName need to exists in order for this flow to work. You can remove the user mapping if you don't need it. :::

  • Options to exclude documents and binaries
  • Options to limit the number of versions to migrate

Limitations

  • Does not support custom metadata
  • Does not support ACLs
  • Does not support relations
  • Will only work correctly as long as all versions of a document share the same extension (including their BINARY documents)
  • Can't be run multiple times on the same Content Store, in order to re-run please restore the Content Store to its state before the transformation

Settings

mongoConnection

The Mongo connection string including the database name to connect to.

rootDocuments

A list of root documents to migrate. Each root document is a JSON object with the following properties:

  • _id: The ID of the root document. A unique ID is required for each root document.
  • hierarchy: The hierarchy of the root document. This is the hierarchy of the target container as it is in the target system.
  • name: The name of the root document. This is the name of the target container as it is in the target system.
  • contentType: The content type of the root document. This is the content type of the target container as it is in the target system.
  • targetId: The ID of the target container as it is in the target system.
{
"_id":"ROOT",
"hierarchy":"/sites/xill4",
"name":"xill4",
"contentType":"documentLibrary",
"targetId":"12345"
}

rootMapping

An object that maps the documents in the Content Store, based on their source.hierarchies, to the root documents. The key is the hierarchy of the document in the Content Store and the value is the target.id of the root document.

{
"/sites/xill4/Shared Documents/": "ROOT"
}
note

the last slash in the hierarchy is required to make sure that only documents in the Shared Documents folder are mapped to the root document. Otherwise any similar hierarchy will be mapped to the root document. For example, /sites/xill4/Shared Documents 2 would also be mapped to the root document.

userAndGroupMappingWorkbookPath

The path to the Excel workbook that contains the user and group mapping. The workbook should contain two sheets named Users and Groups with each two columns: *source and target. The *source column contains the user or group names as they are in the Content Store and the target column contains the user or group names as they are in the target system.

The mapping is applied tot the created.principal.systemName and lastModified.principal.systemName fields for containers and records, and to principal.systemName for acls.

permissionMappingWorkbookPath

The path to the Excel workbook that contains the permission mapping. The workbook should contain a sheet named Permissions with two columns: *source and target. The *source column contains the permission name as they are in the Content Store and the target column contains the permission name as they are in the target system.

The mapping is applied tot the permissions field for acls.

limitVersions

The maximum number of versions to migrate per document. If set to 0 all versions will be migrated. If set to 1 the current and one previous version will be migrated. If set to 2 the current and two previous versions will be migrated, etc.

fallBackUser

The default user to use when a user cannot be mapped. This is the user that will be used for the created.principal.systemName and lastModified.principal.systemName fields.