[midPoint] Synchronize common attribute value between different Objects

Fabian fabianbosch at gmx.de
Mon Jan 14 20:55:38 CET 2019


Hi

I have a special use case for which I need your help.

I have a door-lock system which registers cards with its cardID. The
collection of cards is handled as midPoint-Ressource and entrys are
being synced as Type ServiceType.
Users on the other hand are synchronized from openLDAP.

The use case is that every time I register a new card the card will
appear in midPoint as a Service and can then be manually assigned to a
user. A user can have 0..n cards assigned.

both, the user and the card have an attribute "sstatus" which can be set
enabled/disabled which means to grant access or not (door).

I wrote a role which sets the attribute to "enabled" if this role is
assigned to a user.

        <inducement id="2">
            <focusMappings>
                <mapping id="3">
                    <name>S-Status</name>
                    <expression>
                        <script xsi:type="c:ScriptExpressionEvaluatorType">
                            <code>
                    import com.evolveum.midpoint.xml.ns._public.common.common_3.ActivationStatusType;
                    return ActivationStatusType.ENABLED
                    </code>
                        </script>
                    </expression>
                    <target>
                        <c:path>$focus/extension/sstatus</c:path>
                    </target>
                </mapping>
            </focusMappings>
        </inducement>

I need a way to provide this changed attribute (in *user*) to all of the
users *cards* so that every card in the Ressource will have the
attribute sstatus=enabled


regards,
Fabian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190114/e50cd6de/attachment.htm>


More information about the midPoint mailing list