<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Om,</div><div><br></div><div>you're right - this should work, at the expense of additional read operation as you said.</div><div><br data-mce-bogus="1"></div><div> Please note it's an experimental feature. It has a some limitations, e.g., it doesn't take shadow caching into account.</div><div><br data-mce-bogus="1"></div><div>Best regards,<br>Pavol</div><div><br></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><b>From: </b>"midPoint General Discussion" <midpoint@lists.evolveum.com><br><b>To: </b>"midPoint General Discussion" <midpoint@lists.evolveum.com><br><b>Cc: </b>"Om Bhallamudi" <om.bhallamudi@proton.ch><br><b>Sent: </b>Wednesday, April 15, 2026 7:38:20 PM<br><b>Subject: </b>Re: [midPoint] Repost again! Is it possible to force sending unchanged attributes in updateDelta (ConnId)?<br></div><div><br></div><div data-marker="__QUOTED_TEXT__"><div style="font-family:'arial' , sans-serif;font-size:14px">Hi,</div><div style="font-family:'arial' , sans-serif;font-size:14px"><br></div><div style="font-family:'arial' , sans-serif;font-size:14px">I've used <code>attributeContentRequirement</code> for this before. Note that this causes a pre-read of object for every update. Internally, Midpoint will convert {changes like add, remove to some attributes} -> {replace of every attribute}.</div><div style="font-family:'arial' , sans-serif;font-size:14px"><div><pre><code><cap:update>
<cap:attributeContentRequirement>all</cap:attributeContentRequirement>
</cap:update></code></pre></div><div><p></p></div>Thanks,</div><div style="font-family:'arial' , sans-serif;font-size:14px">Om</div><div style="font-family:'arial' , sans-serif;font-size:14px" class="protonmail_signature_block">
<div class="protonmail_signature_block-proton protonmail_signature_block-empty">
</div>
</div>
<div style="font-family:'arial' , sans-serif;font-size:14px"><br><div class="protonmail_quote">
On Friday, 10 April 2026 at 11:58, Pavol Mederly via midPoint <midpoint@lists.evolveum.com> wrote:<br>
<blockquote class="protonmail_quote">
<p>Hello Ali,</p>
<p>answers are inline.</p>
<p>Best regards,</p>
<pre class="moz-signature">--
Pavol Mederly
Interim Chief Product Officer
evolveum.com</pre>
<div class="moz-cite-prefix">On 09/04/2026 20:47, Али Саад via
midPoint wrote:<br>
</div>
<blockquote>
<div dir="ltr">
<pre style="white-space:pre-wrap;color:rgb( 0 , 0 , 0 )">Hello again, repost again!
I have a question regarding midPoint provisioning behavior and ConnId
connectors.
As I understand, during update operations midPoint invokes updateDelta()
and only sends changed attributes (AttributeDelta set).
However, in my integration scenario the target system API requires some
attributes to be sent on every update request, even if they have not
changed.
For example:
- login (identifier)
- system/source field
- some mandatory attributes required by API contract
The problem is that these attributes are not always included in
AttributeDelta, since they are not modified.
My questions:
1. Is there a way to force midPoint to always include certain attributes in
updateDelta, even if they are unchanged?</pre>
</div>
</blockquote>
<p>I don't know of any.</p>
<p>There is a similar feature in asynchronous provisioning (AFAIK),
but that's a very specific case.</p>
<blockquote>
<div dir="ltr">
<pre style="white-space:pre-wrap;color:rgb( 0 , 0 , 0 )">2. Would outbound mappings with strength=strong guarantee that these
attributes are always sent?</pre>
</div>
</blockquote>
No.
<blockquote>
<div dir="ltr">
<pre style="white-space:pre-wrap;color:rgb( 0 , 0 , 0 )">3. Or is the recommended approach to enrich the request on the connector
side (service/mapper layer)?</pre>
</div>
</blockquote>
<p>Currently it seems to be to be the only option. I don't like it
very much, for the same reasons as you, but don't see an
alternative.</p>
<p>Maybe someone from the community has more experiences in this
area?</p>
<blockquote>
<div dir="ltr">
<pre style="white-space:pre-wrap;color:rgb( 0 , 0 , 0 )">I would like to understand what is considered a best practice in such
scenarios.
I am trying to avoid mixing transport-level requirements (API contract)
with business logic inside the connector, so I am looking for the most
appropriate architectural approach.</pre>
</div>
</blockquote>
<br>
<blockquote>
<div dir="ltr">
<pre style="white-space:pre-wrap;color:rgb( 0 , 0 , 0 )">Thank you.</pre>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre class="moz-quote-pre">_______________________________________________
midPoint mailing list
<a href="mailto:midPoint@lists.evolveum.com" rel="noreferrer nofollow noopener nofollow noopener noreferrer" target="_blank">midPoint@lists.evolveum.com</a>
<a href="https://lists.evolveum.com/mailman/listinfo/midpoint" rel="noreferrer nofollow noopener nofollow noopener noreferrer" target="_blank">https://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</blockquote><br>
</div></div><br>_______________________________________________<br>midPoint mailing list<br>midPoint@lists.evolveum.com<br>https://lists.evolveum.com/mailman/listinfo/midpoint<br></div></div></body></html>