[Standards] Comments on XEP-xxxx: Shared XML Editing

Tom Pusateri pusateri at bangj.com
Tue Mar 2 19:16:49 UTC 2010

First, I want to comment on how much I like the approach of this draft. It is simple and flexible and can be the basis for many applications on top of it so I want to say nice job to the authors.

Most of these comments are nits with the document and not the overall design of the protocol but there are also a few blanks that need filled in.

1. In Example 3 where the Responder sends the session-accept, the jingle stanza contains a 'host' attribute for 'chamber at conference.shakespeare.lit'. This attribute isn't included in Example 1 where the Initiator initially sends the session-initiate. But both include a <host> transport element that looks more like a user at host. The term host seems to be overloaded here and its not clear what it refers to. It seems like the conference jid should be in both the session-accept and the session-initiate.

2. Section 5 is titled, 'Determining the Host Type' yet there seems to be little in this section that explains what host 'type' you're trying to identify. It seems like its more Host or Entity Capabilities. It seems like this section should encourage the use of XEP-0115 to discover capabilities.

3. Section 6 describes how to advertise a session. I have some questions here.

	a. Is the session supposed to be a unique identifier? Is is supposed to be a human readable name? If its not a name, can a 'name' attribute and a 'description' attribute be added to help the user determine if they want to connect to the session? If not, how would this info be discovered without first connecting to the session and synchronizing the document?

	b. Is there a preferred way to request the sessions in a serverless messaging (XEP-0174) environment?

4. Section 8.1, point 1 says both the host and the invitor MUST offer to send the state. Again the meaning of the term 'host' is not clear.

5. Section 8.2 says a joiner must abort the negotiation with other users that offered to send state. It isn't clear what type of response to a <state-offer/> is used to abort the negotiation?

6. Section 10.1, the formal definition of the <sxe/> element lists the 'id' attribute as required but Example 9 in Section 6 doesn't include an 'id' attribute.

7. Section 10.4, it is not clear what is meant by 'Server' here.  This whole section implies that you might have an editing server that sends updates to all participants but it is not clear why a participant choosing to serve other participants would have to have any special definition. If a 'Server' really is a different type of entitiy, then it needs to be explained.

8. Section 10.6.1, Table 7. 'replacefrom' and 'replacen' are not defined anywhere. I quickly realized that 'replacefrom' meant from a character position but it took a few reads to realize 'replacen' meant to replace for 'n' characters. In the table entry for 'replacefrom', it says only allowed if 'chdata' and 'replacefrom' attributes are also included. This is confusing and would make more sense if 'replacefrom' required 'replacen' and vice-versa.

Thanks again for the contribution.

Tom Pusateri

More information about the Standards mailing list