Skip to content

Commit

Permalink
Mappings, final touches, fixing broken links, etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
semancik committed Feb 9, 2022
1 parent 4d8b3e0 commit e7cc7a6
Show file tree
Hide file tree
Showing 34 changed files with 59 additions and 64 deletions.
2 changes: 1 addition & 1 deletion docs/concepts/clockwork/clockwork-and-projector.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ TODO: picture
== Projector

Projector is responsible for computing the changes.
It is triggered by user changes in GUI, received by service or detected by xref:/midpoint/reference/synchronization/introduction/[synchronization]. Projector recomputes all the xref:/midpoint/reference/synchronization/policies/[synchronization policies], applies all xref:/midpoint/reference/expressions/introduction/[mappings and expressions], processes xref:/midpoint/reference/roles-policies/rbac/[RBAC] role assignments and so on.
It is triggered by user changes in GUI, received by service or detected by xref:/midpoint/reference/synchronization/introduction/[synchronization]. Projector recomputes all the xref:/midpoint/reference/synchronization/policies/[synchronization policies], applies all xref:/midpoint/reference/expressions/[mappings and expressions], processes xref:/midpoint/reference/roles-policies/rbac/[RBAC] role assignments and so on.
However, projector is just computing the values.
It is not yet executing them.
The result of projector computations are stored in xref:/midpoint/reference/concepts/clockwork/model-context/[model context].
Expand Down
4 changes: 2 additions & 2 deletions docs/concepts/item-path.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
Item path is a simple syntax for addressing properties, containers, references, attributes and similar items in xref:/midpoint/devel/prism/[prism] data structures used in midPoint.
I.e. it can address items in users, accounts, roles, assignments and in almost any midPoint data structure.
The item path syntax is quite similar to XML XPath but it is much simpler.
It is frequently used in xref:/midpoint/reference/expressions/introduction/[mappings and expressions], xref:/midpoint/reference/concepts/query/xml-query-language/[search queries], etc.
It is frequently used in xref:/midpoint/reference/expressions/[mappings and expressions], xref:/midpoint/reference/concepts/query/xml-query-language/[search queries], etc.

The generic syntax of item path is as follows:

Expand Down Expand Up @@ -55,7 +55,7 @@ The following table provides example paths and their meaning.
== Variables

Variable definition may be used in the first segment of the item path (and *only* in the first segments).
Variable name starts with a dollar sign (`$`). Variables are used in some situations, e.g. in xref:/midpoint/reference/expressions/introduction/[mapping expressions], xref:/midpoint/reference/synchronization/correlation-and-confirmation-expressions/[correlation and confirmation expressions], etc.
Variable name starts with a dollar sign (`$`). Variables are used in some situations, e.g. in xref:/midpoint/reference/expressions/[mapping expressions], xref:/midpoint/reference/synchronization/correlation-and-confirmation-expressions/[correlation and confirmation expressions], etc.
The variable specification is optional.
If not specified the path applies to appropriate default object which is usually a user or an account.
Therefore the paths `$user/fullName` and `fullName` are often equivalent.
Expand Down
2 changes: 1 addition & 1 deletion docs/diag/troubleshooting/mappings/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -639,7 +639,7 @@ The audit is the easiest way to check that.
* xref:/midpoint/reference/diag/troubleshooting/connectors/[Troubleshooting Connectors]
* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]
* xref:/midpoint/reference/diag/troubleshooting/usual-troubleshooting-steps/[Usual Troubleshooting Steps]
Expand Down
2 changes: 1 addition & 1 deletion docs/expressions/expressions/profiles/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,6 @@ Please see xref:/midpoint/features/planned/expression-profiles/[Expression Profi

* xref:configuration.adoc[]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/security/security-guide/[Security Guide]
2 changes: 1 addition & 1 deletion docs/expressions/expressions/script/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ New expression languages may come in the future if there is a demand for them.

== See Also

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/expressions/expressions/[Expression]

Expand Down
4 changes: 2 additions & 2 deletions docs/expressions/function-libraries/configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
== Introduction

Function libraries are dedicated midPoint objects that contain set of reusable functions.
The functions can be used in other xref:/midpoint/reference/expressions/introduction/[mappings and expressions] in midPoint.
The functions can be used in other xref:/midpoint/reference/expressions/[mappings and expressions] in midPoint.
Function libraries can be used to group frequently-used parts of the code, therefore simplifying midPoint configuration and maintenance.

TIP: Not to be confused with xref:../expressions/script/functions/[built-in scripting functions].
Expand Down Expand Up @@ -189,6 +189,6 @@ Each time you want to call function defined in your function library, you must d

* xref:/midpoint/reference/schema/data-model-essentials/[Basic Data Model]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/expressions/expressions/[Expression]
4 changes: 2 additions & 2 deletions docs/expressions/function-libraries/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
== Overview

Function libraries are dedicated midPoint objects that contain set of reusable functions.
The functions can be used in other xref:/midpoint/reference/expressions/introduction/[mappings and expressions] in midPoint.
The functions can be used in other xref:/midpoint/reference/expressions/[mappings and expressions] in midPoint.
Function libraries can be used to group frequently-used parts of the code, therefore simplifying midPoint configuration and maintenance.

== Configuration
Expand All @@ -27,6 +27,6 @@ Please see xref:configuration.adoc[] page for configuration details.

* xref:/midpoint/reference/schema/data-model-essentials/[Basic Data Model]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/expressions/expressions/[Expression]
1 change: 1 addition & 0 deletions docs/expressions/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
:page-display-order: 200
:page-upkeep-status: green
:page-alias: { "parent" : "/midpoint/features/current/", "slug" : "expressions", "title" : "Mappings and Expressions", "display-order" : 100 }
:page-moved-from: /midpoint/reference/expressions/introduction/
:page-midpoint-feature: true


Expand Down
21 changes: 0 additions & 21 deletions docs/expressions/introduction/index.adoc

This file was deleted.

3 changes: 2 additions & 1 deletion docs/expressions/mappings/condition/index.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
= Mapping Condition
:page-upkeep-status: green

Mapping condition is a mechanism for easy implementation of mappings that provide _conditional values_.
This means a value that is present when certain condition is _true_, while it is not present if the condition is _false_.
Expand Down Expand Up @@ -457,6 +458,6 @@ If you need to "turn off" the mapping completely, the proper way is to set the c

== See Also

* xref:../[]
* xref:/midpoint/reference/expressions/mappings/[]

* xref:../range/[]
1 change: 1 addition & 0 deletions docs/expressions/mappings/inbound-mapping.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
= Inbound Mapping
:page-wiki-name: Inbound Mapping
:page-display-order: 520
:page-wiki-id: 4423963
:page-wiki-metadata-create-user: semancik
:page-wiki-metadata-create-date: 2012-06-07T10:40:53.998+02:00
Expand Down
8 changes: 4 additions & 4 deletions docs/expressions/mappings/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ Smart reaction to changes is one of the reasons for requiring explicit definitio
Without such definitions it is not (realistically) possible to reliably determine how and when the expression should be re-evaluated.

The sources themselves are delta-aware.
The source does not specify the value only, it also specifies previous value, and the way how the value changed (xref:/devel/prism/concepts/deltas/[delta]).
The source does not specify the value only, it also specifies previous value, and the way how the value changed (xref:/midpoint/devel/prism/concepts/deltas/[delta]).
This allows mapping to be smart, re-computing only some values.
Even more importantly, source deltas are taken into consideration when mapping is evaluated.
Therefore, mapping can figure out how target value have changed, and apply the changes in a smart way (see xref:mapping-relativity/[]).
Expand Down Expand Up @@ -649,7 +649,7 @@ Please see xref:condition/[] page for more details on mapping conditions.

== Examples

Following example provides xref:/midpoint/reference/expressions/mappings/outbound-mapping/[outbound] mapping that is using xref:/midpoint/reference/expressions/script/[script expression] written in Groovy language.
Following example provides xref:/midpoint/reference/expressions/mappings/outbound-mapping/[outbound] mapping that is using xref:/midpoint/reference/expressions/expressions/script/[script expression] written in Groovy language.
The expression concatenates two string literals and the value of `name` property from the `focus` variable.
The mapping is _weak_ which means it will only be applied if there is no value already present (it constructs _default_ value).

Expand Down Expand Up @@ -1156,14 +1156,14 @@ The `tolerant` setting was removed in midPoint 4.0.

== See Also

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:../variables/[]

* xref:condition/[]

* xref:mapping-relativity/[]

* xref:practices/removing-values/[]
* xref:../practices/removing-values/[]

* xref:/midpoint/reference/expressions/mappings/mapping-evaluation-examples/[Mapping Evaluation Examples]
3 changes: 3 additions & 0 deletions docs/expressions/mappings/mapping-evaluation-examples.adoc
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
= Mapping Evaluation Examples
:page-display-order: 600
:page-wiki-name: Mapping Evaluation Examples
:page-wiki-id: 24674741
:page-wiki-metadata-create-user: semancik
:page-wiki-metadata-create-date: 2017-07-13T14:59:26.975+02:00
:page-wiki-metadata-modify-user: semancik
:page-wiki-metadata-modify-date: 2017-07-13T14:59:26.975+02:00
:page-upkeep-status: orange

// Needs update, or at least a better description

== Resource and Role Attribute Mappings

Expand Down
2 changes: 1 addition & 1 deletion docs/expressions/mappings/mapping-relativity/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -441,6 +441,6 @@ See also xref:../proposed-improvements/[].

* xref:../condition/[]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/features/planned/complete-relativity/[Complete Relativity]
1 change: 1 addition & 0 deletions docs/expressions/mappings/outbound-mapping/index.adoc
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
= Outbound Mapping
:page-display-order: 550
:page-wiki-name: Outbound Mapping
:page-wiki-id: 4423965
:page-wiki-metadata-create-user: semancik
Expand Down
6 changes: 6 additions & 0 deletions docs/expressions/mappings/proposed-improvements.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
= Proposed Improvements in Mappings and Expressions
:page-nav-title: Proposed Improvements
:page-display-order: 900

* Use of value metadata.
Expand All @@ -20,3 +21,8 @@ Should we deprecate/remove following items?

** MappingType.exclusive - naturally enforced for single-valued items, do we need this also for multi-value?


== Questions

* Mapping constraints: are they "turning mapping off"? Or are they relativistic (like condition)?

6 changes: 3 additions & 3 deletions docs/expressions/mappings/range/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -335,7 +335,7 @@ Even if condition is false, only the expression is affected.
Other parts of the mapping work normally.
Please see xref:../condition/[] page for the details.

Please see xref:../practices/removing-values/[] for guidance of range usage in practical cases.
Please see xref:../../practices/removing-values/[] for guidance of range usage in practical cases.

== Terminology

Expand Down Expand Up @@ -381,6 +381,6 @@ However, this is not a significant difference for the purpose of this explanatio

== See Also

* xref:../[]
* xref:/midpoint/reference/expressions/mappings/[]

* xref:../practices/removing-values/[]
* xref:../../practices/removing-values/[]
4 changes: 2 additions & 2 deletions docs/expressions/object-template.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
== Introduction

Object template is an object that holds a set of rules how a specific object type (e.g. user) should be constructed.
It usually contains xref:/midpoint/reference/expressions/introduction/[mappings] that either compute user properties or assign accounts and roles to the user (usually with a condition).
It usually contains xref:/midpoint/reference/expressions/[mappings] that either compute user properties or assign accounts and roles to the user (usually with a condition).

User template can be used for a variety of very interesting identity management configuration.
For example:
Expand Down Expand Up @@ -142,6 +142,6 @@ Inbound mappings will make sure that these data are as fresh as possible.

== See Also

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/synchronization/examples/[Synchronization Examples]
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ This page describes common mapping-related situations that may be perceived as p
Conditions are not supposed to be turning mapping off.
Conditions are supposed to behave in a relativistic way, removing the values provided by the expression when the condition turns to `false`.

Please see xref:../condition/[] for more details.
Please see xref:../mappings/condition/[] for more details.


== Range is evaluated even if mapping condition is false

That is correct, it is supposed to.
As conditions are not turning the mapping "off" (see above), mapping range still applies.

Please see xref:../range/[] for more details.
Please see xref:../mappings/range/[] for more details.


== Expressions are evaluated for null inputs
Expand Down Expand Up @@ -65,4 +65,4 @@ For that we need to evaluate the condition both for the old value and the new va

== See Also

* xref:../../[]
* xref:/midpoint/reference/expressions/mappings/[]
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
= Common Mapping and Expression Practices
:page-nav-title: Practices
:page-display-order: 700
:page-upkeep-status: green

Following pages describe methods and practical approaches to various aspects related to mapping and expressions.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
:page-upkeep-status: green

Mappings are designed in such a way to be easy to merge output from several mappings.
This is ideal method to support multi-valued data in a relativistic way (see xref:../mapping-relativity/[]).
This is ideal method to support multi-valued data in a relativistic way (see xref:../mappings/mapping-relativity/[]).
However, there are cases when we need to do more than just relativistically transform input to output.
MidPoint also needs a way how to _reconcile_ values.
E.g. midPoint needs a method to say which values of a resource attribute are legal and which are illegal.
Expand All @@ -18,7 +18,7 @@ Moreover, even if we had support for data provenance, there would always be corn
Therefore, a mechanism is needed for a mapping to decide when to remove a particular value and when to keep it.
There is such a mechanism in midPoint: mapping _range_.

As described above, mapping xref:../range/[range] is used to define a set of value that the mapping is supposed to produce.
As described above, mapping xref:../mappings/range/[range] is used to define a set of value that the mapping is supposed to produce.
This can be used to define whether mapping should remove particular existing value or whether the value should be kept unchanged.
Let's demonstrate this principle using an example.
Let's have a property with existing values [ `A`, `B` ].
Expand Down Expand Up @@ -72,4 +72,6 @@ If the range definition is change to include the old value then such value will

== See Also

* xref:../../range/[]
* xref:../mappings/range/[]

* xref:/midpoint/reference/expressions/mappings/[]
2 changes: 1 addition & 1 deletion docs/expressions/sequences/configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,6 @@ The test is using sequences to assign Unix UID and GID numbers.

* xref:/midpoint/reference/expressions/sequences/[Sequences]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/samples/story-tests/unix/[Unix Story Test]
2 changes: 1 addition & 1 deletion docs/expressions/sequences/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ The sequence in it self is a very simple object:
The sequence remembers just one important value: the counter.
The counter value is assigned to the next object, then the counter value is (atomically) incremented.
There are also other settings such as the maximum counter value, settings that influence the use of reclaimed values and so on.
This may seem simple, but the real power in using sequences are in combination with xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]. The sequence can easily be used in a mapping:
This may seem simple, but the real power in using sequences are in combination with xref:/midpoint/reference/expressions/[Mappings and Expressions]. The sequence can easily be used in a mapping:

[source,xml]
----
Expand Down
2 changes: 1 addition & 1 deletion docs/legacy/xpath2/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ Press `Evaluate` and you should see the obvious result at the bottom of the scre

XPath expressions in midPoint are not very useful without variables.
All the real expressions are using at least one variable, this is kind of a parameters or arguments to the expression.
For a list of common variables please see the xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions] page.
For a list of common variables please see the xref:/midpoint/reference/expressions/[Mappings and Expressions] page.
However, the XPath debug page is quite dumb in that aspect, it will not automatically assign any variable.
You have to specify the values for all the variables you use in debug pages.
You can use four fields for that, as shown in the picture above.
Expand Down
2 changes: 1 addition & 1 deletion docs/misc/persona/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Please see xref:/midpoint/reference/misc/persona/configuration/[Persona Configur

* xref:/midpoint/reference/schema/data-model-essentials/[Basic Data Model]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/resources/shadow/kind-intent-objectclass/['Kind, Intent and ObjectClass']

Expand Down
2 changes: 1 addition & 1 deletion docs/misc/reports/configuration/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ Example:

== Security Of Report Expressions

Reports often use xref:/midpoint/reference/expressions/introduction/[expressions].
Reports often use xref:/midpoint/reference/expressions/[expressions].
Expressions allow to customize midPoint behavior and they are essential for the success of midPoint deployments.
However, the expressions are very powerful and they may even be too powerful for some use cases.
The expressions can use general-purpose scripting languages such as Groovy or JavaScript.
Expand Down
2 changes: 1 addition & 1 deletion docs/resources/resource-configuration/index.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -783,7 +783,7 @@ The samples have in-line comments to make it easier to understand them.

* xref:/midpoint/reference/resources/resource-schema/[Resource Schema]

* xref:/midpoint/reference/expressions/introduction/[Mappings and Expressions]
* xref:/midpoint/reference/expressions/[Mappings and Expressions]

* xref:/midpoint/reference/resources/resource-schema/explanation/[Resource and Connector Schema Explanation]

Expand Down

0 comments on commit e7cc7a6

Please sign in to comment.