Roster "display names" in Spark - again!

Hi everyone, I’m afraid this has been posted a few times by different people but it still doesn’t work for me - Openfire 3.5.2 (Red Hat 5.2) using LDAP / Active Directory. The problem is that when manually adding contacts to the roster, the contacts’ AD login names are displayed - and what I want are their display names. When using shared groups it works fine - display names are all there, but manually added contacts just show up as login name - I assume.

To make sure I’m not going mad please can some of the experts take a look at my openfire.xml?

Thanks, Nick

<ldap>

<host>xxxxxxxx</host>

<port>389</port>

<baseDN>DC=xxxxxx,DC=xxxxxxx,DC=com</baseDN>

<adminDN>CN=xxxxxxx,OU=xxxxxxx,OU=xxxxx,OU=xxxxxxxx,DC=xxxxxxx,DC=xxxxxxx ,DC=com</adminDN>

<adminPassword>xxxxxxx</adminPassword>

<connectionPoolEnabled>true</connectionPoolEnabled>

<sslEnabled>false</sslEnabled>

<ldapDebugEnabled>false</ldapDebugEnabled>

<autoFollowReferrals>false</autoFollowReferrals>

<usernameField>sAMAccountName</usernameField>

<searchFilter>(objectClass=organizationalPerson)</searchFilter>

<vcard-mapping><![CDATA[

<vCard xmlns=“vcard-temp”>

<N>

<FAMILY></FAMILY>

<GIVEN></GIVEN>

</N>

<EMAIL>

<INTERNET/>

<USERID></USERID>

</EMAIL>

<FN></FN> <NICKNAME></NICKNAME>

<PHOTO>

<TYPE>image/jpeg</TYPE>

<BINVAL></BINVAL>

</PHOTO>

<ADR>

<HOME/>

<STREET></STREET>

<PCODE></PCODE>

<CTRY></CTRY>
</ADR> <ADR>
<WORK/> <STREET></STREET> <LOCALITY></LOCALITY> <REGION></REGION> <PCODE></PCODE> <CTRY></CTRY>

</ADR>

<TEL>

<HOME/>

<VOICE/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<HOME/>

<CELL/>

<NUMBER></NUMBER>
</TEL> <TEL>
<WORK/> <VOICE/> <NUMBER></NUMBER>
</TEL> <TEL>
<WORK/> <CELL/> <NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<FAX/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<PAGER/>

<NUMBER></NUMBER>

</TEL>

<TITLE></TITLE>

<ORG>

<ORGUNIT></ORGUNIT>

</ORG>

</vCard>]]></vcard-mapping>

<nameField>displayName</nameField>

<emailField>mail</emailField>

<groupNameField>cn</groupNameField>

<groupMemberField>member</groupMemberField>

<groupDescriptionField>description</groupDescriptionField>

<posixMode>false</posixMode>

<groupSearchFilter>(objectClass=group)</groupSearchFilter>

</ldap>

<provider>

<vcard>

<className>org.jivesoftware.openfire.ldap.LdapVCardProvider</className >

</vcard>

<user>

<className>org.jivesoftware.openfire.ldap.LdapUserProvider</className& gt;

</user>

<auth>

<className>org.jivesoftware.openfire.ldap.LdapAuthProvider</className& gt;

</auth>

<group>

<className>org.jivesoftware.openfire.ldap.LdapGroupProvider</className >

</group>

</provider>

<setup>true</setup>

</jive>

OK looks like it has been confirmed as a bug with this recent posting, so I’ll close this discussion as answered -

OK looks like this is a bug after all - http://www.igniterealtime.org/community/message/173379#173379

Closing this discussion as per above.

If your vCard is setup correctly and you are manually adding people to the roster you need only blank out the nickname field before saving. This will cause it to query for the Display name.

<vcard-mapping><![CDATA[

<vCard xmlns=“vcard-temp”>

<N>

<FAMILY></FAMILY>

<GIVEN></GIVEN>

</N>

<EMAIL>

<INTERNET/>

<USERID></USERID>

</EMAIL>

<FN></FN> <NICKNAME></NICKNAME>

<PHOTO>

<TYPE>image/jpeg</TYPE>

<BINVAL></BINVAL>

</PHOTO>

<ADR>

<HOME/>

<STREET></STREET>

</ADR>

<ADR>

<WORK/>

<STREET></STREET>

<LOCALITY></LOCALITY>

<REGION></REGION>

<PCODE></PCODE>

<CTRY></CTRY>

</ADR>

<TEL>

<HOME/>

<VOICE/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<VOICE/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<CELL/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<PAGER/>

<NUMBER></NUMBER>

</TEL>

<TEL>

<WORK/>

<FAX/>

<NUMBER></NUMBER>

</TEL>

<TITLE></TITLE>

<URL></URL>

<ORG>

<ORGNAME></ORGNAME>

<ORGUNIT></ORGUNIT>

</ORG>

</vCard>]]></vcard-mapping>

Yes that does work - I tried that from the referenced link. What I’m hoping is that it will get “fixed” so that’s not necessary. It’s a bit of a pain to get that across to a couple of thousand users when it really shouldn’t need to be done (IMHO).

Anyhow, that’s the way it is so I’ll work with it!

Nick

You can used shared groups to prepopulate the roster in spark. In openfire go to the users/groups section, then groups. When you click on a group from AD you can share this group. You need to name it then decide on scope of sharing (members of group or member plus other users). Save it and it will appear in the designated rosters. I have shared the groups for my office locations with everyone, and teams of members with team members only. This increases login times a little but makes it worth it, as users do not need to manually add people to their rosters.

I need to work out how I’m going to do this for the whole company - at the moment I’ve just rolled Openfire / Spark out to my lot (IS), so everyone’s rosters has 100 odd contacts from a shared group - just as you say. However there are over 2000 people in the company’s UK locations, and I certainly don’t want everyone’s rosters to have 2000 contacts in them. So I could break it down by departments, but you will always get people wanting to contact someone from another department - so I don’t see how I can get away from a degree of manual adding of contacts.

It looks like the best compromise is to set up shared groups per department where possible, and educate users to rename or blank out the nickname for any contacts they add manually.

Thanks for the feedback!