Hi,

On Mar 4, 2008, at 10:27 PM, Dave Cridland wrote:
On Tue Mar  4 21:54:31 2008, XMPP Extensions Editor wrote:
The XMPP Extensions Editor has received a proposal for a new XEP.
Title: Roster Versioning
Abstract: This specification proposes a modification to the XMPP roster management protocol to support versioning of rosters for more efficient downloading of the rost er information.
URL: http://www.xmpp.org/extensions/inbox/roster-versioning.html

[...]
"The value of the 'version' attribute MUST start at zero (0) and MUST be incremented by one (1) for each change to the roster."

I would personally prefer that this read:

"The value of the 'version' attribute is an integer value which is increased with any change to the roster, whether or not the client supports this extension. In particular, the 'version' attribute contained in roster pushes (see Section 2.5) MUST be unique."

(Insert RFC 2119 language to suit).

My reasoning is:

a) Servers might need to increase it by more than 1 for some changes, if they're not performed atomically.

b) Servers may need to increase it for changes which are not user- visible, such as the from-pending state.

c) We might need to change it in the future for other purposes.\

+1. I can't see any reason for the spec to require more than a increasing version number.


Section 2.2:

Include some text saying that clients can set version to 0 if they have no roster cached with a version - otherwise there's no bootstrap.

Or omit  the version maybe?


Sections 2.4/2.5 contain no closing </query>, and don't show groups, etc. Both need to specify that the complete roster item is used.

+1 for groups.


Section 2.4 needs to include a method for servers to indicate whether this is an update, or a complete replacement.

Why? A complete replacement is just a full set of updates. The final XML would be equivalent. From the client perspective, he would replace all the cached local entries.


Finally, I'd include an assertion for roster sets - so that a client can perform actions such as a "set if not changed since". Dead easy for servers, I think.

I don't follow what this is. Can you elaborate with a use case?

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


Reply via email to