Skip to content

Commit

Permalink
Update multiple-identity-data-sources.adoc
Browse files Browse the repository at this point in the history
  • Loading branch information
mederly committed Sep 14, 2022
1 parent 9337816 commit 93afea1
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 16 deletions.
Binary file added docs/correlation/mapping-redirection-1.drawio.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/correlation/mapping-redirection-2.drawio.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/correlation/mapping-redirection.drawio
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<mxfile host="Electron" modified="2022-09-14T11:16:11.104Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.2.3 Chrome/102.0.5005.167 Electron/19.0.11 Safari/537.36" etag="c3YQeniuRlBB1t6wCf5K" version="20.2.3" type="device" pages="2"><diagram id="LAI3oV1pym8gafn0couf" name="1">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</diagram><diagram name="2" id="o2Y58fUQjt_JTbRXt_8P">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</diagram></mxfile>
24 changes: 8 additions & 16 deletions docs/correlation/multiple-identity-data-sources.adoc
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
= Multiple Identity Data Sources
:page-experimental: true
:page-toc: top
:page-since: "4.6"

#DRAFT - pictures are missing#

#TODO How should we call this feature?#

#TODO Will we make this feature experimental?#

The advanced correlation needs often go hand in hand with the situations when there are multiple sources of the identity data.

== An Example

For example, a university may have the following systems:
A university may have the following systems:

.Source systems in a sample university installation
[%header]
Expand All @@ -27,7 +22,7 @@ For example, a university may have the following systems:
| Maintains data about visitors and other persons related to the university in a way other than being a student or employee.
|===

While the data about a person are usually consistent, there may be situations when they differ.
While the data about a given person are usually consistent, there may be situations when they differ.
For example, the given name may be recorded differently in SIS and HR systems.
Or the title may be forgotten to be updated in HR.
An old record in the "external persons" system may be out-of-date altogether.
Expand All @@ -36,11 +31,7 @@ An old record in the "external persons" system may be out-of-date altogether.

Potential data inconsistencies lead to two kinds of requirements:

. When processing data from these systems, midPoint has to somehow decide which ones are "authoritative", that is, which ones to propagate to the "official" user data stored in the repository.
+
For example, each system can provide its own idea of `givenName`, `familyName`, `honorificPrefix`, and `honorificSuffix` values.
MidPoint should select which values are to be propagated to these properties visible on the user.

. When processing data from these systems, midPoint has to somehow decide which ones are "authoritative", that is, which ones to propagate to the "official" user data stored in the repository and provisioned to target systems afterwards.
. When correlating, we may want to match data from all systems for the candidate owners.
(Not only the "official" user data.)

Expand All @@ -49,7 +40,6 @@ Starting with 4.6, midPoint supports both of them.
== Selecting the Authoritative Data

Before 4.6, the first requirement was resolvable only using a custom code.

A typical solution was that inbound mappings put the resource-specific values (like given name, family name, and so on) into temporary properties, present often in the user extension.
This was followed by an object template mapping that selected the right values and putting them into `givenName`, `familyName` and other properties of the user.

Expand Down Expand Up @@ -103,11 +93,13 @@ This declaration "redirects" inbound mappings for the properties mentioned.

Therefore, instead of this:

#TODO#
.Traditional inbound mappings
image::mapping-redirection-1.drawio.png[Mapping redirection 1]

the data will flow like this:

#TODO#
.Redirected inbound mappings for multi-source items
image::mapping-redirection-2.drawio.png[Mapping redirection 2]

And here comes the question:
_How should the data (and which ones) flow from the `identities` container to their destination places?_
Expand Down

0 comments on commit 93afea1

Please sign in to comment.