[JDEV] existing protocol questions

Jeremie jeremie at jabber.org
Fri Jul 30 10:57:58 CDT 1999


> 1.
> 	From the client: how do I query a list of my roster groups?
> Although I can get a response detailing specific groups with a query like
> this:
> 
> <roster>
>  <get group="mygroup"></group>
> </roster>
> 
> 	I find I have to specify the groups I want to fetch. How do I find
> out what groups I have set?

<roster><get/></roster>

An empty get should return the list of groups there are...

> 2.
> 	Why are errors reported in a <message> instead of an <error>? It
> would seem more logical to me, again, I'm missing something, yes?

Mostly so that clients that dont support specific type='' messages still
present the error to the client as a normal message.  It's just a way to
lower the client requirements.  Also, anything you could express in
<error></error> can already be done in a normal message, so why not just
use a normal message and avoid extending the protocol to duplicate
existing functionality?

> 3.
> 	What is the significance of the status type? <status
> type="online">. Is it freeform or is there a set of acceptable types?

There is only online/offline.  The <say></say> and <icon></icon> fields
are free-form.  The type="" is a special field used in the server and
between servers.

> 4.
> 	How does the message extension work? What is its intended usage?

Basically, it's so that two clients can communicate programatically
easily.  The server doesn't touch the data in the <ext></ext> fields, and
the user shouldn't see it directly(unless the client *wants* them to).
As Tom mentioned, it's a way clients could add background information such
as game data, etc... it's there for "future use" and extensability.

Feel free to ask away if you have any more questions!  I know the docs at
jabber.org are a bit sparse, but as soon as I get things moved this
weekend I'll be updating and adding lots more!

Jer




More information about the JDev mailing list