Optional Properties
The following properties are only necessary if the connector should create a Column Mapping for the iGrafx Project:
- columnMapping.create (Boolean): Specifies whether the connector creates the project’s Column Mapping (true/false). If set to true, all subsequent properties must be defined; if false, the following properties can be omitted.
- columnMapping.caseIdColumnIndex (Int): Index of the CaseId column (must be >= 0).
- columnMapping.activityColumnIndex (Int): Index of the Activity Column (must be >= 0).
- columnMapping.timeInformationList (String): Specifies Time columns in the format
{columnIndex;dateFormat}, separated by a comma if there are two columns. At least one and at most two columns must be provided. columnIndex should be an Int >= 0, and dateFormat should be a non-empty String. - columnMapping.dimensionsInformationList (String): Specifies Dimension columns in JSON format, with the following structure: columnIndex as an Int >= 0, columnName as a non-empty String, and isCaseScope as a boolean that indicates whether the column’s value is calculated for an entire case. Valid aggregations for Dimensions are "FIRST", "LAST", and "DISTINCT", specified with the aggregation parameter. If isCaseScope is set to true, an aggregation type is required; if false, aggregation is optional. When columnMapping.groupedTasksColumns is defined, each dimension must include the groupedTasksAggregation parameter, choosing from "FIRST" and "LAST".
- columnMapping.metricsInformationList (String): Defines Metric columns in JSON format. Each columnIndex should be an Int >= 0, columnName a non-empty String, and isCaseScope a boolean indicating whether the column’s value is computed for an entire case. For Metrics, valid aggregation types are "FIRST", "LAST", "MIN", "MAX", "SUM", "AVG", and "MEDIAN", as defined by the aggregation parameter. If isCaseScope is true, an aggregation type is required; if false, aggregation is optional. When columnMapping.groupedTasksColumns is specified, each metric must include the groupedTasksAggregation parameter, with options for "FIRST", "LAST", "MIN", "MAX", "SUM", "AVG", and "MEDIAN". Additionally, unit is an optional String parameter.
- columnMapping.groupedTasksColumns (String): Defines columns used for grouping events, formatted as a JSON List. If not specified, events are not grouped. If defined, at least one time/dimension/metric column index should be included. When this property is set, all dimensions (columnMapping.dimensionsInformationList) and metrics (columnMapping.metricsInformationList) must include a groupedTasksAggregation parameter.
- csv.endOfLine (String): Specifies the end-of-line character (minimum length 1).
- csv.escape (String): Defines the escape character (only one character).
- csv.comment (String): Sets the comment character (only one character).
Characters like {}, ;, and , used in formatting Time columns can be customized in the com/igrafx/kafka/sink/main/Constants file.
If csv.header is true and the connector creates a Column Mapping in the iGrafx project, then the headers in generated files will align with the Column Mapping column names. If csv.header is true but the connector doesn’t create a Column Mapping, headers will simply include csv.fieldsNumber - 1 separator characters, as defined by csv.separator.
The following properties should be defined only if you want the connector to log file-related events to a Kafka topic (see the Logging Events section below):
- kafkaLoggingEvents.isLogging (Boolean): Determines if the connector logs file-related events to a Kafka topic (true/false). If true, events will be logged to a Kafka topic; if false (the default), they won’t.
- kafkaLoggingEvents.topic (String): Specifies the Kafka topic name for logging events (minimum length 1).