[Server-devel] ejabberd and roster mgmt

Martin Langhoff martin.langhoff at gmail.com
Wed Nov 5 13:23:28 EST 2008


More post xs-0.5 stuff that is fresh in my mind from discussions in
the last few days.

In schools with 3K XOs, our '@all@' roster is no longer useful, and
actually messes up memory usage, bandwidth and the display on the
client side.

Wad has proposed running several ejabberd's as an interim measure --
this would work by tweaking idmgr to point different clients to
different ejabberds. There are several downsides to that scheme so I
am hoping we can move quickly enough to avoid needing that interim
measure :-)

So what we need -- to sidestep this problem, and also to provide a
better, more meaningful UI experience going forward -- is to be able
to manipulate the roster that ejabberd serves to each client. What I
want to understand is

 - how well mod_roster_odbc.erl works with Postgresql
 - how well it scales :-) (queries per client operation?)
 - does it deal well with other programs editing the data in Pg?

For example, it makes sense to do "group" mgmt via Moodle (by
enrolling people in "courses"). Let's assume that as an initial UI to
manage these groups. It can export its enrolment data to the table
that ejabberd is using. How can we make that work well?

Of course there's more work to do to make it work smoothly but this is
a central bit that we need to understand. If the ejabberd-pg glue is
not-so-good, then we'll be in a bit of a bind. We'll have to

 - write our custom mod_roster (and learn Erlang along the way?), or
 - write scripts to manipulate data in mnesia

cheers,




martin
-- 
 martin.langhoff at gmail.com
 martin at laptop.org -- School Server Architect
 - ask interesting questions
 - don't get distracted with shiny stuff  - working code first
 - http://wiki.laptop.org/go/User:Martinlanghoff


More information about the Server-devel mailing list