Structure of the Case event emitter JSON file

The JSON configuration file for the Case event emitter includes a source section to specify the object store for events, a filter section to specify what solutions are used, and an output section to specify the target location for retrieved events.

Source

The "input" field identifies the target object store that the emitter has to connect to for retrieving events.
"input": {
     "default" : { 
        "enable" : true,  
        "logicalUniqueId" : "8-character unique name",
        "dateSql": "20180801T002840Z", 
        "ceUrl": "http://ceServerHost:port/wsi/FNCEWS40MTOM",
        "ceObjectStore" : "Target object store to connect to",
        "ceUsername" : "Object store administrator name",
        "cePasswordBase64" : "Base64 encoded password"
     }
  }
The "input" field takes the following parameters:
"enable"
The value for the "enable" field must be true for the emitter to process the events from the source.
"logicalUniqueId"
The "logicalUniqueId" field must contain an 8-character alphanumeric string without underscores. This field represents the logical grouping of different emitters. In other words, all the emitters that use the same "logicalUniqueId" value are treated as a single group trying to emit the events from the Content Engine. This value is always required. While processing, the emitter keeps track of the events that are processed using the Content Engine Audit Processing Bookmark with a display name that is based on the "logicalUniqueId" field. Therefore, if the emitter is restarted and if the bookmark exists, the emitter processes the events from the last bookmark.
"dateSql"
The value of the "dateSql" field represents the creation date of the events. The emitter starts processing the events from that date. If a bookmark exists, the emitter ignores the "dateSql" field and processes the events based on the bookmark.
"ceUrL", "ceObjectStore", "ceUsername", "cePasswordBase64"
The values for the "ceUrL", "ceObjectStore", "ceUsername", and "cePasswordBase64" fields must match the values related to the Content Engine server that the emitter connects to for emitting the events.
Tip: To encode your password for the "cePasswordBase64" field, run echo -n <yourPassword> from a Linux (or Unix emulation on Windows) command line, for example $ echo -n yourPassword | base64 eW91clBhc3N3b3Jk.

Filter

To avoid sending events about a case solution that must not be processed, you must specify the name of each solution.
Attention: Add all the solutions you want to be processed before you deploy the Case event emitter.
"actions": {
    "default": {
      "type": "filter",
      "conditions": [
        {
          "match": {
            "source.icm.solution-name": "<The name of the solution whose events you want to be emitted>"
          }
        }
      ]
    }
  }
If you want to specify more than one solution, add a match block for each in the conditions array.
"actions": {
    "default": {
      "type": "filter",
      "conditions": [
        {
          "match": {
            "source.icm.solution-name": "<Solution Name A>"
          }
        },
        {
          "match": {
            "source.icm.solution-name": "<Solution Name B>"
          }
        }
      ]
    }
  }

Output

The "output" field defines where the emitter should push events to. Add all the properties that the Kafka producer documentation identifies as mandatory.
"output" : {
     "default" : {
       "enable" : true,
       "bootstrap.servers" : "A comma-separated list of servers",
       "sasl.mechanism": "PLAIN etc.",
       "topic" : "topic to use",
       "security.protocol" : "See the Kafka documentation.",
       "ssl.protocol" : "See the Kafka documentation.",
       "ssl.enabled.protocols": "See the Kafka documentation.",
       "ssl.endpoint.identification.algorithm" : "See the Kafka documentation.",
       "api_key" : "An api key if you use Kafka on IBM Cloud (previously known as Bluemix)."
     }
bootstrap.server
Details of the Kafka bootstrap server
topic
The Kafka topic to use
sasl.mechanism, security.protocol, ssl.protocol, ssl.enabled.protocols, ssl.endpoint.identification.algorithm
The security properties for Kafka. For more information, see the Producer Configs section of the Kafka documentation.
api_key
Set this property only if Kafka is used on IBM Cloud™.
For example:
"output" : {
     "default" : { 
      "enable" : true,
      "type" : "kafka",
      "sasl.mechanism": "PLAIN",
      "bootstrap.servers" : "localhost:9092",
      "topic" : "ibm-bai-ingress"
     }    
  }

For more information about the Kafka output type, see Configuring event output to Kafka.