Shared roster

I have a problem with shared roster. I am running ejabberd 2.01 with ldap authentication (W2K3 DC).
Everything is running just fine. I have around 200 business users.
Shared roster is up and running. Pandion 2.5 is installed on the client side.
Every new users both appears on and downloads complete roster with all users.
Now let us say user Mark has left the company. I remove him from ldap and shared roster.
But, and this is killing me, Mark remains on all rosters and on the all of the clients until manually removed (deleted).
I have same problem when I try to move user from one OU (Organizational unit) to another.
User will remain in old OU (on client side) until manually deleted on client.
Is this a bug or am I just missing something?
I know I can access roster of every client through web administration, but that means manually removing 200 items
every time there is some kind of change in shared roster structure.

Yes, I have tried to restart ejabberd after making changes to shared roster.

Description of mod_roster and mod_shared_roster

Each account registered in the server can have his personal roster; this is handled by mod_roster.

As some small organizations prefer that all the users have all the other users in their rosters, mod_shared_roster was developed. Note that mod_shared_roster does not add contacts to each personal roster in the server storage:
when a user logins in the server, ejabberd provides him a fabricated roster (0), that is constructed joining: 1) the contacts in his personal roster + 2) the contacts of the proper shared_roster groups.

Since shared roster groups are 'virtual' (the contacts are not really added to each personal roster in the server storage (1) ), when you remove a member of a shared group (2), it should not appear again in the users login rosters (0).

I noticed you didn't describe that: you are seeing a different behavior! You said that, when you add a member to a shared roster group (2), that JID is added to each personal roster (1). Who does that? ejabberd does not on purpose. Could it be that the Jabber client you are using performs this task automatically? Psi and Tkabber, for example, don't add automatically contacts.

Shared roster

Thanks for the reply badlop. I am sorry for the delay.
In the meantime I have tested several clients (Psi, Pandion, Exodus) and all of them exhibit same behavior. I have also tried to install different jabber server and with same client (Pandion) roster is updated within seconds. Therefore I would say that for some reason ejabberd saves virtual roster to personal roster (or instructs client to do so).

There is a post in the Pandion support forums about this issue but I am still waiting for reply.

Try a client based on libpurple

I've seen similar with anything using Psi's library in that it creates a roster for the SR items if the contact list display is changed. Anything using libpurple (Adium, Pidgin) appears to manages the display locally so try one of those.
I don't know if any thing fix short of either telling the user to remove the now missing JID or loading up an erlang shell and removing the applicable roster items manually (or if you're me, patching mod_ctlextra to handle it for you).

_

_

Syndicate content