How to automatically update a shared contact list group?

I’ve just installed Openfire and the Spark client.

I’ve created an active directory group called “SparkUsers”. I’ve added the appropriate users to the group and enabled “contact list group sharing”.

I have 2 questions:

  1. Instead of adding each individual user, can i add groups into the “sparkUsers” group? Should the groups be Security Groups of Distribution Groups?

  2. After the initial log on, when the client gets the contact list items, i’ve made a change by adding/removing users to the active directory group, but the change isnt shown on the client which shows the initial contact list. I’ve tried logging off and on again and even restart the client but no change, even after a few hours. Should it update? How can i resolve it?

I’m having this problem too. I made changes to the group members in Active Directory. After about 15 minutes the admin console shows the changes. However, Spark does not get the new list; even after 2 hours and a restart, it still has the original list. Right now the only thing I see that works is going in and disabling then re-enabling the “contact list group sharing”.

I have the same Problem here in our AD/Openfire/Spark environment.

Spark must be restart to see the shared Roster changes.

cu

Michael

Do you handle that by way of script or are you manually restarting Openfire when you make group membership changes? Do you know how to get this submitted as a bug?

Actual we run a test envoirement. We plan to deploy the system to our users in a couple of weeks, but this can be a show stopper. I have set the cach lifetimes to 300000 but its the same effect on the spark client.

On my mind: Any change of a shared group (via AD or the admin-webfrontend), should be have effect on the client, within a couple of minutes.

Maybe there is a secret screw, we can adjust.

cu

Michael

That’s what I’m hoping for too; some entry that can be added in one of the config files. The group membership changes show in the admin console, I don’t understand why those changes aren’t push out to the spark clients.

I’m thinking about running a cron job at night that automatically restarts Openfire. That way the shared group membership can be refreshed nightly.

Kevin01 wrote:

I’m thinking about running a cron job at night that automatically restarts Openfire. That way the shared group membership can be refreshed nightly.

Actual we use these settings:

cache.group.expirationTime

300000

cache.ldap.expirationTime

300000

cache.listsCache.expirationTime

300000

cache.multicast.expirationTime

300000

cache.remoteUsersCache.expirationTime

300000

cache.roster.expirationTime

300000

cache.userCache.expirationTime

300000

cache.userGroup.expirationTime

300000

cache.username2roster.expirationTime

300000

cache.vcardCache.expirationTime

300000

So we need only to restart the Spark client. This is done by the nightly downtime of the client pc’s.

But this is very unattractive.

Which file are these settings in? Do you have documention that provides more specific details on what each setting does? I’ve only come aross a few documents on this site and they don’t provide much info for stuff like this.

You can look at these documents:

http://www.igniterealtime.org/community/docs/DOC-1061

http://wiki.igniterealtime.org/display/WILDFIRE/How+to+configure+Wildfire's+ca ches

The changes are made by the “Administration Console” section “System Properties” or so (i use german language, so it’s may be a little bit differend).

I’ll check those out. Thank you very much for your help.

A quick update; even after adjusting the cache expiration settings, I still cannot get the Spark clients to show the AD group changes without restarting Openfire or re-sharing the group (in the Openfire admin console).

I’m having the same problem against eDirectory.

Restarting Openfire hasn’t helped, have had to disable and enable the group each time.

-Bill

I am having a similar problem… I load my users and roster from my Database… but after approximately 6 hours, the rosters get wiped out. So my client, a custom client do not get presence anymore… I guess because jabber server does not know about roster item to report the presence to… The problem seems to be the Cache… Roster Cache.

I checked the documents with the settings you said… but I do not see a: cache.roster.expirationTime, for Roster I found a cache.username2roster.expirationTime, the name you use makes more sense but it is not documented there… is that the one I should use ?

What units are used to set them ? Seconds ? miliseconds ?

Is there a way to disable the expiration time (so it does not expire)? maybe using 0

look at: http://www.igniterealtime.org/community/docs/DOC-1061

Property

Description

Default

cache.name.expirationTime

Cache expiration time for name in milleseconds.

But I’am not shure if its works.

Hey everyone,

This is an old and know issue that we have with the LDAP integration. The issue was filed as JM-379 and as you can see it is high in the voting list thus terning it into an important one. However, the technical solution for it is not that simple. LDAP cannot send notifications to Openfire when something has changed so what is left is Openfire polling to figure out updates. Playing with the caches is not enough since users that have logged in need to get their rosters updated. Rebuilding someones roster with fresh information from LDAP is not enough since Openfire may not have the previously loaded roster thus it cannot compare the content to send new changes to the user. Bottom line, for now you need to restart the Openfire server when LDAP is updated. We are still working on alternatives on how to solve this problem.

Regards,

– Gato

Over a year later and I’m experiencing a similar issue. If I add a user to a group which Openfire shares as a roster group, Openfire Group Administration page shows the user in that group, however nobody’s roster does. Even after logging out, etc. The only thing to cause Openfire to share that contact out is by restarting the Openfire server. Not a very elegant solution.

Any ideas?

Given enough time openfire does refresh the list on its own. My server takes anywhere from 1-60 minutes to refresh. The clients is another story. I have no idea what the refresh interval is but a logout and back in does the trick there.

The server appeared to have refreshed because the user in question showed up in the Group in Openfire, however no users could see them on their roster, and this user couldn’t see anyone else – Openfire wasn’t pushing out the shared roster groups to them.

I restarted the openfire service, and now everything is great. However it caused a hiccup for all of the signed in users, and I’d really like to avoid that if possible.

once they show in openfire the user must logout/quit of their client. When they login/start the client again they should get the rosters.

Don’t know what to say, that just wasn’t the case yesterday. I logged myself out multiple times, and didn’t see them. I logged the user out multiple times, they didn’t get a roster. I restarted openfire, and everything worked just fine.