<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=utf-8">
<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:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Préformaté HTML Car";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;
        mso-fareast-language:EN-US;}
span.PrformatHTMLCar
        {mso-style-name:"Préformaté HTML Car";
        mso-style-priority:99;
        mso-style-link:"Préformaté HTML";
        font-family:Consolas;
        color:black;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle21
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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 bgcolor="white" lang="FR" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hi Ivan and Radovan,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">We achieved the synchronization with the example you provided.
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">It’s worked using the correlation <q:matching> instead of <q:equal>.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">We will try the ConnId CSVDir and give feedbacks soon.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D">Antoine.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span lang="EN-US" style="color:windowtext;mso-fareast-language:FR">De :</span></b><span lang="EN-US" style="color:windowtext;mso-fareast-language:FR"> midPoint [mailto:midpoint-bounces@lists.evolveum.com]
<b>De la part de</b> Radovan Semancik<br>
<b>Envoyé :</b> Tuesday, May 17, 2016 9:21 PM<br>
<b>À :</b> midpoint@lists.evolveum.com<br>
<b>Objet :</b> Re: [midPoint] Sync Entitlements to Role/Org Object with CSVFileConnector<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Hi Antoine,<br>
<br>
I would like to explain this a bit deeper. Even though the CVSFile connector that we are currently using was ori</span>ginally created by one of our team members it comes from the OpenICF project. It was created back in the "dark ages" when the only thing that
 the IDM systems were able to manage were accounts. So, the connector is also hard-coded to support only accounts. Yes, there are some tricks to make it work, but it is ugly and it is in fact just abuse of the old code. The systemic solution would be to either
 extend (or re-write) the old CSVFile connector or to join forces with the ConnId CSVDir connector (<a href="https://github.com/Tirasa/ConnIdCSVDirBundle">https://github.com/Tirasa/ConnIdCSVDirBundle</a>). I would actually prefer the latter option. Cooperation
 is almost always a better strategy. The thing is, that nobody really tried the ConnId CSVDir connector with midPoint. It is a ConnId connector so theoretically it should be compatible. But theoretically there is no difference between the theory and practice
 while practically there is a great deal of difference. Therefore if you have the capacity you might want to experiment with the CSVDir connector and report back the results. That will be a great help to midPoint community.<br>
<br>
<br>
<span style="font-size:12.0pt;mso-fareast-language:FR"><o:p></o:p></span></p>
<pre>-- <o:p></o:p></pre>
<pre>Radovan Semancik<o:p></o:p></pre>
<pre>Software Architect<o:p></o:p></pre>
<pre>evolveum.com<o:p></o:p></pre>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On 05/17/2016 03:55 PM, Ivan Noris wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal" style="margin-bottom:12.0pt">Hi Antoine,<br>
<br>
CSV connector supports only accounts, i.e. kind=account.<br>
So if you want to import something which is not account, but organization or role, you have to pretend it's account.<br>
But it will work.<br>
<br>
The schema handling should be configured for objectClass ri:AccountObjectClass, kind=account (which is default) and intent - or if one CSV file will be used only for roles and nothing else, intent may be default.<br>
<br>
<br>
Synchronization part should look like this:<br>
            <objectSynchronization><br>
                    <name>Foo</name><br>
                    <objectClass>ri:AccountObjectClass</objectClass><br>
                    <kind>account</kind><br>
                    <intent>default</intent><br>
     <b>               <focusType>c:RoleType</focusType> <!-- or c:OrgType --><!-- Focus object type to correlate instead of UserType!!! --></b><br>
                <enabled>true</enabled><br>
    <br>
                <correlation><br>
            <q:equal><br>
                <q:matching>polyStringNorm</q:matching><br>
                <q:path>c:name</q:path><br>
                <expression><br>
...<br>
                </expression><br>
            </q:equal><br>
                    </correlation><br>
                <reaction><br>
                    <situation>linked</situation><br>
                    <synchronize>true</synchronize><br>
                </reaction><br>
                <reaction><br>
                    <situation>deleted</situation><br>
                    <synchronize>true</synchronize><br>
                    <action ref=<a href="http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink">"http://midpoint.evolveum.com/xml/ns/public/model/action-3#unlink"</a>/><br>
                </reaction><br>
                <reaction><br>
                    <situation>unlinked</situation><br>
                    <synchronize>true</synchronize><br>
                    <action ref=<a href="http://midpoint.evolveum.com/xml/ns/public/model/action-3#link">"http://midpoint.evolveum.com/xml/ns/public/model/action-3#link"</a>/><br>
                </reaction><br>
                <reaction><br>
                    <situation>unmatched</situation><br>
                    <synchronize>true</synchronize><br>
                    <action ref=<a href="http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus">"http://midpoint.evolveum.com/xml/ns/public/model/action-3#addFocus"</a>/><br>
                </reaction><br>
        </objectSynchronization><br>
<br>
Regards,<br>
Ivan<o:p></o:p></p>
<div>
<p class="MsoNormal">On 05/17/2016 03:42 PM, LECOMTE ANTOINE wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p class="MsoNormal"><span lang="EN-US">Hi,</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">We can’t figure out how to import Role or Organization through the CSV Connector.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">We tried multiples values for kind/intent/ObjectClass/focusType but we don’t pass the synchronization.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">The shadows are created with the status UNMATCHED.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">We are using Midpoint v. 3.3.1.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US">Do someone have a resource example or a link explaining how to import Role with the CSV Connector ?</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:FR">Thanks.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:FR"> </span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:FR">--</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:FR">Antoine Lecomte.</span><o:p></o:p></p>
<p class="MsoNormal"><span lang="EN-US"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FR"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>midPoint mailing list<o:p></o:p></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><o:p></o:p></pre>
<pre><a href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FR"><br>
<br>
<o:p></o:p></span></p>
<pre>-- <o:p></o:p></pre>
<pre>  Ing. Ivan Noris<o:p></o:p></pre>
<pre>  Senior Identity Management Engineer & IDM Architect<o:p></o:p></pre>
<pre>  evolveum.com                     evolveum.com/blog/<o:p></o:p></pre>
<pre>  ___________________________________________________<o:p></o:p></pre>
<pre>  "Semper ID(e)M Vix."<o:p></o:p></pre>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FR"><br>
<br>
<br>
<o:p></o:p></span></p>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>midPoint mailing list<o:p></o:p></pre>
<pre><a href="mailto:midPoint@lists.evolveum.com">midPoint@lists.evolveum.com</a><o:p></o:p></pre>
<pre><a href="http://lists.evolveum.com/mailman/listinfo/midpoint">http://lists.evolveum.com/mailman/listinfo/midpoint</a><o:p></o:p></pre>
</blockquote>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;mso-fareast-language:FR"><o:p> </o:p></span></p>
</div>
</body>
</html>