ML for Jabber ?
[1/6] from: jason::cunliffe::verizon::net at: 11-Jan-2004 21:15
> Andreas wrote:
> > ...whereas with XAML you could just write:
<<quoted lines omitted: 8>>
> Button "OK"
> ]
Lovely example :-)
Has anyone use ML dialect for creating Jabber messages ?
thanks
- Jason<
[2/6] from: AJMartin:orcon at: 24-Jan-2004 11:47
Jason wrote:
> Has anyone used ML dialect for creating Jabber messages ?
What do Jabber messages look like in XML? :) Once I know that I can show you
how it works out in ML dialect.
--
Andrew J Martin
ICQ: 26227169
http://www.rebol.it/Valley/
http://valley.orcon.net.nz/
http://Valley.150m.com/
[3/6] from: jason:cunliffe:verizon at: 11-Jan-2004 23:31
> What do Jabber messages look like in XML? :) Once I know that I can show
you
> how it works out in ML dialect.
hmm... I have a couple of books which describe them well, but to my surprise
can't find a concise searchable Jabber message dictionary online.. But
there is the formal IETF XMPP [Jabber] definition which is pretty thorough
and does have plenty of examples:
http://www.jabber.org/ietf/draft-ietf-xmpp-core-21.html
The main site for jabber anything is http://jabber.org
The best known Jabber book is
Programming Jabber - Extending XML Messaging
By DJ Adams.
http://www.oreilly.com/catalog/jabber/
O'Reilly have a good online sample chapter which may be the most readable
example I can point you to
http://www.oreilly.com/catalog/jabber/chapter/ch05.html
And I just bought a copy of a truly excellent new book
Jabber Developer's Handbook
by William Wright, Dana Moore
http://www.amazon.com/exec/obidos/tg/detail/-/0672325365/102-4900500-1183360?v=glance
Jabber is designed to pass developer complexity to the server, which is
based on a cool plug-in architecture. The advantage passes to the client
applications as these are very easy to write. Although it is based on a
client-sever architecture, Jabber does an excellent job of creating
peer-peer messaging and presence. Also there is support for many
permutations including server-server. So networks of Jabber server nodes are
expected, with prejudice to the end clients.
A Jabber session is actually just one long XML message. You might say its
design philosophy is "it ain't over till it's over". So Jabber sessions are
opened and closed by <stream><> tags. Within those are a series of well
defined xml chunks. Servers and clients filter and react to these chunks,
parsing or by-passing their nodes attributes and contents.
There is already a nice Rebol/View client for Jabber by Nicolas Fournier:
Maoww 1.06b
http://www.rebolfrance.net/projets/concours/maoww.zip
There are a list of Jabber Enhancement Proposals or JEP, modeled after the
Python PEP collaborative developer pattern. They make for some good reading
also and are fill of examples.
http://www.jabber.org/protocol/
ML Dialect is a great fit for Jabber I suspect.
I don't know how hard it would be to build a good Jabber server in Rebol.
A first project would presumably be a server extension.
On the client side it is much easier and invisible tools in rebol could
jabber enable web sites. ML would no doubt be very useful there.
I guess what one really needs is the inverse of ML - easy to- use parsing
dialect for Jabber messages so they can be routed and/or events triggered.
I welcome any suggestions you have about this
thanks
- Jason
[4/6] from: jason:cunliffe:verizon at: 12-Jan-2004 0:56
> What do Jabber messages look like in XML? :) Once I know that I can show
you
> how it works out in ML dialect.
Where to get ML and what do I need to do know to get started to using it?
thanks
- Jason
[5/6] from: bry:itnisk at: 12-Jan-2004 13:35
Assuming that you have a jabber server, running on port 5222 installed
on a server named APACHES you can get to it over telnet and send the
following:
<stream:stream to='apaches' xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams'>
this will return
<?xml version='1.0'?> <stream:stream
xmlns:stream='http://etherx.jabber.org/streams' id='{you jabber server
returns a random id here}' xmlns='jabber:client' from='apaches'>
notice that these are not well formed xml streams, they become well
formed when you close the streams by sending
</stream:stream>
at which point the server sends
</stream:stream>
I don't know if ML can handle not well formed streams like that?
[6/6] from: AJMartin:orcon at: 24-Jan-2004 11:47
Jason wrote:
> Where to get ML and what do I need to do know to get started to using it?
I've sent a reply to you directly, containing all you need, along with a
copy for Gerard.
--
Andrew J Martin
ICQ: 26227169
http://www.rebol.it/Valley/
http://valley.orcon.net.nz/
http://Valley.150m.com/
Notes
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted