Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
languagejs
  "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"
		}
	]
  }

...