You are on page 1of 32

ndToolkit Guide

August 01, 2021

Power and simplicity in the cloud

Copyright © 2018 NetDocuments and associated products are registered trademarks and trademarks of
NetDocuments Software, Inc. All other trademarks are the property of their respective owners. All rights reserved.
Contents
1 Overview

2 Installation and Setup


Log Location
Navigation

3 Usage Guidelines

4 Frequently Used Tasks

5 Searching
Built-in Searches
Custom Search Criteria
Search Facets
Create Search Criteria using CSV Files
Range Search

6 CSV Window
View CSV
Create New CSV
Fix CSV Header
Split CSV File
Quick Split File
Re-Write Task Logs
Find Matching or Non-Matching CSV Items
Filtered Views
File Menu
View Menu
Tasks Menu
Post Menu
Join Menu
Columns Menu
Find Menu
Details Menu

7 Tasks
Task Dialog Window
Running a Task

8 REST Workshop

9 Settings & Help

10 Glossary
ndToolkit Guide Overview

ndToolkit User Guide


Reviewed August 2021

Overview
ndToolkit is a utility used to audit or manipulate data and objects in NetDocuments. It also includes an
option for exporting documents and a REST workshop for work on smaller REST projects.
NetDocuments Technical and Professional Services personnel and selected certified partners to use
the ndToolkit for specialized projects. Some tasks that you can do with the ndToolkit, users can do
through the NetDocucuments Web Interface; it is up to you to determine the best way to perform the
task.
You cannot use this tool to import/create new documents, but you can use it to copy or move
documents between cabinets.
This guide outlines the general uses of ndToolkit. For more detail on specific tasks, see the links
Frequently Used Tasks section below.
CAUTION: ndToolkit is a powerful tool usually reserved for making bulk changes. As such, it can also
be a very destructive tool if used incorrectly. Please exercise caution when using the tool.

Installation and Setup


ndToolkit must be installed on a Windows 7+ PC, with MS Office 2010+ and .NET Framework 4.6+
installed.
ndToolkit can be downloaded from the Partner Community portal. Unzip the contents to a local folder
at the root of the C: drive. Double-click the .exe to start the installation.

2
ndToolkit Guide Installati

We recommend running
ndToolkit as a local
administrator.

You can set it to always run as


an administrator by going
to ndToolkit Properties >
Compatibility, then select
“Run this program as an
administrator.”

Accessing ndToolkit
ndToolkit is only provided to Partners and customers who have completed the ndToolkit Certification.
For more information on this, contact Partner Support, Professional Services or your CSM.

License Key and Password


You will be given a license key which is registered to your organization, which you will use to register
your copy of ndToolkit when you first install it. This license key is provided by NetDocuments to
certified partners and customers.
Once ndToolkit is opened, it will automatically prompt you to log in. Use your NetDocuments
username and password. The login page may prompt you to install the ActiveX, but this can be
ignored.

You will also be asked for an “access


password”:

3
ndToolkit Guide Installati

This password is supplied to you by NetDocuments and is used in addition to your NetDocuments
username and password. This password controls your access to certain functions in ndToolkit,
whether you are a certified NetDocuments partner, customer or a NetDocuments employee.
Default Cabinet
After logging in, you will be prompted to select the default cabinet in which to work. This can be
changed at any time later, but generally, you will work within a single cabinet for a given project.

Log Location
The first time you install ndToolkit, you will be asked to select or create a logs folder.
Prior to performing any task in ndToolkit, you will need to designate a local location in which to store
the CSV files for your projects. This becomes the default location for saving and opening your CSV files
as you work.
These files can be organized by an organization (or client), and each company may have multiple
projects.
To do this, select a root-level folder under Logs. This may perhaps be a folder called “ndToolkit Project
files” on your Desktop.

Under Company, select a name for a sub-folder under the Logs folder. This might be the client for
whom you are working. You can add multiple locations among which you may choose from later.
Under Project, select another subfolder for a particular task or project for the selected Company. This
level is optional; you can ignore any subfolders under the Company level.
An example folder path for the Log location may look like this:
Project Files > John and John Law Firm > Access Change
It is also recommended that you use a consistent naming convention for naming the log files. Save the
files as new files at various stages of each project to create an audit trail. This will help you identify
and correct errors.
By default, ndToolkit will prepend the number of rows to the name of each CSV file. Under Settings,
you can disable this feature.
Quick File Selector
There is a built-in Quick File Selector that can be used instead of the standard Windows Explorer
selection dialog. To enable this setting, go to Settings > Use Quick File Selector.

4
ndToolkit Guide Installati

NOTE: When working with CSV files, ndToolkit treats them and saves them as UTF-8 formatted files. If
the user provides ANSI files, then they will not work correctly for any extended characters (foreign
letters, etc.).

Navigation
The main window of ndToolkit looks like this:

The main window in ndToolkit contains various panes that will display the status of the task you are
performing. Successful results will display in the “Success” pane, along with the elapsed time and
process rate. Any errors encountered will display in the “Errors” pane.
There are four main components of ndToolkit –
1. The main ndToolkit window – allows you to start a task, and monitor it while it processes, and view
the results. You can access all the other windows and menu items from this main window.

2. The Search window – allows you to execute searches to find a list of objects to work with. These lists
are saved as CSV files.

3. The CSV window – allows you to view and manipulate CSV files for your project. CSV files act as both
input and output for various tasks.

4. Task windows – various windows allow you to execute certain tasks using the CSV files. The task dialog
may differ slightly depending on the task.

These windows are described in greater detail throughout this document.

5
ndToolkit Guide Usage Guid

Usage Guidelines
The performance of ndToolkit (and by extension the NetDocuments Service) is a function of the type
of task being performed, the number of documents/items being processed, the speed of the task, and
the current load on the system in general.
For larger, more ‘expensive’ tasks, you should plan to do these outside of business hours or
weekends, when system usage is low.
If are you changing data, follow the guidelines below.
Anything that makes a change is much more expensive than something that does just a read.
For example, ACL updates make a change to the metadata of the documents, where Get
Attributes just does a read.
As a general rule, we should limit the number of changes we make to under 4M per day. This is
excluding imports. You can import a million docs a day and use the toolkit to change 4M in a
day fine, but much more than that and we risk putting a serious strain on the indexing
infrastructure.
Filing documents into folders falls into the category of a change.
Speed:
When it comes to rates or speed - even if only 100k docs need to change, if you do those 100k
at 500 per second, you're going to run into serious problems. So in general, limit the number
of threads and/or add a pause such that you're only changing documents at a rate of 100 per
second or less.
And if two people are running toolkit at the same time, then you should each run at no more
than 50 per second, or four users at 25 per second, etc.
The only general guidelines are a maximum 4mil changes per day and no more than 100 per
second if we can stick to that then we should be fine for the foreseeable future.
25-30 threads with 250ms pauses will run at about 100 per second, just as a rough translation
in terms we're familiar with for ndToolkit.
Remember:
If you are changing documents, limit the number of threads and/or add a pause such that you're only
changing documents at a rate of 100 per second or less.
If you are changing something other than documents (i.e., users or groups), go really, really slowly.
If you are retrieving attributes and NOT changing anything - go FAST!

6
ndToolkit Guide Frequently

Frequently Used Tasks


Specific ndToolkit tasks are described in detail in separate guides linked below. The Tasks section
below discusses tasks in general.
• Convert a List of Doc IDs to NEVs
• Creating, Removing, and Deleting Users and Groups
• Adding or Removing Users from Groups
• User and Group Lists
• Creating Workspaces
• Refresh, Reset, Delete Workspaces
• Set Workspace Description
• Mass Access Changes (Updating ACLs)
• Freeze or Thaw Document ACLs
• Get Lookup Table
• Query Lookup Table
• Mass Profile Changes (Set Profiles from Input File)
• Retrieve (Get) Attributes of Documents, Folders, or Workspaces
• File Items into Folder(s)
• Remove/Unfile Documents from Folder
• Delete or Purge Documents, Folders, Workspaces
• Undelete Documents
• Move or Copy Documents to another Cabinet
• Change File Extension on Documents/Emails
• Get Document History
• Rename Documents
• Export Documents
• Create Folders
• Import Documents Into Workspace Folders
• Move Folder to Parent (Set Parent Folder)
• Get Folder Path
• Get Folder Report
• Set Folder Default Sort Order
• Set Official Version
• Create Saved Search(es)
• Update Mail Properties
• Remove ACL Duplicates
• Disable Federated Identity for Listed Users
• Re-Index Documents

7
ndToolkit Guide Searching

Searching
Searching is generally used to retrieve a list of NEVs in order to perform a task on those objects. It can
also be used to audit the contents of a cabinet.
Using the Search window, there are threee main ways for retrieving a list of NEVs:
o From the search window
o From search criteria
o Range search

The Search button at the top will open the Search window. There, you will see the available search
options:

There are a number of ways to retrieve a list of NEVs. A few of the more common methods are
described below. The best option depends on the task you intend to run.

8
ndToolkit Guide Searching

Built-in Searches
Some searches are built into ndToolkit which allow for easy searching.
Find All (in the cabinet)
• This will search for all NEVs in the cabinet. The results will be automatically split into three CSV files –
workspaces, folders, documents.
• NOTE: Deleted items (but not purged items) will be included in this search. Before performing any
task(s) on the returned data, you may want to filter out deleted items.
• This will also return all file types, including filters and saved searches.

After running a Find All search, use Save As or Save All to save the CSV files to your log location.
All Workspaces
• This will find all workspaces in the cabinet.

All folders
• This will find all folders (ndfld) in the cabinet.

All Purged
• This will find all documents that have been purged. The Doc ID will be returned, not the NEVs.

Top Level Folders


• This will return a list of only the top-level cabinet folders.

Custom Search Criteria


You can create your own search criteria in ndToolkit, much like you can through the web UI.
Select attributes to search by from the “Avail Fields” column at the left. This will insert them into the
“Search Criteria” box at the bottom of the window, as shown below.
The field identifiers will be inserted into the Search Criteria box, with placeholders for the actual
criteria:

9
ndToolkit Guide Searching

Once your criteria is defined, select Run Criteria Search. The results will display in a CSV file.
See our Searching Guide for more information about creating search criteria.

Search Facets
select Narrow Your Results to further refine your search. This is similar to the Search Refinement
features available in the web UI. Learn more about Search Refinement.
In the example below, a broad search was run for all PDF files. The search was then refined by a
custom attribute called Document Type, showing a breakdown of how many PDFs are assigned a
particular Document Type:

Select one or more of these attributes to refine the criteria, then select Run Search again.

10
ndToolkit Guide Searching

You can also select Narrow Results before entering any criteria in order to return the facets for all
items in a cabinet.

11
ndToolkit Guide Searching

In the example above, 1639 items were returned in the cabinet. Among these, 100 different Names
were found, 23 Created By values, 87 Modified By values, etc.
NOTE: The facet search is currently limited to finding (and counting) only the top 100 used values for
any of the key fields. The future version (currently being worked on) will allow NetDocuments to get
all facets returned without limiting the search to the top 100.
Selecting a facet will display all of the values along with the number of items belonging to each value:

In this example, 447 saved searches were returned. Selecting a value, then selecting “CSV table” will
load the data into a new CSV window.
This can be useful when needing to get a count of items belong to certain profile fields or attribute
values, but when the actual NEVs are not needed.

Create Search Criteria using CSV Files


If you need to run a search for several values at once, it may be easier to use a CSV file. For example,
rather than running a Criteria Search for…
=1002( {1001} OR {1234} OR {1632} OR {1776} OR {1835} OR {1850} ) =11( doc OR docx OR
pdf )
…you can create a CSV file that contains rows for each separate search field and each value to be
searched. For example:

Search Criteria
=1002( {1001} )
12
ndToolkit Guide Searching

=1002( {1234} )
=1002( {11632} )
=1002( {1776} )
=11( doc )
=11( docx )
=11( pdf )
Create a CSV file with “Search Criteria” as the header of the first column. The rows in the column will
contain unique search criteria strings using OR logic between rows.

For example, this file will search for each of the specified values
in the 1002 field:

You can initiate the Criteria Search from the CSV file:

This will execute a search directly from the CSV window.


You can also use the Query Lookup Table task to generate a CSV file with search criteria. See
Frequently Used Tasks for more information.

13
ndToolkit Guide Searching

Range Search
You can run a search using multiple threads. This will break up the search criteria into a set of date
ranges, then produce a CSV file containing the date search criteria.
The first column in the CSV will be “Search Criteria” and can then be used as input to a search.

From the CSV file, go to Tasks > Get Files From Search Criteria:

14
ndToolkit Guide CSV Window

CSV Window
ndToolkit uses CSV files to store and process data about NetDocuments objects. These CSV files are
viewed through the CSV window. The CSV files act as input and output for various tasks.
The CSV window is often used to view or edit information extracted from a search, a GET attributes
task, or any other task. The content can be changed which can then act as the input for another task.
Ultimately, it does not matter which application is used to create or edit CSV files, although ndToolkit
offers many shortcuts for doing so. As long as the files are in the proper format.
Under the CSV menu on the main page there are several options.

View CSV
This option allows you to select an existing CSV file from your Logs location. It will display in the CSV
Window.
View CSV (using pattern)
This allows you to search for CSV files by entering a keyword. Files containing the keyword will be
returned.

Create New CSV


You can also create a new CSV file within
ndToolkit.
This option will ask you to enter the file
name, the names of the headers, and the
number of rows:

15
ndToolkit Guide CSV Window

Fix CSV Header


Use this option to edit a file’s headers without
having to open the entire file.

Select the file you wish to edit. You will see a list
of the column headers (if any). You can add a
header to the file, or rename an individual
column header.

Split CSV File


This can be used to split the file into separate files.

16
ndToolkit Guide CSV Window

To quickly split the file, double-click one or more rows, then select Split Now to split the file at that
row. The selected row will be included with the rows below it.
Use Intelli-Split to split the file based on:
• # of files
• Different sort values (breaks up the file based on each sort value)
• Every n record (row)

Quick Split File


Same as Intelli-Split (above), this option allows for quick splitting. If using Split at Set Record Location,
enter the record (row) number you wish to split at. The selected row will be included with the rows
above it.

---------------------------------------------

17
ndToolkit Guide CSV Window

Once a CSV file has been selected or created, it will display in the CSV Window. A typical CSV file will
look like this in the CSV Window:

NOTE: In contrast to a spreadsheet file, selecting a CSV column header in ndToolkit will sort the
column values, not select the column. To select or highlight a column in ndToolkit, select a cell in the
column, not the column header.

Re-Write Task Logs

Find Matching or Non-Matching CSV Items


Under the CSV menu, you will see two related options - Find Matching CSV Items and Find Non-
Matching CSV Items.
These are similar to a Join, where it will compare two CSV files and find either the matching values, or
non-matching values between them.
These options can be helpful for comparing the original supplied CSV file to a CSV file from a partially
completed task.

18
ndToolkit Guide CSV Window

The following dialog will display:

Here, you will select the two files you want to compare, name the resulting comparison, and
designate the key column.

Filtered Views
You can filter the column data by selecting the column header. Or, right-click for more filtering
options:

19
ndToolkit Guide CSV Window

Filter options appear in blue text above the column headers:

Click Save Filtered to save the records to a new CSV file.


Click Delete Filtered to remove the records from the original file.
Clicking New Filtered View will take the filtered results and create a new CSV file containing only
those values, and preserve the original CSV file.
Rerun Filters will re-apply the most recently used filtered view.

File Menu
Save top n records – choose the top n records (rows) to save to a new CSV file.
Load top n records – enter the number of rows to load into a new file, or load the top 1000 or
Split file – allows you to split the file, with an option to include specified columns or all columns from
the original CSV file.
Append – select another file to append to the existing file. If the column headers match, the rows will
be added from one file to another. The new file must be saved as a new file.

View Menu
View Duplicates – sort a column, then use this find duplicate values within a column. The resulting
CSV will only show those values that have a duplicate.
View Non-duplicates – the resulting CSV will show only those rows that do not have a duplicate (are
unique).
View Unique – this will show the unique values within just the selected column.

20
ndToolkit Guide CSV Window

Tasks Menu
Get attributes – This opens the Get Attributes task dialog.
Folder report – This opens the Get Folder Report task. Select a column of folder NEVs to run a folder
report on those folders.
Create folder table – Use this as an input for the Create Folders task. This requires a CSV with Parent
and Folder columns.
Get files from search criteria – If the file is formatted to be used as the criteria for a search, you can
initiate a Criteria Search from a CSV file:

This will execute a search directly from this CSV using the criteria defined in it. See Create Search
Criteria Using CSV Files above.
Create search list – Use this option to execute a CSV search from a selected column.

Post Menu
These actions create a new column with data about other columns. For example,

21
ndToolkit Guide CSV Window

Post Cell Lengths – Will add a new column with the total cell length for the values in the selected
column. I might have a column with document names. I select that column, then using Post
Cell Lengths, a new column will be added showing the character length of each respective row.
Post Average Values – This will average the numeric values of the row.
Post Cell Total Values – This will return the sum of the numeric values of the row.
Post Non-Standard Char Count – Counts the number of non-standard characters.

Join Menu
Join – Compare or combine files.
If two or more CSV files are open, Join will combine the files into one. You will be offered a preview of
the two files first.
Requires:
• The two CSV views to be open.
• The Join 'Data' view will be where the data is joined to.
• The Join 'Map' view will be where the data is joined from.
• The Join 'Map' view cannot have duplicate key records.

Steps:
1. Select 'Start Join' from the 'Join' menu.
2. Select the open 'Map' CSV view from the provided list.
3. Left-Click one or two key columns (cell not header) from the 'Data' view.
4. Left-Click one or two key columns (cell not header) from the 'Map' view.

22
ndToolkit Guide CSV Window

5. Right-Click the column(s) (cell not header) from the 'Map' view that you want joined into the ‘Data’
view.
6. Select 'Finish Join' from the 'Join' menu.
7. Remember to save changes to the 'Data' file if desired.

Results:
One or more columns from the 'Map' view will now be added to the 'Data' view.
Any record that had no matching key will have the value '*NONE*' in the joined column[s].

Columns Menu
The options under this menu deal with making adjustments to a specific selected column.
Split column – Define a string by which to split the column. You can split by the first or last instance of
the string, or by a number of string occurrences.
Set column value to – Sets all column values to a selected value. For example, change all Matter
values in the column to Matter 0078.
Replace string – Finds and replaces one value with another within a column. For example, change
Matter 0034 to Matter 0078.
Sort column – To sort a column, select the column header.
Merge column – Select two columns to merge.
Duplicate (copy) column – Copy a column
Segment split column – used to split folder path into individual folders -
Prepend/append value – Add a string value to the start or end of a column’s values.
Trim leading/trailing spaces – This will remove any spaces on either side of the column’s values.

An ‘Add New Column’ option is available when performing actions on columns that may require a
new column to be added before finishing the action.

Find Menu
From unique list – Will show a list of all unique values, and allow you to select one or more of the
unique values.
These options allow for further filtering and locating values in the CSV file.

Details Menu
This option will show details for the selected row, or the first row of the csv file.

23
ndToolkit Guide Tasks

This can be a simple way to Get Attributes for a single NEV.

The Details window has some quick filter buttons on the bottom of the window to allow you to view
just the fields (or type of fields) that you are interested in.
• All
o Click once to turn off (or on) all fields
o Then select just the type of fields that you want to view
• Basic
o File Name, File Extension, File Size, Checked out, Cabinet, Created info, Modified info
o Various folder info if the item being viewed is a folder
• CSV
o Fields that came from the current connected CSV window
• Misc
o Approved, Archived, Deleted, Echo, Hold, External, Off Locked, Signed, Favorite
• Profile
o Custom profile fields
• ACL
o ACL related fields
• Versions
a. Version related info

Tasks
24
ndToolkit Guide Tasks

There are a number of tasks that can be performed in ndToolkit. These are found under the “Task:
Select” menu. Related tasks are grouped together under the “Task: Select” menu.

Task Dialog Window


The Task Dialog is where you determine the input file to be used for the selected task and the
destination cabinet.
Depending on the task you are performing, the dialog window will look something like this:

The available options under the Task menu are as follows:

25
ndToolkit Guide Tasks

Input File – Select the data file to input into the task. Each task may have certain requirements
for formatting the CSV input file. Some tasks require multiple inputs.
Requires – This tells ndToolkit the data to look for in the input CSV file.
Cabinet – Select the cabinet in which to perform the task. The list of cabinets will display in
alphabetical order.
Threads # – The default is 55. Those with a partner access password will be capped at 34
threads. You can change this number to control how quickly you want to process the task. For
example, if set to 10 threads, it has the effect of logging in with 10 concurrent sessions to
process the task.
Help – Contains tips for the task you are working on.
View – Allows you to view the selected input file before beginning the task.
View Other – Allows you to view a different CSV file in your Logs location.

Running a Task
When the required inputs for a task have been selected, the task details will be displayed:

The number of threads, the cabinet, and input file, and log location can still be changed at this point.
Click Start Task to begin processing.
As the task is processed, you will see the number of items processed per thread, the total number of
items processed, the number of successes and failures, the elapsed time, the number of items
processed per second, the remaining time to completion, and total estimated task time.

26
ndToolkit Guide REST Works

Click Cancel Task to stop the task before it is completed.


Successes will be displayed in the green Successes section, and failures will be displayed in the red
Failures section. Click one of these bars to display those results in a CSV window.
Under Status, notifications will appear for certain tasks.
Color Codes
ndToolkit’s main task window will turn red when you select a task that involves high-risk activity.
These tasks include deleting items or replacing access.

REST Workshop
The REST Workshop is a small tool within ndToolkit that allows you to use custom REST API
commands. This is generally used for smaller REST projects.
See our API Documentation for more information.

Settings & Help


Connect
27
ndToolkit Guide Settings &

Login – Use this to log in to another user account.


Reconnect – If you lose your session, simply use this to reconnect without restarting ndToolkit.
Select Service – allows you to choose between our various services – the US data center (Vault), the
Europe data centre (EU), or the Australia data centre (AU).
Quit ndToolkit – manually logs you out of ndToolkit and closes the program.
Settings
Quick File Selector - There is a built-in Quick File Selector that can be used instead of the standard
Windows Explorer selection dialog. To enable this setting, go to Settings > Use Quick File Selector.
Auto Number Stamp CSV Files - By default, ndToolkit will prepend the number of rows to the name of
each CSV file. Under Settings, you can disable this feature.
Display Font - This allows you to change the font style and size for data in ndToolkit. This does not
apply to the menu items and navigation – only to the data displayed in the main window of ndToolkit.
Proxy Settings – Specify the proxy by seleting any of the three options: No Proxy, System proxy, or
HTTP proxy (for this option you must add Host and Port values). Default option is System proxy.

In the Host text box, specify the IP address or name of the proxy. Enter any valid host.
In the Port text box, specify the port of the proxy server. Possible values:
• 8080 (default)
• Any other valid port

Help
Help buttons are available throughout the product that provides tips for certain tasks.
View Help Support – takes you to the NetDocuments Support site.
View Help Direct – takes you directly to this document in a browser window.
View Hot Keys – Throughout the ndToolkit interface, there are keyboard shortcuts (hot keys)
available for the various menus and buttons. These hot keys can make things easier for you as you use
the tool. Go to Help > View Hot Keys to see all the shortcuts that are available.

28
ndToolkit Guide Settings &

29
ndToolkit Guide Glossary

Glossary
ACL - Access Control List. The list of users and groups and their respective access levels for a given
document, folder, or workspace.
CSV - A CSV is a file with comma-separated values which allows data to be saved in a table
structured format. CSVs look like a spreadsheet but they have a .csv extension (traditionally
they take the form of a text file containing information separated by commas, hence the
name).
Doc ID - A 12-digit unique identifier for objects in NetDocuments such as documents, folders,
workspaces, and filters.
GUID - A global unique identifier for items such as users, user groups, cabinets, and repositories.
Item - In NetDocuments terminology, “item” “file” and “document” are often used
interchangeably. In NetDocuments, a “document” can be a Word document, a PDF, an
image, or an email message. Regardless of the file type, these are all considered “items” and
so are treated the same. Folders and workspaces are sometimes erroneously called “files”
but they are only a file in the sense that items are “located” or filed into them. Documents,
folders, and workspaces all have a unique identifier ending in the NEV file extension. This is
the file extension used in the NetDocuments data centers. These NEVs are also called “files.”
NEV - The file extension for NetDocuments objects. Also known as an envURL, or URL. It typically
has this format:
/Q22/1/a/x/3/^W160919152931881.nev (^W denotes a workspace)
/Q23/l/5/b/b/^F180118181430989.nev (^F denotes a folder)
/Q18/d/i/2/m/~130418171315621.nev (~ denotes any other item)

30

You might also like