powered by Jive Software

Idea to Indicate Shared Groups in Client

Shared groups are great. The issue that arrises is that there is no easy way to indicate to the user that a group is in fact a shared group, so my idea is to

A) extend the jabber:iq:roster

B) probably the more pleasent solution would be to create a new roster namespace, something like “jabber.org/roster” and indicate in the stanza that a group is shared.

It would be rather simple. Here is the way a Roster Item is currently:

/code

would become something like this for case A):

/code

or this for case B)

/code

This would be very advantageous for the client developer as they could then indicate to the user that the group is not modifiable… making things much more simple and elegant for them. And for those with admin privilages they would be able to modify the shared roster directly from within the client.

What do you guys think?

It’'s not really an option to change the core protocol by adding or modifying roster elements. However, we could add a packet extension in our own namespace to indicate shared group. Using your example:

I’'ve filed this request as JIRA issue as JM-400.

-Matt

Hey Matt,

Thanks for the reply! The only issue that would possibly arrise with that way would be if there are users that are in that group but aren’'t neccesarily members of the shared group. The way I think to prevent this from occuring is to create that own namespace, but create a roster-like packet with the added benefit of indicating shared groups, this is sort of what i envision:

/code

Now the use case is that when my client connects instead of requesting the jabber:iq:roster, i can either disco to see if the server supports shared roster functionality or just attempt to request the shared roster from the server. In the first case the “http://www.jivesoftware.org/jeps/sharedgroups”, would either be or not be indicated in the server’‘s disco results, and if it wasn’‘t i would know to ask for the plain jabber:iq:roster. And in the second case where I just request the shared roster and if the server doesn’'t support it would just return to me an error, and then I would know to ask for the jabber:iq:roster. Any one have any ideas on this?

For any intrested parties this issue has been addressed:

JM-437