What is different shared-group and group invited via authorization?

Dear all,

Could you tell me about diference between shared-group and group invited via authorization?

When I approved an invitation from my friend his JID will be added into Roster table. With shared-group and contacts are saved into Group, GroupProp and GroupUser table.Does two groups have the same method to display group contact list in client side?

In my case, I would like define a fixed nested group and contact belong that group? How can I implement this feature?

Thank you all your recommendation.


Hey Javanesevn,

Shared groups are groups that are specified and controlled by the server. Using the plugin that automatically accept requests to add a user to a roster is still an operation that comes from the client. In other words, shared groups is controlled by the server while standard XMPP groups are controlled by clients (with some optional help from the server like when using the authorization plugin).

XEP-0083: Nested Roster Groups is an extension to the XMPP roster that is achieved by using some special character in the name of the roster. This could be used both with shared and standard groups.


– Gato

Dear Gato,

Thank you for your explaination.

I understood shared-group but I still a little confuse relate to it.

  1. Are roster items saved in memory? How can I delete roster items in shared-group. Will they be generated dynamically when received query from client. Because I could not see any persistent info about roster items from shared-group.

  2. About nested-group, I created nested-group via shared-group with format " Group1::SubGroup1 ". But I can not see Spark send query to detect for the Delimiter. Is :: default Delimiter for Spark. In case if I want to change with a different delimiter. How can I set it?

Best regards,