This page details the specific configuration and input options for the Configure ACL Orchestrator.
This guidance should be read in conjunction with the Common Configuration page which details the standard application configuration.
Purpose
The key purpose for this Orchestrator is to carry out updates to the Access Control Lists and Default Security across Workspaces, Folders and Documents in iManage.
Operation Name
ConfigureSecurity
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 |
|---|---|---|---|
|
|
This is the row ID |
Yes |
Numeric value |
|
|
This specifies the type of iManage object being targeted. i.e. a Workspace |
Yes |
Either:
|
|
|
The ID of the iManage Library |
Yes |
iManage Library identifier i.e. |
|
|
Allows you to target a specify a target (workspace, folder or document) Id |
No (unless TargetObjectSearchQuery is blank). Takes priority over the search query |
iManage identifier i.e. |
|
|
A JSON object which contains a dictionary matching any applicable profile parameters for the corresponding Multiple parameters can be used in the search query |
No (unless TargetObjectId is blank) |
JSON format i.e. if using csv input then escaped values need to be used for multiple parameter queries. The following keys can be provided:
|
|
|
The default security to apply to the target |
No |
Either:
|
|
|
A list of Users for the update |
No (unless |
Pipe delimited list of user IDs:
|
|
|
A list of User Groups for the update |
No (unless |
Pipe delimited list of group IDs:
|
|
|
Specifies the type of action to apply to the row |
Yes |
Either:
|
|
|
Specifies the Access Level to be applied |
Yes (if Action = Update) |
Either:
|
|
|
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:
CREATE TABLE ConfigureSecurityInput (
Id INT IDENTITY(1,1) PRIMARY KEY,
Processed BIT,
TargetLibraryId VARCHAR(25) NOT NULL,
TargetObjectType VARCHAR(25) NOT NULL,
TargetObjectId VARCHAR(25),
TargetObjectSearchQuery NVARCHAR(MAX),
DefaultSecurity VARCHAR(25),
UserList NVARCHAR(MAX),
GroupList NVARCHAR(MAX),
[Action] VARCHAR(25),
AccessLevel VARCHAR(25)
);
Job File Options
This section details the configurable options within the orchestrator.
|
Configuration |
Description |
Expected Value |
|---|---|---|
|
|
Sets whether the update process is enabled or disabled |
|
|
|
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 |
|
|
|
When enabled on the job file, then the same action is applied for all nested objects (i.e. all nested folders and documents where applicable). If enabled this will apply updates to documents and folders regardless of their ‘inherit’ status |
|
|
|
If enabled then any Folders set to If disabled then Folders will lose their |
|
Output Events
These output events are specific to the Configure ACL Orchestrator and work 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 |
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
These should be listed in the Orchestrator in the following format ‘Target:Action:Status’.
The event output schema is shown below:
CREATE TABLE ConfigureSecurityOutput (
Id INT IDENTITY(1,1) PRIMARY KEY,
EventTime DATETIMEOFFSET NOT NULL,
CorrelationId VARCHAR(36) NOT NULL,
[Action] VARCHAR(30),
Status VARCHAR(25) NOT NULL,
Message NVARCHAR(MAX) NOT NULL,
DataSourceRowId VARCHAR(25),
TargetObjectType VARCHAR(25) NOT NULL,
TargetObjectId VARCHAR(25),
AccessLevel VARCHAR(25),
[Users] NVARCHAR(MAX),
[Groups] NVARCHAR(MAX),
DefaultSecurity NVARCHAR(25),
AclUpdates NVARCHAR(MAX),
Workspace NVARCHAR(500),
Folder NVARCHAR(500),
Document NVARCHAR(500),
ParentWorkspaces NVARCHAR(MAX),
TargetSearchQuery NVARCHAR(MAX), /* JSON object containing the search query */
TargetSearchQueryResultCount INT,
TargetSearchQueryResultList NVARCHAR(MAX)
);
Sample Job File
This is an example Job File for the ConfigureACL Orchestrator:
{
"Operation": "ConfigureSecurity",
"Options": {
"ActionMultipleQueryResults": false,
"ApplyRecursively": {
"Enabled": false,
"ExcludeFoldersSetToInherit": true
}
},
"InputType": "CSV",
"Inputs": {
"CSV": {
"Path": "<repo>\\source\\WorkspaceAutomate\\Test Files\\Csvs\\ConfigureSecurity.csv"
}
},
"Outputs": {
"Console": {
"Enabled": true,
"SubscribedTo": [ "*" ]
}
},
"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. ExcludeFoldersSetToInherit: true would mark any folders with an Inherit 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 update 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.