[midPoint] Role/Service autoassignment
Chris Woods
chris at cmwoods.com
Mon Sep 16 10:17:23 CEST 2019
Hi Arnost,
Many thanks for the reply. I will try that today :)
Regards,
Chris
Am 16. September 2019 10:13:43 schrieb "Arnošt Starosta - AMI Praha a.s."
<arnost.starosta at ami.cz>:
> Hi Chris,
>
> you can intercept the extension/rsBadgeAssignee change in a hook and based
> on it's old and new values find the two employees and explicitly recompute
> just them. With your assignment in user template this will do the job. I
> would try a final hook for the service type.
>
> And as the recompute may fail, you want to make sure to recompute the
> failed users in the future - either recompute all of them once in a while
> or run a specialized task to find badges assigned to wrong employees etc.
>
> I don't believe there is other way to do this right now, but please anybody
> proove me wrong.
>
> The autoassignment wont help you, the users must still be recomputed and it
> comes with a performace price on top. But when i need to access the
> attributes of both roles and focus objects in assignments, i use the
> assignmentPath and related variables, see midpoint wiki.
>
> arnost
>
>
> so 14. 9. 2019 v 11:02 odesílatel Chris Woods
> <Chris.Woods at rohde-schwarz.com> napsal:
> Hi everyone,
> I’m probably thinking about this completely the wrong way, but here goes
> anyway:
> I have a company ID card system that we originally had setup so that when
> reconciling, the badge would appear as a projection for the user (when the
> employeeID for the badge matched the $focus/name of the user). However, we
> now have a requirement to store more data about the badge than the id card
> system provides, so I modified the synchronisation setup to create a
> FocusType of Service. This service is assigned an archetype “Company ID card”.
> All is working well – A service for each card in the card database was
> created with the appropriate archetype.
>
> However, I can’t seem to find a way to automatically assign the service to
> the user based on the employeeID which is now stored in the service as
> extension/rsBadgeAssignee.
> I tried to do the assignment in the User object template, which worked – as
> long as I actually opened the user and recomputed them. Day cards are
> transferred from person to person, so I don’t want to have to update 14,000
> Users, just because one card has transferred ownership. If I just modified
> the rsBadgeAssignee in the card service object, nothing happened to either
> the previous owner (removal) or the new owner (assignment).
> I then tried autoassign in the archetype. All the examples for
> autoassignment use some kind of constant like ‘internal’ or ‘FTE’ to be
> present in the focal object (user). What I couldn’t work out how to do was
> something like this:
> <autoassign>
> <enabled>true</enabled>
> <focus>
> <mapping>
> <name>Badge autoassign</name>
> <strength>strong</strength>
> <source>
> <path>$focus/name</path> <-- the employeeID of the user -->
> </source>
>
> <source>
> <path>$this/extension/rsBadgeAssignee</path> <-- trying to reference
> rsBadgeAssignee in service itself –->
> </source>
>
> <condition>
> <script>
>
> <code>basic.stringify(name).equals(rsBadgeAssignee)</code>
> </script>
> </condition>
> </mapping>
> </focus>
> </autoassign>
> This throws an error, because there is no rsBadgeAsignee attribute in the
> focus (User), but how do I reference “this” (i.e. the service itself) in
> the condition?
> I hope all this was not too confusing and appreciate any help!
>
> Regards,
> Chris
>
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
> --
>
> Arnošt Starosta
> solution architect
> gsm: [+420] 603 794 932
> e‑mail: arnost.starosta at ami.cz
> AMI Praha a.s.
> Pláničkova 11, 162 00 Praha 6tel.: [+420] 274 783 239 | web: www.ami.cz
>
> Textem tohoto e‑mailu podepisující neslibuje uzavřít ani neuzavírá za
> společnost AMI Praha a.s.
> jakoukoliv smlouvu. Každá smlouva, pokud bude uzavřena, musí mít výhradně
> písemnou formu.
>
> Tento e‑mail je určen výhradně pro potřeby jeho adresáta/ů a může obsahovat
> důvěrné nebo osobní
> informace. Nejste‑li zamýšleným příjemcem, je zakázáno jakékoliv
> zveřejňování, zprostředkování
> nebo jiné použití těchto informací. Pokud jste obdrželi e‑mail neoprávněně,
> informujte o tom prosím
> odesílatele a vymažte neprodleně všechny kopie tohoto e‑mailu včetně všech
> jeho příloh. Nakládáním
> s neoprávněně získanými informacemi se vystavujete riziku právního
> postihu._______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20190916/0e8a6fee/attachment.htm>
More information about the midPoint
mailing list