Real-time updates for LDAP groups

In my case its as soon as JM is started

Thats the case for me as well.

Same here. It seems like you get a “snapshot” of whatever presence/status each person has at the time your client connects, and the only way to update it is to disconnect and reconnect to the server…

(gah. sorry. the forum website was giving me stack traces when i tried to submit the post…)

(gah. sorry. the forum website was giving me stack

traces when i tried to submit the post…)

You don’'t remember what the error was, do you?

Regards,

Matt

Sorry, no. It then said “the site is undergoing maintenance”, so i waited a while and posted it again later (figured maybe the site was undergoing maintenance

Forgive me if I’'m being dumb. But I reinstalled JM on another server, and am experiencing the same updating groups issue. The main thing I am noticing is that when I change the status on the Jabber client, the server debug log does not register any change in status. It only seems to register the change when the jabber client disconnects and then reconnects.

If a developer would like to use my installation for testing, please PM me.

Thx

Ok, I have isolated the bug. The bug only happens when you have ‘‘Show group in group members’’ rosters’’ selected in the edit group (group summary) section of the admin console. For now you should select ‘‘Show group in all users’’ rosters.’’ in the edit group section of the admin console.

I will post any updates to this problem in this thread.

Greg

I have had ‘‘Show group in all users’’ rosters.’’ selected since I installed 2.2.x and its always had the problem.

Poppa Smurf

I can confirm that this works once you change to “Show Group in all users rosters”. But I must also mention that the LDAP group information is not updated on users if they have been added to the group AFTER Jive messenger has first opened and propagated the group lists.

I have worked with Greg and it appears that a test user I created recently and added to the AD group for my jabber users, was added as a user into the admin interface for JM, but the user’'s group information is not updated, nor is the user added to the jabber group I created for the AD group of jabber users.

Not sure if this issue is related, but it appears that JM is caching group information about users, but not the users themselves.

Phil

Lets be clear that there are two distinct issues here.

  1. Presence not being sent to clients. I found that this issue can be resolved by changing to the setting “Show Group in all users rosters” in the admin console, tested in multiple instances. Make sure that you change this setting in all groups that are being shared. If changing this setting does not solve your problem I would take comfort in the fact that at least the issue is going to be addressed.

  2. Updated LDAP information is not retrieved after JM is started. This issue has been filed as JM-379 but is going to take a lot of work to actually implement.

Greg

Thanks for the clarification, I am dumb

I have had ‘‘Show group in all users’’ rosters.‘’

selected since I installed 2.2.x and its always had

the problem.

Same here.

Ok, I have isolated the bug. The bug only happens

when you have ‘‘Show group in group members’’ rosters’’

selected in the edit group (group summary) section of

the admin console. For now you should select ''Show

group in all users’’ rosters.‘’ in the edit group

section of the admin console.

I will post any updates to this problem in this

thread.

Greg

fergitech, what version of Messenger server did you test this with? Also, are you using Active Directory LDAP groups?

Poppa Smurf

So what is the current scoop with this issue? I was looking at JM-379 and 2.3.0 should begin addressing this. I just installed 2.3.0 alpha 1 and see that changes to this really aren’‘t addressed yet, though–unless I’'m missing something.

Looking forward to seeing this issue fixed as this is the current reason we haven’‘t made the switch from our old IM solution to Jive in our office. It’'s important to us that when we add a user to the Active Directory that there is some mechanism outside of restarting the JM server that the server and clients pick up this new user in a timely manner. Even if I was forced to log into the Jive admin webpage to hit some kind of “sync” button so that the server resyncs with AD and also sends the new information to all clients–that would be great by me.

Looking forward to hearing more about this issue.

Message was edited by:

Swad

I would also like more information about the “Presence issue” with LDAP.

I have a group with 72 users that is selected to show up in Everyone’‘s roster. It does show up in everyone’'s roster.

But as members log off or become Idle, or set Do not Disturb, their Presence is not reflected on the others clients. If I signoff my client, and sign on again, then Presence is updated.

I also check the “Sessions” on the Jive Server Admin console, and they are updated with the proper status.

I am using Gaim 1.4.0 and LDAP is through iplanet/Netscape Directory Server.

Version 2.2.1 running on RedHat Linux

The only unique thing I have noticed is that under Gaim, if I hover over a contact in the shared roster, the subscription is set to “TO” - I would expect them all to be set to “Both”

Like other posters on this thread - I would like to know if this is a confirmed issue that might be fixed.

Tom

After thinking more about it, I unsubscribed to a Buddy, then (re-)request Authorization so that our subscription is now set to Both. I did this with two people. I appear to have realtime presence information with these users. It would be great if someone else could try this.

Is the user you are logged in as a member of the shared groups? If not it may be realted to the issue I brought up here:

http://www.jivesoftware.org/community/thread.jspa?threadID=15814&tstart=75

All the contacts are members of shared groups. My ldap filters allow only members of the group to login, and everyone sees the same roster group that they are a member of.

So I don’'t think it is related - directly.

Tom

Hello Gato

I have been monitoring this thread for a while together with JM-379.

IMHO this is a very important feature. Unfortunately, it seems to be getting pushed back version after version… 2.2, 2.3, … now all the way to 2.5.1!

Can we spare sometime to fix this issue? Do you need help in terms of developers, etc?

Please let me know; it is a too important an issue to postpone indefinitely.

Thanks!

Cheers,

Ravin

Hi there,

I have just made some changes with the class RosterManager which helps with the problem. Of course this is not a performance-oriented solution, and I tend to leave the actual work done by re-organizing how a roster be calculated:

public Roster getRoster(String username) throws UserNotFoundException {

// Original code

if (rosterCache == null) {

rosterCache = CacheManager.getCache(“username2roster”);

}

if (rosterCache == null) {

throw new UserNotFoundException(“Could not load caches”);

}

// Build a new roster beforehand

Roster newRoster = new Roster(username);

if (newRoster == null) {

throw new UserNotFoundException(username);

}

Roster roster = (Roster) rosterCache.get(username);

// If there is no cached roster or it’'s changed, commit the new one.

// Probably the equal function has to be overrided.

if ((roster == null) || (!roster.equals(newRoster))) {

rosterCache.put(username, newRoster);

}

else newRoster = roster;

return newRoster;

}

/code

Meanwhile, may I point out that LDAP group looking up procedure also takes up huge amount of time. Seems that every[/i] group’‘s every[/i] member had the roster recalculated, so practically everybody is having their roster rebuilt more than once. Can we reduce it to, to the least extent, rebuild everybody’'s roster once?

Sorry for interruption.

I’'ve posted a comment on JM-379, with questions of how to tackle with it…