Hi. It sounds like you are right.
As far as changing the mappings, the mappings themselves are stored in LDAP, in the "cn=config,cn=zimbra" DN:
Code:
zimbraGalLdapAttrMap: co=workCountry
zimbraGalLdapAttrMap: company=company
zimbraGalLdapAttrMap: givenName=firstName
zimbraGalLdapAttrMap: sn=lastName
zimbraGalLdapAttrMap: displayName,cn=fullName
zimbraGalLdapAttrMap: initials=initials
zimbraGalLdapAttrMap: l=workCity
zimbraGalLdapAttrMap: physicalDeliveryOfficeName=office
zimbraGalLdapAttrMap: ou=department
zimbraGalLdapAttrMap: postalAddress=workStreet
zimbraGalLdapAttrMap: postalCode=workPostalCode
zimbraGalLdapAttrMap: telephoneNumber=workPhone
zimbraGalLdapAttrMap: st=workState
zimbraGalLdapAttrMap: zimbraMailDeliveryAddress,mail=email
zimbraGalLdapAttrMap: zimbraMailAlias=email2
zimbraGalLdapAttrMap: title=jobTitle
The attribute on the left hand side of the "=" is the LDAP attribute, and the attribute on the right is our address book attribute name. If there are multiple attributes on the left hand side (separated by commas) then it means use the first attribute that is set.
I seem to recall this (mapping) is described in the admin docs, but I maybe wrong.
I'll go ahead and file a bug and fix this.
thanks, roland