CoreOne Universal Connector Mappings

Introduction

In order to connect source attributes (let’s say the first name in SAP HCM) to a target attribute (let’s say the first name in the CoreOne Meta Directory) we have to configure a MappingConfiguration. There are rather simple ones where we simply map one attribute to another one and there are more complex ones where we also transform the data. This page describes the available mappings.

Mapping Types

There are two types of mappings, AttributeMappingand PropertyMapping. AttributeMapping are used to map to an attribute of an entity such as a first name of an Core Identity. Some entities have predefined properties that are not stored as attributes. To map those, you have to configure an PropertyMapping. An example for a PropertyMapping is the tenant on a Core Identity.

Attribute Mappings

Mapping Configuration

Description

Example

Mapping Configuration

Description

Example

FixObjectAttributeConfiguration

Can be used to map a target attribute to a fixed value.

new FixObjectAttributeConfiguration<string>(7, "johdoe")

SoureParameterAttributeMappingConfiguration

Can be used to map a target attribute to a source attribute

new SourceParameterAttributeMappingConfiguration(7, "sAMAccountname")

SwitchCaseAttributeMappingConfiguration

Can be used to map a target attribute to a fixed value based on the source value

new SwitchCaseAttributeMappingConfiguration(500044, "TwoFAMethode", new Dictionary<string, object> {{ "TOT Pin", true}}, false )

Property Mappings

Mapping Configuration

Description

Example

Mapping Configuration

Description

Example

ConcatCollectionPropertyMappingConfiguration

Can be applied to a source list and will return all values that match a criteria with the option to replace those values with new ones.

I.e. the source collection is a list of customers ids. If customer id 1000 is present in the list, return the customer name “BestRun”. Multiple of such conditions can be applied.

 

ConcatCollectionPropertyRegexMappingConfiguration

Can be applied to a source list and will return all values that match a regex pattern with the option to replace those values with new ones.

I.e. the source collection is a list of customers ids. If the id matches 100*, return the customer name “BestRung”.

 

FixObjectPropertyMappingConfiguration

Can be used to map a target property to a fixed value.

new FixObjectPropertyMappingConfiguration<uint>(CoreIdentityDefinition.PropertyNames.CoreIdentityTypeId, 1)

ResolvedCoreIdentityIdByAttributeValueMappingConfiguration

Resolves to the ID of a Core Identity in the CoreOne Meta Directory based on a given Attribute ID and Value

 

ResolvedCoreIdentityIdByForeignIdMappingConfiguration

Resolves to the ID of a Core Identity in the CoreOne Meta Directory based on a foreign id

 

ResolvedCoreIdentityIdByObjectIdMappingConfiguration

Resolves to the ID of a Core Identity in the CoreOne Meta Directory based on a given object id of an identity.

As shown in the example column, you can resolve the CoreIdentity based on the objectSid of the membership. For example in Active Directory a user is member of a group with it’s SID. Using this configuration the import will search for the appropriate Identity in the CoreOne Suite Meta Directory and then get the appropriate Core Identity.

new ResolvedCoreIdentityIdByObjectIdMappingConfiguration(RoleAssignmentDefinition.PropertyNames.CoreIdentityId,"Member:objectGuid",new []{"Member:objectSid"})

ResolvedResourceIdByAttributeValueMappingConfiguration

Resolves to the ID of a resource in the CoreOne Meta Directory based on a given Attribute ID and Value

 

ResolvedResourceIdByForeignIdMappingConfiguration

Resolves to the ID of a resource in the CoreOne Meta Directory based on a given foreign id

 

ResolvedResourceIdByObjectIdMappingConfiguration

Resolves to the ID of a resource in the CoreOne Meta Directory based on a given object id of an resource

As shown in the example column, you can resolve the resource based on the objectSid of the group. Using this configuration the import will search for the appropriate resource in the CoreOne Suite Meta Directory and return the id.

new ResolvedResourceIdByObjectIdMappingConfiguration(RoleAssignmentDefinition.PropertyNames.ResourceId, "Resource:objectSid")

ResolvedResourceIdByResourceDefinitionAttributeValueMappingConfiguration

Resolves to the ID of a resource in the CoreOne Meta Directory based on a given Attribute ID and Value of an existing resource definition

 

ResolvedRoleIdByAttributeValueMappingConfiguration

Resolves to the ID of a role in the CoreOne Meta Directory based on a given Attribute ID and Value

 

ResolvedRoleIdByForeignIdMappingConfiguration

Resolves to the ID of a role in the CoreOne Meta Directory based on a given foreign id

 

SourceParameterPropertyMappingConfiguration

Can be used to map a target property to a source attribute

new SourceParameterPropertyMappingConfiguration(ResourceDefinition.PropertyNames.ResourceIdentifier, "objectSid"),

SourceParameterPropertyMappingDateTimeFormatConfiguration

Can be used to map a target property to a source attribute and formats the value to a specific date time

 

SwitchCasePropertyMappingConfiguration

Can be used to map a target attribute to a fixed value based on the source value

 

Value Processors

Some of the mapping processors can be further enhanced with value processors. In this case, the resolved value will be further transformed by using a list of value processors. The following are the values processors that are available.

Value Processors

Description

Example

Value Processors

Description

Example

CollectionValueProcessor

Takes elements out of a collection based on a mode.

Modes are first, last, max, minand none

 

CultureName2AttributeDropDownDefinitionValueProcessor

Resolves a source attribute to a valid language supported in the system

 

NullIfEmptyStringProcessor

Returns null if the source value is null or empty, if not it returns the trimmed value

 

RegexIfMatchThenElseValueProcessor

Returns the a value if a regex pattern matches the source attribute, if not another

 

RegexReplaceValueProcessor

Replaces the configured pattern in the source attribute

 

StringFormatValueProcessor

Formats the source attribute according to the input

 

StringToDateTimeConversionProcessor

Converts the source attribute to a date time

 

SubPropertyValueProcessor

Returns a sub property of a complex source attribute

 

SubstringValueProcessor

Returns a substring of the source attribute

 

TrimValueProcessor

Trims trailing and leading white spaces of a source attribute

 

Serialized or Explicit Attribute Value

An attribute value always has a serialized and an explicit value. The first one is set by the system while resolving an attribute mapping or by the import when there is a mapping configuration. The later is set whenever a user overrides this calculated or imported value. This is important to know when working with imports as the comparison between the source attribute and the target attribute always is done on the serialized value.

Let’s have a look at the following example.

Mr. Jones was hired to work for us and was therefore entered to the HR system from where we have imported him has Mr. Jones. On his first working day he tells his supervisor that he will marry next week and will be called Jones-Smith and asks him, if he could be named Jones-Smith in the system? His supervisor then renames him in the CoreOne Meta Directory to Jones-Smith.

A week passes and the change will be made officially even in the HR system. It’s important to know that we will now have a change in the import as the his record in the CoreOne Suite looks as following:

serialized

explicit

serialized

explicit

Jones

Jones-Smith

The import will always compare the source value to the serialized value and therefore detect a change. After the import, the record will look like this:

serialized

explicit

serialized

explicit

Jones-Smith

Jones-Smith

 

© ITSENSE AG. Alle Rechte vorbehalten. ITSENSE und CoreOne sind eingetragene Marken der ITSENSE AG.