powered by Jive Software

Jive Messenger behavior enabling sharing group in rosters

Hi,

I really hope the information is not already posted somewhere. If so, please RTFM me with the corresponding links

The issue I have is at the moment I enable sharing groups in users’’ rosters on a group already containing users (either an LDAP or local group) with many IQ type=“set” from the server to clients with one or several for each user of the group.

The environment is:

  • Jive Messenger 2.3.0 (not a beta, the release) under Debian Sarge, using an OpenLDAP directory for users

  • Windows/Exodus, Linux/Gaim and Linux/Psi for the client side

The configuration of users/groups

  • I have a local group called “All test”

  • I have two users called “Pierre” and “Baptiste” (sorry, French names

  • Baptiste is online, Pierre is offline

Case 1:


  • None of the user are in the group “All test”

  • I enable sharing group in all users’’ rosters

  • So I add Pierre to the group “All test”.

  • The user “Baptiste” gets the following XML stuff:

Case 2:


  • Pierre is in the group “All test”

  • I enable sharing group in all users’’ rosters

  • The user “Baptiste” gets the following XML stuff:

(so potentially several unnamed groups per message), so each time I have more and more unnamed groups with Gaim.

I’‘m not sure if this is Jive which is wrong or the clients which don’'t handle these messages properly.

I can provide more information if you need. I really want to replace our jabberd2 XMPP server with another one and Jive looks really good. Before I have to fix this can of problems.

Thanks a lot for your help.

Bonjour Baptiste,

From the server side we can say the IQ packets are not optimized but still correct. It seems to me that this is a client issue that is not updating the list of groups (including the “Unnamed or unfiled” groups) appropriately. You may want to contact the client developers about this problem so they can fix it. From the server side, I will try to see if we can avoid sending 2 IQ packets and instead send the final packet.

Merci,

– Gato

Salut Gato,

I agree with you in some points. I think that Gaim has a bad management of this “unnamed” group.

But even if it’'s syntaxically correct (I guess actually) to have several , I think it does really has a sense.

Furthermore, why sending a message telling each of these users is in the unnameed group ? What is the meaning, as long as messages to indicate these users are the the “All test” group are also sent ?

I have observed other strange behaviors, but not yet able to explain them yet. Thanks to Psi and its XML console, it’'s gonna help me to provide information.

PS: sorry for my first post, I read it later and … wow, so big English mistakes !

I’'m not sure this is really related, but I noticed another thing when disabling sharing group in rosters.

  • I know have four users: Sylvain, Baptiste, Pierre and Laurent.

  • All of these are in a non-LDAP group.

  • I have enabled sharing group in rosters

  • jiveRoster MySQL table is empty.

  • only user Baptiste is online

Here is a part of the SQL requests I see. What I found very strange is the two INSERTs related to username=baptiste/gid=sylvain@muse with one removed, so only one similar insert between username=baptiste/jid=*

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘baptiste’’, 0, ‘‘sylvain@muse’’, 2, -1, -1, ‘‘Sylvain’’)

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘sylvain’’, 1, ‘‘baptiste@muse’’, 0, -1, -1, NULL

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘malguy’’, 2, ‘‘sylvain@muse’’, 0, -1, -1, ‘‘Sylvain’’)

DELETE FROM jiveRosterGroups WHERE rosterID=2

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘baptiste’’, 3, ‘‘pierre@muse’’, 2, -1, -1, ‘‘Pierre’’)

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘pierre’’, 4, ‘‘baptiste@muse’’, 0, -1, -1, NULL)

UPDATE jiveRoster SET sub=0, ask=-1, recv=-1, nick=’‘Pierre’’ WHERE rosterID=3

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘baptiste’’, 5, ‘‘baptiste@muse’’, 2, -1, -1, ‘‘Laurent’’)

DELETE FROM jiveRosterGroups WHERE rosterID=3

INSERT INTO jiveRoster (username, rosterID, jid, sub, ask, recv, nick) VALUES (’‘laurent’’, 6, ‘‘baptiste@muse’’, 0, -1, -1, NULL)

UPDATE jiveRoster SET sub=0, ask=-1, recv=-1, nick=’‘Laurent’’ WHERE rosterID

DELETE FROM jiveRosterGroups WHERE rosterID=5

I think something is wrong here.

Another question:

When I use local groups, sharing group in rosters already set, if I add a user to the group, the change is immediatly taken into account, including the broadcast to users.

How is it working for LDAP-group ? Is there a regular check by Jive Messenger of groups attributes in the LDAP directory ? The only way I saw for an immediate change for all users is to disable/enable sharing group in rosters, which looks (from my point of view at least) buggy.

Thanks a lot.

To be sure you understand what finally happened in the Db, here is the result after disabling sharing groups in roster after the previous MySQL requests I posted.

mysql> select * from jiveRoster;

*----


*–


+


+-+-++


rosterID

username

jid

sub

ask

recv

nick

*----


*–


+


+-+-++


0

baptiste

sylvain@muse

2

-1

-1

Sylvain

1

sylvain

baptiste@muse

0

-1

-1

NULL

4

pierre

baptiste@muse

0

-1

-1

NULL

6

laurent

baptiste@muse

0

-1

-1

NULL

*----


*–


+


+-+-++


3 rows in set (0.00 sec)

Message was edited by:

baptiste

And if anyone managing this forum could remove the domain name after the hostname “muse” in my previous post, he would be very very nice

You can edit your own post, just click the icon in the top right that looks like a pencil and pad of paper.

Thanks, I didn’'t noticed this icon.