Posts Tagged ‘imanage’

As there is no notification with the iManage Email Filing Server when folder status turns from Succeeded to reset the folder , we use the following SQL Statement to notify us via email when there are problems


$PSEmailServer = "smptserver"
##SQL Query Function no SQL installs needed all powershell baby
function Invoke-SQL ($SQLServer, $SqlQuery) {
#Uncomment below to double check the statement
#Write-Host $SqlQuery
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Integrated Security = True"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
return $dataset.tables
$sqlresult = Invoke-SQL imanagesqlserver "select COUNT(1) from [imanagedatabase].[MHGROUP].EM_PROJECTS where ENABLED='Y' AND (STATUS=-1 or STATUS=-3)"
$DocGenCount = $sqlresult| select -expand Column1
if ($DocGenCount -gt 0 ) {
Send-MailMessage -From "" -to "" -Subject "EFS Problem Database Support" -Body "Current number of Issues $DocGenCount "


We recently got alerts through however logging into the Worksite Email Filing Server Management GUI there were no marked folders for resetting. This was due to the email address of the iManage user not matching the users filing email


GD Star Rating
GD Star Rating
Location of this file
Can you delete this file and it will recreate
Limit Size
You can also trim down the size of the .sdf file by applying theses reg keys:
“CacheRows”=dword:0000012c = 45 days
“CacheHistory”=dword:0000002d = 300 rows
Disable Suggested Locations
You can disable default suggested locations from being displayed or selected. This prevents filing an e-mail to an incorrect location because that location was selected by default. Set the following registry key to disable the display and selection of suggested locations from both the filing toolbar/task pane and the Select Filing Location dialog:
[DWORD value] DisableDefaultSuggestion


GD Star Rating
GD Star Rating

Worksite/Imanage Monitor can export a document list based on History using the History search but it’s limited in the way it can display comments as well as duplicate Document Numbers. Below is SQL of how to get this direct in SSSM

Change the WorksiteDB to your DB and APPName to your application

GD Star Rating
GD Star Rating

worksiteCreate a new File Server Location

In the worksite database management , go to File Serveron the Database and assign it a share with the imanage username full permissions

**Restart the Worksite Server Services to accept the new share


Change the a user who is an author of a document you want to move ( check on the existing fileserver or use monitor to check where the file is located ) to use the new file server for that database

Open that file and close it , this will initiate a move to the new fileserver


You can use the tool imRedDoc.exe ( Worksite Document Redistribution Tool) for this task. You can download this via the Worksite Support Site. You will need to download the correct version depending on your Imanage Worksite.

8.5 version can be downloaded through the WorkSite Resource Kit 8.5

Once downloaded, open the file usually found in C:\Program Files (x86)\Autonomy\WorkSite\Server\

Connect to the server with Admin credentials using WSADMIN permissions

Choose the database from which you would like to relocate the files

If you leave the Search Blank , it will do a Database level Search , to itemize this , do the below

Now in Worksite or Desksite create a Saved Search , but right clicking on a workspace in the correct Database and choosing New and Search Folder

Create a filter for this search e.g. this will usually be the creator of the document over a period of time. Create a name for the search and remember it

Go back to Worksite Document Redistribution Tool and enter this name into the Saved Search , click Validate to make sure the Search can be found

If you have specific documents flagged with a boolean value in one of the four document record boolean fields and want only these documents examined and updated, select the boolean field name from the Filter drop-down menu. CBOOL1 is selected by default. ( You can set this to blank if not )

Make sure you login to the Database Administration Tool and set the User’s fileserver to the new one

Click start, and you can see the files examined and files moved , and choose log to see this live

GD Star Rating
GD Star Rating

worksiteIn iManage , when you right click a folder or workspace and Choose New then either :

  • Microsoft Word Document
  • Microsoft Excel Document
  • Microsoft PowerPoint Presentation

It comes up with styles that are different to the users

The files are actuallycreated  spawned from files inside

C:\Program Files (x86)\Interwoven\WorkSite\New


You can copy Styles to these documents using

Word 2007/2010: Go to the Developer tab > Templates group, then click Document Template. (If you don’t have the Developer tab [see the Notes below], you can access the Organizer from the Manage Styles dialog box (see Notes) — click the Import/Exportbutton in the bottom left corner.)


  1. Select the tab for the type of object you want to copy — e.g. Styles orMacro Project Items. For this example, you’ll copy some styles from another document to the one you have open; the same method is used to copy macros.
  2. Click Close File below the right panel. (You would usually close as you want to copy from another document, not the Normal template.)
  3. Click Open File below the right panel. By default, Word opens your Templates folder and sets the file type as a Document Template (*.dot) file.
  4. If you’re copying from another document and not a template, change the Files of type to Word Documents (*.doc, *.doc*), then navigate to the folder where the document you want to copy the styles from is stored.
  5. Select the document you want to copy from, then click Open.
  6. The name of the file you selected displays in the Styles available in field below the right panel in the Organizer dialog box.
  7. In the right panel, select one or more styles that you want to copy. UseCtrl+click and/or Shift+click to select multiple styles. In the screen shot below, I selected two Table styles.
GD Star Rating
GD Star Rating

How to create a new iManage/Worksite Database

worksite1) Create new blank Databases on an SQL / Oracle Server and create or use existing iManage user full rights
2) Add these Databases to the ODBC Sources under Administrative Tools with correct credentials ( Make sure it’s 32bit C:\Windows\SysWOW64\odbcad32.exe ) 
3) Use Imanage Database Administrator to Register a new Database ( right Click on Worksite Databases and Click Register )
4) When it asks for Operating System Path , this is the file server location so point it to the file server e.g. \\imanagefilesvr\sharename
5) This creates all the tables and meta data in the table.
6) Once done open Worksite Service Manager and click the databases button
7) Choose Add Database
8) Find the ODBC Source and add a loginID and password.
9) Add indexing if needed e.g. IDOL Indexer as well as server name of indexer
10) Restart Worksite Server and check logs of connection sucessful

To configure WorkSite Indexer to index content from a new WorkSite library
1. Ensure that you have a backup of your index data.
2. Back up all WorkSite Indexer configuration files.
3. Start the Deploy Tool by running the deploy-8_5.bat file located in the
installation directory.
4. Specify a new output directory that does not overwrite any existing
configuration files.
5. Ensure that the settings that you used to deploy the WorkSite Indexer are still
shown in the Deploy Tool. If the settings are not shown, reconfigure the
Deploy Tool with the same settings that you originally used.
6. Select the Indexer tab.
7. Click Add to add another WorkSite Library. The Add Library Configuration
dialog box opens.
8. In the Add Library Configuration dialog box, type the new WorkSite database
and connection information, then click Test.
9. After the connection test has completed successfully, click OK.
10. Click Grey Cog (Regenerate configuration files). NOT Deploy ( Green Arrow)
11. When the deploy process is complete, click Done, and then close the Deploy
12. Stop the WorkSite Indexer services. See “Stop Individual WorkSite Indexer
Services” on page 88.
13. Navigate to the output folder you specified in the Deploy Tool.
14. If you have not made any additional manual configuration changes, you can
run the _deploy_services.bat file with the new configuration files. If you
have made manual changes to the configuration files, continue with Step 15.
15. Open the following new configuration files, and compare them to the deployed
versions from Step 1.
? WorkSite Connector.cfg
? WorkSite IDOL.cfg
? Worksite ContentN.cfg (if multiple Content servers exist, you must
copy all the configuration files)
? Worksite Active Content.cfg (if applicable)
? Worksite DiffTool.cfg
? Worksite Metadata Content.cfg (if applicable)
? Worksite Workspace Content.cfg (if applicable)
Add Content Servers
WorkSite Indexer Administration Guide 149

16. After confirming all configuration parameters, replace the existing
configuration files in your deployed directories with the new versions.
17. Restart the Indexer services. Use the Index Browser to ensure that the new
index database exists, and that the Indexer starts to process files from this
new WorkSite library.

How to Add Database to Communication Server

  • Add the Database to the Communication Service Properties with a user which is in NTRADMIN Group ( If this group doesn’t exist create it! ) and add user
  • Add the database to the Email Filing Server under Worksite Connect. You may need to stop the service to do this, and add on the end of Databases, Save
  • Restart the Communication Service and Filing Service
GD Star Rating
GD Star Rating


Currently you need to purchase imanage mobility server to be able to view NRL files remotely.

We had a request, for users to be able to email Worksite NRL links from any devices especially Mobile devices to an email address and it emails them back the document for review.

It looked like this site software could do it at one stage : , however it’s not going anymore , so we developed a Powershell Script to do this.

1) Create a mailbox in Exchange 2010 where you want to get emails sent to . e.g. Change the value below in the script MAILBOXWHEREREQUESTSGETSENT to the alias of the Email account

2)Under the Inbox create a Folder called Complete and Folder Called External

3)Give the user who will be running this script Send as as well as Full Permissions to mailbox

4)Replace below in script IMANAGESQLSERVERNAME to the SQL server of your iManage Database

5)Where you run this script make sure the user running the script has access to C:\Temp\

6)Add this script as scheduled task to check Mailbox

# Connect to Exchange server and load Exchange powershell modules
. 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'
Connect-ExchangeServer -auto
$mailAddress = $mailbox.PrimarySmtpAddress.ToString();
[Reflection.Assembly]::LoadFile("C:\Program Files (x86)\Microsoft\Exchange\Web Services\2.1\Microsoft.Exchange.WebServices.dll") | Out-Null
$s = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService([Microsoft.Exchange.WebServices.Data.ExchangeVersion]::Exchange2007_SP1)
$MailboxRootid = new-object  Microsoft.Exchange.WebServices.Data.FolderId([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::MsgFolderRoot,$mailAddress)
$MailboxRoot = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($s,$MailboxRootid)
# Get Folder ID from Path to be able to move
Function GetFolder()
	# Return a reference to a folder specified by path
	$RootFolder, $FolderPath = $args[0];
	$Folder = $RootFolder;
	if ($FolderPath -ne '\')
		$PathElements = $FolderPath -split '\\';
		For ($i=0; $i -lt $PathElements.Count; $i++)
			if ($PathElements[$i])
				$View = New-Object  Microsoft.Exchange.WebServices.Data.FolderView(2,0);
				$View.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep;
				$View.PropertySet = [Microsoft.Exchange.WebServices.Data.BasePropertySet]::IdOnly;
				$SearchFilter = New-Object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.FolderSchema]::DisplayName, $PathElements[$i]);
				$FolderResults = $Folder.FindFolders($SearchFilter, $View);
				if ($FolderResults.TotalCount -ne 1)
					# We have either none or more than one folder returned... Either way, we can't continue
					$Folder = $null;
					Write-Host "Failed to find " $PathElements[$i];
					Write-Host "Requested folder path: " $FolderPath;
				$Folder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($s, $FolderResults.Folders[0].Id)
$folderid = new-object  Microsoft.Exchange.WebServices.Data.Folderid([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$mailAddress)
$InboxFolder = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($s,$folderid)
$mails = $inboxFolder.FindItems(5) 
$mails | % {$_.Load()}
foreach($Item in $mails.Items)
	#block emails from outside of domain for security
	if($item.Sender.Address -like "*") {
	#only load items with attachments
	if($item.Attachments.Count -gt 0)
		#Create the email message and set the Subject and Body
		$message = New-Object Microsoft.Exchange.WebServices.Data.EmailMessage -ArgumentList $s
		#Go through each attachment
		foreach($attach in $item.Attachments)
			#Is it an NRL File?
			if ($ -like '*.nrl') {
			#If it it load it to temp location
			#Start Array for content for NRL
			$var = @{}
			#Get NRL file and store to array
			Get-Content -LiteralPath ("C:\Temp\" + $ | ForEach-Object {
				$list = $_.Split(':!')
				$var.Add($count, $list)
			#Get Variables from Array
			$database = $var[2][8]
			$docvalue = $var[2][11].Split(',')
			$docnumber = $docvalue[0]
			$docversion = $docvalue[1]
			#Remove NRL File
			Remove-Item ("C:\Temp\" + $
##SQL Query Function no SQL installs needed all powershell baby
function Invoke-SQL ($SQLServer, $SqlQuery)  {
	#Uncomment below to double check the statement
	#Write-Host $SqlQuery
	$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
	$SqlConnection.ConnectionString = "Server = $SQLServer; Integrated Security = True"
	$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
	$SqlCmd.CommandText = $SqlQuery
	$SqlCmd.Connection = $SqlConnection
	$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
	$SqlAdapter.SelectCommand = $SqlCmd
	$DataSet = New-Object System.Data.DataSet
	return $dataset.tables
#Get the Doc Details from Number
#Get the Location of file including imanage file server name
$docloc = $sqlresult| select -expand DOCLOC
$docloc = $docloc.Split(':')
$doclocsrv = $docloc[0]
#get the doc name to rename or it will be doc number
$docname = $sqlresult| select -expand DOCNAME
#get the doc type
$docfileextension = $sqlresult| select -expand APPEXTENSION
#Get the unc path of file to copy
$location = $sqlresult| select -expand LOCATION
$source = $location + $docloc[1]
$destination = $docname + "." + $docfileextension
$pattern = "[{0}]" -f ([Regex]::Escape( [System.IO.Path]::GetInvalidFileNameChars() -join '' ))
$destination = "C:\Temp\NRL\" + [Regex]::Replace($destination, $pattern, '')
copy-item $source -Destination $destination
$message.Attachments.AddFileAttachment($destination) | Out-Null
#End of NRL Loop
#End of For Each Attachment
#End of the if attachment exists
#Is the email being sent have any documents to send?
if ($message.Attachments.Count -gt 0){
	$message.From = “”
	$message.Subject = $item.Subject
	$message.Body = $msgBody
	#Send the message and save a copy in the users Sent Items folder (Alt is message.Send which will not save a copy.)
	if($item.Sender.Address -ne "")
#Move to Folder After Replying
$FolderObject = GetFolder($MailboxRoot, "\Inbox\Complete\");
		$Item.Move($FolderObject.Id) | out-null;
		Write-Host "Failed to move item", $Item.Id.UniqueId
Remove-Item c:\TEMP\NRL\*
#Loop per email
#Move to Folder After Replying
$FolderObject = GetFolder($MailboxRoot, "\Inbox\External\");
		$Item.Move($FolderObject.Id) | out-null;
		Write-Host "Failed to move item", $Item.Id.UniqueId


GD Star Rating
GD Star Rating

Please refer to below steps to relate one document to another.

Method 1

To relate documents together highlight one or more documents that you want related to the other document. Then press Ctrl-c on the keyboard to perform a copy.
Right click on the second document you want to relate the first document(s) to and select Document Info -> Related Documents.
The Related Documents window will appear. Press Ctrl-v to add the first document(s) to related documents window which will relate the documents together.
Close the related documents window when done. Please refer to attached images for more information.

Method 2

Right click on the first document you want to and select Document Info -> Related Documents. The Related Documents window will appear

Change the size of the Outlook window so you can see the related documents window behind it.
Drag and drop the one or more other documents to the related documents window to relate the documents together.

GD Star Rating
GD Star Rating

worksiteAfter an Indexer Server Veeam restore, the Worksite Connector/Crawler started but no log file updated, which meant it was in a stale state.

Stop the Worksite Connector Service

Go to the directory : Worksite Connector\actions\fetch

Delete fetch.queue file

Start the service back up

Check to make sure the log file location in Worksite Connector\logs\worksiteCrawler.log is updating

You might want to check the ingestion service log is also updating or you might need to clear the ingest.queue

If below does not work this might need to be done

  1. Stop all services.
  2. Ran _cleanup scripts from E:\Indexer\WorkSite Connector\ &  E:\Indexer\WorkSite Ingestion Server\
  3. Changed the time in this file E:\Indexer\WorkSite Connector\connector_DBNAME_datastore.db back to “m/d/yy” the date when the indexer stopped working. Please note this time is in “epoch” so you will need a timestamp converter.
  4. Started services.

To stop and start the services, there are 2 methods:

  1. Run the script in “IndexerInstallDrive\Indexer\_stop_services”, “IndexerInstallDrive\Indexer\_start_services”
  2. Log into the Autonomy Control Center “http://IndexerServerName:8080/controlCenter”. Default username and password – admin/admin. Once logged in you can stop and start all services in the GUI.


  Essentially when indexing, data flows in the following order:

  1. The WorkSite Connector service to crawl WorkSite databases servers.
  2. The WorkSite Ingestion service, which converts all files to the IDX format.
  3. The WorkSite Content service, which indexes all of the content and serves search requests.

  When troubleshooting indexer issues, the logs are key to identifying issues. I recommend you use ‘BareTail’ as this allows you to view the many logs as well as the changes to them, each component has at least 5 types of logs.

                Connector: componentinstalldisk:\Indexer\WorkSite Connector\logs

                Ingestion: componentinstalldisk:\Indexer\WorkSite Ingestion Server\logs

                Content: componentinstalldisk:\Indexer\WorkSite Content\logs


Here is a nice write up from Autonomy from when the client wants a better understanding about timing with the indexer:

1. Customer drags a document into WorkSite (~1-2 seconds, very minimal)

2. WorkSite Crawler crawls searching for new/updated documents during interval of time between each crawl. (takes a 1 minute rest between crawls)

3. Document is moved through Ingestion (~1-2 seconds, very minimal)

4. Document is moved through Active DIH (~1-2 seconds, very minimal)

5. Document is moved to Active Content, where every 15 seconds Active Content writes the data to disk making it available for search.

So the time for a new document to be indexed is a lot based on where the Connector and Active Content is on it’s interval. Potentially you could see a 1 minute 30 second delay, or potentially only a 30 second delay before searchable.

GD Star Rating
GD Star Rating

worksiteWhen renaming a user in iManage/ Worksite the logs show

“[Microsoft][ODBC SQL Server Driver][SQL Server]A cursor with the name ‘Store’ already exists

The trigger in the DOCMASTER Table contains a cursor called Store which conflicts with the stored procedure. Choose modify on the trigger and do a search and replace Store another variable e.g. StoreTrigger. Execute the trigger after to save and try again

GD Star Rating
GD Star Rating