[standards-jig] JEP-0045 Suggestions

Thomas Muldowney temas at box5.net
Fri Sep 13 18:09:11 UTC 2002

What about using namespaces?

Another version location alternative:
<message xmlns:mc='http://jabber.org/JEPS/MultiChat' type='groupchat'
to='crone3 at shakespeare/pda' from='coven at macbeth/firstswitch'
  <subject> Thrice the Cat has mew'd</subject>

<presence xmlns:mc='http://jabber.org/JEPS/MultiChat' 
    from='coven at macbeth/secondwitch' to='crone3 at shakespeare/pda' 

I think the namespaces would really allow the extra info to be more
clearly seperated, and perhaps a nice model fo future expansion on
existing protocol.


On Fri, Sep 13, 2002 at 09:50:55AM -0400, Paul Curtis wrote:
> In defining a newer "multi user" chat protocol, I realized that any 
> additions have to be backwardly compatible (at a packet level) to the 
> older "GC 1.0". In order to do this, and make the transition as painless 
> as possible, I have some suggestions for additional attributes and tags 
> that will help both client and transport developers.
> In section 2.1, Joining a Room:
> In order to make assist the transport writer in identifying clients that 
> can handle the newer protocol, I would suggest an attribute to be added 
> to the initial presence packet from the client that indicates a version 
> of multi-user chat that the client supports.
>    eg.
>    <presence to='coven at macbeth/thirdwitch' mcversion='2'/>
> By placing an attribute in the initial presence, the client would not 
> "break" the current multi-user chat component (conference-0.4x). 
> However, a newer component would check for this attribute and 
> definitively know that the client can use the newer protocol. Current 
> clients do not send this attribute, and by its absence, the component 
> developer will know that the client only supports the older "GC 1.0".
> So, how does the client know that the component can provide the newer 
> protocol? Well, the current version of the JEP does not specify how the 
> room subject is sent to the client. I would suggest that the room 
> subject packet be formalized to allow client developers to know how to 
> handle the subject. In addition, this packet could be used to return the 
>  version of multi-user chat component to the user.
>    eg.
>    <message type='groupchat' to='crone3 at shakespeare/pda'
>    from='coven at macbeth/firstwitch'>
>       <mcversion>2</mcversion>
>       <subject>Thrice the Cat has mew'd</subject>
>       <body>/me has set the subject to: Thrice the Cat has mew'd</body>
>    </message>
>    or
>    <message type='groupchat' to='crone3 at shakespeare/pda'
>    from='coven at macbeth/firstwitch'>
>       <subject mcversion='2'>Thrice the Cat has mew'd</subject>
>       <body>/me has set the subject to: Thrice the Cat has mew'd</body>
>    </message>
> The current multi-user chat component returns the above packet without 
> the <mcversion/> tag (or attribute) in it. In this manner, we do not 
> break clients that only handle multi-user chat version 1, but we provide 
> a definitive mechanism for the client to know that the additional 
> extensions are provided by the multi-user chat component.
> Lastly, I would like to see attributes added to the <presence/> packets 
> for the participants in the room. These attributes should indicate 
> whether the participant is a "moderator" or "admin" or "channel 
> operator" for the room. With this information, the client developers 
> could have an indicator that shows which participants in the room are 
> capable of administering the room.
>    eg.
>    <presence from='coven at macbeth/secondwitch'
>    to='crone3 at shakespeare/pda' role='admin'/>
> For those client that do not support multi-user chat version 2, the 
> attribute should be ignored (or should not be sent at all) and the 
> participants' presence would appear as they do currently.
> By providing concrete mechanisms for the clients and component 
> developers to indicate versioning, the possibility of incorrect behavior 
> is minimized. I have tried to find ways to implement these items in such 
> a way that the current clients will function correctly if these items do 
> not appear.
> I do not like the term "mcversion" in the above examples, and I'm hoping 
> someone will suggest a better attribute/tag name.
> Paul
> _______________________________________________
> Standards-JIG mailing list
> Standards-JIG at jabber.org
> http://mailman.jabber.org/listinfo/standards-jig
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.jabber.org/pipermail/standards/attachments/20020913/a0cc4f77/attachment.sig>

More information about the Standards mailing list