<div dir="ltr">We have a similar issue with one API where there is no findAll/findById method to get the current state of a resource.<div>We prepare a "cache" table where the connector writes the last known state that is sent to the resource over create/update and we use this table to receive the last "known" state when we need findAll/findById.</div><div><br></div><div>best regards,</div><div><br></div><div>Gustav</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">st 6. 7. 2022 o 20:00 Wang, Xiaoshu via midPoint <<a href="mailto:midpoint@lists.evolveum.com">midpoint@lists.evolveum.com</a>> napísal(a):<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_4632812854518880833WordSection1">
<p class="MsoNormal"><span style="font-size:16pt">Pavol:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">I am not sure how. <u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">The icf connector’s create signature is this. And see the implementation<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:12pt;font-family:"Courier New";color:rgb(0,51,179)">public
</span><span style="font-size:12pt;font-family:"Courier New";color:black">Uid </span>
<span style="font-size:12pt;font-family:"Courier New";color:rgb(0,98,122)">create</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">(</span><span style="font-size:12pt;font-family:"Courier New";color:black">ObjectClass
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">objectClass,
</span><span style="font-size:12pt;font-family:"Courier New";color:black">Set</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)"><</span><span style="font-size:12pt;font-family:"Courier New";color:black">Attribute</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">>
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">attributes,
</span><span style="font-size:12pt;font-family:"Courier New";color:black">OperationOptions
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">operationOptions</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">) {<u></u><u></u></span></p>
<pre style="margin-left:45.8pt;background:white"><span style="font-size:12pt;color:black">Optional</span><span style="font-size:12pt;color:rgb(63,145,1)"><</span><span style="font-size:12pt;color:black">String</span><span style="font-size:12pt;color:rgb(63,145,1)">> </span><span style="font-size:12pt;color:black">pid </span><span style="font-size:12pt;color:rgb(8,8,8)">= </span><span style="font-size:12pt;color:black">CsUtil</span><span style="font-size:12pt;color:rgb(8,8,8)">.<i>findPid</i></span><span style="font-size:12pt;color:rgb(63,145,1)">(</span><span style="font-size:12pt;color:rgb(8,8,8)">attributes</span><span style="font-size:12pt;color:rgb(63,145,1)">)</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br></span><span style="font-size:12pt;color:rgb(0,51,179)">if </span><span style="font-size:12pt;color:rgb(63,145,1)">(</span><span style="font-size:12pt;color:black">pid</span><span style="font-size:12pt;color:rgb(8,8,8)">.isPresent</span><span style="font-size:12pt;color:rgb(14,74,142)">()</span><span style="font-size:12pt;color:rgb(63,145,1)">) </span><span style="font-size:12pt;color:rgb(188,191,1)">{<br> </span><i><span style="font-size:12pt;color:rgb(135,16,148)">LOG</span></i><span style="font-size:12pt;color:rgb(8,8,8)">.info</span><span style="font-size:12pt;color:rgb(14,74,142)">(</span><span style="font-size:12pt;color:rgb(6,125,23)">">>> Done CsCreate.create"</span><span style="font-size:12pt;color:rgb(14,74,142)">)</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br> </span><span style="font-size:12pt;color:black">Name name </span><span style="font-size:12pt;color:rgb(8,8,8)">= </span><span style="font-size:12pt;color:rgb(0,51,179)">new </span><span style="font-size:12pt;color:rgb(8,8,8)">Name</span><span style="font-size:12pt;color:rgb(14,74,142)">(</span><span style="font-size:12pt;color:black">pid</span><span style="font-size:12pt;color:rgb(8,8,8)">.get</span><span style="font-size:12pt;color:rgb(188,191,1)">()</span><span style="font-size:12pt;color:rgb(14,74,142)">)</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br> </span><span style="font-size:12pt;color:black">Uid uid </span><span style="font-size:12pt;color:rgb(8,8,8)">= </span><span style="font-size:12pt;color:rgb(0,51,179)">new </span><span style="font-size:12pt;color:rgb(8,8,8)">Uid</span><span style="font-size:12pt;color:rgb(14,74,142)">(</span><span style="font-size:12pt;color:black">pid</span><span style="font-size:12pt;color:rgb(8,8,8)">.get</span><span style="font-size:12pt;color:rgb(188,191,1)">()</span><span style="font-size:12pt;color:rgb(8,8,8)">, </span><span style="font-size:12pt;color:black">name</span><span style="font-size:12pt;color:rgb(14,74,142)">)</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br> </span><span style="font-size:12pt;color:rgb(0,51,179)">return </span><span style="font-size:12pt;color:black">uid</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br></span><span style="font-size:12pt;color:rgb(188,191,1)">} </span><span style="font-size:12pt;color:rgb(0,51,179)">else </span><span style="font-size:12pt;color:rgb(188,191,1)">{<br> </span><span style="font-size:12pt;color:rgb(0,51,179)">throw new </span><span style="font-size:12pt;color:rgb(8,8,8)">IllegalArgumentException</span><span style="font-size:12pt;color:rgb(14,74,142)">(</span><span style="font-size:12pt;color:rgb(6,125,23)">"Cannot create because PID is empty"</span><span style="font-size:12pt;color:rgb(14,74,142)">)</span><span style="font-size:12pt;color:rgb(8,8,8)">;<br></span><span style="font-size:12pt;color:rgb(188,191,1)">}</span><span style="font-size:12pt;color:rgb(8,8,8)"><u></u><u></u></span></pre>
<p class="MsoNormal" style="background:white"><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">}</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">I can only return a Uid object. Providing the nameHint seems have no effect.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">Most “standard” resource will go through the executeQuery method (e.g, through an inititial import).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:12pt;font-family:"Courier New";color:rgb(0,51,179)">public void
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(0,98,122)">executeQuery</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">(</span><span style="font-size:12pt;font-family:"Courier New";color:black">ObjectClass
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">objectClass,
</span><span style="font-size:12pt;font-family:"Courier New";color:black">PersonSearch
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">personSearch,
</span><span style="font-size:12pt;font-family:"Courier New";color:black">ResultsHandler
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">resultsHandler,
</span><span style="font-size:12pt;font-family:"Courier New";color:black">OperationOptions
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)">operationOptions</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(63,145,1)">)
</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(14,74,142)">{</span><span style="font-size:12pt;font-family:"Courier New";color:rgb(8,8,8)"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">Here, you can construct a connectorObject and ask the resultHandler to handle it. So, I can set both uid and name to whatever I want.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">But, because my resource cannot do the blank query so the midpoint will call the create method when needed. But the create() is unaware of connectorObject, it only returns a unique handle, i.e., the UID.
<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">What I guess is this.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="gmail-m_4632812854518880833MsoListParagraph" style="margin-left:0in"><span style="font-size:16pt">A property-change triggers an outbound mapping<u></u><u></u></span></li><li class="gmail-m_4632812854518880833MsoListParagraph" style="margin-left:0in"><span style="font-size:16pt">Midpoint notices the absence of a shadow account for the outbound resource<u></u><u></u></span></li><li class="gmail-m_4632812854518880833MsoListParagraph" style="margin-left:0in"><span style="font-size:16pt">Midpoint called the connector.create() method to create the intended resource and subsequently create the shadowObject with the returned uid.<u></u><u></u></span></li><li class="gmail-m_4632812854518880833MsoListParagraph" style="margin-left:0in"><span style="font-size:16pt">At a later stage, it triggers the ShadowUtil.determineShadowName method and throw an exception when found absent.<u></u><u></u></span></li></ol>
<p class="MsoNormal"><span style="font-size:16pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">A potential remedy is step #3, when midpoint can use the nameHint of the Uid object to fill in the name of the shadow account.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt">Xiaoshu<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:16pt"><u></u><u></u></span></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal" style="margin-bottom:12pt"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">midPoint <<a href="mailto:midpoint-bounces@lists.evolveum.com" target="_blank">midpoint-bounces@lists.evolveum.com</a>> on behalf of Pavol Mederly via midPoint <<a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a>><br>
<b>Date: </b>Wednesday, July 6, 2022 at 1:35 PM<br>
<b>To: </b><a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a> <<a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a>><br>
<b>Cc: </b>Pavol Mederly <<a href="mailto:mederly@evolveum.com" target="_blank">mederly@evolveum.com</a>><br>
<b>Subject: </b>Re: [midPoint] Couldn't determine shadow name<u></u><u></u></span></p>
</div>
<p>Hello Xiaoshu,<u></u><u></u></p>
<p>I am still not sure I completely understand your use case, but maybe the simplest thing your connector can do is to mirror __UID__ to __NAME__ itself (if the name is not known). This is actually what many connectors do.<u></u><u></u></p>
<p>See also <a href="https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.evolveum.com%2Fconnectors%2Fconnid%2F1.x%2Fconnector-development-guide%2F%23__uid__-and-__name__-are-the-same&data=05%7C01%7C%7C82ee4f4b8d5641f797bd08da5f75ddd5%7C58b3d54f16c942d3af081fcabd095666%7C1%7C0%7C637927257089124002%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IdUHpdfHbErsScQkaEq4fsd7cgcdpL2WzMpJckyIPQk%3D&reserved=0" target="_blank">
https://docs.evolveum.com/connectors/connid/1.x/connector-development-guide/#__uid__-and-__name__-are-the-same</a>.<u></u><u></u></p>
<p>I am not sure why both of these are obligatory in ConnId (originally ICF, then OpenICF).<u></u><u></u></p>
<p>The <span style="font-family:"Courier New"">ShadowUtil.determineShadowName</span> method is maybe not very consistent, I must admit. (I have looked at it right now.) For example, it is called from a couple of places in midPoint, and a caller usually catches
SchemaException, and continues with "no name" situation. I am not sure about your specific situation, because I don't know exact midPoint version, whole stack trace, and so on. But I think the best you can do is simply to return both __UID__ and __NAME__ from
your connector, and (hopefully) midPoint will be happy with it.<u></u><u></u></p>
<p>Best regards,<u></u><u></u></p>
<pre>-- <u></u><u></u></pre>
<pre>Pavol Mederly<u></u><u></u></pre>
<pre>Software developer<u></u><u></u></pre>
<pre><a href="http://evolveum.com" target="_blank">evolveum.com</a><u></u><u></u></pre>
<div>
<p class="MsoNormal">On 06/07/2022 17:34, Wang, Xiaoshu via midPoint wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><span style="font-size:16pt">Pavol:</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">Conceptually, I know “why” it throws the exception but I wonder if it can be considered as a “bug” or “improvement” for the midpoint.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">I have a particular use case, where I have a resource that I only need to do outbound mapping. The resource, however, does not provide an API for me to do something like getAll() operations. In other words,
I cannot do an initial import kind of task to force midpoint to create all the shadow account.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">Thus, when a property change that triggers an outbound mapping, midpoint noted that the resource does not exist, so it calls the create() method on the connector. Unlike the executeQuery method, which can
construct a connectorObject and ask midpoint to handle it. The create method can only return a “Uid”. I understand the rational under this as the connector.create() is meant to create a remote resource as opposed to create the shadow account, (I guess is mirrored
by the connectorObject). Upon receiving the UID, the midpoint then creates a matching shadow account with it (due to the absence of it). However, as both __UID__ and __NAME__ are *<b>required</b>* attributes for a connectorObject (i.e., shadow account), then
a later verification step failed the check and throws the exception.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">The exception appears non-preemptive, i.e., it does create the shadow account, which name, I can later fill when the updateDelta is called. The exception trace would be more of a nuance than error. Yet, I
think it would be nice that midpoint can do some auto remedy for it. For example, during the validation phase, copy the __uid__ to __name__ if the latter is absent etc.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">Or, if there might be some other way to get around this particular use case of mine, I would be glad to hear it.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">Xiaoshu</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(181,196,223);padding:3pt 0in 0in">
<p class="MsoNormal" style="margin-bottom:12pt"><b><span style="font-size:12pt;color:black">From:
</span></b><span style="font-size:12pt;color:black">midPoint <a href="mailto:midpoint-bounces@lists.evolveum.com" target="_blank">
<midpoint-bounces@lists.evolveum.com></a> on behalf of Pavol Mederly via midPoint
<a href="mailto:midpoint@lists.evolveum.com" target="_blank"><midpoint@lists.evolveum.com></a><br>
<b>Date: </b>Wednesday, July 6, 2022 at 5:10 AM<br>
<b>To: </b><a href="mailto:midpoint@lists.evolveum.com" target="_blank">midpoint@lists.evolveum.com</a>
<a href="mailto:midpoint@lists.evolveum.com" target="_blank"><midpoint@lists.evolveum.com></a><br>
<b>Cc: </b>Pavol Mederly <a href="mailto:mederly@evolveum.com" target="_blank"><mederly@evolveum.com></a><br>
<b>Subject: </b>Re: [midPoint] Couldn't determine shadow name</span><u></u><u></u></p>
</div>
<p>Hi Xiaoshu,<u></u><u></u></p>
<p>I always recommend to have a look at the code that throws the exception. In your case it's most probably this one:<u></u><u></u></p>
<p><a href="https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FEvolveum%2Fmidpoint%2Fblob%2Fd317537626a99db32764c486507f1c1ac5a47fb6%2Finfra%2Fschema%2Fsrc%2Fmain%2Fjava%2Fcom%2Fevolveum%2Fmidpoint%2Fschema%2Futil%2FShadowUtil.java%23L688-L736&data=05%7C01%7C%7C82ee4f4b8d5641f797bd08da5f75ddd5%7C58b3d54f16c942d3af081fcabd095666%7C1%7C0%7C637927257089124002%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=NQ15LUcMeIk6ZXAR%2FxdGzzrPw%2FudHpWrP%2FP9TxZ3Yns%3D&reserved=0" target="_blank">https://github.com/Evolveum/midpoint/blob/d317537626a99db32764c486507f1c1ac5a47fb6/infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java#L688-L736</a><u></u><u></u></p>
<p>(lines are shifted probably because of midPoint version mismatch)<u></u><u></u></p>
<p>It should give you a clue - e.g. does your object have a primary identifier set? Etc...<u></u><u></u></p>
<p>Regards,<u></u><u></u></p>
<pre>-- <u></u><u></u></pre>
<pre>Pavol Mederly<u></u><u></u></pre>
<pre>Software developer<u></u><u></u></pre>
<pre><a href="http://evolveum.com" target="_blank">evolveum.com</a><u></u><u></u></pre>
<div>
<p class="MsoNormal">On 23/06/2022 15:27, Wang, Xiaoshu via midPoint wrote:<u></u><u></u></p>
</div>
<blockquote style="margin-top:5pt;margin-bottom:5pt">
<p class="MsoNormal"><span style="font-size:16pt">Hi,</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">I am developing a custom connector. When I assign the resource connected with that connector, I got the following exception.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">com.evolveum.midpoint.util.exception.SchemaException: Could not determine shadow name.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> at com.evolveum.midpoint.schema.util.ShadowUtil.determineShadowStringName(ShadowUtil.java:695)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> at com.evolveum.midpoint.schema.util.ShadowUtil.determineShadowName(ShadowUtil.java:667)</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> ….</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">The exception seems not do anything “harmful” as far as I can tell because the new account would be listed under the resource. But I want to know why. Hope someone can shed some light on for me.</span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt"> </span><u></u><u></u></p>
<p class="MsoNormal"><span style="font-size:16pt">Xiaoshu</span><u></u><u></u></p>
<p class="MsoNormal"><br>
<br>
<br>
<u></u><u></u></p>
<pre>_______________________________________________<u></u><u></u></pre>
<pre>midPoint mailing list<u></u><u></u></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><u></u><u></u></pre>
<pre><a href="https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.evolveum.com%2Fmailman%2Flistinfo%2Fmidpoint&data=05%7C01%7C%7C82ee4f4b8d5641f797bd08da5f75ddd5%7C58b3d54f16c942d3af081fcabd095666%7C1%7C0%7C637927257089124002%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=RFi8HBUDzf0vutdxZ7LwB6hr9gxZixVf162KsekRHUw%3D&reserved=0" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><u></u><u></u></pre>
</blockquote>
<p class="MsoNormal"><br>
<br>
<u></u><u></u></p>
<pre>_______________________________________________<u></u><u></u></pre>
<pre>midPoint mailing list<u></u><u></u></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><u></u><u></u></pre>
<pre><a href="https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.evolveum.com%2Fmailman%2Flistinfo%2Fmidpoint&data=05%7C01%7C%7C82ee4f4b8d5641f797bd08da5f75ddd5%7C58b3d54f16c942d3af081fcabd095666%7C1%7C0%7C637927257089124002%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=RFi8HBUDzf0vutdxZ7LwB6hr9gxZixVf162KsekRHUw%3D&reserved=0" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><u></u><u></u></pre>
</blockquote>
</div>
</div>
_______________________________________________<br>
midPoint mailing list<br>
<a href="mailto:midPoint@lists.evolveum.com" target="_blank">midPoint@lists.evolveum.com</a><br>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature">s pozdravom<div><br></div><div>Gustáv Pálos</div></div>