<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#467886;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
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]-->
</head>
<body lang="DE-CH" link="#467886" vlink="#96607D" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi Community,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="EN-US">I am building my Org-Tree by importing Name, ID, Manager and ParentID from a CSV File.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Doring Import, my Org-ObjectTemplate is used to build the Tree (Parent-Child), assign the Manager to each Org and assign the my Org ArcheType.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Now we would assign Roles to Orgs in different places in this Org-Tree and those roles must be applied to all Users in this particular Org and also to all Users that are member of any Org that is below this current Org.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">For example, when I assign Role-A to the top Org of our Org Tree, I want all Employees that are member to any of the Orgs below also get Role-A assigned.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Based on the documentstion: <a href="https://docs.evolveum.com/midpoint/reference/master/roles-policies/assignment/parentorgref-and-assignments/">
https://docs.evolveum.com/midpoint/reference/master/roles-policies/assignment/parentorgref-and-assignments/</a><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I have tried to achive by adding a mapping to my Org-ObjectTemplate that creates an inducement of the ParentOrg to every Org, but at the end my Org-Tree was a big mess.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Here the Mapping that I have added to my OrgObjectTempate:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><br>
    <mapping><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <name>Parent Child Mapping for Inducement</name><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <authoritative>true</authoritative><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <strength>strong</strength><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <source><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">            <path>extension/parentId</path><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        </source><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <source><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">            <path>name</path><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        </source><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <expression><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">            <assignmentTargetSearch><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                <targetType>c:OrgType</targetType><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                <filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                    <q:equal><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                        <q:path>c:name</q:path><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                        <expression><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                            <script><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                <code><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                    parent = parentId<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                    if (!parent) {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                        return "1"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                    } else {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                        return parent<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                                    }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                               </code>   <o:p>
</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                            </script><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                        </expression><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                    </q:equal><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">                </filter><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">            </assignmentTargetSearch><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        </expression><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        <target><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">            <path>inducement</path><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">        </target><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">    </mapping><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Thank you in advance for help or ideas how to proceed with this.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Patrik<o:p></o:p></span></p>
</div>
</body>
</html>