Hello again:
It appears that RC uses some tricks to generate valid LDAP records upon import.
The following setting
'required_fields' => array('cn', 'givenName', 'sn', 'mail' ),
populates all 4 fields correctly for records that
a) have a value for field "FN" that contains at least two words b) have a value for field "EMAIL;type=INTERNET"
So FN is split into givenName (all but last word in FN) and sn (= last word in FN) nicely.
Again, this only works for records like "Joe Bloe" but not for records like "Joe" (with only one word in FN!)
So to be able to import more records, I changed to:
'required_fields' => array('cn', 'sn', 'mail' ),
(dropping 'givenName'). This indeed imports more records (as expected), but does unfortunately not populate the field 'givenName' anymore with the splitting logic indicated above.
In fact, when we also leave out 'mail' from the required_fields array, no mail addresses are imported at all, even though the vCards contain them.
The part about givenName is a matter of opinion, but the fact that perfectly valid email addresses are not imported into the LDAP 'mail' field from an existing "EMAIL;type=INTERNET" vCard field if mail is not part of 'required_fields' surprises me: shouldn't RC try to import as much as possible from vCard, and not only the minimum (required) fields?
Thanks for your insights, Achim