In my slapd.conf I have the following:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /usr/share/evolution-data-server-1.0/evolutionperson.schema
My existing LDAP records seem to all be using inetOrgPerson. When
updating them from Evolution, the update fails with the following error:
(evolution-data-server:21033): libebookbackend-WARNING **: modify_contact_handler: 45 (Cannot modify object class), additional info: structural object class modification from 'inetOrgPerson' to 'evolutionPerson' not allowed
Adding a new LDAP record from Evolution and then editing that record
does not show a problem, probably since the record uses evolutionPerson
from the start.
Removing...
include /usr/share/evolution-data-server-1.0/evolutionperson.schema
... from slapd.conf appears to be a work-around, assuming that all the
LDAP records are using inetOrgPerson, but probably doesn't support all
the fields that one might want.
Evolution should be able to detect the object class of the entry and
should try to save with same info.