[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [JDEV] existing protocol questions
> 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