git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@1492 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-12-27 20:28:50 +00:00
parent a0d2f80891
commit a0985ca5bc
1 changed files with 28 additions and 11 deletions

View File

@ -50,10 +50,10 @@
<registry/>
&stpeter;
<revision>
<version>1.23pre5</version>
<date>in progress, updated 2007-12-12</date>
<version>1.23pre6</version>
<date>in progress, updated 2007-12-27</date>
<initials>psa</initials>
<remark><p>Defined getmemberlist room configuration option; added direct invitation protoocol; corrected logic regarding admission of room owner/admin when room is full; defined service discovery extension field for associated LDAP group; specified that room config fields can be listed in extended room information; specified message format for affiliation change notifications if user is not in the room; added example showing use of Result Set Management; recommended inclusion of MUC child element in presence errors.</p></remark>
<remark><p>Defined getmemberlist room configuration option; added direct invitation protoocol; corrected logic regarding admission of room owner/admin when room is full; defined service discovery extension field for associated LDAP group; specified that room config fields can be listed in extended room information; specified message format for affiliation change notifications if user is not in the room; added example showing use of Result Set Management; recommended inclusion of MUC child element in presence errors; described use of ThreadID for continuity between one-to-one chat and multi-user chat, including definition of thread attribute for continue element in invitations.</p></remark>
</revision>
<revision>
<version>1.22</version>
@ -1981,7 +1981,7 @@
]]></example>
<p>It may be wondered why the invitee does not send the decline message directly to the invitor. The main reason is that certain implementations MAY choose to base invitations on room JIDs rather than bare JIDs (so that, for example, an occupant could invite someone from one room to another without knowing that person's bare JID). Thus the service MUST handle both the invites and declines.</p>
</section2>
<section2 topic='Converting a One-to-One Chat Into a Conference' anchor='continue'>
<section2 topic='Converting a One-to-One Chat Into a Multi-User Conference' anchor='continue'>
<p>Sometimes it is desirable to convert a one-to-one chat into a multi-user conference. The process flow is shown in the following examples.</p>
<p>First, two users begin a one-to-one chat.</p>
<example caption='A One-to-One Chat'><![CDATA[
@ -1989,6 +1989,7 @@
from='crone1@shakespeare.lit/desktop'
to='wiccarocks@shakespeare.lit/laptop'
type='chat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice the brinded cat hath mew'd.</body>
</message>
@ -1996,16 +1997,18 @@
from='wiccarocks@shakespeare.lit/laptop'
to='crone1@shakespeare.lit/desktop'
type='chat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice and once the hedge-pig whined.</body>
</message>
]]></example>
<p>Now the first person decides to include a third person in the discussion, so she (or, more precisely, her client) does the following:</p>
<ol start='1'>
<li>Creates a new room</li>
<li>Creates a new multi-user chatroom</li>
<li>Optionally sends history of the one-to-one chat to the room</li>
<li>Sends an invitation to the second person and the third person, including a &lt;continue/&gt; flag.</li>
<li>Sends an invitation to the second person and the third person, including a &lt;continue/&gt; element (optionally including a 'thread' attribute).</li>
</ol>
<p>Note: The new room SHOULD be non-anonymous, MAY be an instant room as specified in the <link url='#createroom-instant'>Creating an Instant Room</link> section of this document, and MAY have a unique room name received from the service as specified in the <link url='#createroom-instant-unique'>Requesting a Unique Room Name</link> section of this document.</p>
<p>Note: If the one-to-one chat messages included a &THREAD; element, the person who creates the room SHOULD include the ThreadID with the history messages, specify the ThreadID in the invitations as the value of the &lt;continue/&gt; element's 'thread' attribute, and include the ThreadID in any new messages sent to the room. Use of ThreadIDs is RECOMMENDED because it helps to provide continuity between the one-to-one chat and the multi-user chat.</p>
<example caption='Continuing the Discussion I: User Creates Room'><![CDATA[
<presence
from='crone1@shakespeare.lit/desktop'
@ -2027,6 +2030,7 @@
from='crone1@shakespeare.lit/desktop'
to='darkcave@macbeth.shakespeare.lit'
type='groupchat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice the brinded cat hath mew'd.</body>
<delay xmlns='urn:xmpp:delay'
from='crone1@shakespeare.lit/desktop'
@ -2037,6 +2041,7 @@
from='crone1@shakespeare.lit/desktop'
to='darkcave@macbeth.shakespeare.lit'
type='groupchat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice and once the hedge-pig whined.</body>
<delay xmlns='urn:xmpp:delay'
from='wiccarocks@shakespeare.lit/laptop'
@ -2051,11 +2056,11 @@
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite to='wiccarocks@shakespeare.lit/laptop'>
<reason>This coven needs both wiccarocks and hag66.</reason>
<continue/>
<continue thread='e0ffe42b28561960c6b12b944a092794b9683a38'/>
</invite>
<invite to='hag66@shakespeare.lit'>
<reason>This coven needs both wiccarocks and hag66.</reason>
<continue/>
<continue thread='e0ffe42b28561960c6b12b944a092794b9683a38'/>
</invite>
</x>
</message>
@ -2069,7 +2074,7 @@
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite from='crone1@shakespeare.lit'>
<reason>This coven needs both wiccarocks and hag66.</reason>
<continue/>
<continue thread='e0ffe42b28561960c6b12b944a092794b9683a38'/>
</invite>
</x>
</message>
@ -2080,7 +2085,7 @@
<x xmlns='http://jabber.org/protocol/muc#user'>
<invite from='crone1@shakespeare.lit'>
<reason>This coven needs both wiccarocks and hag66.</reason>
<continue/>
<continue thread='e0ffe42b28561960c6b12b944a092794b9683a38'/>
</invite>
</x>
</message>
@ -2113,6 +2118,7 @@
from='darkcave@macbeth.shakespeare.lit'
to='wiccarocks@shakespeare.lit/laptop'
type='groupchat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice the brinded cat hath mew'd.</body>
<delay xmlns='urn:xmpp:delay'
from='crone1@shakespeare.lit/desktop'
@ -2123,6 +2129,7 @@
from='darkcave@macbeth.shakespeare.lit'
to='wiccarocks@shakespeare.lit/laptop'
type='groupchat'>
<thread>e0ffe42b28561960c6b12b944a092794b9683a38</thread>
<body>Thrice and once the hedge-pig whined.</body>
<delay xmlns='urn:xmpp:delay'
from='wiccarocks@shakespeare.lit/laptop'
@ -5482,7 +5489,7 @@ xmpp:darkcave@macbeth.shakespeare.lit?invite;jid=hecate@shakespeare.lit;password
<xs:sequence>
<xs:element ref='actor' minOccurs='0'/>
<xs:element ref='reason' minOccurs='0'/>
<xs:element name='continue' type='empty' minOccurs='0'/>
<xs:element ref='continue' minOccurs='0'/>
</xs:sequence>
<xs:attribute name='affiliation' use='optional'>
<xs:simpleType>
@ -5520,6 +5527,16 @@ xmpp:darkcave@macbeth.shakespeare.lit?invite;jid=hecate@shakespeare.lit;password
</xs:complexType>
</xs:element>
<xs:element name='continue'>
<xs:complexType>
<xs:simpleContent>
<xs:extension base='empty'>
<xs:attribute name='thread' type='xs:string' use='optional'/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name='status'>
<xs:complexType>
<xs:attribute name='code' use='required'>