[midPoint] Setting object template on createOnDemand role

Radovan Semancik radovan.semancik at evolveum.com
Thu Jan 21 16:38:37 CET 2016


Hi,

The answer is "no". It is not possible now. At least not simply. Maybe 
using some scripting hooks to manipulate the model context and replace 
active object template could be used. But that would require quite a 
deep understanding of midPoint internals and would not be very clean and 
maintainable code anyway.

However, I see a value your proposal and it could be a nice little 
feature. Not sure about the implementation effort right now ... the 
createOnDemand is in fact executing a new operation (on demand create) 
within another operation. Therefore it is not entirely trivial. But it 
should not be that difficult either.

Anyway, currently the team is quite busy. Therefore we cannot make it 
"for free". But if you would consider sponsoring this feature then we 
still can shuffle the priorities a bit and it can fit into 3.4 
development plan. Thinking about that it should not be that difficult to 
backport to 3.3 (3.3.1) if needed. The 3.4-SNAPSHOT and 3.3 code bases 
in the model component (where this needs to be implemented) are still 
almost the same. Let me know if you are considering sponsorship. In that 
case I can invest some time to investigate it further and provide a 
better estimate.

-- 
Radovan Semancik
Software Architect
evolveum.com



On 12/09/2015 10:47 PM, Devin Rosenbauer wrote:
> Is it possible to set the object template on a particular type of 
> createOnDemand role? I'd rather not use the global role template if 
> possible. (Alternatively, it would be nice if you could do a 
> conditional include.)
>
> I tried the following:
>
>                <populateItem>
>                   <expression>
> <value>10000000-0000-0000-0000-000000000241</value>
>                   </expression>
>                   <target>
> <c:path>objectTemplateRef</c:path>
>                   </target>
>                </populateItem>
>
> I also tried using an <assignmentTargetSearch> tag to look up the 
> object template object. I also tried specifying the target as 
> c:objectTemplateRef, c:objectTemplate, and objectTemplate.
>
> For example:
>
>                <populateItem>
>                   <expression>
>                      <assignmentTargetSearch>
> <targetType>c:ObjectTemplateType</targetType>
>                         <filter>
>                            <q:equal>
> <q:path>c:oid</q:path>
>                               <expression>
> <value>10000000-0000-0000-0000-000000000241</value>
>                               </expression>
>                            </q:equal>
>                         </filter>
>                      </assignmentTargetSearch>
>                   </expression>
>                   <target>
> <c:path>c:objectTemplate</c:path>
>                   </target>
>                </populateItem>
>
> The error messages indicate that the target is the problem. "No target 
> item that would conform to the path objectTemplate in expression in 
> mapping in objectTemplate"
>
> There doesn't seem to be a sample for doing this, and the 
> documentation only shows how to set it globally for users and roles.
>
> How would one go about doing this? Is there a better way to do this 
> sort of thing in Midpoint?
>
> -- 
> Devin Rosenbauer
> Principal Consultant
> Identity Works LLC
> +1 585 210 3201 <tel:%2B1%20585%20210%203201>
>
>
> _______________________________________________
> 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/20160121/2a572102/attachment.htm>


More information about the midPoint mailing list