Non-scheduled import options

You can import data into iManage SPM as required, using iManage Generic Migration. This feature-rich solution  involves the staging data from a source repository (SQL database) and then using the tool which creates and processes XML load files into iManage SPM. For more information about this tool, refer to the guide for that tool, available at iManage Security Policy Manager - Generic Migration Guide 10.x – iManage Help Center

You can also use the unscheduled import tool, import.exe, which supports direct XML import. This section describes the use of that tool.

Using the Import.exe tool option

Overview of Import.exe tool

You can manually add Users, Groups, Clients, Matters, Collections, Holds and Opposing Team Sets, Notification Events, Self-Maintaining Rules, and more, through the iManage Security Manager Administration console, or import them from source systems on a non-scheduled, ad hoc basis.

To import such items into SPM—for example, in bulk—you can use the unscheduled import tool import.exe.

NOTE: For information about scheduled imports, refer to Select data sources and import types and Set up scheduled data import.

The import.exe tool is available in the iManage Security Policy Manager Cloud Import <version number>.zip file that you can download, as the iManage Security Policy Manager Cloud Import package from the latest iManage Security Policy Manager Cloud Service Update page.

You can use import.exe to import the following in XML format:

  • Users and Groups—including Roles

  • Clients

  • Client Groups

  • Matters

  • Cases

  • Collections

  • Holds

  • Opposing Team Sets

  • Notification Events

  • Notification Templates (global)

  • Self-Maintaining Rules

Additionally, it has advanced usage capabilities, such as Export and Verify. import.exe is leveraged when scheduling an LDAP or ODBC import, but can be run from the command line for non-scheduled imports.

NOTE: Client/matter import relies on matches by Client ID/Matter ID. It's critical that you consider the impact of swapping (through renaming) Client IDs and Matter IDs in source systems.

The format of the import XML file is described by import.xsd which is available in the same Import folder as import.exe. A sample XML file is also provided.

For specific information about applicable import syntax (arguments), common import scenarios, and nomenclature mapping for relevant items, refer to Import Syntax (Import Arguments) and Common Scenarios.

Import syntax (import arguments) and common scenarios

This section contains syntax (arguments) which can be applied when performing import or scheduled import (synchronization) using the import.exe tool. 

Examples of syntax applicable in common scenarios are also provided.

Mapping of import XML nomenclature is provided for terms which differ from equivalent user interface terms. This isn't intended to be a comprehensive XML terms glossary—as most items are self-evident, or available in the sample XML—but to provide clarity on terms which may not be obvious because of their difference from standard iManage SPM (user interface) terminology.

Import arguments

Table: Import arguments

Argument

Description

-h | --help

Use this to display up-to-date argument information for use with import.exe.

-s | --server [SERVER_URL]

<iManage Security Manager Server URL>: <port>

Example: -s https://localhost:8080

-u | --username [USER_NAME]

User name for logging into iManage Security Manager Server

Example: -u SPMAdmin

-p | --password [PASSWORD]

Password that accompanies the Username

Example: -p password

-x | --xmlfile [XML_FILE]

The path to the XML file(s) that describe the information to be imported.

For example, -x sample.xml

Import of a batch of XML files is supported through the use of the * wildcard.

Example: -x odbc-import-xml\imanage-odbc-import*.xml

-lang

Language pack to be used for import.

Example: -lang fr-FR

--mode [ xmlimport | odbcimport | ldapimport | verify | export ]

import.exe has multiple capabilities or operating modes. When --mode is not specified, xmlimport is assumed.

Example: --mode xmlimport

  • xmlimport imports data described using XML.

  • odbcimport connects to an ODBC source system to extract user, group, client and matter information into an XML format. This is used as step 1 for Scheduled ODBC Import.

  • ldapimport connects to an LDAP source system to extract user and group information into an XML format. This is used as Step 1 for Scheduled LDAP Import.

  • verify compares the information described in XML with the iManage Security Policy Manager system.

  • export extracts information from the iManage Security Policy Manager system. This feature is especially useful when removing obsolete information after a full sync. For example, if you specify a sync-tag and sync-version when performing a full sync, you can then extract items that have the sync-tag but a lesser sync-version for removal.

--sync-tag [SYNC_TAG]

--sync-version [SYNC_VERSION]

When importing, import tags each item with the tag and version specified. Outdated data can be exported using this data.

Example: --sync-tag govern --sync-version 1

--errors-xml  [ERRORS_XML]

This option can be used to supply a custom error XML file name.

--generate-full-xml-only

--generate-remove-xml

Generate XML and don't perform any actions. This option is used in Step 1 for Scheduled ODBC Import and Scheduled LDAP Import.

Generate XML that can be subsequently used with the xmlimport mode to remove items.

--exclude-users-and-groups

Don't export users and groups.

--exclude-clients-and-matters

Don't export clients and matters.

--retry-count [RETRY_COUNT]

This specifies the number of batch failures allowable in an import run. The default value is 10. If the value is exceeded, the import will stop.

In typical circumstances, this value doesn't need to be adjusted. However, if the log files indicate that import has retried 10 times already—for example, because of intermittent network availability, you can increase the value.

Common import scenarios

Table: Common import scenarios

Scenario

Command

Common arguments

-s [SERVER_URL] -u [USER_NAME] -p [PASSWORD] 

XML Import

import [common_arguments]  -x [IMPORT_XML_FILE] --sync-tag [SYNC_TAG] --sync-version [SYNC_VERSION]

Verify import data and stored data are an exact match

import [common_arguments] --mode verify -x [IMPORT_XML_FILE]

Export all data

import [common_arguments] --mode export -x [XML_FILE]

Export all data matching specified sync tag

import [common_arguments] --mode export -x [XML_FILE] --sync-tag [SYNC_TAG]

Export all data matching specified sync tag where the version is less than specified

import [common_arguments] --mode export -x [XML_FILE] --sync-tag [SYNC_TAG] --sync-version [SYNC_VERSION]

Export users and groups only

import [common_arguments] --mode export -x [XML_FILE] --exclude-clients-and-matters

Export clients and matters only

import [common_arguments] --mode export -x [XML_FILE] --exclude-users-and-groups

Export items to be deleted

import [common_arguments] --mode export -x [XML_FILE] --generate-remove-xml

Client time and billing

When adding time and billing information to a client, ClientId is not a recognized parameter. Instead, use ClientMatterId with a blank matter ID, for example:

<Activity MatchIdBy="ClientMatterId" ClientId="0001" MatterId=''>

XML nomenclature clarifications

The table below clarifies XML terms, which differ from how the imported items are displayed in iManage SPM (user interface).

NOTE: This isn't intended to be a comprehensive XML terms glossary—as most items are self-evident, or available in the sample XML—but to provide clarity on terms which may not be obvious because of their difference from standard iManage SPM (user interface) terminology.

Table: Import XML nomenclature clarifications

Import area

XML name

User interface item

User interface name

<NotificationEvents>

 ASSET_CONFLICT_REMOVE

Notification event

Conflicted Users - User(s) Removed

<NotificationEvents>

 ASSET_CONFLICT_REMINDER

Reminder notification

(This type of notification isn't named in the user interface, but is created using  the Send a reminder... check box of Conflicted Users - User(s) Added notification events.)

<NotificationEvents>

 ASSET_SECURITY_OPEN

Notification event

Security Changed from Restricted to Open 

<NotificationEvents>

 ASSET_SECURITY_RESTRICTED

Notification event

Security Changed from Open to Restricted 

<NotificationEvents>

 HOLD_CUSTODIAN_ADD

Notification event

Custodians - User(s) Added 

<NotificationEvents>

 HOLD_CUSTODIAN_REMOVE

Notification event

Custodians - User(s) Removed 

<NotificationEvents>

 HOLD_CUSTODIAN_REMINDER

Reminder notification

(This type of notification isn't named in the user interface, but is created using  the Send a reminder... check box of Custodians - User(s) Added notification events.)

<NotificationEvents>

 OTS_USER_ADD

Notification event

Opposing Team Set - User Added to Set 

<NotificationEvents>

 OTS_USER_REMOVE

Notification event

Opposing Team Set - User Removed from Set 

<NotificationEvents>

 OTS_REMINDER

Reminder notification

(This type of notification isn't named in the user interface, but is created using  the Send a reminder... check box of Opposing Team Set - User Added to Set notification events.)