[midPoint] 3.1 SNAPSHOT, Username Generation
Ivan Noris
ivan.noris at evolveum.com
Wed Dec 10 20:18:21 CET 2014
Hi Jason,
this is interesting: it seems to work:
Right now I have resource with object template reference in unmatched
action:
. . .
<reaction>
<situation>unmatched</situation>
<objectTemplateRef oid="10000000-0000-0000-1111-000000000203"/>
<action
ref="http://midpoint.evolveum.com/xml/ns/public/model/action-3#addUser"/>
</reaction>
. . .
The template:
<objectTemplate
xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
oid="10000000-0000-0000-1111-000000000203"
version="2">
<name>Default User Template (VIX)</name>
<iteration>
<maxIterations>999</maxIterations>
<tokenExpression>
<script>
<code>
if (iteration == 0) {
return "";
} else {
return "" + (iteration+1)
}
</code>
</script>
</tokenExpression>
</iteration>
<mapping>
<name>Generate Username</name>
<source>
<name>tmpGivenName</name>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">givenName</c:path>
</source>
<source>
<name>tmpFamilyName</name>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">familyName</c:path>
</source>
<expression>
<script>
<code>
tmpGivenNameInitial =
basic.stringify(tmpGivenName)?.size() > 0 ?
(basic.stringify(tmpGivenName)).substring(0,2) : ''
if (iteration == 0) {
basic.norm(basic.stringify(tmpGivenNameInitial +
tmpFamilyName))
}
else {
basic.norm(basic.stringify(tmpGivenNameInitial +
tmpFamilyName)) + iterationToken
}
</code>
</script>
</expression>
<target>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">name</c:path>
</target>
</mapping>
<mapping>
<source>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">$user/name</c:path>
</source>
<source>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">$user/emailAddress</c:path>
</source>
<expression>
<script>
<language>http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</language>
<code>name+'@bshp.edu'</code>
</script>
</expression>
<target>
<c:path
xmlns:c="http://midpoint.evolveum.com/xml/ns/public/common/common-3">emailAddress</c:path>
</target>
</mapping>
</objectTemplate>
The CSV entry:
employeeID,firstname,lastname,otherMailbox,program,organization
"papecok4","Andrej","Papecok","papecok4","xxx","MyOrg"
MidPoint User after sync:
<user xmlns="http://midpoint.evolveum.com/xml/ns/public/common/common-3"
oid="93b18a69-f030-4164-9cef-ef955233b2bc"
version="1">
<name>anpapecok4</name>
. . .
<iteration>3</iteration>
<iterationToken>4</iterationToken>
<givenName>Andrej</givenName>
<familyName>Papecok</familyName>
* <emailAddress>anpapecok4 at bshp.edu</emailAddress>*
<employeeNumber>papecok4</employeeNumber>
. . .
</user>
This is midPoint git-v3.0.1devel-704-g0937a70
Can you see any difference with your config...?
Regards,
Ivan
On 12/10/2014 05:13 PM, Jason Everling wrote:
> So I disabled or removed that template from the resource reactions, I
> set it as the default template is sysconfig.
>
> It still does it, <emailAddress>null at domain.com
> <mailto:null at domain.com></emailAddress> seems to be affected,
>
> Wierd though, I turned on debugging,
>
> It shows the attribute being created correctly, you can see from the
> log but in the gui and in the user xml it is null at domain.com
> <mailto:null at domain.com>
>
> ObjectDelta<UserType>(UserType:ab907de7-4302-47ef-8003-36959fc842ef,ADD):
> user: (ab907de7-4302-47ef-8003-36959fc842ef, v0, UserType)
> extension:
> otherMailbox: [ hhernandez at local.org
> <mailto:hhernandez at local.org> ]
> eduPersonAffiliation: [ student ]
> givenName: Herman
> familyName: Hernandes
> costCenter: PN
> employeeNumber: HE5019982
> credentials:
> password:
> value:
> ProtectedStringType(encrypted=EncryptedDataType(encryptionMethod=EncryptionMethodType(algorithm=http://www.w3.org/2001/04/xmlenc#aes128-cbc),
> keyInfo=KeyInfoType(keyName=HiCJvCmeUCWoiEl3d+uXyd2VeYs=),
> cipherData=CipherDataType(cipherValue=[32 bytes])))
> activation:
> administrativeStatus: ENABLED
> effectiveStatus: ENABLED
> enableTimestamp: 2014-12-10T10:07:21.502-06:00
> emailAddress: hehernandes at domain.com <mailto:hehernandes at domain.com>
> name: hehernandes
> employeeType: [ A2S ]
> locale: US
> organization: [ OU=DPN,OU=SHP Students,DC=TEST,DC=LOCAL ]
> locality: San Antonio
> fullName: Herman Hernandes
> iteration: 0
>
> On Wed, Dec 10, 2014 at 9:46 AM, Ivan Noris <ivan.noris at evolveum.com
> <mailto:ivan.noris at evolveum.com>> wrote:
>
> Jason,
>
> I believe I have seen this couple of weeks ago when debugging the
> iterator problem... seems that I've forgotten about this.
>
> But as far I can remember, it has worked when the mapping was in
> global system template instead of the resource-referenced.
>
> If you can temporarily disable using of the template in resource
> and set the same template in System Configuration for UserType
> objects, can you please test the behaviour?
>
> Anyway it seems to be a bug, so after you could confirm the
> behaviour, I'd create a new issue.
>
> Thanks,
> I.
>
>
> On 12/10/2014 04:32 PM, Jason Everling wrote:
>> Since I upgraded to 3.1 and I am not sure if this is related to
>> the other CSV Resource issue.
>>
>> Here is the mapping for the template, it worked fine in 3.0.1 so
>> I do not know if anything changed, the email address is built
>> using name + '@domain.com <http://domain.com>' but when the user
>> is created I get null at domain.com <mailto:null at domain.com>, like
>> it is not picking up the username from the first mapping
>>
>> <mapping>
>> <name>Generate Username for CSV</name>
>> <source>
>> <name>tmpGivenName</name>
>> <path>givenName</path>
>> </source>
>> <source>
>> <name>tmpFamilyName</name>
>> <path>familyName</path>
>> </source>
>> <!-- Will generate username in the filastname format with
>> iterator,
>> filastname
>> filastname2
>> -->
>> <expression>
>> <script>
>> <code>
>> tmpGivenNameInitial =
>> basic.stringify(tmpGivenName)?.size() > 0 ?
>>
>> (basic.stringify(tmpGivenName)).substring(0,2) : ''
>> if (iteration == 0) {
>>
>> basic.norm(basic.stringify(tmpGivenNameInitial + tmpFamilyName))
>> }
>> else {
>>
>> basic.norm(basic.stringify(tmpGivenNameInitial + tmpFamilyName))
>> + iterationToken
>> }
>> </code>
>> </script>
>> </expression>
>> <target>
>> <path>name</path>
>> </target>
>> </mapping>
>>
>> <iteration>
>> <maxIterations>25</maxIterations>
>> <tokenExpression>
>> <script>
>> <code>
>> if (iteration == 0) {
>> return "";
>> } else {
>> return "" + (iteration+1)
>> }
>> </code>
>> </script>
>> </tokenExpression>
>> </iteration>
>>
>> <mapping>
>> <source>
>> <path>$user/name</path>
>> </source>
>> <expression>
>> <script>
>>
>> <language>http://midpoint.evolveum.com/xml/ns/public/expression/language#Groovy</language>
>> <code>name + '@domain.com <http://domain.com>'</code>
>> </script>
>> </expression>
>> <target>
>> <path>emailAddress</path>
>> </target>
>> </mapping>
>>
>>
>>
>>
>> CONFIDENTIALITY NOTICE:
>> This e-mail together with any attachments is proprietary and
>> confidential; intended for only the recipient(s) named above and
>> may contain information that is privileged. You should not
>> retain, copy or use this e-mail or any attachments for any
>> purpose, or disclose all or any part of the contents to any
>> person. Any views or opinions expressed in this e-mail are those
>> of the author and do not represent those of the Baptist School of
>> Health Professions. If you have received this e-mail in error, or
>> are not the named recipient(s), you are hereby notified that any
>> review, dissemination, distribution or copying of this
>> communication is prohibited by the sender and to do so might
>> constitute a violation of the Electronic Communications Privacy
>> Act, 18 U.S.C. section 2510-2521. Please immediately notify the
>> sender and delete this e-mail and any attachments from your
>> computer.
>>
>>
>> _______________________________________________
>> midPoint mailing list
>> midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
>> http://lists.evolveum.com/mailman/listinfo/midpoint
>
> --
> Ing. Ivan Noris
> Senior Identity Management Engineer
> evolveum.com <http://evolveum.com> evolveum.com/blog/ <http://evolveum.com/blog/>
> _____________________________________________
> "Semper Id(e)M Vix."
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com <mailto:midPoint at lists.evolveum.com>
> http://lists.evolveum.com/mailman/listinfo/midpoint
>
>
>
>
>
> CONFIDENTIALITY NOTICE:
> This e-mail together with any attachments is proprietary and
> confidential; intended for only the recipient(s) named above and may
> contain information that is privileged. You should not retain, copy or
> use this e-mail or any attachments for any purpose, or disclose all or
> any part of the contents to any person. Any views or opinions
> expressed in this e-mail are those of the author and do not represent
> those of the Baptist School of Health Professions. If you have
> received this e-mail in error, or are not the named recipient(s), you
> are hereby notified that any review, dissemination, distribution or
> copying of this communication is prohibited by the sender and to do so
> might constitute a violation of the Electronic Communications Privacy
> Act, 18 U.S.C. section 2510-2521. Please immediately notify the sender
> and delete this e-mail and any attachments from your computer.
>
>
> _______________________________________________
> midPoint mailing list
> midPoint at lists.evolveum.com
> http://lists.evolveum.com/mailman/listinfo/midpoint
--
Ing. Ivan Noris
Senior Identity Management Engineer
evolveum.com evolveum.com/blog/
_____________________________________________
"Semper Id(e)M Vix."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.evolveum.com/pipermail/midpoint/attachments/20141210/bf0696db/attachment.htm>
More information about the midPoint
mailing list