Incorporating Fusion Signals in Appkit Applications

1 Add the Fusion Signals dependency

Signals tracking in Fusion requires the Fusion Signals module. To enable this module, insert this within the dependencies tag of your pom.xml:

<dependency>
      <groupId>twigkit</groupId>
      <artifactId>twigkit.activity.fusion-signals</artifactId>
      <version>${project.parent.version}</version>
</dependency>

2 Add fusion.conf to activity tracking resources

To access this module when Appkit starts up, create a fusion.conf file in resources/conf/activity/tracking/. In that file, configure the signals-endpoint. This is the REST-API endpoint that will ingest signal data into a signals collection. For example:

signals-endpoint: http://localhost:8764/api/apollo/signals/image_catalog
signals-index-pipeline:
commit: true
async: false
platform-config: platforms.fusion

Here, image_catalog is the name of a primary collection that will be used to generate an auxiliary collection consisting of activity tracking data.

When accessing Fusion using a service account, the parameter platform-config is required. This is the name of the Fusion platform configuration that includes the necessary parameters required for basic authentication. For example, if the configuration file for the Fusion platform, fusion.conf is stored in resources/conf/platforms/fusion/ then the platform-config parameter would be set as shown above. If, however, the configuration file for the Fusion platform was named myFusion.conf and again stored in resources/conf/platforms/fusion/, then the platform-config parameter would be platforms.fusion.myFusion. For quick reference, the platform configuration should contain these parameters to enable basic authentication:

impersonate: true
userName: joebloggs
password: Enc(<encoded password>)

For more information about how authentication is used when accessing the Fusion Signals endpoint, see the Authentication section below.

Several optional parameters are also provided as shown. The first, signals-index-pipeline, can be used to define an index pipeline that will to be used to convert the raw JSON signal data into a set of Solr documents. As stated in the Fusion Signals API documentation, if no pipeline is defined, then the preconfigured _signals_ingest pipeline will be used. Both the remaining two parameters, commit and async, are booleans. If commit is set to true, a Solr commit will occur at the end of indexing allowing a persistent record of the activity to be kept. If async is set to true, signals will be indexed in asynchronous mode. In this mode, an autoCommit is issued with each signal and failures are not reported. The default is false.