Re: [Standards] Collection Oversights in XEP-0060

2008-07-02 Thread Peter Saint-Andre
At http://mail.jabber.org/pipermail/standards/2008-June/019234.html 
(sorry, I lost the original message) Nathan Fritz wrote:


> Examples 216 and 219, the notification of disassociation/association
> are neither a followup of the example that they show, nor does the
> collection have a node reference.  The attribute "id" is mentioned as
> being in the associate/disassociate element, when in fact "node" is
> used.

Fixed:

http://is.gd/KJH

> In short, the example doesn't match the text (nor does it flow with
> the previous examples), and the receiving entity has no idea which
> collection node is being updated just based on this notification.
>
> Section 9.2 has a similar inconsistency between the "id" attribute
> being mentioned in the text and the "node" attribute being used in
> the example, however the lack "node" attribute in the collection
> attribute is understandable for the root collection.

Ralph and I agreed that if we're talking about the root collection node, 
the value of the NodeID needs to be empty, that is:


   

> Section 9.7 is not clear whether this item subscription is recursive.
> Will it update me of collections within collections within
> collections?

If an item is published to a (leaf) node, anyone who is subscribed to a 
collection that aggregates that leaf node will receive the item, even if 
there are other intermediate collections between the leaf node and the 
subscribed collection. Or at least that's how things work today. This 
enables you to have multiple aggregation points within the pubsub system.


See also this:

http://www.xmpp.org/extensions/tmp/xep-0060-1.12.html#collections-models

I may add pictures for all those different models so that people can 
understand it more easily. :)


Peter


smime.p7s
Description: S/MIME Cryptographic Signature


Re: [Standards] XEP-0115: invalid example + node in disco results

2008-07-02 Thread Tobias Markmann
On Wed, Jul 2, 2008 at 8:19 PM, Peter Saint-Andre <[EMAIL PROTECTED]>
wrote:

> Pedro Melo wrote:
>
>>
>> On Jul 1, 2008, at 11:18 PM, Tobias Markmann wrote:
>>
>>  On Tue, Jul 1, 2008 at 11:43 PM, Peter Saint-Andre <[EMAIL PROTECTED]>
>>> wrote:
>>> Tobias Markmann wrote:
>>> Hi,
>>>
>>> First of all kostix from tkabber found an invalid example in XEP-0115
>>> under http://www.xmpp.org/extensions/xep-0115.html#discover . Example 4
>>> should be:
>>>
>>>   >>  to='[EMAIL PROTECTED]/balcony'   type='result'>
>>>
>>> node='http://code.google.com/p/exodus#QgayPKawpkPSDYmwT/WM94uAlu0='>
>>>
>>>
>>> Currently the query tag is close before node attribute.
>>>
>>> Typo fixed.
>>>
>>>
>>> The next thing is I'm upgrading pidgins caps support and some question
>>> arise from time to time.
>>> Is the node attribute in the query tag required in a disco result since
>>> the XEPs' examples include it but the scheme doesn't tell anything about it.
>>>
>>> I think it is recommended, but if the processing application doesn't
>>> receive it in the disco result it needs to process the disco anyway.
>>>
>>>
>>> So if I send a query with node '
>>> http://code.google.com/p/exodus#QgayPKawpkPSDYmwT/WM94uAlu0=' can i
>>> expect the result includes a node attribute too?
>>>
>>> If yes I could easily compare the hash inside the node to the self
>>> generated hash of the query contents and cache it on match.
>>>
>>> Yes that seems best. I think we can make it required if that would be
>>> helpful. However, the client should remember it based on the IQ id.
>>>
>>> Peter
>>>
>>> Okay. How should a client respond if it requests disco for a node with
>>> the caps hash of the previous presence though receives a disco result with a
>>> node url including a different hash?
>>>
>>
> You're not checking the disco NodeID, you're checking the disco#info
> against the caps hash you have on file for that user. Or so it seems to me.
>
>  Did you receive a new presence from that client between the moment you
>> sent your IQ request and you got the IQ reply? If yes, and if the hash in
>> said presence is the same as the response, then I would make it "business as
>> usual". Basically, you accept that the response is consistent with the
>> current caps hash for that client.
>>
>> In a general way, I would say:
>>
>>  * if the hash matches the payload of the IQ response, then you can cache
>> it for future use;
>>
>
> Agreed, business as usual.
>
>   * if the hash does not match the payload; you cannot cache it (as per
>> spec), but you should use it to represent the client capabilities until you
>> get a new caps hash.
>>
>
> I think you'd ping someone else in your roster if a problem like that
> persists. I'm not sure what you mean by "represent the client capabilities
> until you get a new caps hash" because hash doesn't match the disco#info.
>
> Peter
>

I mean a client gets this presence:


  



Then requests:


  


but gets


  





  



Cheers

Tobias


Re: [Standards] XEP-0115: invalid example + node in disco results

2008-07-02 Thread Peter Saint-Andre

Pedro Melo wrote:


On Jul 1, 2008, at 11:18 PM, Tobias Markmann wrote:

On Tue, Jul 1, 2008 at 11:43 PM, Peter Saint-Andre 
<[EMAIL PROTECTED]> wrote:

Tobias Markmann wrote:
Hi,

First of all kostix from tkabber found an invalid example in XEP-0115 
under http://www.xmpp.org/extensions/xep-0115.html#discover . Example 
4 should be:


   
xmlns='http://jabber.org/protocol/disco#info'>   
node='http://code.google.com/p/exodus#QgayPKawpkPSDYmwT/WM94uAlu0='>



Currently the query tag is close before node attribute.

Typo fixed.


The next thing is I'm upgrading pidgins caps support and some question 
arise from time to time.
Is the node attribute in the query tag required in a disco result 
since the XEPs' examples include it but the scheme doesn't tell 
anything about it.


I think it is recommended, but if the processing application doesn't 
receive it in the disco result it needs to process the disco anyway.



So if I send a query with node 
'http://code.google.com/p/exodus#QgayPKawpkPSDYmwT/WM94uAlu0=' can i 
expect the result includes a node attribute too?


If yes I could easily compare the hash inside the node to the self 
generated hash of the query contents and cache it on match.


Yes that seems best. I think we can make it required if that would be 
helpful. However, the client should remember it based on the IQ id.


Peter

Okay. How should a client respond if it requests disco for a node with 
the caps hash of the previous presence though receives a disco result 
with a node url including a different hash?


You're not checking the disco NodeID, you're checking the disco#info 
against the caps hash you have on file for that user. Or so it seems to me.


Did you receive a new presence from that client between the moment you 
sent your IQ request and you got the IQ reply? If yes, and if the hash 
in said presence is the same as the response, then I would make it 
"business as usual". Basically, you accept that the response is 
consistent with the current caps hash for that client.


In a general way, I would say:

 * if the hash matches the payload of the IQ response, then you can 
cache it for future use;


Agreed, business as usual.

 * if the hash does not match the payload; you cannot cache it (as per 
spec), but you should use it to represent the client capabilities until 
you get a new caps hash.


I think you'd ping someone else in your roster if a problem like that 
persists. I'm not sure what you mean by "represent the client 
capabilities until you get a new caps hash" because hash doesn't match 
the disco#info.


Peter



Re: [Standards] Reg MUC Roomname

2008-07-02 Thread Peter Saint-Andre

Michal 'vorner' Vaner wrote:

Hello

On Wed, Jul 02, 2008 at 12:03:33PM +0530, Thanik wrote:

One more query, whether the id attribute in xmpp stanzas is case sensitive
or not.


You do not need to distinguish, you get it back as is and it depends on
you, what IDs you generate.


Right. So I think you would perform exact string matching on the id.

/psa



Re: [Standards] XEP-0115: invalid example + node in disco results

2008-07-02 Thread Pedro Melo


On Jul 1, 2008, at 11:18 PM, Tobias Markmann wrote:

On Tue, Jul 1, 2008 at 11:43 PM, Peter Saint-Andre  
<[EMAIL PROTECTED]> wrote:

Tobias Markmann wrote:
Hi,

First of all kostix from tkabber found an invalid example in  
XEP-0115 under http://www.xmpp.org/extensions/ 
xep-0115.html#discover . Example 4 should be:


   
   node='http://code.google.com/p/ 
exodus#QgayPKawpkPSDYmwT/WM94uAlu0='>



Currently the query tag is close before node attribute.

Typo fixed.


The next thing is I'm upgrading pidgins caps support and some  
question arise from time to time.
Is the node attribute in the query tag required in a disco result  
since the XEPs' examples include it but the scheme doesn't tell  
anything about it.


I think it is recommended, but if the processing application  
doesn't receive it in the disco result it needs to process the  
disco anyway.



So if I send a query with node 'http://code.google.com/p/ 
exodus#QgayPKawpkPSDYmwT/WM94uAlu0=' can i expect the result  
includes a node attribute too?


If yes I could easily compare the hash inside the node to the self  
generated hash of the query contents and cache it on match.


Yes that seems best. I think we can make it required if that would  
be helpful. However, the client should remember it based on the IQ id.


Peter

Okay. How should a client respond if it requests disco for a node  
with the caps hash of the previous presence though receives a disco  
result with a node url including a different hash?


Did you receive a new presence from that client between the moment  
you sent your IQ request and you got the IQ reply? If yes, and if the  
hash in said presence is the same as the response, then I would make  
it "business as usual". Basically, you accept that the response is  
consistent with the current caps hash for that client.


In a general way, I would say:

 * if the hash matches the payload of the IQ response, then you can  
cache it for future use;
 * if the hash does not match the payload; you cannot cache it (as  
per spec), but you should use it to represent the client capabilities  
until you get a new caps hash.


It this reasonable?

Best regards,
--
Pedro Melo
Blog: http://www.simplicidade.org/notes/
XMPP ID: [EMAIL PROTECTED]
Use XMPP!




Re: [Standards] Reg MUC Roomname

2008-07-02 Thread Michal 'vorner' Vaner
Hello

On Wed, Jul 02, 2008 at 12:03:33PM +0530, Thanik wrote:
> One more query, whether the id attribute in xmpp stanzas is case sensitive
> or not.

You do not need to distinguish, you get it back as is and it depends on
you, what IDs you generate.

Have a nice day

-- 
This is a terroristic email. It will explode in 10 minutes, 
if you do not close it in the meantime.

Michal 'vorner' Vaner


pgpiVX5GjOiu1.pgp
Description: PGP signature