View the GitHub project here.
Uploads documents to Relativity, either from a Nuix case by directly writing to the Relativity File Share and SQL database, or from a Concordance loadfile using the Relativity Import API.
The following modules can be used for the Direct SQL and File Share Upload scenario
- JRuby Direct SQL and File Share Upload Client
- Java User Interface
- Network access to the Relativity SQL server
- An account with read access to the
EDDS
SQL database, and read/write access to the workspace SQL database - If uploading text or native files, network access to the Relativity file share server(s)
- If uploading text files, read/write access with currently logged on Windows account to the workspace default data grid folder
- If uploading native files, read/write access with currently logged on Windows account to the workspace default file share folder
- Not setup required.
- Download and install the Java Development Kit
- Download and install Apache Maven
- The Maven
pom.xml
file for the Java User Interface references Nuix Workstation 8.6.2.414. If using a different version of Nuix Workstation when building the Java User Interface, modify the fileJava\RelativityClient\pom.xml
and update the propertyscripting-version
to reflect the version of Nuix Workstation installed. - In the
Java\RelativityClient
folder from this repository, build the Java User Interface by running the commandmvn package
. - Copy the resulting file
Java\RelativityClient\target\relativity-client-1.0.jar
toJavaScript\RelativityClient.nuixscript
- Copy the folder
JavaScript\RelativityClient.nuixscript
to the Nuix Scripts folder
From the Nuix Workstation Scripts menu, run the Relativity Upload script.
See sample files JdbcUploadLauncher.rb
and JdbcUploadSettings.json
from Ruby\Samples
for an example of how to start the JRuby Direct SQL and File Share Upload Client.
- Build the Java User Interface as indicated above
- Run the Java User Interface, fill-in the settings and save the settings file
RelativityClientSettings.json
- Copy the folder
JavaScript\RelativityClient.nuixscript
to the Nuix RESTful Service Scripts folder- The default location on Windows is
C:\Program Files\Nuix\Nuix RESTful Service\user-scripts
- If using a different location, update the
pathToScripts
variable fromJavaScript\RelativityClient.nuixscript\headlessLauncher
- The default location on Windows is
- If copying native or text files, ensure that the account under which the service
Nuix-REST
is running has access to the default Relativity workspace file share and data grid location - Call to the PUT
/v1/userScripts
REST API endpoint, with the scriptRequest JSON body constructed as follows:async
:true
customArguments
: List containing:moduleType
:JDBC
moduleSettings
: The contents of the previously saved settings fileRelativityClientSettings.json
bootstrapSettings
: List containing:workspaceArtifactId
: The Artifact ID of the Relativity workspacefolderArtifactId
: The Artifact ID of the Relativity folder inside the workspaceproductionSetName
: The name of the production set to uploadsqlPassword
: The SQL Server password for the username provided in the moduleSettings section
description
:Load to Relativity
fileName
:RelativityClient.nuixscript/headlessLauncher
language
:PYTHON
See below sample scriptRequest body:
{
"async": true,
"customArguments": {
"bootstrapSettings": {
"folderArtifactId": 1003697,
"productionSetName": "Production00001",
"sqlPassword": "password1234",
"workspaceArtifactId": 1018980
},
"moduleSettings": {
"fieldsSettings": {
"FieldList": [
{
"identifier": true,
"loadfileColumn": "DOCID",
"workspaceColumn": "Control Number"
}
],
"metadataProfileName": "Default"
},
"relativitySettings": {
"username": "jsmith@example.com",
"webServiceUrl": "https://relativity.example.com/relativitywebapi"
},
"sqlSettings": {
"serverName": "SQL01",
"serverPort": 1433,
"username": "jsmith"
},
"uploadSettings": {
"nativeCopyMode": 1,
"overwriteMode": 0
}
},
"moduleType": "JDBC"
},
"description": "Load to Relativity",
"fileName": "RelativityClient.nuixscript/headlessLauncher",
"language": "PYTHON"
}
The following modules can be used for the Loadfile Upload scenario
- JRuby Relativity Loadfile Upload Client Wrapper
- Java User Interface
Both modules call the C# Relativity Loadfile Upload Client which is built using the Relativity Import API
- Download the latest version of this repository
- Download Visual Studio 2019 Community Edition and install the .NET desktop development workload
- Download nuget.exe and place in the
C#
folder from this repository - If support for Relativity versions 9.6, 9.5 and 9.4 is required, download the Relativity 9.6, 9.5 and 9.4 SDKs. For each SDK
VERSION
, install it and copy contents of folderC:\Program Files\kCura Corporation\Relativity SDK
to the correspondingC#\Clients\VERSION\Relativity SDK
folder of this repository, then uninstall the SDK - Run the batch file
C#\build.bat
and resolve any eventual errors encountered
- Build the C# Relativity Loadfile Upload Client as indicated above
- Copy contents of
C#\Clients
toRuby\RelativityLoadfileUpload\Clients
- Build the C# Relativity Loadfile Upload Client as indicated above
- Copy contents of
C#\Clients
toJavaScript\RelativityClient.nuixscript\RelativityLoadfileUpload\Clients
- Download and install the Java Development Kit
- Download and install Apache Maven
- The Maven
pom.xml
file for the Java User Interface references Nuix Workstation 8.6.2.414. If using a different version of Nuix Workstation when building the Java User Interface, modify the fileJava\RelativityClient\pom.xml
and update the propertyscripting-version
to reflect the version of Nuix Workstation installed. - In the
Java\RelativityClient
folder from this repository, build the Java User Interface by running the commandmvn package
. - Copy the resulting file
Java\RelativityClient\target\relativity-client-1.0.jar
toJavaScript\RelativityClient.nuixscript
- Copy the folder
JavaScript\RelativityClient.nuixscript
to the Nuix Scripts folder
From the Nuix Workstation Scripts menu, run the Relativity Upload script.
See sample files LoadfileUploadLauncher.rb
and LoadfileUploadSettings.json
from Ruby\Samples
for an example of how to start the JRuby Relativity Loadfile Upload Client Wrapper.
- Build the Java User Interface as indicated above
- Run the Java User Interface, fill-in the settings and save the settings file
RelativityClientSettings.json
- Copy the folder
JavaScript\RelativityClient.nuixscript
to the Nuix RESTful Service Scripts folder- The default location on Windows is
C:\Program Files\Nuix\Nuix RESTful Service\user-scripts
- If using a different location, update the
pathToScripts
variable fromJavaScript\RelativityClient.nuixscript\headlessLauncher
- The default location on Windows is
- Call to the PUT
/v1/userScripts
REST API endpoint, with the scriptRequest JSON body constructed as follows:-
async
:true
-
customArguments
: List containing:moduleType
:LOADFILE_IMPORT
moduleSettings
: The contents of the previously saved settings fileRelativityClientSettings.json
bootstrapSettings
: List containing:workspaceArtifactId
: The Artifact ID of the Relativity workspacefolderArtifactId
: The Artifact ID of the Relativity folder inside the workspaceloadfile
: The path to the Concordance loadfile to uploadrelativityPassword
: The Relativity password for the username provided in the moduleSettings sectionrelativityVersion
: The Relativity version, in the major.minor format, for example10.2
-
description
:Load to Relativity
-
fileName
:RelativityClient.nuixscript/headlessLauncher
-
language
:PYTHON
-
See below sample scriptRequest body:
{
"async": true,
"customArguments": {
"bootstrapSettings": {
"folderArtifactId": 1003697,
"loadfile": "C:\\Cases\\Case 1\\Export\\Production00001\\loadfile.dat",
"relativityPassword": "password1234",
"relativityVersion": "10.2",
"workspaceArtifactId": 1018980
},
"moduleSettings": {
"fieldsSettings": {
"FieldList": [
{
"identifier": true,
"loadfileColumn": "DOCID",
"workspaceColumn": "Control Number"
}
],
"metadataProfileName": "Default"
},
"relativitySettings": {
"username": "jsmith@example.com",
"webServiceUrl": "https://relativity.example.com/relativitywebapi"
},
"uploadSettings": {
"nativeCopyMode": 1,
"overwriteMode": 0
}
},
"moduleType": "LOADFILE_IMPORT"
},
"description": "Load to Relativity",
"fileName": "RelativityClient.nuixscript/headlessLauncher",
"language": "PYTHON"
}
Copyright 2020 Nuix
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.