iManage Server
Prerequisites
- Network service account
 
Note: A service account can only be used only with a single SmartHub instance at any one time.
Endpoints used
These are the iManage service endpoints that the backend uses:
- 
                                                    
AUTHORIZE ENDPOINT = {iManageServerURL}/auth/oauth2/authorize
 - 
                                                    
TOKEN EXCHANGE ENDPOINT = {iManageServerURL}/auth/oauth2/token
 - 
                                                    
API INFO ENDPOINT = {iManageServerURL}/api
 - 
                                                    
SEARCH ENDPOINT = {iManageServerURL}/api/v2/customers/{customerID}/documents/search
 
Required User Access and Authorization
- This search engine implements Federated Impersonation which means every user must log in for themselves.
 - You must configure the Federated Impersonation module to handle automatic user login before proceeding.
 -  The authentication flow is as follows:
- The user is redirected to iManage where he provides credentials to log in.
 - iManage redirects him back to SmartHub.
 - The user is provided only with the items for which he has access to in iManage.
 
 
How to Configure an iManage Search Engine
- Navigate to the SmartHub Administration page at: http(s)://<web-app-url>/_admin
- For example: http://smarthub.azurewebsites.net/_admin
 
 - For example: http://smarthub.azurewebsites.net/_admin
 - Go to the General Settings page
 - Add New Search Engine: Click the "Add New Search Engine" link to add your new iManage search engine.
 - Type: Select Regular.
 - Search Engine: Select iManage Server from the drop-down list.
 - Next, enter the Name and corresponding information in the appropriate fields. See the table below.
 
                                                
                                            
Use the following table:
| Property | Required? | Description | Default Value | 
|---|---|---|---|
| Server Url | Yes | 
                                                            
  | 
                                                        https://imanageserver1.domain.local | 
| Client Id | Yes | 
                                                            
  | 
                                                        |
| Client Secret | Yes | 
                                                            
  | 
                                                        |
| Always Exclude Emails | Yes | 
                                                            
  | 
                                                        Checked | 
Available Filters
WorkspaceId, Author, Type, EditDateFrom, EditDateTo, CreateDateFrom, CreateDateTo,
Custom1 to Custom20, Custom29, Custom30
                                                Additional filters can be added if considered relevant.