Rampiva Logo

Disclaimer

The material in this document is for informational purposes only. The products it describes are subject to change without prior notice, due to the manufacturer’s continuous development program. Rampiva makes no representations or warranties with respect to this document or with respect to the products described herein. Rampiva shall not be liable for any damages, losses, costs or expenses, direct, indirect or incidental, consequential or special, arising out of, or related to the use of this material or the products described herein.

© Rampiva Technology Inc. 2020 All Rights Reserved

Introduction

This guide describes the features and options of Rampiva Scheduler, a product which is a part of the Rampiva Automate suite. This document works like a reference - use the table of contents to look for the topic of interest.

To report any issues with this guide or with the Rampiva software, please contact support@rampiva.com.

Styles Used in This Guide

Note: This icon indicates that additional clarifications are provided, for example what the valid options are.
Tip: This icon lets you know that a useful tidbit is provided, such as how to achieve a certain behavior.
Warning: This icon highlights information that may help you avoid an undesired behavior.

Emphasized: This style indicates the name of a menu, option or link.

code: This style indicates code that should be used verbatim, and can refer to file paths, parameter names or Nuix search queries.

User Interface Patterns

In addition to standard Web user interface patterns, Automate makes use of the following patterns:

Optional Value

The field border is grey when the field is empty.

Optional Value

Invalid Value

The field border is red.

Invalid Value

Perform Action

When viewing the details of an item, such as a Job or a Client, a list of available actions is displayed by clicking on the dropdown button at the right of the item name.

Add to Selection

A list of available options is displayed in the left pane. Items can be highlighted and added to the selection using the right arrow > button. Items can be removed form the selection with the left arrow < button.

1. Logging In

Scheduler can be configured to allow logging in with a Nuix account, by providing a username and password, or with a Microsoft account, by using the Sign in with Microsoft button.

If the Sign in with Microsoft button is not visible, contact your administrator to have this option enabled.

After a period of inactivity (by default 15 minutes), a warning will be displayed and the user will be logged out if no action is performed.

2. Jobs Queue View

The Jobs Queue view is the default screen displayed after login. It can be accessed using the JobsQueue menu in the top navigation bar as well as by clicking on the Rampiva Automate logo.

2.1. Submitting a Job

To submit a Job, click on the Queue Job + button at the top-left of the Jobs Queue view. A submission has 4 steps:

  1. Select the Client and the Matter for which the Job is submitted, or select Unassigned if the Job is not submitted for a specific project;

  2. Select the Library and the Workflow to run for this Job or select Workflow File to run a workflow from a file;

The Unassigned Client/Matter option and the Workflow File Library/Workflow option are only visible if the user has the appropriate permissions (see Security Policies).
  1. Fill in the Job settings:

    • Select an Execution Profile from the dropdown;

    • Select a Resource Pool from the dropdown;

    • Adjust the Job Priority as needed;

    • Adjust the Job Name as needed;

    • Mark the Job as Confidential if applicable;

    • Fill-in the Job Notes. This section can be used for documentation purposes and to inform other users about the Job settings.

    • Fill-in the Job Parameters or load their values from a tab-separated value (TSV) file using the …​ button.

The details of a Job marked as Confidential will only be visible to the user that submitted the Job and to other users that have the View Confidential permission (see Security Policies).
To set the priority value Highest, the user must have the modify permission on the Resource Pool to which the Job is assigned.
  1. Review and confirm the details of the submission.

2.2. Execution Order

There are several factors which come into play when determining the order in which Jobs will run.

If two Jobs are assigned to the same Resource Pool and there are no active locks, the Job with the highest Priority will start first. If the Jobs have the same priority, the one that was added to the Backlog first will run first.

If two Jobs are assigned to different Resource Pools, the Job from the Resource Pool which has available Engines and which can acquire a Nuix license will run first.

2.3. Job Locks

By default, Jobs in Automate can run in parallel. If it’s required to have certain Jobs run sequentially, locks can be used. These can be set by using the Synchronized Jobs option or by using Lock Parameters.

2.3.1. Synchronized Jobs

When the Synchronized Jobs option in the Matter settings is checked, Jobs assigned to that matter will run one at a time.

If multiple Jobs are assigned to a Matter with the Synchronized Jobs option checked and if the order in which the jobs run is important, assign them to the same Resource Pool. Otherwise, the order in which the Jobs start is not guaranteed and depends on the Nuix licenses and Engines available under the respective Resource Pools.

2.3.2. Lock Parameters

Lock Parameters are special Parameters which can be defined in the Workflow to ensure that two Jobs don’t run at the same time, regardless of the Matters to which the Jobs are assigned. The name of Lock Parameters ends with _lock}, for example {project_lock}.

When using Lock Parameters, Jobs are guaranteed to run sequentially only if they have a Lock Parameter with the same name and the same value.

2.4. Job Execution States

Jobs can be in one of the following states:

  • Not Started: The Job was submitted - Backlog lane;

  • Running: The Job is currently running - Running lane;

  • Pausing: The Job will pause after the current operation completes - Running lane;

  • Paused: The Job ran and was paused - Backlog lane;

  • Stopping: The Job will stop during the current operation or after the current operation completes - Running lane;

  • Stopped: The Job ran and was stopped - Finished lane;

  • Finished: The Job ran and completed successfully - Finished lane;

  • Finished, with warnings: The Job ran and completed with warnings - Finished lane;

  • Error: The Job ran and encountered an error - Finished lane;

  • Cancelled: The Job was cancelled before running - Finished lane;

2.5. Job Lanes

In the Jobs view, queued, running and finished jobs are displayed under different lanes:

  • Backlog: These are jobs that have been queued for execution and will run when resources are available and there are no warnings preventing the Job to run.

  • Running: These jobs are currently running.

  • Finished: These jobs finished running or were cancelled.

Additionally, jobs that have been archived are displayed in the Jobs Archive view (see Jobs Archive).

The order in which jobs are displayed in the lanes can be changed from the User Settings (see Job Sort Order).

2.6. Job Card

For each job, a Job Card is displayed in the corresponding Job Lane. The information displayed in the Job Cards can be customized from the User Settings (see Job Card).

2.7. Job Panel

To see the details of a job, click on the Job Card to open the Job Panel.

The Job Panel contains the following sections:

  • Header: The left side contains the confidentiality icon, the job name and the job action dropdown. The right side contains the job status, the job completion percentage and the job status icon;

  • Job Settings: A table view of the job settings;

  • Notes: The notes supplied by the user when the job was submitted;

  • Parameters: The parameters along with the values supplied by the user when the job was submitted;

  • Workflow: The list of operations that are part of the workflow selected when the job was submitted;

  • Execution Log: The log generated by the job execution (this section is not visible for jobs that have not started);

  • Change Log: The job audit log indicating the job submission, execution, and change events, as well as the time when these events occurred, who they were performed by and where applicable additional details, such as the changes that were made to the job settings.

2.8. Job Actions

To perform an action on a job, open the Job Panel by clicking on the corresponding Job Card, and then click on the dropdown button at the right of the Job name.

The following actions can be performed on jobs, depending on the lane the Job is in and the user permissions:

  • Make Confidential: Marks the job as confidential;

  • Remove Confidential: Unmarks the job as confidential;

  • Duplicate: Initiates the submission of a job with the same settings as the selected job;

  • Print: Print the job panel, for example, to a PDF file;

  • Cancel Execution: Cancel and move the job to the Finished lane with an error status;

  • Pause: Puts the job in a pausing state and unassigns the Resource Pool. After the currently running operation finishes, the job will be placed in the paused state and will be moved to the Backlog lane. Once paused, the Nuix case is closed and the Nuix license is released. The job will not resume execution unless it is re-assigned to a Resource Pool.

  • Stop: Sends a stop command to the current operation and puts the job in a stopping state. If the operation supports stopping, execution is stopped mid-way. Otherwise, the execution is stopped after the operation completes. Once stopped, the Nuix case is clsoed and the Nuix license is released.

  • Abort: Attempts to first stop the job gracefully for 5 seconds, and if not possible, aborts the job execution by forcibly closing the running processes.

  • Archive: Archives the job and moves it to the Archive lane.

Aborting a job leaves the Nuix case in a corrupted state and should only be used as a last resort if a job is non-responsive.
Table 1. Actions available in each Job Lane
Action Backlog Running Finished

Make Confidential

X

X

X

Remove Confidential

X

X

X

Duplicate

X

X

X

Print

X

X

X

Cancel Execution

X

Pause

X

Stop

X

Abort

X

Archive

X

3. Jobs Schedules View

The Jobs Schedule view can be accessed using the JobsSchedule menu in the top navigation bar. It can be used to manage the Schedules which automatically queue Jobs for executions either at specified time intervals or when a specific event for another Job occurs.

The Jobs Schedule feature requires an Enterprise class license.

3.1. Create a Schedule

To create a Schedule, click on the Create Schedule + button at the top-left of the Jobs Schedules view and provide the following information:

  1. Schedule settings:

    • Name: A user-defined name to assign to the Schedule. The Jobs submitted by the Schedule will have the same name.

    • Active: The state of the Schedule. An inactive Schedule will not queue any new Jobs.

    • Description: A user-defined description (optional). The Jobs submitted by the Schedule will have the same description.

    • Conditions: Additional optional conditions that must be met for the Schedule to submit new Jobs:

      • Commence after: Schedule will only queue Jobs after this date.

      • Expire after: Schedule will not queue any new Jobs after this date.

      • Skip if X Jobs from this schedule are running: Schedule will not queue new Jobs if there already are X Jobs running which were submitted by this Schedule. After the number of running Jobs drops below X, the Schedule becomes once again eligible to queue Jobs.

      • Skip if X Jobs from this schedule are queued: Schedule will not queue new Jobs if there already are X Jobs queued which were submitted by this Schedule. After the number of queued Jobs drops below X, the Schedule becomes once again eligible to queue Jobs.

  2. Triggers

    • On a timer: Jobs will be queued at the predefined time interval.

    • On an event: A Job will be queued when any of the specified Job Events occurs and when all of the specified conditions are met for the Job Event in question.

For example, to automatically retry failed jobs that were submitted with a High or Highest priority, the Schedule Job Events would contain the event Job Error, and the Event Conditions would have the Submission Mechanism set to Regular Job, and the Priorities set to Highest and High.
When using a Schedule that triggers on an event, it’s recommended to set the Submission Mechanism condition to Regular Job only. Otherwise, it’s possible to create a loop of events, where the Job queued by the Schedule will in turn trigger the Schedule again.
  1. Client / Matter

    • The Client and the Matter for which the Schedule will submit the Job.

When using the trigger On an event, it’s possible to select the Client and Matter Same as Triggering Job. This will have the effect of queueing a new Job with for the same Matter as the original Job which triggered the Schedule.
  1. Library / Workflow

    • The Library and the Workflow that the scheduled Job will run.

When using the trigger On an event, it’s possible to select the Library / Workflow Same as Triggering Job. This will have the effect of queueing a new Job with the Workflow as the original Job which triggered the Schedule. In this case the Job parameters will also be copied from the Triggering Job and cannot be set explicitly in the Schedule.
  1. Job Settings

    • Execution Profile: The Execution Profile of the queued Job, or Unassigned;

    • Resource Pool: The Resource Pool of the queued Job, or Unassigned;

    • Priority: The Priority of the queued Job;

    • Parameters: The parameters of the queued Job;

When using the Library / Workflow Same as Triggering Job, the Parameters cannot be explicitly set and instead will take the same values as the Triggering Job. The Execution Profile, the Resource Pool and the Priority can either be explicitly defined, or can be set to Same as Triggering Job.
  1. Review and confirm the details of the submission.

To edit, delete, deactivate or activate a Schedule, select the Schedule and then click on the dropdown button at the right of the Schedule name at the top of the Schedule panel.

4. Jobs Archive View

The Jobs Archive view can be accessed using the JobsArchive menu in the top navigation bar. It displays jobs that have been archived either manually with the Archive action, or automatically when the archive conditions are met.

By default, a job is automatically archived 2 weeks after it finished, or when there are more than 100 jobs in the Finished lane.

5. Clients View

The Clients view can be accessed using the Clients link in the top navigation bar. It can be used to create, modify and delete Clients and their Matters.

5.1. Clients

Clients are used to organize and track Jobs, and can correspond to external clients, internal clients, departments, or teams.

A Client has a name, a description, and optionally a default Execution Profile and a default Resource Pool.

If a Client is assigned a default Execution Profile or a default Resource Pool value, these values will be automatically selected when submitting a Job for the Client in question. The user still has the option to change these values during Job submission.

When a Client is inactive it will not be visible in the Job submission steps.

To add a new Client, use the Add Client + button at the top-left of the Clients view.

To edit, delete, deactivate or activate a Client, select the Client and then click on the dropdown button at the right of the Client name at the top of the Client panel.

5.2. Matters

Matters are created under Clients, and have a name, a description, and optionally a default Execution Profile and a default Resource Pool. Additionally, Matters can be configured with the Synchronized Jobs option (see Synchronized Jobs).

If a Matter is assigned a default Execution Profile or a default Resource Pool value, these values will be automatically selected when submitting a Job for the Matter in question. The user still has the option to change these values during Job submission.

To deactivate or activate a Matter, switch the toggle at the left of the Matter name in the Client panel.

When a Matter is inactive it will not be visible in the Job submission steps.

To add a new Matter, use the Add + button at the top of the Client panel.

Additionally, to edit, delete, deactivate or activate a Matter, select the Matter and then click on the dropdown button at the right of the Matter name.

5.3. Client Pools

Clients can be further grouped into Client Pools. A Client can belong to one, multiple or no Client Pools (see Client Pools).

Client Pools can be used to group and assign permissions to the Clients managed by a specific team.

5.4. Allowed Parameter Values

Clients, Matters and Workflows can be configured to restrict the values of parameters that a user can submit when queuing a Job. These can be defined in the Allowed Parameters Values section of Clients, Matters and Workflows.

When queuing a Job, the queue settings page will show a dropdown for the parameters that have Allowed Parameter Values defined. If the Allowed Parameter Values are defined in more than one location (i.e. Clients, Matters and Workflows), the only values allowed are those that satisfy the requirements defined at each location as well as the workflow parameter regex.

5.4.1. Scripted Allowed Parameter Values

In addition to manually defining the list of values that a certain parameter can take, a script can be used to return the list of allowed values.

To use a script, set the value to language:path, where:

  • language is one of js python or ruby;

  • path is the location of the script file, which must be accessible by the Scheduler service.

Example parameter value for using a ruby script: ruby:C:\Scripts\param1.rb
Configuring Matters or Clients with Scripted Allowed Parameter Values requires a Security Policy with the Modify permission set on the Built-In scope Scripts.

Scripts have access to the following variables:

  • client_id

  • client_name

  • client_reference

  • matter_name

  • matter_id

  • matter_reference

  • library_name

  • library_id

  • workflow_name

  • workflow_id

  • user_name

  • parameter_name

Sample JavaScript script:

//// DEBUG
//print("Starting script to evaluate "+parameter_name+" - this will be logged to the Engine log")

var result = []

// Sample result
result.push("C:\\Temp\\JS")

// Sample result to confirm live execution
var today = new Date();
result.push("C:\\Temp\\"+today)

// Sample result containing client name
result.push("C:\\Client\\"+client_name)

//// DEBUG
//print (result)

// Return the array
result

Sample Pyton script:

import datetime

## DEBUG
#print("Starting script to evaluate "+parameter_name+" - this will be logged to the Engine log")

result=[]

# Sample result to confirm live execution
result.append('C:\\Temp\\Python')

# Sample result to confirm live execution
result.append('C:\\Temp\\'+str(datetime.datetime.now()))

# Sample result containing client name
result.append("C:\\Client\\"+client_name)

## DEBUG
#print("returning: "+str(result))

# The resulting list is expected in the variable named "result"

Sample Ruby script:

## DEBUG
#puts("Starting script to evaluate "+parameter_name+" - this will be logged to the Engine log")

result = []

# Sample result
result << "C:\\Temp\\Ruby"

# Sample result to confirm live execution
result << "C:\\Temp\\"+Time.now.strftime("%d/%m/%Y %H:%M:%s")

# Sample result containing client name
result << "C:\\Client\\"+client_name

## DEBUG
#puts(result)

# Return the array
result

6. Libraries View

The Libraries view can be accessed using the Libraries link in the top navigation bar. It can be used to create, modify and delete Libraries and their Workflow Templates.

6.1. Libraries

Libraries are used to organize Workflow Templates, and can correspond to the types of projects on which Jobs are run.

A Library has a name and a description. When a Library is inactive, that Library will not be visible in the Job submission steps.

To add a new Library, use the Add Library + button at the top-left of the Library view.

To edit, delete, deactivate or activate a Library, select the Library and then click on the dropdown button at the right of the Library name at the top of the Library panel.

6.2. Workflow Templates

Workflow Templates are created under Libraries, and have a name, a description, a list of parameters with default values, and a list of operations.

To deactivate or activate a Workflow Template, switch the toggle at the left of the Workflow Template name in the Libraries panel.

When a Workflow Template is inactive it will not be visible in the Job submission steps.

To add a new Workflow Template, use the Add + button at the top of the Library panel and point to a Workflow file created with the Workflow Designer module.

Additionally, to edit, delete, deactivate or activate a Workflow Template, select the Workflow Template and then click on the dropdown button at the right of the Workflow Template name.

7. Settings View

The Settings view can be accessed using the Settings link in the top navigation bar. It can be used to manage system settings, such as licenses, engines, security policies, as well as user settings related to the user interface.

7.1. Nuix License Sources

The Nuix License Sources settings tab is used to define the licenses to be used by the Nuix Engines managed by Automate.

Automate supports three types of Nuix License Sources.

7.1.1. Nuix Management Server

A Nuix Management Server (NMS) is the classical way to assign Nuix licenses in an environment with multiple Nuix servers or workstations.

To add a new NMS to the Automate configuration, use the Add + Nuix Management Server button and provide the following information:

  • Name: A user-defined name to assign to the NMS.

  • Description: A user-defined description (optional).

  • Filter: A text filter to select licenses of a certain type from the NMS (optional). If a filter value is provided, a license will be selected from the NMS only if the short name, full name or description of the license contains the text provided in the filter, for example, enterprise-workstation. The filter is case insensitive.

  • Server Name: The host name or the IP address of the NMS.

  • Server Port: The port on which the NMS is configured to listen, by default 27443.

  • Username: The username from the NMS under which Automate will acquire licenses.

  • Password: The password for the Username above.

  • Whitelisted Certificate Fingerprints: The SHA-256 fingerprint of the NMS certificate that should be trusted even if the certificate is self-signed (optional).

By default, NMS uses a self-signed certificate. In this situation, Automate is not able to validate the identify of the NMS and a Whitelisted Certificate Fingerprint must be provided, otherwise, Engines will not be able to acquire licenses from this NMS.
Automate will list the certificate fingerprint if the name listed in the certificate matches the server name. Alternatively, an incorrect certificate fingerprint can be provided temporarily, for example 0000, to have Automate disable the name validation and provide the detected certificate fingerprint value in the error message.
The following PowerShell code can be used to get the SHA-256 certificate fingerprint of a server, where 127.0.0.1 is the IP address of the NMS:
$ServerName = "127.0.0.1"
$Port = 27443

$Certificate = $null
$TcpClient = New-Object -TypeName System.Net.Sockets.TcpClient
try {

    $TcpClient.Connect($ServerName, $Port)
    $TcpStream = $TcpClient.GetStream()

    $Callback = { param($sender, $cert, $chain, $errors) return $true }

    $SslStream = New-Object -TypeName System.Net.Security.SslStream -ArgumentList @($TcpStream, $true, $Callback)
    try {

        $SslStream.AuthenticateAsClient('')
        $Certificate = $SslStream.RemoteCertificate

    } finally {
        $SslStream.Dispose()
    }

} finally {
$TcpClient.Dispose()
}

if ($Certificate) {
    if ($Certificate -isnot [System.Security.Cryptography.X509Certificates.X509Certificate2]) {
        $Certificate = New-Object -TypeName System.Security.Cryptography.X509Certificates.X509Certificate2 -ArgumentList $Certificate
    }
    Write-Output $Certificate.GetCertHashString("SHA-256")
}

7.1.2. Cloud License Server

A Cloud License Server (CLS) is a cloud service managed by Nuix that can be used to acquire licenses.

To add a new CLS to the Automate configuration, use the Add + Cloud License Server button and provide the following information:

  • Name: A user-defined name to assign to the CLS.

  • Description: A user-defined description (optional).

  • Filter: A text filter to select licenses of a certain type from the CLS (optional). If a filter value is provided, a license will be selected from the CLS only if the short name, full name or description of the license contains the text provided in the filter, for example, enterprise-workstation. The filter is case insensitive.

  • Username: The username for the CLS account under which Automate will acquire licenses.

  • Password: The password for the Username above.

7.1.3. Nuix Dongle

A Nuix Dongle is a physical USB device that stores Nuix Licenses and is typically used when using Nuix Workstation or the Nuix Engine on a single server or workstation.

To add a new Nuix Dongle to the Automate configuration, use the Add + Nuix Dongle button and provide the following information:

  • Name: A user-defined name to assign to the dongle.

  • Description: A user-defined description (optional).

  • Filter: A text filter to select licenses of a certain type from the Nuix Dongle (optional).

The Nuix Dongle must be connected to the server of the Engine that is using it.

7.2. Engine Servers

The Engine Servers settings tab can be used to define the servers that will host Engines.

Prior to adding an Engine Server to the Automate configuration, the Automate Engine Server component must be deployed and configured on the server in question. The details for installing and configuring an Engine Server are provided in the Automate Installation Guide.

To add a new Engine Server to the Automate configuration, use the Add + Engine Server button and provide the following information:

  • Name: A user-defined name to assign to the Engine Server.

  • URL: The URL that can be used to reach the server, for example https://localhost:444

  • Description: A user-defined description (optional).

  • Whitelisted Certificate Fingerprints: The SHA-256 fingerprint of the Engine Server certificate that should be trusted even if the certificate is self-signed (optional).

By default, the Engine Server uses a self-signed certificate. In this situation, Automate is not able to validate the identify of the Engine Server and a Whitelisted Certificate Fingerprint must be provided.
Automate will list the certificate fingerprint if the name listed in the certificate matches the server name. Alternatively, an incorrect certificate fingerprint can be provided temporarily, for example 0000, to have Automate disable the name validation and provide the detected certificate fingerprint value in the error message.

7.3. Engines

The Engines settings tab can be used to define the Engine instances that will run Jobs. An Engine can only run one Automate Job at a time. To run multiple Jobs at the same time, create multiple Engines on one or more Engine Servers, based on the available hardware resources.

To add a new Engine to the Automate configuration, use the Add + Engine button and provide the following information:

  • Name: A user-defined name to assign to the Engine.

  • Server: The Engine Server on which this Engine will run.

  • Nuix License Source: The source from which this Engine will acquire licenses.

  • Priority: The priority of this Engine in Resource Pools. When a Job starts, it is assigned to the first available (i.e. not running another Job) Engine with the highest priority from that Resource Pool.

  • Target Workers: The number of Nuix workers to attempt to acquire a license for, if available.

  • Min Workers: The minimum number of Nuix workers to acquire a license for. If the number of available workers in the Nuix License Source is lower than this value, the Engine will not initialize and will remain in an error state until they become available.

7.4. Resource Pools

The Resource Pools settings tab can be used to group Engines. Jobs are assigned to Resource Pools and run on the first available Engine with the highest priority from the Resource Pool.

Automate supports Resource pools which are local or cloud-based (AWS and Azure).

7.4.1. Local Resource Pool

A Local Resource Pool groups Engines which are manually managed and typically run on local servers.

To add a new Local Resource Pool to the Automate configuration, use the Add + Local Resource Pool button and provide the following information:

  • Name: A user-defined name to assign to the Resource Pool.

  • Active: The state of the Resource Pool. An inactive Local Resource Pool will not start any new Jobs.

  • Description: A user-defined description (optional).

  • Engines: The list of Engines which are part of the Resource Pool.

An Engine can be part of multiple Resource Pools.

7.4.2. AWS Resource Pool

An AWS Resource Pool automatically manages and runs Engine Servers and Engines in the Amazon AWS cloud environment.

Prior to adding an AWS Resource Pool to the Automate configuration, the AWS environment needs to be configured with either one or multiple EC2 Instances or an EC2 Launch Template, using the following steps:

  1. Create a new EC2 instance

  2. Deploy and configure the Automate Engine Server according to the Automate Installation Guide, similarly to a local deployment.

  3. Validate the deployment by manually adding an Engine Server with the URL of the cloud instance, as well as an Engine. Resolve any eventual certificate and Nuix License Source issues.

  4. Remove the manually added Engine and Engine server corresponding to the cloud instance.

  5. If you want to run Automate Jobs on this instance only, take note of the Instance ID and skip the remaining steps. Optionally, the EC2 instance can be shut down.

  6. If you want to run Automate Jobs on instances which are dynamically created by EC2, create an EC2 Launch Template from the EC2 instance previously configured. For more information on the Launch Templates, see https://docs.aws.amazon.com/autoscaling/ec2/userguide/LaunchTemplates.html

When Automate is starting a Job that is assigned to an AWS Resource Pool using a Launch Template, it first scans for idle EC2 instances started with the Launch Template. If an EC2 instance is found, the Job is assigned to it. Otherwise, if the number of active EC2 instances does not exceed the Max Concurrent Instances value, a new EC2 instance is spawned and assigned the Job.

To add a new AWS Resource Pool to the Automate configuration, use the Add + AWS Resource Pool button and provide the following information:

  • Name: A user-defined name to assign to the Resource Pool.

  • Active: The state of the Resource Pool. An inactive AWS Resource Pool will not start any new Jobs, and will not manage the state of EC2 instances (i.e. it will not shut down or terminate the instance after the running Job finishes, if applicable).

  • Description: A user-defined description (optional).

  • Access Key: The Access Key of the account that will be used to connect to AWS. For details on obtaining an Access Key, see https://aws.amazon.com/premiumsupport/knowledge-center/create-access-key

  • Secret Key: The Secret Key for to the Access Key above.

  • Region: The AWS Region in which the EC2 instance or Launch Template was created.

  • Launch Template ID: If using dynamically spawned EC2 instances, provide the Launch Template ID.

  • Max Concurrent Instances: The maximum number of EC2 instances running at the same time using the Launch Template.

  • Instance IDs: If using user-defined EC2 instances, provide the IDs of the instances that Automate will manage.

  • License Source: The Nuix License Source from which Engines will acquire licenses.

  • Target Workers: The number of Nuix workers to attempt to acquire a license for, if available.

  • Min Workers: The minimum number of Nuix workers to acquire a license for. If the number of available workers in the Nuix License Source is lower than this value, then the Engine will not initialize and will remain in an error state until the minimum number of Nuix workers becomes available.

  • Whitelisted Certificate Fingerprints: The SHA-256 fingerprint of the Engine Server certificate that should be trusted even if the certificate is self-signed (optional).

  • Instance Idle Action: The action to perform on the EC2 instance when a Job finishes and no other Jobs from the Backlog are assigned to the instance.

  • Force Idle Actions Between Jobs: This setting will force an EC2 instance to Stop or Terminate when a Job finishes, even if other jobs from the Backlog are assigned to run on the instance.

Selecting the Terminate idle action will permanently delete the EC2 instance.

7.4.3. Azure Resource Pool

An Azure Resource Pool automatically manages Engine Servers and Engines in the Microsoft Azure cloud environment.

Prior to adding an Azure Resource Pool to the Automate configuration, the Azure environment needs to be configured with one or multiple virtual machines (VMs), using the following steps:

  1. Create a new VM

  2. Deploy and configure the Automate Engine Server according to the Automate Installation Guide, similarly to a local deployment.

  3. Validate the deployment by manually adding an Engine Server with the URL of the VM, as well as an Engine. Resolve any eventual certificate and Nuix License Source issues.

  4. Remove the manually added Engine and Engine server corresponding to the cloud instance.

  5. Optionally, the VM can be shut down.

  6. Register Automate in the Azure AD using the Azure Command-Line Interface (CLI) , by running the following command:

az ad sp create-for-rbac --name RampivaAutomate
  1. Take note of the appId, password, and tenant values returned by the command above.

To add a new Azure Resource Pool to the Automate configuration, use the Add + Azure Resource Pool button and provide the following information:

  • Name: A user-defined name to assign to the Resource Pool.

  • Active: The state of the Resource Pool. An inactive Azure Resource Pool will not start any new Jobs and will not manage the state of VMs (i.e. it will not shut down or terminate the VM after the running Job finishes, if applicable).

  • Description: A user-defined description (optional).

  • Tenant: The tenant value obtained using the Azure CLI.

  • Key: The password value obtained using the Azure CLI.

  • App ID: The appId value obtained using the Azure CLI.

  • Subscription ID: The Azure Subscription to connect to, if the account provided has access to multiple Azure Subscriptions (optional).

  • VM names: The names of the VMs that Automate will manage.

  • License Source: The Nuix License Source from which Engines will acquire licenses.

  • Target Workers: The number of Nuix workers to attempt to acquire a license for, if available.

  • Min Workers: The minimum number of Nuix workers to acquire a license for. If the number of available workers in the Nuix License Source is lower than this value, then the Engine will not initialize and will remain in an error state until the minimum number of Nuix workers becomes available.

  • Whitelisted Certificate Fingerprints: The SHA-256 fingerprint of the Engine Server certificate that should be trusted even if the certificate is self-signed (optional).

  • Instance Idle Action: The action to perform on the Azure VM when a Job finishes and no other Jobs from the Backlog are assigned to the instance.

  • Force Idle Actions Between Jobs: This setting will force an Azure VM to Deallocate or Delete when a Job finishes, even if other jobs from the Backlog are assigned to run on the instance.

Selecting the Delete idle action will permanently delete the Azure VM.

7.5. Notification Rules

The Notification Rules settings tab can be used to define rules that trigger notifications when certain events occur, for example, a Job being queued. Notification Rules are added to Execution Profiles which in turn are assigned to Jobs.

For notifications to be sent, the Notification Rule must be added to the Execution Profile used by the Job.

Notifications can be sent by Email using an Email Notification Rule or through collaboration platforms, such as Microsoft Teams, Slack or Discord, using a Webhook Notification Rule.

The Test Rule button and the Test dropdown option can be used to test the settings of the Notification Rule and will send out a test message.

7.5.1. Email Notification Rule

An Email Notification Rule will send out an email when the rule is triggered.

To add a new Email Notification Rule, use the Add + Email Notification Rule button and provide the following information:

  • Name: A user-defined name to assign to the rule.

  • Description: A user-defined description (optional).

  • SMTP Server: The IP address or the name of the SMTP server.

  • SMTP Port: The port of the SMTP server, typically 25 for unauthenticated access and 465, or 587, for authenticated access.

  • SMTP Authentication: If checked, Automate will authenticate to the SMTP server with the account provided.

  • SMTP Username: The username to authenticate to the SMTP server with.

  • SMTP Password: The password for the Username above.

  • Transport Layer Security: If checked, access to the SMTP Server will be TLS-encrypted. Otherwise, access to the SMTP server will be in clear-text.

  • HTML Format: If checked, emails will be sent as HTML with formatting. Otherwise, emails will be sent in text format.

  • From: The email address from which to send the email.

  • To: The email address to which to send the email.

  • CC: The email address to CC in the email.

  • Triggers: The events for which to trigger the Notification Rule.

The To and CC address can contain a single email address or multiple addresses separated by a semi-colon, for example, jsmith@example.com; fmatters@example.com. They can also use the {job_submitted_by} parameter. Other parameters cannot be used.
Regarding the To and CC address, if the Automate usernames are not full email addresses, for example, jsmith, append the respective email domain name as a suffix to the {job_submitted_by} parameter. For example, {job_submitted_by}@example.com.

7.5.2. Webhook Notification Rule

A Webhook Notification Rule will send out a message to Microsoft Teams, Slack or Discord when the rule is triggered.

To add a new Webhook Rule, use the Add + Webhook Notification Rule button and provide the following information:

  • Name: A user-defined name to assign to the rule.

  • Description: A user-defined description (optional).

  • Platform: The collaboration platform to which to send the notification.

  • Webhook URL: The URL of the webhook configured in the collaboration platform.

  • Triggers: The events for which to trigger the Notification Rule.

7.6. Execution Profiles

The Execution Profiles settings tab can be used to define the Engine system settings, such as memory and credentials, as well as additional parameters to apply to running Jobs.

A Job requires an Execution Profile to run.

To add a new Execution Profile, use the Add + Execution Profile button and provide the following information:

  • Name: A user-defined name to assign to the profile.

  • Description: A user-defined description (optional).

  • Username: The user account to run the Engine under (optional). If a Username is not provided, the Engine will run under the same account as the Engine Server service.

  • Password: The password for the Username above.

The Username and Password feature is only available on Microsoft Windows platforms. The Username can be provided in the format domain\username or username@domain.
  • Command-Line Parameters: The command-line parameters to apply to the Engine (optional). These command-line parameters function like the parameters which can be provided in a batch file when running Nuix Workstation. For example, these can be used to predefine the memory available to the Engine and the Workers and to specify the Workers log folder.

  • Log Folder: The folder where to redirect the Engine logs.

To redirect all logs related to the execution of a Job, provide the log location in the Log Folder and also as a command-line parameter, for example, -Dnuix.logdir=C:\Temp\logs.
  • Nuix Engine Installation Folder: The folder where a different version of the Nuix Engine is deployed (optional).

The Nuix Engine Installation Folder option can be used to run Jobs in Nuix cases which were created with a different version of the Nuix Engine or Nuix Workstation, without needing to migrate the cases to the latest version of Nuix.
  • Workflow Parameters: Additional parameters and values to add to those already defined in the Workflow Template (optional).

The Workflow Parameters option can be used, for example, to define the location where a script should write an output file. This location might change depending on the environment in which the Job is run and can be captured using an Execution Profile Workflow Parameter.
  • Notification Rules: The list of rules that apply to the Execution Profile (optional).

7.7. Client Pools

The Client Pools settings tab can be used to group clients into different pools, for example, based on geographical locations or the team that is in charge of each Client.

To add a new Client Pool, use the Add + Client button and provide the following information:

  • Name: A user-defined name to assign to the pool.

  • Description: A user-defined description (optional).

  • Clients: The list of clients that are part of the pool. A Client can belong to one, multiple or no Client Pools.

7.8. Security Policies

The Security Policies settings tab can be used to manage the access that users have in the Automate application.

Security Policies are positive and additive, meaning that a user will be allowed to perform a certain action if at least one Security Policy allows the user to perform that action. To prevent a user from performing a certain action, ensure that there are no policies that grant the user that action.

To add a new Security Policy, use the Add + Security Policy button and provide the following information:

  • Name: A user-defined name to assign to the policy.

  • Description: A user-defined description (optional).

  • Active: The state of the policy. An inactive Security Policy will not be evaluated.

  • Principals: The identities to which the policy applies. Principals can be of the following types:

    • Built-In: Authenticated User corresponds to any user account that can log in with the allowed authentication schemes (i.e. Nuix UMS or Microsoft Azure);

    • Azure Username: Explicit Azure user accounts, in the form of an email address;

    • Azure Group ID: Azure user accounts belonging to the Azure Group with the specified ID;

    • UMS Username: Explicit Nuix UMS user accounts, in the form of a username;

    • UMS Group: UMS users belonging to the specified UMS group with the specified name;

    • UMS Privilege: UMS users belonging to a group that has the specified privilege;

    • UMS Role: UMS users which are assigned the specified application role.

  • Permission: The permission granted to the Principals:

    • View: View the details of the objects in scope (and their children);

    • Modify: Modify the objects in scope (and their children);

    • Modify Children: Modify the children of the object in scope (but not the object itself);

    • Submit Job: Submit a job on the objects in scope (and their children);

    • View Confidential: View the details of the objects in scope (and their children) even if marked as confidential;

  • Scope: The scope on which the Permission is granted. Scopes can be of the following types:

    • Built-In: Used to assign permissions on all objects of a certain type (for example All Clients) or to Jobs which do not have a Library or a Client assigned;

    • Client/Matter: A specific or all Matters from a specific Client;

    • Library/Workflow: A specific or all Workflow Templates from a specific Library;

    • Nuix License Source: A specific Nuix License Source;

    • Execution Profile: A specific Execution Profile;

    • Resource Pool: A specific Resource Pool;

    • Client Pool: A specific Client Pool;

    • Notification Rule: A specific Notification Rule.

The Built-In All System Resources scope corresponds to all Nuix License Sources, Engine Servers, Engines, Resource Pools, Notification Rules and Execution Profiles.

7.8.1. Sample Permission Requirements

View a Job:

  • View permissions on: Client and Matter on which the Job was submitted; or Built-In All Clients; or Built-In All Client Pools; or Built-In Unassigned Client.


Submit a Job:

  • View and Submit Job permissions on: Client and Matter; or Built-In All Clients; or Built-In All Client Pools; or Built-In Unassigned Client; and

  • View and Submit Job permissions on: Library and Workflow Template; or Built-In All Libraries; or Built-In Unassigned Library.


Assign Job to a Resource Pool:

  • View and Submit Job permissions on: Resource Pool; or Built-In All Resource Pools; or Built-In All System Resources.


Assign a Job to an Execution Profile:

  • View permissions on: Execution Profile; or Built-In All Execution Profiles; or Built-In All System Resources.


Set Job Priority to Highest:

  • Modify permissions on: Resource Pool; or Built-In All Resource Pools; or Built-In All System Resources.


View Security Policies:

  • View permissions on: Built-In Security.


Manage Engine Servers and Engines:

  • View and Modify permissions on: Built-In All System Resources.


Set Default User Settings:

  • Modify permissions on: User Settings.


Add Matters to a Client, but don’t allow the user to modify the Client:

  • View and Modify Children permissions on: Client.


7.9. User Settings

The User Settings tab can be used to customize the behavior of the user interface for the current user and to set the default settings for all users.

For each User Settings category, the Reset to Default button resets the customizations performed by the user to the default values and the Set as Default button sets the current values as the default values for all users.

The Set as Default button only applies to the default values and does not overwrite any existing user customizations.

7.9.1. Language

Change the language of the user interface to one of:

  • Browser Default - the language detected from the browser;

  • Arabic - (United Arab Emirates)

  • Danish - Denmark

  • German - Germany

  • English - United States

  • Spanish - Latin America

  • French - Canada

  • Hebrew - Israel

  • Japanese - Japan

  • Korean - South Korea

  • Dutch - Netherlands

  • Portuguese - Brazil

  • Simplified Chinese - China

7.9.2. Show Disabled Items

Configure if Clients or Matters which are inactive should be displayed in the Clients view and if Libraries or Workflow Templates which are inactive should be displayed in the Libraries view.

7.9.3. Job Card

Modify the elements displayed in each Job Card, the location of these elements, and the size and format of the text.

7.9.4. Queue Job

Allows moving the Notes section at the bottom of the Queue Job screen.

7.9.5. Default Job Settings

Configures the default Execution Profile and Resource Pool to use during the Job submission. This will apply only if the Client or Matter to which the Job is submitted does not have these default values defined.

The user can change the Execution Profile and Resource Pool to which a Job is assigned during the submission process even if default values are configured in this section.

7.9.6. Job Sort Order

Configures the order in which to display jobs in the Backlog, Running and Finished Job Lanes.

Jobs can be sorted by:

  • Submission Date: Jobs are sorted by the date and time when the Job was submitted, or for Paused Jobs, by the date and time when the Job was Paused and moved back to the Backlog lane;

  • Priority and Submission Date: Jobs are first sorted by their Priority and then by the Submission Date;

  • Last Changed Date: Jobs are sorted by the date and time when the Job state last changed. A state change occurs when the job is queued, finishes running, is cancelled, or starts running in a Cloud Resource Pool;

  • Priority and Last Changed Date: Jobs are sorted first by Priority and then by the Last Changed Date.

7.10. User Resources

The User Resources tab provides links to additional resources:

  • User Guide: This document.

  • Installation Guide: The Automate installation guide.

  • Third-Party Licenses: The list of third-party licenses used by Automate.

  • API Documentation: A live documentation of the Automate API in the OpenAPI 3.0 format, which can be used to integrate Automate with other applications.

  • OData Utilization: The URL for reading the Dashboards Utilization data in the OData 4.0 format.

  • OData Reporting: The URL for reading the Dashboards Reporting data in the OData 4.0 format.