client-config.js

The following sections describe the client-side modules and properties in the client-config.js file in your project's src/main/resources/ folder:

For most of client-side properties, you can simply use the default values. For a description of the properties that should be changed for every application, see the Client Configuration topic.

NOTE: Values in the aperture.log and aperture.io sections of the client-config.js file are default settings for Aperture and should not be modified.

Plugin Views

Influent allows you to create your own plugin views that each appear as an additional tab in the application. For example, you may want to create a Map view that receives entity properties and displays them on a geographic map.

To create and display a plugin view, you must:

  • Create a custom plugin module
  • Edit the plugins section of the client-config.js file to specify

Plugin Module

An example plugin module, stubView.js, is available in the Kiva example application at kiva/src/main/webapp/scripts/.

client-config.js Settings

The influent.plugins section of your client-config.js file allows you to specify a require module that will be loaded on initialization and will be available to the plugin via this.module. Require will look for the module relative to the base URL for the app (typically in src/main/webapp/scripts/).

influent.plugins: {
    views : [
        {
            key : 'StubView',
            label : 'Stub View',
            icon : 'glyphicon glyphicon-heart',
            tooltip : 'View Stub View',
            stateless : true,
            module: 'stubView',
            view : function (type, propertyMatchDescriptors, element) {
                return this.module.onView(type, propertyMatchDescriptors, element)
            },
            receives : {
                entities: true,
                links: true
            },
            sends : {
                entities: true
            }
        }
    ],
    
}

Where:

Property Description
key Unique internal identifier for the view.
label Text that appears on the view tab.
tooltip Tool tip text for the operations bar button.
icon CSS class (or space-separated classes) of the icon that will appear on the operations bar button and view tab.

The core application views use Font Awesome icons.
stateless Indicates whether the view is able to reinstate its current view (i.e., on browser refresh) if the same match descriptors are supplied again.

For example, Influent's native Accounts view is stateless, while its Flow view is capable of accumulating content and is therefore stateful.
module Pathname of a require module to load on initialization.
view Function called when the tab is instructed to show that which is defined by the property match descriptors. The view function takes three parameters:
  • type: Property match descriptor type (entities/links)
  • propertyMatchDescriptors: Subject selection criteria. For more information on property match descriptors, see the Connect Your Data to Influent topic.
  • container: API object that exposes app functionality to the view.
receives List of property match descriptor types (entities, links) accepted by the view for this plugin.
sends List of property match descriptor types (entities, links) that this plugin sends to other views.

Toolbar

Each view determines whether to display a toolbar button for another view by comparing the property match descriptors the other view receives with the property match descriptors the view sends. If there is a match, the view will display a toolbar button for the other view.

Session Management

The session management properties control authentication, session length and restoration.

Property Description
useAuth Indicate whether to require users to log in to your Influent application before beginning any work. Influent has been designed to integrate with Apache Shiro to enable authentication.
sessionTimeoutInMinutes Number of minutes before an Influent session will time out. Defaults to 1440 (1 day).
sessionRestorationEnabled Indicate whether to enable restoration of the workspace across sessions. This feature is intended for debugging purposes; it is not recommended that you enable this feature for end users. Defaults to false.

Header

The Influent header contains information about the data source to which the application is connected and links to the developer and end user help.

Property Description
datasource Name of your Influent project as it appears in the header section of the application.

It is recommended you use the name of your data source for this value, especially if you are implementing more than one instance of the Influent application. In a secure environment, the banner can be used to display classification.

title Name of your Influent project as it appears in the title of the application (in tabs in the end user's Web browser and bookmarked links). It is recommended you use the name of your data source for this value, especially if you are implementing more than one instance of the Influent application.
help Location of the Influent end user help system. Defaults to http://localhost:8080/docs/user-guide.

Help files are included in the source code as a set of Markdown files that can be viewed on GitHub. Alternatively, you can use Jekyll to build a static site from the Markdown content.

If your end users have access to the Internet, you can also choose to point to the User Guide page on the Influent website.

about Location of the About Influent page. Defaults to http://localhost:8080/docs/about.

If your end users have access to the Internet, you can also choose to point to the About page on the Influent website.

aboutFlow Location of the help content that describes how to add accounts to the Flow view. A URL to this content is provided in the application when the Flow view is empty. Defaults to http://localhost:8080/docs/user-guide/investigate-flow/#add-accounts.

If your end users have access to the Internet, you can also choose to point to the context-specific help on the Influent website.

Additional header details can be edited in the branding.css file in src/main/webapp/theme/.

  • To modify the banner that indicates the scope of the source dataset, edit the value of the content property for the .banner-text:before selector.

Transaction Flow

The workspace is Influent's window for investigating accounts and their transaction flow. The transaction flow properties allow you to configure the default display properties of accounts in the workspace and limit the number of accounts that can be loaded at one time to optimize performance.

Property Description
dateRangeIntervals Edit or comment out the names of any of the default transaction flow period intervals:
  • P14D : '2 weeks',
  • P112D : '16 weeks',
  • P1Y : '1 year',
  • P16M : '16 months',
  • P4Y : '4 years',
  • P16Y : '16 years'
NOTE: Custom intervals are not supported, as this would require a change to the Influent Transaction database schema.
startingDateRange Specify one of the default transaction flow period intervals (P14D, P112D, P1Y, P16M, P4Y or P16Y) to display at the start of every Influent session.
defaultEndDate Specify the default end date for the transaction flow period shown at the start of every Influent session. Defaults to the current date.
dateFormat Specify the default date format (e.g., MMM D, YYYY) used throughout Influent.
timeFormat Specify the default time format (e.g., h:mma) used throughout Influent.
defaultShowDetails Indicate whether to display activity charts on account cards. Defaults to false.
objectDegreeWarningCount Number of branched accounts that trigger the following warning in the user interface. Defaults to 1000.

This branch operation will retrieve <# greater than objectDegreeWarningCount> linked accounts. Are you sure you want to retrieve ALL of them?

objectDegreeLimitCount Number of branched accounts that trigger the following error in the user interface. Defaults to 10000.

This branch operation would retrieve <# greater than objectDegreeLimitCount> accounts, which is more than the configured limit of <objectDegreeLimitCount>.

defaultGraphScale The default scale used on card Transaction History charts. Defaults to $0, meaning this is the largest value a bar in the charts can represent before being clipped. Once a user selects an account to highlight, the default is overridden by the highlighted account's transaction history.
promptForDetailsInFooter Indicates whether to display a dialog requiring user interaction to access the details of restricted entities. Defaults to false.

Search

The search properties let you control how Influent performs searches on entities and transactions and the format of the results.

Type Property Description
results maxSearchResults Maximum number of search results to return. Defaults to 50.
searchResultsPerPage Results are returned in a paginated list; this controls the number of results to display on each page. Defaults to 12.
advanced enableAdvancedSearchMatchType Indicates whether the all/any switches are available to users in the Advanced Search dialog. Defaults to false.
enableAdvancedSearchWeightedTerms Indicates whether the ability to weight search criteria is available to users in the Advanced Search dialog. Defaults to true.
advancedSearchFuzzyLevels Indicates the degree of similarity in search results returned when the is very like, is like or is vaguely like operators are used. Should range between 0 and 1, where higher numbers indicate more similarity to the supplied search criteria.
pattern usePatternSearchInFlowView Indicates whether pattern searching is enabled in the Flow view. Influent is designed to support behavioral query by example searches using services such as [Graph QuBE](https://github.com/mitll/graph-qube) created by MIT Lincoln Labs in collaboration with Giant Oak. Defaults to false.

Cards

The card properties control how cards, which represent individuals in your Entity database, are displayed within the Influent workspace.

Property Description
doubleEncodeSourceUncertainty Cards can be configured to indicate two dimensions of uncertainty:
  • How out of date the information is
  • How uncertain the source is

This property indicates whether both dimensions should be mapped from the same value. Defaults to false

.
iconMap JavaScript that controls the icons displayed on account cards in the Influent workspace. See the Client Configuration topic for detailed instructions on using this property.
iconOrder Specifies the order in which icons on cards should be displayed.