[Midpoint-dev] Adding a "deferred task" to a user during live sync

Ivan Noris ivan.noris at evolveum.com
Mon Jun 5 11:05:50 CEST 2017


Hi Chris,

my only (untested) idea would be to use correlation expression condition.

I'm using something like this to match by employeeNumber attribute, but
not if the employeeNumber attribute in midPoint is empty:

...

                   <correlation>
                        <q:description>
                            Correlation expression is a search query.
                            Following search queury will look for users
that have "employeeNumber"
                            equal to the "enumber" attribute of the account.
                            The condition will ensure that "enumber" is not
                            empty, otherwise it would match any midPoint
user
                            with empty "employeeNumber" attribute, such
as "administrator".
                            The correlation rule by default looks for
users, so it will not match
                            any other object type.
                        </q:description>
                        <q:equal>
                            <q:path>c:employeeNumber</q:path>
                              <expression>
                                <path>$account/attributes/ri:enumber</path>
                              </expression>
                        </q:equal>
                        <condition>
                            <script>
                                <code>basic.getAttributeValue(shadow,
'enumber') != null</code>
                            </script>
                        </condition>
                    </correlation>
...

If you have an attribute on the account side which contains the change
date information (which is in the future) and you compare with current
date/time, perhaps it would work.

Best regards,
Ivan

On 05/28/2017 10:45 AM, Chris Woods wrote:
> Hi,
>
> we have a custom SAP HCM connector from our Oracle Waveset installation which 
> would like to test with midpoint. The connector uses a JMS queue to pick up 
> IDocs that are sent and transformed to XML by our SAP middleware. These XML 
> fragments also contain the date from which the change is valid.
>  
> I haven't yet found a way to conditionally tell midpoint to ignore the changes 
> (ok, I could maybe write a condition for each attribute) if the change is in 
> the future. In waveset I would set IAPI.cancel and attach a deferred task to 
> the user which would cause the user to be recomputed on that day. This was to 
> take care of employees rejoining / moving department etc.
>
> Is there a similar mechanism in midpoint that I've just overlooked? Can I 
> attach a task to the user during the sync?
>
> Many thanks in advance,
> Cheers, Chris.
> _______________________________________________
> midPoint-dev mailing list
> midPoint-dev at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint-dev

-- 
Ivan Noris
Senior Identity Engineer
evolveum.com



More information about the midPoint-dev mailing list