<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello Robin,</p>
<p>unfortunately, the value for this option is currently hardcoded
in midPoint: <a
href="https://github.com/Evolveum/midpoint/blob/d28a6e28b6293fac12c26b5f78dc84e408f442a4/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/SearchExecutor.java#L121-L124"
class="moz-txt-link-freetext">https://github.com/Evolveum/midpoint/blob/d28a6e28b6293fac12c26b5f78dc84e408f442a4/provisioning/ucf-impl-connid/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/connid/SearchExecutor.java#L121-L124</a></p>
<p>(Some other options are set as needed, e.g. "attributes to get"
are derived from fetchStrategy and other settings.)</p>
<p>Technically, it is possible to provide a code that would set also
the allowPartialAttributeValues option depending e.g. on the
resource configuration. You can contact our sales to check the
options.</p>
<p>Best regards,<br>
</p>
<pre class="moz-signature" cols="72">--
Pavol Mederly
Software developer
evolveum.com</pre>
<div class="moz-cite-prefix">On 21/01/2025 11:11, Robin Gorris
(SFPD) via midPoint wrote:<br>
</div>
<blockquote type="cite"
cite="mid:VI1PR07MB99943F558316994174BA7279A0E62@VI1PR07MB9994.eurprd07.prod.outlook.com">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator"
content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
<style>@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
{font-family:"Yu Gothic";
panose-1:2 11 4 0 0 0 0 0 0 0;}@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
{font-family:"Arial Unicode MS";
panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
{font-family:"\@Yu Gothic";
panose-1:2 11 4 0 0 0 0 0 0 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
mso-ligatures:standardcontextual;}a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Arial",sans-serif;
color:#272726;
font-weight:normal;
font-style:normal;}.MsoChpDefault
{mso-style-type:export-only;}div.WordSection1
{page:WordSection1;}</style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">Hello,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">Is
there a way to configure ConnId properties through MidPoint
configuration?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">Context:
we’re evaluating the Keycloak connector from Openstandia,
which has been working great.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">When
configuring the user-to-group mappings, we need to be able
to set the allowPartialAttributeValues value so that the
connector doesn’t skip retrieving group memberships, as I
understand from this bit of code:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">if
(allowPartialAttributeValues) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
// Suppress fetching groups<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
LOGGER.ok("[{0}] Suppress fetching groups because return
partial attribute values is requested", instanceName);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
AttributeBuilder ab = new AttributeBuilder();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
ab.setName(ATTR_GROUPS).setAttributeValueCompleteness(AttributeValueCompleteness.INCOMPLETE);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
ab.addValue(Collections.EMPTY_LIST);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
builder.addAttribute(ab.build());<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
} else {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
if (attributesToGet == null) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
// Suppress fetching groups default<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
LOGGER.ok("[{0}] Suppress fetching groups because returned
by default is true", instanceName);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
} else if (shouldReturn(attributesToGet, ATTR_GROUPS)) {<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
// Fetch groups<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
LOGGER.ok("[{0}] Fetching groups because attributes to get
is requested", instanceName);<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
List<GroupRepresentation> groups =
users(realmName).get(user.getId()).groups();<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
builder.addAttribute(ATTR_GROUPS, groups.stream().map(g
-> g.getId()).collect(Collectors.toList()));<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
}<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:35.4pt"><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">
}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">The
allowPartialAttributeValues variable is a ConnID Operation
Option, for which I found the JavaDoc here:
</span><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><a
href="https://connid.tirasa.net/apidocs/1.5/org/identityconnectors/framework/common/objects/OperationOptions.html#OP_ALLOW_PARTIAL_ATTRIBUTE_VALUES"
moz-do-not-send="true"><span lang="EN-US"
style="color:#272726">OperationOptions (ConnId 1.5.2.0
API)</span></a></span><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">The
MidPoint version we’re using is 4.8.5.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">Regardless
of our specific context, it would be good to know if and how
ConnId options can be set through MidPoint configuration. I
highly appreciate your feedback.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726">Kind
regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726"><o:p> </o:p></span></p>
<p class="MsoNormal"><a href="http://www.sfpd.fgov.be/"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="55" height="50"
style="width:.575in;height:.5166in" id="Picture_x0020_1"
src="cid:part1.GtWnY8TZ.TTAhoePD@evolveum.com" class=""></span></a><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"><br>
<br>
</span><b><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#B50045;mso-ligatures:none">Robin
Gorris<br>
</span></b><span lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"><br>
Build & Release<br>
Federale Pensioendienst<br>
<br>
</span><a href="http://www.sfpd.fgov.be/"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_2"
src="cid:part2.B18Pw6sN.hGvPfRiL@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="http://mypension.be/" moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="24" height="25"
style="width:.25in;height:.2583in" id="Picture_x0020_3"
src="cid:part3.XIwdQc8e.tsmW6bZ3@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="https://www.facebook.com/Pensioendienst"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_4"
src="cid:part4.g1EzlQKr.qdxFLnH1@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="http://ow.ly/1059Df" moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_5"
src="cid:part5.57zgfq54.f6QavvEl@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="https://twitter.com/Pensioendienst"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_6"
src="cid:part6.hkmZIA60.WER0v8aD@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="http://ow.ly/1059Nc" moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_7"
src="cid:part7.JE0Vl0NE.n2d2QVCb@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="https://www.youtube.com/channel/UCPhdJMkumaVUWvRiNcDsbzA"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_8"
src="cid:part8.70eOCIBS.dMNBS1fk@evolveum.com" class=""></span></a><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"> </span><a
href="https://www.google.com/maps/place/Zuidertoren/@50.837610,4.336909,19z"
moz-do-not-send="true"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;text-decoration:none"><img
border="0" width="25" height="25"
style="width:.2583in;height:.2583in"
id="Picture_x0020_9"
src="cid:part9.yEDEcJDM.jH9Yi0dr@evolveum.com" class=""></span></a><span
lang="EN-US"
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#272726;mso-ligatures:none"><o:p></o:p></span></p>
<div
style="mso-element:para-border-div;border:none;border-top:solid #2D9BA5 1.0pt;padding:0cm 0cm 0cm 0cm">
<p class="MsoNormal" style="border:none;padding:0cm"><span
style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#2D9BA5;mso-ligatures:none">Denk
aan het milieu vooraleer je dit bericht afdrukt!<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<br>
<fieldset class="moz-mime-attachment-header"></fieldset>
<pre wrap="" class="moz-quote-pre">_______________________________________________
midPoint mailing list
<a class="moz-txt-link-abbreviated" href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a>
<a class="moz-txt-link-freetext" href="https://lists.evolveum.com/mailman/listinfo/midpoint">https://lists.evolveum.com/mailman/listinfo/midpoint</a>
</pre>
</blockquote>
</body>
</html>