External changes to clients rosters

Poked around a bit and tried some experiments, but was wondering if anyone had any experience or could speak to the possibility of changing the roster table in mysql for a client that is already online and having the client's roster update to reflect the addition of a new contact. I ask as I'm attempting to create a single 'uberclient' (or component, but not sure how to route presence to it) that receives presence updates for all users, even as users are added to the db. I looked into shared rosters; it seems you can grant a shared roster of all to a *subset* of users but not receive associated presence updates... so I'm stuck at programmatically subscribing a client to every user's updates. This certainly feels suboptimal -- am I missing something?

Thanks for any pointers or ideas -- they are very much appreciated.

Follow up

Learning erlang and adding this functionality to ejabberd turned out to be much more straightforward and, better yet, feels like the Right Way to have solved this problem.

In fact, after also having read a bunch of other unanswered newb questions, I'd issue the general message that ejabberd is not something to be afraid of; open it up and make it your own like anyone you're hoping can help you find a way to avoid doing so has, feel better about conquering erlang, and live to code another day.

STG

Syndicate content