Introduction

The repositories that your organization uses to store data are likely to have different structures. A file system organizes information in files and folders, and so do repositories like OneDrive, but other systems might not resemble a file system at all. To help migrate data between repositories, some connectors add a metadata field named AUTN_MIGRATION_URI to each IDOL document.

The AUTN_MIGRATION_URI contains a path that a connector can use when inserting a document into the destination repository. For example, a OneDrive Connector might process a Microsoft Word document named my_document.docx and create the following AUTN_MIGRATION_URI:

/path/to/my_document.docx?driveId=1234

The parameters at the end of the URI specify information about the item's origin. In this example, the file originated from a drive with the ID 1234. These parameters are useful when you want to insert the item back in its original location. For example, you might take files out of a OneDrive repository, transform them in some way, and then insert them back into OneDrive. An example use case might be applying encryption to sensitive information.

To insert this file into a different repository, you must specify some more information. For example, to insert the file into a standard file system you would need to specify the location of a root directory. A File System Connector could then insert the file in the location <root>/path/to/my_document.docx. To insert the file into SharePoint, a SharePoint OData connector would need the URL of the SharePoint site to insert the document into, and the title of a suitable document library. You can specify this additional information by:

  • configuring dynamic properties on the Put* processor that inserts the item into the destination repository. These dynamic properties specify default values for all FlowFiles processed by that processor.
  • modifying the AUTN_MIGRATION_URI, and appending additional parameters required by the Put* processor that inserts the item into the destination repository. For example, you could modify the URI using Lua.

In advanced use cases you could even generate a complete AUTN_MIGRATION_URI yourself. The path elements in the URI must be URL-encoded.

The Put* processors that insert files into a repository read the AUTN_MIGRATION_URI from a FlowFile attribute named idol.put.migrationuri.