Upgrade Data Uploader
Installation
Review the Hardware and Software Requirements for Data Uploader.
You must create a backup of the existing DU database before the upgrade. If you are not utilizing a dedicated SQL database for DU, then skip this step.
Make a backup copy of the current Data Uploader installation directory:
Note:
Verify the logs so that no DU upload jobs are running. If there are jobs running, wait until they are done processing. This is a required step, which may result in data loss if jobs are running during the upgrade.
End and disable DU Windows scheduled tasks (if applicable) to prevent them from running while the upgrade is happening.
Log into your CAM website.
Navigate to Administration
Click on Downloads and download the latest version of Data Uploader onto the server where DU is installed.
Note: Browsers typically block MSI and exe installers downloaded from the internet, which may interfere with the version upgrade. Unblock the DU msi installer by Right-click on the file properties.
Run the installation wizard.
Click Next. Keep the install folder path the same.
Click Next.
Note: The installation directory has changed slightly to “C:\Program Files (x86)\Prosperoware\CAM\Data Uploader\”
This version of the Data Uploader now requires that you enter a Windows Services domain, username, and password of the service account.
Click Install to begin the installation.
Once the installation is complete, click Close to close the wizard.
Updating the Configurations
The new Data Uploader application has replaced many of the previous configuration files with new config files. Since the following instructions for copying old configurations to the new files reference line numbers, we recommend using a program like Notepad++ or other tools that have line numbering available.
All configuration files are now in a directory under the install path called config located here:
C:\Program Files (x86)\Prosperoware\CAM\Data Uploader\service\config
If you have made any configuration changes to the following files, please follow the instructions below to copy your configurations to the new files. If you have not modified any of these files, you can skip this section.
ActiveDirectoryIntegration.config
Data.config
UserPropertiesMapping.config
SourceFilesConfig
ADMapping File
AppSetting.config
ActiveDirectoryIntegration.config > ADMapping.config
If you did not make any changes to the ActiveDirectoryIntegration.config, you may skip to section 2.
Open the backed-up ActiveDirectoryIntegration.exe.config file.
Copy the lines between the <configuration> and </configuration> tags.
Exclude lines
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
Paste the configuration in the ADMapping.config file between lines 2-51.
Use the commented lines 2-48 as mapping for AD. Samples are commented.
Use commented lines 49-51 as fields for AD. Samples are commented.
Active Directory Filter
The organization units in Active Directory contain multiple groups with multiple users.
Now you can filter the user from a specific group in a single organization unit. The supported property is the "memberof." The "memberof" property takes the group name as a value and operators (%% - contains and !% - not contains) that are used to help in the filter. These parameters return the list of the users who are present or not present in the specific group.
The following are examples of supported operators:
Contain (%%)
<ad-property name="memberof" value="testgroup" operator="%%" />
Not Contain (!%)
<ad-property name="memberof" value="testgroup" operator="!%" />
Wildcard
A wildcard is a character(s) that substitutes for another character or string of characters when searching a database.
Searching for values in the ad-property name property using a wildcard is now supported.
The following are examples of a supported wildcard:
<ad-property name="company" value="tes" operator ="s%"/>
In the above example,
ad-property name - represents the search value or string.
Value – represents character(s). It must be present in the search value or string.
Operator – represents the searchable value. It must come either at the start of the string (s%) or at the end of the string (e%)
Data.config >ADMapping.config
If you did not make any changes to the Data.config, you may skip to section 3. If you applied filters for users and groups in the Data.config file, you will need to recreate these manually in the new ADMapping.config as there have been some changes. There are instructions in the ADMapping.config on how to apply the user and group filters.
Open the backed-up Data.config file and note all the filters applied.
Recreate the filter logic between the <configuration></configuration> tags.
User.config >ADMapping.config
Open the backed-up User.config file
Copy the fields between the <fields> and </fields> tags to the same tags in the ADMapping.config (located at the bottom of the file before the </configuration> tag.
Read more on ADMapping.config.
SourceFilesConfig
This is a new configuration file that allows you to set a separate unique identifier for each of your provisioning scripts. Some content systems might support a matter index ID for a unique identifier, while others might only be able to support client and matter ID. This file configures the unique ID per script.
Open this file and update the uniqueId field. E.g. <uniqueId columns="clientId,matterid" source="CreateOrUpdateWorkspace.sql"/>
ADMapping.config
Sample Multivalueddatabase property value
<property name="Database" values="firstDatabase|secondDatabase|thirdDatabase" appliesTo="iManage"/>
Note: Multivalued database property is applicable only for the iManage system.
Sample SkipUpdateIfExists property value - iManage
<property name="SkipUpdateIfExists" values="true" appliesTo="iManage"/>
Sample SkipUpdateIfExists property value - M365
<property name="SkipUpdateIfExists" values="TRUE" appliesTo="Office365"/>
Note: Specify "SkipUpdateIfExists" property value manually only for M365.
Sample PreferredDatabase value
<property name="PreferredDatabase" values="WORKSITE2020" appliesTo="iManage"/>
Note: PreferredDatabase property is applicable only for the iManage external system.
Password flag Mapping
The property name “passwordExpired“ allows you to set the password expiration against user creation in iMange. Allows you to set password update on the first login after user creation in iManage using the property name “ForceUserToChangePassword“.
Note: passwordExpired and ForceUserToChangePassword properties are applicable only for iManage.
Sample Password flag Mapping
<property name="PasswordExpired" values="True" appliesTo="iManage"/>
<property name="ForceUserToChangePassword" values="False" appliesTo="iManage"/>
SQL Scripts
Copy the scripts from the C:\Program Files (x86)\Prosperoware\Data Uploader\sql file to the new. C:\Program Files (x86)\Prosperoware\CAM\Data Uploader\sql
Move any additional custom scripts to this SQL folder.
Note: Users and groups can be created using two ways, one by uploading the API or CSV file and two by using the AD.
AppSetting.config
It provides a new export option to allow you to exclude duplicate documents like emails from the iManage and NetDocuments system during export.
The following code snippet allows you to create a folder where all duplicate emails are present:
<"SkipDupeDetection" value="0" />
<"DupeDetectionType" value="1" />
<"DupeFolderPath" value="Duplicate" />
<"EmailProfileColumns" value=""MessageId#Name,DateTimeReceived,DateTimeSent" " />
The following code snippet allows you to skip all duplicate emails during export:
<"SkipDupeDetection" value="0" />
<"DupeDetectionType" value="0" />
<"DupeFolderPath" value="foldername" />
<"EmailProfileColumns" value="MessageId#Name,DateTimeReceived,DateTimeSent" />
Note: 1. DupeFolderPath" value="foldername
- Duplicate folder name value allows you to create folder name.
2. EmailProfileColumns" value="MessageId#Name,DateTimeReceived,DateTimeSent"
- The Email profile columns value includes “# - indicates OR operation“ and “, - indicates AND operation“.