Zimbra connector add employeeNumber

hi, has anyone extended the zimbra connector to be able to write new attributes on zimbra? if need to add employeeNumber and employType to the zimbra Gal.

hank you.

I modified the /usr/share/pyshared/zimbra4ucs/models.py file by adding the listed attributes.

Hi , trying same modification, but no luck…

In UCS is attribute ‘employeeType’, in Zimbra is attribute ‘title’ . How to map these atributes ?
In /usr/share/pyshared/zimbra4ucs/models.py I add this line to attributes array in class ZimbraAccount(ZimbraObject):

            Attribute('title', 'employeeType'),      ( or  Attribute( 'employeeType', 'title'),  )

But this attribute still not updated in Zimbra. Other (predefined) attributes works fine.
Can anybody help me?

Thanks.

  attributes = [
    Attribute('name', 'mailPrimaryAddress', required=True, identifies=True),
    Attribute('password', identifies=True),
    Attribute('gn', 'givenName'),
    Attribute('sn', 'sn', required=True),
    Attribute('ou', 'ou'),
    Attribute('employeeNumber', 'employeeNumber'),
    Attribute('employeeType', 'employeeType'),
    Attribute('displayName', 'displayName'),
    Attribute('description', 'description'),
    Attribute('telephoneNumber', 'telephoneNumber'),
    Attribute('homePhone'),
    Attribute('mobile'),
    Attribute('pager'),
    Attribute('facsimileTelephoneNumber'),
    Attribute('company', 'o'),
    Attribute('title', 'title'),
    Attribute('street', 'street'),  # address
    Attribute('l', 'l'),  # location
    Attribute('st', 'st'),  # state
    Attribute('postalCode', 'postalCode'),
    Attribute('co'),  # country
    Attribute('zimbraCOSId', 'zimbraCOSId'),  # $uuid
    Attribute(
      'zimbraAuthLdapExternalDn',
      # 'dn',  # don't sync this attribute currently, as we don't handle ldap-rename and ldap-move.
      required=True,
    ),

Thanks, but still not work…

After modify models.py, I must rerun UCS zimbra wizard, right?

In /var/log/univention/zimbra4ucs.log i see:
ModifyAccountRequest’ with {‘a’: [{’_content’: ‘TestEmplType3’, ‘n’: ‘employeeType’}], ‘id’: u’d3bcc710-0954-4f41-8abf-f58e1605cb0f’}

But in Zimbra in /opt/zimbra/log/mailbox.log i see:
checkValue: no attribute info for: employeeType

and Job Title in contact information is not modified…

Is there any other step required to get this working ?

Hi, no, after the changes you just have to restart the service zimbra4ucs connector:
systemctl restart zimbra4ucs

Hi, thanks, it’s working, my mistake. Attribute employeeType is created in zimbra LDAP and correctly updated from UCS.

But I thought it would be added to the “Job Title” field in zimbra account -> Contact information - Job Title. (eg. Boss, IT specialist, Sales manager, … ) This field remains empty…

Any idea how to fill Job Title field using zimbra4ucs connector?

thanks.

Hi, just read the zimbra wiki :slight_smile:

https://wiki.zimbra.com/wiki/LDAP_Mapped_Attributes

Yes, I know this wiki, But how to connect together… :slight_smile:

I trying this:
zmprov mcf -zimbraGalLdapAttrMap title=jobTitle
zmprov mcf +zimbraGalLdapAttrMap employeeType=jobTitle

This works for GAL. But in Zimbra Admin Console, if open any account, the JobTitle field is still empty.
I there any other mapping to change for this?
Or maybe write own script for copy value from one attribute (employeeType) to other (title) ?

add to attributes = [
Attribute(‘employeeType’,‘title’),

Finally success :slight_smile:

Correct syntax is Attribute(‘title’, ‘employeeType’),
(first is zimbra attribude, second UCS attribute)

After changing models.py, restart service zimbra4ucs
Zimbra LDAP atribute mapping adjustment is not required.
GAL is autoupdated later (pooling interval) or manualy: zmgsautil forceSync -a galsync@domain.com -n InternalGAL

Great, thank you for your help!

Mastodon