One more Question About LDAP Import Extension

All,
We are happy with LDAP Import, with the following mapping:

Set($LDAPMapping, { ‘Name’ => ‘uid’,
‘EmailAddress’ => ‘mail’,
‘RealName’ => ‘cn’,
‘ExternalAuthId’ => ‘uid’,
‘Gecos’ => ‘gecos’
}
);

 We're trying to figure out though; which is the key RT checks to 

see if users already exist? When running in debug mode we get this output:

Processing user spestana
User spestana already exists as 494, skipping
Imported 38/48 users

 But there's no way of knowing if that's the Name, or the 

ExternalAuthId. Can you give us some insight here? Right now, my
inspection of the code has me feeling this defaults to the first field
listed by the LDAPMapping.

N. Scott Pestana
IT Infrastructure
Linguamatics
275 Grove Street, Suite 2-400
Newton, MA 02466

Tel: +1-774-571-7135

US Tel: +1-617-674-3256
UK Tel: 011-44-1223-421360
UK Fax: 011-44-1223-421361
Web: www.linguamatics.com

Johnathan,
I used perl -d to traverse the execution of rtldapimport, and found
that the module uses the Name field; it automatically assumes the Name
field is one of the fields in the mapping. It does a test on the
LDAP->RT mapping, but only to determine if one exists, not that it
explicitly includes the Name field. I found code that explicitly picked
Name as a hash key from the RT field names to query (and without
quotes… shudder).

 I could be completely wrong about all of this, I'd love to be 

corrected if Mr. Falcone (the author) has some free time.

-ScottOn 4/23/2012 2:25 PM, johnathan.bell@baker.edu wrote:

In our instance, it seems that the username is keyed on email address
(even though we’ve got only the ‘Name’ field as the mapping for
logins)� I’d check that. The main reason for this, as I understand it,
is that even though you may specify some other field, RT still needs
to have a way of interpreting this when you’ve users replying to
tickets via email–the email address is the only thing the server has
to go on.

Then again, I may be way off base.

  • Johnathan

On Apr 23, 2012, at 12:26 PM, Scott Pestana wrote:

All,
We are happy with LDAP Import, with the following mapping:

Set($LDAPMapping, { ‘Name’ => ‘uid’,
‘EmailAddress’ => ‘mail’,
‘RealName’ => ‘cn’,
‘ExternalAuthId’ => ‘uid’,
‘Gecos’ => ‘gecos’
}
);

We’re trying to figure out though; which is the key RT checks to
see if users already exist? When running in debug mode we get this
output:

Processing user spestana
User spestana already exists as 494, skipping
Imported 38/48 users

But there’s no way of knowing if that’s the Name, or the
ExternalAuthId. Can you give us some insight here? Right now, my
inspection of the code has me feeling this defaults to the first
field listed by the LDAPMapping.


N. Scott Pestana
IT Infrastructure
Linguamatics
275 Grove Street, Suite 2-400
Newton, MA 02466

Tel: +1-774-571-7135

US Tel: +1-617-674-3256
UK Tel: 011-44-1223-421360
UK Fax: 011-44-1223-421361
Web: www.linguamatics.com http://www.linguamatics.com


Johnathan Bell
Internet System Administrator, Baker College
Office Hours: 7A-4P Eastern, M-F

N. Scott Pestana
IT Infrastructure
Linguamatics
275 Grove Street, Suite 2-400
Newton, MA 02466

Tel: +1-774-571-7135

US Tel: +1-617-674-3256
UK Tel: 011-44-1223-421360
UK Fax: 011-44-1223-421361
Web: www.linguamatics.com

I used perl -d to traverse the execution of rtldapimport, and found that the module uses the
Name field; it automatically assumes the Name field is one of the fields in the mapping. It
does a test on the LDAP->RT mapping, but only to determine if one exists, not that it
explicitly includes the Name field. I found code that explicitly picked Name as a hash key
from the RT field names to query (and without quotes… shudder).

I could be completely wrong about all of this, I’d love to be corrected if Mr. Falcone (the
author) has some free time.

My understanding is that this behavior is different in the current
development releases, although I’ve no idea what you mean by “without
quotes”.

Most of the debugging messages are going to use the Users’s Name,
because if you don’t have a username in RT, RT is going to get
really confused.

-kevin