Purge Explicit Documents

This page details the specific configuration and input options for the Purge Explicit Documents Orchestrator.

This guidance should be read in conjunction with the Common Configuration page which details the standard application configuration.

Purpose

The key purpose of this Orchestrator is to target and delete specific documents within iManage.

Operation Name

PurgeExplicitDocuments

Common Configuration

There is common configuration available within this job Orchestrator. The common configuration options can be found here.

Input Data Schema

Data can be read via SQL or CSV and requires the following data headers and values:

CSV

Headers

Description

Mandatory

Expected Value

Id

This is the row ID

Yes

Numeric value

TargetLibraryId

The ID of the iManage Library

Yes

iManage Library identifier i.e. ‘Active’

TargetObjectId

Allows you to target a specific document via its Id

No (unless TargetObjectSearchQuery is blank). Takes priority over the search query

iManage identifier i.e. ‘Active!1234’

TargetObjectSearchQuery

A JSON object which contains a dictionary matching any applicable profile parameters for the corresponding document

No (unless TargetObjectId is blank)

JSON format i.e. {"custom1": "*", "custom2": "test"}

if using csv input then escaped values need to be used for multiple parameter queries.

The following keys can be provided:

  • custom1-30

  • name_or_description - using iManage compatible wildcards/search syntax

  • containerid

  • owner

  • author

  • document_number

  • document_version

  • create_date_from

  • create_date_to

  • edit_date_from

  • edit_date_to

  • anywhere

  • type

  • operator

  • checked_out

  • is_declared

Processed

Indicates if the row has been processed

No

'0'

SQL

SQL Input uses the same values as the CSV input above. The SQL Schema is detailed below:

SQL
CREATE TABLE PurgeExplicitDocumentsInput (
    Id INT IDENTITY(1,1) PRIMARY KEY,
    TargetLibraryId NVARCHAR(MAX) NOT NULL,
    TargetObjectId NVARCHAR(MAX) NULL,
    TargetObjectSearchQuery NVARCHAR(MAX) NULL,
    Processed BIT NOT NULL
);

Job File Options

This section details the configurable options within the orchestrator.

Configuration

Description

Expected Value

Enabled

Sets whether the update process is enabled or disabled

true false

ActionMultipleQueryResults

If enabled then the application will process all results returned by the search query. When disabled then the application will only process the request if one search result is identified

true false

ExcludeCheckedOut

When enabled this will skip any documents which are currently checked out.

true false

ExcludeDeclared

When enabled this will skip any documents which are declared as a record.

true false

ExcludeMultiReferenced

When enabled this will skip any documents referenced in multiple folder locations.

true false

Output Events

These output events are specific to the Purge Explicit Documents Orchestrator and works in addition to the common output events detailed in Common Configuration

The following output events can be persisted via the ‘Subscribed To’ configuration

Target

Action

Status

Full Event Identifier

Document

Object Query

Success Failed

document:objectquery:success document:objectquery:failed

Document

Deletion

Success Failed Skipped

document:deletion:success document:deletion:failed document:deletion:skipped

These should be listed in the Orchestrator in the following format ‘Target:Action:Status’.

The event output schema is shown below:

SQL
CREATE TABLE PurgeExplicitDocumentsOutput (
  Id INT IDENTITY(1,1) PRIMARY KEY,
  EventTime DATETIMEOFFSET NOT NULL,
  CorrelationId VARCHAR(36) NOT NULL,
  [Action] VARCHAR(25),
  [Status] VARCHAR(25) NOT NULL,
  [Message] NVARCHAR(MAX) NOT NULL,
  DataSourceRowId VARCHAR(25),
  TargetObjectType VARCHAR(25) NOT NULL,
  TargetObjectId VARCHAR(25),
  Document NVARCHAR(MAX),
  TargetSearchQuery NVARCHAR(MAX),
  TargetSearchQueryResultCount INT,
  TargetSearchQueryResultList NVARCHAR(MAX)
);

Sample Job File

This is an example Job File for the PurgeExplicitDocuments Orchestrator:

JSON
{
  "Operation": "PurgeExplicitDocuments",
  "Options": {
    "Enabled": true,
    "ActionMultipleQueryResults": false,
    "ExcludeCheckedOut": true,
    "ExcludeDeclared": true,
    "ExcludeMultiReferenced": true
  },
  "InputType": "CSV",
  "Inputs": {
    "CSV": {
      "Path": "<repo>\\source\\WorkspaceAutomate\\Test Files\\PurgeExplicitDocuments\\PurgeExplicitDocuments.csv"
    }
  },
  "Outputs": {
    "Console": {
      "Enabled": true,
      "SubscribedTo": ["Target:Action:Status"]
    }
  },
  "Integrations": {
    "IManage": {
      "URL": "<url>",
      "Username": "<username>",
      "Password": "<password>"
    }
  }
}

Failure and Skip Behaviour

This Orchestrator follows the standard behaviour for failed/skipped records:

Skipped = Scenarios configured to not be processed for a specific reason e.g. ExcludeDeclared: true would mark any documents with a Declared status found as part of the processing of the operation as skipped.

Failed = Administrate tried to perform an action on the target object and an unexpected error occurred. e.g. iManage connection dropped and Administrate was unable to delete a document that was configured to be updated.

iManage Behaviour

This section details the different behaviour across different versions of iManage i.e. On-Prem, iManage Cloud and Cloud iManage.

There are no differences for this operation between On-Prem and Cloud iManage