[JDEV] What's the best way to build a custom Jabber server?

Daniel MD danielmd at im-thinking.com
Fri Apr 11 17:45:58 CDT 2003


We must share some genetic code :-) because I had the same idea wend I
looked up jabber, for the first time.

It is the most obvious place to do IM, a collaboration suite, I have
looked at the code, and I have mixed feelings about it, although there
is the new version jabberd2, I sense that there is no direction other
than creating a SM XML parsing server, wish is a good thing and kudus
for Rob, especially doing it. But if you start looking to the specs you
get a feeling that it could be more, than it is. 

There is allot of fuss fuss, around IM, and Collaboration on the
Enterprise, let's see where this leads us, I still think that most of
this IM phenomena is Lotus Notes on steroids.  

>From what I have seen from the code, it is best to start fresh, or you
will end up rewriting 60-70% of the code, that might not be a bad thing
if the 40-30% part is really hard, but this is not the case, so my
suggestion to you is start fresh plan a 6-moths schedule, and adjust as
you see fit.


Best Regards, and best of luck, 
Yours truly,
Daniel MD

-----Mensagem original-----
De: jdev-admin at jabber.org [mailto:jdev-admin at jabber.org] Em nome de
GuruJ
Enviada: sexta-feira, 11 de Abril de 2003 14:32
Para: jdev at jabber.org
Cc: GuruJ at mbox.com.au
Assunto: [JDEV] What's the best way to build a custom Jabber server?

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.


_______________________________________________
jdev mailing list
jdev at jabber.org
http://mailman.jabber.org/listinfo/jdev





More information about the JDev mailing list