1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-24 10:12:19 -05:00

Clarified Ban update to show that it replaces Kick functionality

This commit is contained in:
Steve Kille 2016-11-04 10:12:53 +00:00 committed by Sam Whited
parent 60c7272ba2
commit e42bb0af44

View File

@ -102,7 +102,7 @@
</revision> </revision>
</header> </header>
<section1 topic='Introduction' anchor='intro'> <section1 topic='Introduction' anchor='intro'>
<p>The Mediated Information eXchange (MIX) protocol is intended as a replacement for Multi-User Chat (MUC). MUC is a major application of XMPP that was developed in 2002 and standardized in &xep0045;. MIX implements the same basic MUC patterns in a more flexible and extensible way in order to address requirements that have emerged since MUC was developed. MIX supports all of the core chatroom features that are familiar from MUC, such as discussion topics and invitations. Like MUC, it also defines a strong access control model, including the ability to kick and ban users, to name administrators, and to provide controls as to which users can participate in channels.</p> <p>The Mediated Information eXchange (MIX) protocol is intended as a replacement for Multi-User Chat (MUC). MUC is a major application of XMPP that was developed in 2002 and standardized in &xep0045;. MIX implements the same basic MUC patterns in a more flexible and extensible way in order to address requirements that have emerged since MUC was developed. MIX supports all of the core chatroom features that are familiar from MUC, such as discussion topics and invitations. Like MUC, it also defines a strong access control model, including the ability to ban users, to name administrators, and to provide controls as to which users can participate in channels.</p>
<p>Several reasons exist for replacing MUC:</p> <p>Several reasons exist for replacing MUC:</p>
<ul> <ul>
<li>A number of use cases for group communication have emerged since MUC was first published.</li> <li>A number of use cases for group communication have emerged since MUC was first published.</li>
@ -313,7 +313,7 @@
<tr><td>Owners</td><td>These are owners of the list, as specified in the channel configuration node. Only owners are allowed to modify the channel configuration node.</td></tr> <tr><td>Owners</td><td>These are owners of the list, as specified in the channel configuration node. Only owners are allowed to modify the channel configuration node.</td></tr>
<tr><td>Administrators</td><td>Administrators are defined in the channel configuration node. Administrators have update rights to the Allowed Node and Banned Node, so can control which users may participate in a channel. Administrators will usually be granted additional rights, such as the ability to kick users from a channel. </td></tr> <tr><td>Administrators</td><td>Administrators are defined in the channel configuration node. Administrators have update rights to the Allowed Node and Banned Node, so can control which users may participate in a channel. </td></tr>
<tr><td>Participants</td><td>Participants are users listed by JID in the participants node.</td></tr> <tr><td>Participants</td><td>Participants are users listed by JID in the participants node.</td></tr>
@ -501,8 +501,6 @@
<tr><td>'Avatar Nodes Update Rights'</td><td>Controls who can make changes to the avatar data and metadata nodes</td><td>list-single</td><td>'participants'; 'admins'; 'owners' </td><td>'admins'</td></tr> <tr><td>'Avatar Nodes Update Rights'</td><td>Controls who can make changes to the avatar data and metadata nodes</td><td>list-single</td><td>'participants'; 'admins'; 'owners' </td><td>'admins'</td></tr>
<tr><td>'Kick Rights'</td><td>Controls who can kick users from the channel.</td><td>list-single</td><td>'admins'; 'owners'; 'nobody' </td><td>'admins'</td></tr>
<tr><td>'JID Visibility'</td><td>Controls JID visibility in the channel.</td><td>list-single</td><td>'jid-hidden'; 'jid-optionally-visible'; 'jid-mandatory-visible'</td><td>'jid-hidden'</td></tr> <tr><td>'JID Visibility'</td><td>Controls JID visibility in the channel.</td><td>list-single</td><td>'jid-hidden'; 'jid-optionally-visible'; 'jid-mandatory-visible'</td><td>'jid-hidden'</td></tr>
<tr><td>'Open Presence'</td><td>If selected, any client may register presence. If not selected, only clients with bare JID in the participants list may register presence.</td><td>boolean</td><td>-</td><td>false</td></tr> <tr><td>'Open Presence'</td><td>If selected, any client may register presence. If not selected, only clients with bare JID in the participants list may register presence.</td><td>boolean</td><td>-</td><td>false</td></tr>
@ -1945,7 +1943,7 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='mix.shakespeare.example' to='mix.shakespeare.example'
type='get'> type='get'>
<pubsub xlns='http://jabber.org/protocol/pubsub'> <pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node= 'urn:xmpp:mix:nodes:allowed'/> <items node= 'urn:xmpp:mix:nodes:allowed'/>
</pubsub> </pubsub>
</iq> </iq>
@ -1954,7 +1952,7 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='hag66@shakespeare.example/intibo24' to='hag66@shakespeare.example/intibo24'
type='result'> type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'> <pubsub xmlns='http://jabber.org/protocol/pubsub'>
<items node= 'urn:xmpp:mix:nodes:allowed'> <items node= 'urn:xmpp:mix:nodes:allowed'>
<item id='@shakespeare.lit'/> <item id='@shakespeare.lit'/>
<item id='alice@wonderland.lit'/> <item id='alice@wonderland.lit'/>
@ -1972,8 +1970,8 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='mix.shakespeare.example' to='mix.shakespeare.example'
type='set'> type='set'>
<pubsub xlns='http://jabber.org/protocol/pubsub'> <pubsub xmlns='http://jabber.org/protocol/pubsub'>
<publish node= 'urn:xmpp:mix:nodes:allowed'> <publish node='urn:xmpp:mix:nodes:allowed'>
<item id='@marlow.lit'/> <item id='@marlow.lit'/>
</items> </items>
</pubsub> </pubsub>
@ -1983,7 +1981,7 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='hag66@shakespeare.example/intibo24' to='hag66@shakespeare.example/intibo24'
type='result'> type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'/> <pubsub xmlns='http://jabber.org/protocol/pubsub'/>
</iq> </iq>
]]></example> ]]></example>
@ -1991,7 +1989,7 @@ A client creates a channel by sending a simple request to the MIX service. A c
<p> <p>
JIDs can be removed from the Allowed and Banned nodes by pubsub retract command. JIDs can be removed from the Allowed and Banned nodes by pubsub retract command.
</p> </p>
</section3>
<example caption="Client Removes a JID to the Banned Node" ><![CDATA[ <example caption="Client Removes a JID to the Banned Node" ><![CDATA[
@ -1999,7 +1997,7 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='mix.shakespeare.example' to='mix.shakespeare.example'
type='set'> type='set'>
<pubsub xlns='http://jabber.org/protocol/pubsub'> <pubsub xmlns='http://jabber.org/protocol/pubsub'>
<retract node= 'urn:xmpp:mix:nodes:banned'> <retract node= 'urn:xmpp:mix:nodes:banned'>
<item id='lear@shakespeare.lit'/> <item id='lear@shakespeare.lit'/>
</items> </items>
@ -2010,20 +2008,15 @@ A client creates a channel by sending a simple request to the MIX service. A c
id='lx09df27' id='lx09df27'
to='hag66@shakespeare.example/intibo24' to='hag66@shakespeare.example/intibo24'
type='result'> type='result'>
<pubsub xlns='http://jabber.org/protocol/pubsub'/> <pubsub xmlns='http://jabber.org/protocol/pubsub'/>
</iq> </iq>
]]></example> ]]></example>
<p>
When the MIX channel adds a JID to the banned node, other nodes in the MIX channel will be appropriately updated to reflect this change. In particular, the participants nodes and presence nodes will be updated to remove matching JIDs. This will have the effect of immediately removing the user from the channel. For this reason, there is no requirement to have the "kick" functionality of MUC, as this is achieved by banning the user.
</p>
</section3>
<section3 topic='Removing a User From a Channel (Kicking)' anchor='usecase-admin-kick'>
<p></p>
<example caption="" ><![CDATA[
*** AUTHOR TBS
]]></example>
</section3>
</section2> </section2>