...
ValueMappingConfiguration
DataSanitationConfiguration
ResetFieldsToDefaultIfEmptyConfiguration
DataFormattingConfiguration
DataAssemblerConfiguration
DataValidationConfiguration
PasswordConfiguration
AutoUserDeactivationConfiguration
UserImporterConfiguration
DataConsistencyCheckConfiguration:
"DataConsistencyCheckConfiguration" : {
}
Currently there is no configurations in this section here
ValueMappingConfiguration:
Code Block |
---|
"ValueMappingConfiguration": {
"FieldNamesWithMapping": [
{
"FieldName": "Rank",
"MappingMode": "Complete",
"MappingFileName": "ValueMapping-Rank.json"
}
]
} |
If a user field value needs to be mapped to a different value then this section can be configured. Value mapping is only available for OPFs.
...
Code Block |
---|
[ { "SourceValue": "Capt.", "TargetValue": "Captain" }, { "SourceValue": "Captain", "TargetValue": "Captain" }, { "SourceValue": "1st Eng.", "TargetValue": "First Engineer" }, { "SourceValue": "2nd Eng.", "TargetValue": "Second Engineer" } ] |
DataSanitationConfiguration
Sample Configuration:
Code Block |
---|
"DataSanitationConfiguration": { "FieldsToSanitize": [ { "FieldName": "DeptCode", "ReduceToSingleWhiteSpace": "true", "SanitizeValues": [ { "Original": "XT", "Replacement": "xt" }, { "Original": ",", "Replacement": "+" } ] } ] } |
...
SanitizeValues: It contains the original and replacement values for the field.
ResetFieldsToDefaultIfEmptyConfiguration
Sample Configuration
Code Block | ||
---|---|---|
| ||
"ResetFieldsToDefaultIfEmptyConfiguration": { "ResetFieldsToDefaultIfEmpty": [ "Vessel", "Rank", "EmbarkmentDate" ] } |
...
User scalar property (string): empty string (except any Primary Identifying Field)
OPF (single-choice-string): first choice
OPF (string): empty string
OPF (int): not supported yet (we don’t have a default value for int yet)
DataFormattingConfiguration
Sample Configuration
Code Block |
---|
"DataFormattingConfiguration" : { "FieldFormatting" : [ { "FieldName" : "DateOfBirth", "Type" : "DateTime", "InputFormat" : "MM-dd-yyyy", "OutputFormat" : "dd-MM-yyyy" } ] } |
Data formatting takes an input value and formats it according to the configuration. For every field which needs formatting the expected input format and output format is needed. The expected input format may be optional and depends on the data type. Above configuration shows formatting of a date field.
DataAssemblerConfiguration
Sample Configuration
Code Block |
---|
"DataAssemblerConfiguration": { "FieldConfigurations" : [ { "FieldName" : "OrgLoginId", "Segments" : [ { "IsField" : "true", "Value" : "Operating Line" }, { "IsField" : "false", "Value" : "-" }, { "IsField" : "true", "Value" : "OrgLoginId" } ] } ] |
...
For example, Above configuration adds a prefix to an user property "OrgLoginId" which consists of 3 different segments, “Operation Line” “-“ & “OrgLoginId“. If IsField=true, that means it will get the value provided in the csv, Otherwise whatever the value provided in the configuration value property it will consider that.
DataValidationConfiguration
Sample Configuration:
Code Block |
---|
"DataValidationConfiguration": { "IdentifierFields": [ "OrgLoginId" ], "CriticalFields": [ "Rank", "Vessel", "FirstName", "LastName" ], "RegularFields": [ "ContactEmail" ], "PasswordFields": [ "DateOfBirth" ], "FieldFormattings": [ { "FieldName": "LastName", "Type": "String" }, { "FieldName": "Vessel", "Type": "String" }, { "FieldName": "Rank", "Type": "String" }, { "FieldName": "OrgLoginId", "Type": "String" }, { "FieldName": "FirstName", "Type": "String", "Format": "Xn*" }, { "FieldName": "DateOfBirth", "Type": "DateTime", "Format": "dd-MM-yyyy" }, { "FieldName": "ContactEmail", "Type": "EmailAddress" } ] } |
...
Every field mentioned in System.Customer.Integrator.NIUserCsvIntegrator.CsvTranslations must exists in one of these types, also field formatting must be configured for each field.
PasswordConfiguration
Sample Config:
Code Block |
---|
"PasswordConfiguration": { "UseRandomPassword": "false", "PasswordFormat": [ { "Value": "Password", "IsField": "true" }, { "Value": "aA!", "IsField": "false" } ] } |
...
All the values inside the PasswordFormat will be concatenated for password. If IsField=true, that means it will get the value provided in the csv, Otherwise whatever the value provided in the configuration value property it will consider that.
AutoUserDeactivationConfiguration
Sample Configuration
Code Block |
---|
"AutoUserDeactivationConfiguration": { "MaxUsersToDeactivate": "500", "UserFilterFieldNames": [ "Rank" ] |
...
Also, Deactivation users count must be less than less than MaxUsersToDeactivate
UserImporterConfiguration
Sample Configuration
Code Block |
---|
"UserImporterConfiguration": { "BatchSize": "400", "MaxJsonLength": "4194304", "ExpireInitialPassword": "true", "ResetPasswordOnUserReactivation": "false", "UserImportMode" : "Partial", "Thresholds": [ { "Name" : "MaxUsersPerImport", "Value" : 1, "Action" : "GenerateWarning" }, { "Name" : "MaxDeactivateUsers", "Value" : 1, "Action" : "GenerateWarning" }, { "Name" : "MaxNewUsers", "Value" : 1, "Action" : "GenerateWarning" }, { "Name" : "MaxOrgProfileValueUpdates", "Value" : 1, "Action" : "GenerateWarning" }, { "Name" : "MaxReactivateUsers", "Value" : 1, "Action" : "GenerateWarning" }, { "Name" : "MaxInvalidUsers", "Value" : 1, "Action" : "None" } ] } |
...