How to manage user roster list in openfire?

We have one more issue/concern with our application that every user is in the roster list of other user.

We have one group where every new user joins and automatically added to the roster list of other user.

What we need is every user should have only 2 users in its roster list (1 user is one of our listener and one more user).

This condition we need for all of our 3000 users. That way we can reduce the cache size of roster and unneeded stanzes flow between roster list of other users.

Please help as we dont know how to do this through Openfire admin GUI or using code.

Anyone please provide their suggestion

Can anyone please provide their suggestion

This is urgent and causing us problem in our production , Please some one reply.

Perhaps recent updates to the UserService plugin will help you.

Hi,

I am getting **SharedGroupException, **while removing the roster item from user group.

Also If we go this way then we need sent around 3000*2998 request .

I think we are doing wrong in contact list sharing settings. Currently we have enabled contact list group sharing for our single group with all users. Is this the problem?? I think due to this each user is in the roster list of every user.

Please suggest

Regards,

Keshav

I am having a difficult time understanding your shared roster requirement. You mention a listener user, but who is the other user to be in your shared roster?

The other user sends some command to all user and get some response.

And the listener is user to whom all users send some data periodically.

Other than that we dont want any communication between users.

So have one group with the ‘other user’ and ‘listener’ user in it and share that with all users.

Thanks Daryl for the response.

SO the last question is do we need to add all the user (except these two user) in some group may be a single or no group needed at all.

No group is necessary, just share the group with the two users in it with everybody

I see new problem after applying the suggested solution.

Now I have one group with the two users and I shared that group with all users , now every user has this two user in their roster list , thats perfect now.

But the two user (listerner and other user) do not have all the other user in their roster list, they have only one user i.e. the other one in the same group , but we want that this two user should have all the user in their roster list , which is not happening.

Please suggest.

I don’t know of a way to do that.

Okay is this possible in Openfire that if user A is in the contact list of user B then automatically user B added in roster list of user A. If that can be achieved , then issue can be resolved.

keshav badruka wrote:

Okay is this possible in Openfire that if user A is in the contact list of user B then automatically user B added in roster list of user A.

No. Every user has to add another user to their roster, or you should do this via shared groups ( iget that shared groups not doing what you want, then you are out of options, unless you change the code of Openfire to do as you need).

So what should be the other solution for our issue , as currently we have around 2000 users and current roster size is like 200 Mb and we are expecting to have around 5000 users , after that roster cache will be adhoc to openfire performance because openifre will be having huge roster cache in memory increasing the chances of OOME.

Are their any system properties that we can tune to increase the performance.

Any help would be greatly appreciated.

Regards,

Keshav

Here’s a document about configuring the caches, though i don’t know whether it will help or will you find anything useful for your case. And, you can install more RAM.

http://community.igniterealtime.org/docs/DOC-1673

HI All,

Coming back to this thread as can we do this programmaticaly ? Means can we add all other user in the system to this two user roster using some sort of code. That way using shared group this two user will be in the roster list of every other user and using code we can add all the other user in this two user roster list.

Please suggest

Regards,

Keshav

Any help on this.

not very clear about your needs. you said:

The other user sends some command to all user and get some response.

And the listener is user to whom all users send some data periodically.

i think user do not need to have all users in his roster to send messages.

i mean user can send messages to users who are not in his roster, isn’t it?