Appendix B: app.config.json file - Titan - Foundation 25.1 - Foundation 25.1 - Ready - Perceptive Content - external - Perceptive-Content/Titan/Foundation-25.1/Titan-Installation-and-Setup-Guide/Appendix-B-app.config.json-file - 2025-07-21

Titan Installation and Setup Guide

Platform
Perceptive Content
Product
Titan
Release
Foundation 25.1
License
ft:locale
en-US

You can configure Titan by updating the app.config.json file. The following is a list of the sections available in the app.config.json file.

appInfo

The appInfo section specifies the application information for Titan.

Options

Attribute Description
name Specifies the name of the product.
logoUrl Specifies the path to the logo that displays when logging into Titan.
licenseUrl Specifies the path to the license text file for Titan.

Example

  "appInfo": {
    "name": "Titan",
    "logoUrl": "assets/logo.svg",
    "licensesUrl": "assets/licenses.txt"
  },

inactivityTimeoutInMinutes

The inactivityTimeoutInMinutes section specifies the amount of inactivity time, in minutes, that you want the system to wait before logging the user out of Titan.

Example

"inactivityTimeoutInMinutes": 30,

authConfig

The authConfig section specifies the options for configuration for validating Titan authentication.

Options

Attributes Description
issuer Specifies the full URL to the Hyland IDP instance.
clientID Specifies the clientId defined when configuring IDP.
scope Specifies the list of scopes to request when connecting to the Identity Provider.
redirectUri Specifies the URI to redirect to after authenticating with IDP.
postLogoutRedirectUri Specifies the logout URI to redirect users to after logging out of Titan.
requireHttps Specifies whether you want Titan to require https level authentication.
strictDiscoveryDocumentValidation Specifies whether all endpoints provided by the ID Provider discovery document share the same base URL as the issuer parameter.

Example

  " authConfig": {
    "issuer": "https://<idp-host>/identityprovider",
    "clientId": "titan-app",
    "scope": "openid profile",
    "redirectUri": "https://<app-host>/<subdirectory>",
    "postLogoutRedirectUri": "https://<app-host>/<subdirectory>",
    "requireHttps": true,
    "strictDiscoveryDocumentValidation": false
  },

loginSubtitle

The loginSubtitle section specifies the message that displays in the login dialog box.

Example

"loginSubtitle": "Click login to begin the login process through the identity provider",

loginLogoUrl

The loginLogoUrl section specifies the URL location for the logo that displays on the login dialog box.

Example

"loginLogoUrl": "assets/logo.svg",

displayModules

The displayModules section specifies which Titan modules to display on the home page of the application.

Default

The following settings display the default Titan modules on the homepage.

Options

Attribute Description
id Specifies the module to display. Options are Capture, CaptureIndexing, Documents, Folders, Tasks, and Workflow.
enabled Specifies whether you want the module to display on the Home page. The default is true.

Example

    "displayModules": [     
  { "id": "Capture", "enabled": true },     
  { "id": "CaptureIndexing", "enabled": false},     
  { "id": "Documents", "enabled": true },     
  { "id": "Folders", "enabled": true },     
  { "id": "Tasks", "enabled": true },     
  { "id": "Workflow", "enabled": true }   
], 

Custom

The following settings allow you to customize which module tiles display on the home page.

Options

Attribute Description
name Specifies the custom tile you want to display on the Home page.
url Specifies the URL of the custom tile.
icon Specifies the name of the icon you want to display on the custom tile.

Example

  "displayModules": [     
  { "id": "Capture", "enabled": true },     
  { "id": "CaptureIndexing", "enabled": false },     
  { "name": "Custom Tile 1", "url": "https://someurl", "icon": "pin" },     
  { "id": "Documents", "enabled": true },     
  { "id": "Folders", "enabled": true },  
  { "id": "Tasks", "enabled": false }, 
  { "id": "Workflow", "enabled": true }, 
  { "name": "Custom Tile 2", "url": "https://someotherurl", "icon": "notepad" } 
],
Note:
  • All fields are required when using custom tiles.
  • The order set in the displayModules section is the order the tiles will display.

enableDelegate

The enableDelegate section specifies whether to display the delegate user list in the Out of Office pane to the logged-on user when an out of the office event is being enabled.

 "outOfOffice": {
      "enableDelegate": true
  }

appSettings

The appSettings section specifies the configuration options for the Titan application. The subsections are described below.

general

The general section specifies the general configuration settings for Titan.

Options

Attribute Description
pathDelimiter Specifies the character used to separate values in the path that displays the folder location.

Example

    "general": {
      "pathDelimiter": "\\"
    },

integrationServer

The integrationServer section specifies the configuration options for Integration Server.

Options

Attribute Description
url Specifies the URL for Integration Server.
applicationId Specifies the application ID that Titan uses for the Hyland Preferences Service.
bearerLoginProfileName Specifies the bearer token login profile name.

Example

    "integrationServer": {
      "url": "https://<is-host>/integrationserver",
      "applicationId": "titan",
      "bearerLoginProfileName": ""
    },

pageviewer

The pageViewer section specifies which audio and video file types are supported by Titan. If this section is not configured, Titan cannot play audio or video files.

Options

Attribute Description
supportedAudioFileTypes Specifies an array that maps audio file extensions to the corresponding mimeType.
supportedVideoFileTypes Specifies an array that maps video file extensions to the corresponding mimeType. i

Example

"pageViewer": {       
  "supportedAudioFileTypes": [         
   { "extension": "mp3", "mimeType": "audio/mp3" },         
   { "extension": "wav", "mimeType": "audio/wav" }       
],       
  "supportedVideoFileTypes": [         
   { "extension": "mp4", "mimeType": "video/mp4" },         
   { "extension": "webm", "mimeType": "video/webm" },         
   { "extension": "qt", "mimeType": "video/quicktime" },        
   { "extension": "mov", "mimeType": "video/quicktime" }       
  ]     
 }, 

documentViewer

The documentViewer section specifies the configuration options for the Document Viewer in Titan.

Options

Attribute Description
removeFormsPane Removes the Forms pane from the viewer.
removePropertiesPane Removes the Properties pane from the viewer.
useNativePdfViewer Specifies whether to use your system's native PDF viewer to view PDF documents.

Example

    "documentViewer": {
      "removeFormsPane": false,
      "removePropertiesPane": false,
      "useNativePdfViewer": false
    },

folderViewer

The folderViewer section specifies the configuration options for the Folder Viewer in Titan.

Options

Attribute Description
removeFormsPane Removes the Forms pane from the viewer.
removePropertiesPane Removes the Properties pane from the viewer.
removeRelatedFoldersPane Removes the Related Folders pane from the viewer.
removeRelatedTasksPane Removes the Related Tasks pane from the viewer.
canEditPageLabel Specifies whether the user can edit a page label.

Example

"folderViewer": { 
  "removeFormsPane": false, 
  "removePropertiesPane": false, 
  "removeRelatedFoldersPane": false, 
  "removeRelatedTasksPane": false, 
  "canEditPageLabel": true 
}, 

formViewer

The formViewer section specifies the configuration options for the Forms Viewer in Titan.

Options

Attribute Description
autoloadFirstForm Specifies whether the first form in the list displays by default when viewing the Forms pane.

Example

    "formViewer": {
      "autoloadFirstForm": false
    },

propertiesPane

The propertiesPane section specifies the configuration options for the Properties pane in Titan.

options

Attribute Description
name Specifies the display of the Name field in the Properties panes.
location Specifies the display of the Drawer or Path field in the Properties panes.
keys Specifies the display of the Field1 through Field5 fields in the Properties pane.
type Specifies the display of the Type field in the Properties panes.
notes Specifies the display of the Notes pane in the user interface.
customProperties Specifies the display of the Custom Properties pane in the user interface.
pageLabel Specifies the display of the page label in the user interface.
additionalPageMetadata Specifies the display of additional page metadata under Page Properties on the Properties pane in the user interface.

Example

"propertiesPane": {
      "displaySettings": {
        "document": {
          "name": "enabled",
          "location": "enabled",
          "keys": "enabled",
          "type": "enabled",
          "notes": "enabled",
          "customProperties": "enabled",
          "pageProperties": "disabled",
          "pageLabel": "disabled",
          "additionalPageMetadata": "disabled"
        }
      }
    },

search

The search section specifies the configuration options for the search functionality in Titan.

options

Attribute Description
enableFullTextSearch Specifies whether Full-text search is enabled for Titan.
vslExtendedOperatorsEnabled Specifies whether Titan adds the “contains” and “ends with” operators in the list of search operators.
vslAnyKeyConditionEnabled Specifies whether Titan includes the Any Document Key condition in the list of search conditions..
fullTextSearchHighlightTag Specifies how Titan identifies the highlighted keyword in the search result. The values of the default tags in OpenSearch to mark the highlighted terms are <em> and </em>, The value em must be retained till this value is changed from the server.
fullTextSearchHighlightFillColor Specifies the color of the highlighted keyword for raster pages such as TIF files. The existing color cannot be changed for text files.
excludeSearchFields Specifies what search properties Titan excludes from the list of search conditions. If no values are included in the list, then all search properties are displayed. Only values added to the list are excluded.
includedCustomPropertySearchFields Specifies what custom properties Titan includes in the list of search conditions. Only values added to the list are displayed. If the setting is not in the configuration file, or is set to undefined, then all custom properties are displayed. If the setting is defined with no values included in the list, then no custom properties are displayed.

Example

    "search": {
      "enableFullTextSearch": true,
      "vslExtendedOperatorsEnabled": true,
      "vslAnyKeyConditionEnabled": true,
      "fullTextSearchHighlightTag": “em”,
      "fullTextSearchHighlightFillColor":“#3288DE33”
      "document": { 
        "excludeSearchFields": ["[drawer]", "[field2]" ], 
        "includedCustomPropertySearchFields": ["Prop1", "Prop2"] 
}, 
      "folder": { 
        "excludeSearchFields": ["[drawer]"], 
        "includedCustomPropertySearchFields": ["Prop1"] 
}, 
      "folderContent": { 
        "excludeSearchFields": ["[drawer]"], 
        "includedCustomPropertySearchFields": ["Prop1"] 
}, 
      "task": { 
        "excludeSearchFields": ["[drawer]"], 
        "includedCustomPropertySearchFields": ["Prop1"] 
}, 
      "workflow": { 
         "excludeSearchFields": ["[drawer]"], 
         "includedCustomPropertySearchFields": ["Prop1"] 
     } 
   "captureIndexing": {   
     "excludeSearchFields": ["[drawer]", "[field2]" ],   
     "includedCustomPropertySearchFields": ["Prop1", "Prop2]      
     }       
},

documentPrinter

The documentPrinter section specifies the configuration options for the printer settings in Titan.

Options

Attribute Description
pageSize Specifies the paper size printed.
enableCoverPage Specifies if the cover page of a document is to be printed.
enableAnnotations Specifies if the annotations are printed.

Example

    "documentPrinter": {
      "pageSize": "Letter",
      "enableCoverPage": true,
      "enableAnnotations": true
    }

exportEmail

The exportEmail section specifies whether the user can email links to a document and what values are included in the email template.

Options

Attribute Description
to Specifies the email address of the recipient.
cc Specifies a carbon copy of an email when the user wants to include someone other than the direct recipient.
bcc Specifies a blind carbon copy of an email when the user does not want the other recipients to see who else is included in the email.
subject Specifies a subject of an email where the user can add a short description of the main content.
preBody Specifies the section where the user can add any content before a document or a workflow item link.
postBody Specifies the section on complimentary closure, such as “Thanks & regards”.

Example

   "exportEmail": {
      "document": {
        "to": "to_recipient@domain.com",
        "cc": "cc_recipient@domain.com",
        "bcc": "bcc_recipient@domain.com",
        "subject": "Perceptive Content Document",
        "preBody": "Below are links to the documents:",
        "postBody": "Regards,"
      },
      "workflow": {
        "to": "to_recipient@domain.com",
        "cc": "cc_recipient@domain.com",
        "bcc": "bcc_recipient@domain.com",
        "subject": "Perceptive Content Workflow Item",
        "preBody": "Below are links to the workflow items:",
        "postBody": "Regards,"
      }

capture

The capture section specifies the settings for the Titan capture module.

Options

Attribute Description
fileMaxFileSize Specifies the maximum file size, in MB, that you can upload when capturing a document. If the value is left blank then there is no maximum size limit.
toolkitDowloadLocation Specifies the URL of where to download the Perceptive Web Scan Toolkit installer if the toolkit is not detected.
postSaveScriptName Specifies the post-save iScript file.
profileNamesToSourceMapping Specifies mapping between a capture profile name and capture source identifier.
barcodeSeparatorMapping Specifies one or more regular expression patterns for identifying separator pages. If any barcode on the page matches one of the patterns, the page is flagged as a separator sheet and not saved. A new group is created and any application plan document keys (field1-field5) set to Barcode are cleared. The groupSeparation setting must be configured.
barcodeDocSplitMode Creates new group and clears any application plan document keys (field1-field5) that are set to Barcode when the page has no barcodes, and a previous page had a barcode. The groupSeparation setting must be configured.
groupSeparation Specifies group separation options.

blankPage - A new group is created for each blank image scanned. Source profile filters and blank page detection must be enabled in the source profile for blank pages to be detected.

eachScan - A new group is created on each capture or scan.

eachPage - A new group is created for each file captured or image scanned.

capture: { 
  "fileMaxFileSize: "5", 
  "toolkitDownloadLocation: http://127.0,0,1:8090/cloud/PerceptiveWebCapture.zip, 
  "postSaveScriptName: "post-save-actions.js" 
  "profileNamesToSourceMapping": [ 
    "/scan/i:scanner-source", 
    "/file/i:file-source" 
  ], 
  "barcodeSeparatorMapping": [ 
    "^T$|^3$|^HEADER.*" 
  ], 
  "barcodeDocSplitMode": false, 
  "groupSeparation": { 
    "blankPage": true, 
    "eachScan": true, 
    "eachPage": false 
     }, 


}; 

toolbarActionDisplaySettings

The toolbarActionDisplaySettings parameter specifies the conditional display settings for configurable toolbar actions based on the specific module and the screen size of a mobile device such as smart phone. You can apply these settings to various modules, including documents, capture, workflow, tasks, and folders. For instance, when configuring the document module, you can control the visibility of individual toolbar actions for different screen sizes, such as desktop and smallForm (mobile).

Refer to the following sample JSON configuration illustrating this setting:

Options

The following table lists actions that you can configure.

Modules Action Name
captureIndexing capture-indexing-batch-capture
capture-indexing-properties-panel-toggle
capture-indexing-thumbnails-display-type
capture-indexing-thumbnails-panel-toggle
copy-pages-clear
copy-pages-keep-index
copy-pages-keep-type-index
copy-pages-keep-type
copy-pages
new-from-selected
rescan-pages
send-to-submit
split-above-clear
split-above-keep-index
split-above-keep-type-index
split-above-keep-type
split-above
captureIndexing, document, folder, and task

save-document

captureIndexing, document, folder, task, and workflow apply-retention-holds
copy-document
create-actions
delete-item
download-document
export-email
export-grid
export-pdf-document
move-content
print-document
version-control
document, folder, and task

add-page

annotation-menu
digital-signature-menu
redaction-menu
document, folder, task, and workflow create-task
workflow-actions
folder view-location
folder and workflow save-folder

Example

"toolbarActionDisplaySettings": {
  "captureIndexing": {    
     "copy-pages": {     
            "desktop": { "isVisible": true }    
      },    
     "copy-pages-clear": {     
            "desktop": { "isVisible": true }    
      },    
     "copy-pages-keep-type": {     
            "desktop": { "isVisible": true }    
      },    
     "copy-pages-keep-index": {     
            "desktop": { "isVisible": true }    
      },    
     "copy-pages-keep-type-index": {     
            "desktop": { "isVisible": true }    
      },    
      "split-above": {     
              "desktop": { "isVisible": true },     
              "smallForm": { "isVisible": true }
      },    
      "split-above-clear": {     
              "desktop": { "isVisible": true },     
              "smallForm": { "isVisible": true }    
      },    
      "split-above-keep-type": {     
              "desktop": { "isVisible": true },     
              "smallForm": { "isVisible": true }    
      },    
      "split-above-keep-index": {     
              "desktop": { "isVisible": true },     
              "smallForm": { "isVisible": true }    
      },    
      "split-above-keep-type-index": {     
              "desktop": { "isVisible": true },     
              "smallForm": { "isVisible": true 
          }
      }, 
      "document": {
            "download-document": {
                    "desktop": {"isVisible": false},
            "smallForm": {"isVisible": true}
         },
         "create-task": {
      "desktop": {"isVisible": true},
      "smallForm": {"isVisible": true}
      }
    }
  },

outOfOffice

The outOfOffice section specifies whether to display the delegate user list in the Out of Office pane to the logged-on user when an out of the office event is being enabled.

Attribute Description
enableDelegate Specifies whether to display the delegate user list.

Example

    "outOfOffice": {  
      "enableDelegate": true  } 
    }

captureIndexing

The captureIndexing section specifies the settings for the Capture and Indexing module.

Options

Attribute Description
batchContent Specifies the summary of batch contents as "2 documents, 5 pages."
creationDate Displays the date when the batch was created.
numDocs Specifies the total number of documents in the batch.
numPages Displays the total number of pages across all documents in the batch.
priority Specifies the priority level assigned to the batch. It is fetched from the priority on the workflow queue where the batch is currently located.
workflowQueueName Displays the name of the workflow queue where the batch is currently located.
workflowQueueStartDate Displays the date and time when the batch entered the current workflow queue.

Batch

The batch section specifies options used in batch indexing.

Attribute Description
confirmPageDeletion Specifies if users should be prompted to confirmation when deleting a page. The default is FALSE.

captureProfileMapping

The captureProfileMapping section defines rules for filtering capture profiles. Only capture profile names matching one of the regular expressions will be displayed in the application.

The filters are regular expressions that are matched to capture profile names. Multiple regular expressions can be defined, a capture profile displays when its name matches any of the regular expressions.

documentDefaultType

The documentTypeList section specifies the default document type to use when indexing if document type is cleared.

documentTypeList

The documentTypeList section specifies one or more document type list objects. Each document type list object is keyed by the document type list name in Perceptive Content. In the Capture and Indexing application, indexing rules can be defined for each document type via a document type list.

Option

Attribute Description
applicationPlan Specifies the manual application plan name that defines the indexing scheme for a document type. You can configure specific document types to contain no indexing information, by setting the application plan to an empty value. You can also define an application plan to use for indexing and validation. This option does not require external lookups for indexing fields.

originDrawerMapping

The originDrawerMapping section defines mappings for origin to drawer. It allows capturing to a specific drawer based on the selected origin. The system uses this mapping if a match is not found under the application plan’s originDrawerMapping. The origin can be a partial match.

Attribute Description
applicationPlan Specifies the manual application plan name that defines the indexing scheme for a document type. You can configure specific document types to contain no indexing information, by setting the application plan to an empty value. You can also define an application plan to use for indexing and validation. This option does not require external lookups for indexing fields.

originMapping

The originMapping section contains filter rules for each capture mode. The filter rules are regular expressions that are matched to origin names. If multiple regular expressions are defined, an origin displays when its name matches any of the regular expressions.

routeBatch

The routeBatch section defines the name of the iScript to route a batch after the capture process. The iScript expects the batchFolderId single input parameter and will then return four output parameters.

Options

Parameter Name Parameter Type
batchFolderId Input

“SUCCESS: <success message>” or “ERROR:

<error message>”

Output
workflowItemId Output
workflowQueueId Output
workflowQueueName Output

submitBatch

The submitBatch section specifies the iScript to be invoked after the batch is completely indexed and submitted for processing. The iScript expects three input parameters and returns two output parameters.

Options

Parameter Name Parameter Type
workflowItemId Input
batchFolderId Input
username Input
status: SUCCESS or ERROR Output
error message Output

workflow

The workflow section specifies the options used in the workflow process.

Options

Attribute Description
openNextItem Specifies the next action after submitting or routing a batch. If set to true, the next available batch in the queue is fetched automatically and opened for indexing. If not set or set to false, the current queue is displayed. The default is FALSE.

workflowProcess

The workflowProcess section specifies a set of configurations for each workflow process that should appear in the Capture and Indexing Module. Only processes configured in this section are displayed in the Capture and Indexing module.

Custom Properties

Custom Properties can be displayed in batch header except Array and Composite. The editable fields are displayed based on the user permissions, ensuring secure and role-based access. The following is a configuration for Custom properties.

{{ 
{{{ "customPropertyName": "<property_name>", 
      "label": "<display_label>", "isEditable": true }}
}}}

Flexible Layout:

The columnsPerRow parameter allows users to define how many fields are displayed per row in the batch header in Desktop mode. When more than six fields are configured in each row, fields are split to the next row for an organized display. In smartphones and tablets, users can navigate to Batch Information to view the details.

Batch Header Validation:

This configuration prevents combining fields with custom strings and spacing to ensure values are accurate for the displayed field.

Options

Attribute Description
enableValidation Specifies if validation should be enabled or disabled in the batch view. The default is TRUE.
properties Specifies the map of properties to strings.
properties[Key ID] Specifies whether the doc key is enabled, disabled, hidden, or disabledAllowLookups.
properties.customProperties [custom property name] Specifies whether the custom property is enabled, disabled, hidden, or disabledAllowLookups.

workflowQueue

The workflowQueue section specifies a set of configurations used when processing a batch, based on the queue from which the batch is opened.

Options

Attribute Description
enableValidation Specifies if validation should be enabled or disabled in the batch view. The default is TRUE.
properties Specifies the map of properties to strings.
properties[Key ID] Specifies whether the doc key is enabled, disabled, hidden, or disabledAllowLookups.
properties.customProperties [custom property name] Specifies whether the custom property is enabled, disabled, hidden, or disabledAllowLookups.

Example

 "captureIndexing": {     
   "batch": {         
       "confirmPageDeletion": false     
   },     
   "captureProfileMapping": [         
   "/^CI.*/", "HIM” ]    
"defaultDocumentType": "Unindexed Document Type"    
"documentTypeList": {         
      "Unindexed Documents": {             
           "applicationPlan": ""         
      },
      "Manager Review Documents": {             
          "applicationPlan": "Manager Review"         
      },         "Manager Review Documents2": {             
                     "applicationPlan": "Manager Review csn mrn"         
      }     
"originDrawerMapping" : {         
    "North": "NorthDrawer",         
    "South": "SouthDrawer"     
   }     
   "originMapping" : ["^IC"]     
   "routeBatch" : {         
           "serverAction" : "CI_RouteBatchFolder.js"     
   },     
   "workflow": {         
       "openNextItem": true     
   },     
   "workflowProcess": {         
        "CnI WF": {           
           "enableValidation": false,           
           "properties": {             
              "field1": "disabledAllowLookups",             
              "field5": "disabled",             
              "type": "disabled",             
              "customProperties": {               
                "Date": "disabled",               
                "Flag": "enabled"             
                }           
             }         
          }     
   },     
   "workflowQueue": {         
       "1 QA": {           
         "properties": {             
           "field1": "enabled",             
           "field2": "disabled",             
           "type": "enabled",             
           "customProperties": {               
              "Flag": "disabled"             
           }           
        }         
    },         
    "North (1 QA)": {           
      "properties": {             
        "field4": "hidden",             
        "type": "disabled",             
        "customProperties": {               
           "Flag": "disabled",               
           "List": "hidden"             
       }           
    }         
  }