<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hello Fabian,<div><br></div><div>Thanks for your reply, roleMembershipRef seems to be just what I needed, since it contains all the induced roles.</div><div><br></div><div>However, during the assignment process, roleMembershipRef still does not contain the value of the new assignment, and midpoint is being a little too efficient and checking the inbound mappings even before writing to the resource.</div><div><br></div><div>So, when I assign a role that induces another role that has projection to the resource, the inbound mapping is already being evaluated and creating the direct assignment in one swoop.</div><div><br></div><div>Is there maybe a way to stop midpoint from evaluating inbound mappings so soon?  </div><div>Or another approach to all this that I’m missing?</div><div><br></div><div>Thanks again for your help.<br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>Em 12 de jan. de 2024, à(s) 05:44, Fabian Noll-Dukiewicz <fabian.noll-dukiewicz@veryfy.gmbh> escreveu:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><div class="WordSection1" style="page: WordSection1; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span style="font-size: 11pt;">Hi,<o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span style="font-size: 11pt;"><o:p> </o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;">I don’t know how to check for indirect assignments, but as workaround you can check which assignments the user already has. I use the function “focus.getRoleMembershipRef()” in objectTemplate to check if the user has a specific assignment. I think it is also possible to use this function in mapping condition in your resource configuration.<o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;"><o:p> </o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;">Please let me know if you need some further information.<o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;"><o:p> </o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;">Kind regards,<o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;">Fabian<o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;"><o:p> </o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 11pt;">--<o:p></o:p></span></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><b><span style="font-size: 10pt; font-family: Verdana, sans-serif;">Fabian Noll-Dukiewicz</span></b><span style="font-size: 11pt; font-family: Calibri, sans-serif;"><o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><i><span style="font-size: 10pt; font-family: Verdana, sans-serif;">Spezialist Identity & Access Management | Geschäftsführer<o:p></o:p></span></i></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 10pt; font-family: Verdana, sans-serif;">Tel.: +49 152 244 63 211</span><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;"><o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span lang="EN-US" style="font-size: 10pt; font-family: Verdana, sans-serif;">Email:<span class="Apple-converted-space"> </span><a href="mailto:fabian.noll-dukiewicz@veryfy.gmbh">fabian.noll-dukiewicz@veryfy.gmbh</a></span><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;"><o:p></o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span style="font-size: 10pt; font-family: Verdana, sans-serif;">Web: </span><span style="font-size: 10pt; font-family: Verdana, sans-serif;"><a href="https://veryfy.gmbh/"><span style="color: rgb(5, 99, 193);">https://veryfy.gmbh</span></a><span class="Apple-converted-space"> </span></span><span style="font-size: 11pt; font-family: Calibri, sans-serif;"> <o:p></o:p></span></div></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span style="font-size: 11pt;"><o:p> </o:p></span></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><span style="font-size: 11pt;"><o:p> </o:p></span></div><div id="mail-editor-reference-message-container"><div><div style="border-width: 1pt medium medium; border-style: solid none none; border-color: rgb(181, 196, 223) currentcolor currentcolor; border-image: none; padding: 3pt 0cm 0cm;"><p class="MsoNormal" style="margin: 0cm 0cm 12pt; font-size: 12pt; font-family: Aptos, sans-serif;"><b><span style="">Von:<span class="Apple-converted-space"> </span></span></b><span style="">midPoint <midpoint-bounces@lists.evolveum.com> im Auftrag von Alcides Moraes via midPoint <midpoint@lists.evolveum.com><br><b>Datum:<span class="Apple-converted-space"> </span></b>Mittwoch, 10. Januar 2024 um 23:56<br><b>An:<span class="Apple-converted-space"> </span></b>midPoint General Discussion <midpoint@lists.evolveum.com><br><b>Cc:<span class="Apple-converted-space"> </span></b>Alcides Moraes <alcides.neto@gmail.com><br><b>Betreff:<span class="Apple-converted-space"> </span></b>[midPoint] How to not create an assignment that already exists but is indirect / induced ?<o:p></o:p></span></p></div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">Hello list,<o:p></o:p></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">TL;DR - Is there a way to check for indirect assignments in groovy script expressions?<o:p></o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">Now for the full use case:<o:p></o:p></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">We have a resource with a custom in-house connector that is working well for direct assignments.<o:p></o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">There are inbound / outbound mappings to create the assignments given in midpoint and in the resource directly, both ways.<o:p></o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">However, if I give an indirect assignment to an object from midpoint, midpoint also processes the inbound mapping afterwards and then also creates the direct assignment in midpoint as well. <o:p></o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">How should I filter this? I thought about creating a set condition in the mapping, that would check for indirect assignment, but I don’t think there’s a function for this? Midpoint script library has a <b>isDirectlyAssigned<span class="Apple-converted-space"> </span></b>function only.<o:p></o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;"><o:p> </o:p></div></div><div><div style="margin: 0cm; font-size: 12pt; font-family: Aptos, sans-serif;">I should note that I’m not using an association mapping, because I need to populate the assignment with additional fields (like orgRef for example), and I don’t think I’m able to do this with the association/assignmentTargetSearch approach, so I’m using standard attribute/inbound mapping and create the assignment there.</div></div></div></div></div></div></div></blockquote></div><br></div></body></html>