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