Dynamic Roster Group

Hi!

I’‘m using Jive Messenger 2.1.3 and an Oracle database, where are stored user’'s information (used by others applications), as username, location, department, etc.

In order to use the same user database that those apps, I created views to “substitute” Jive’'s original tables (jiveUser, jiveGroup, jiveGroupProp, jiveGroupUser and jiveVCard). Doing that all users can login using their original username and have shared roster groups by department.

It is working just fine, except for one thing: one of the shared roster groups represents “people who are logged in some app” (yes, those people are shown in their department group and in this group). The problem occurs when new user log in and out of such app: the roster group does not change until Jive Messenger is restarted.

Is that correct?

Btw, I tried lots of clients: GAIM, Exodus, JAJC, Pandion… All have the same behavior.

[]’'s

Francis

PS: sorry for my bad english.

Oi Francis,

I assume that when a user logs in/out of an application you are updating a table in the database somehow. Are you also modifying the objects of Messenger in memory? I mean, if you only update the database then Messenger will not know about the update and nothing will happen. So you will need to restart the server in order to have the change reflected in memory as you described. If this is what’'s going on then you will have to change the way you are doing the update and instead of modifying the database directly you will need to modify Messenger using the presence/group API which will finally update the database.

Regards,

– Gato

Hi Gato,

That was exactly the problem.

I’‘ve modified Messenger, adding a method on RosterManager.java to “refresh” user’‘s rosters using database (not cached group). So I called such method from external application on user’'s log in/out.

Tks for you help,

Francis

hi tscheliski

Is there any possibilty of you sharing your modification?

ive intergrated the regisration into vbulletin, adding the users to the jiveusers database ( which adds them in the admincp as registered users) ive also added the user to the jiveGroupUser table (tho as ive read it uses a cache and not the actual database to fill teh group) so basically i still have to add them manually to the groups.

I hope that makes Sense.

Hawk