1
votes

Trying to setup ejabberd to get the presence of other users. What known so far, If I want to know the status (Presence) of some other users than the one that are in his own roster list in ejabberd. But I don't want to maintain a roster list for every user and instead I am using mod_shared_roster, so that anyone can know anyone's status. So I make a common group and did this.

enter image description here

After doing this.

  1. When I go to a specific person's roster, it still shows nothing. Am i missing something?
  2. How wise it would to add everyone in everyone's roster (although I am not able to do it) instead of added individual users to roster.
1

1 Answers

2
votes

Shared Rosters are dynamic. It means that the relevant entry to users roster are added dynamically at retrieval time. It means that when a roster is retrieved by a user, ejabberd merges user's standard contacts and his shared roster contacts before delivering it.

The users can still have a standard roster, for example with contacts from another server and there roster will be unmodified.

So, it is normal that you do not see any change to user roster in ejabberd database. However, when you connect with that user account, you will see that the roster is correct and contains the contact from the shared roster.

While it is not recommended to have huge user rosters, you will not occur a huge performance penalty when relying on shared roster to populate user's roster, as this feature is supposed to be used for moderately sized corporate servers.