[JDEV] What's the best way to build a custom Jabber server?
GuruJ
GuruJ at mbox.com.au
Fri Apr 11 08:32:12 CDT 2003
Hi everyone,
I've been tossing around the idea of building a new Jabber client/server
application suite that is specifically targetted for use in internal
group environments.
The basic distinguishing ideas for this would be:
(1) Everyone is visible to everyone else (ie. complete public directory
listing).
(2) People are assigned to groups ('departments', 'project teams',
whatever descriptor seems appropriate). Group membership is a primary
determinator of who sends 'presence' messages to who.
(3) Each group can create 'tasks' or 'projects' that become the primary
focus for collaboration. Whenever an IM conversation takes place, it
gets logged within the context of a selected task.
(4) The application may include some facility for collaborative text
editing, or it may simply allow users to mark useful resources (via
hyperlinking or some other method).
Ideally I would like to use a logical combination of open architectures
to do this (ie. Jabber/XMPP for messaging, LDAP for directories, SQL or
just a vanilla filesystem for conversation logging)...
Now the big question: what's the best way to start this?
In the opinion of anyone out there, do you think my best shot is to:
(1) Grab the jabberd code and hack at it directly;
(2) Grab the jabberd code and look at extending it through .so components?
(3) Start from scratch using a Jabber toolkit (don't know which one, all
toolkits I have discovered thus far all seem aimed at building Jabber
*clients*, not servers)?
(4) Start from scratch and code the server from the ground up?
If I had to go with option (3) or (4), I'd prefer to code the server in
a high-level language such as Perl or Python. I'm not necessarily
aiming to make this commercial-quality, highly-scalable code; I just
want to demonstrate a proof-of-concept Jabber server that uses IM in a
way which isn't attempting to clone ICQ or AIM.
(I know some of you will say that I am attempting to clone Groove
instead. Well, yes and no. While there are some similarities, I had
this idea before I ever *heard* of Groove; I'm actually trying to build
something that would have filled a niche in a company I worked for in a
past life.)
Sorry for my long-winded e-mail, but I'm really keen to get some
feedback from Jabber people about the best way to get started, and I
guess to know whether you think the idea is even worth pursuing.
Thanks for your patience,
Stephen.
More information about the JDev
mailing list