1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-21 16:55:07 -05:00

Add Participant and Information retrieval protocol

This commit is contained in:
Steve Kille 2016-09-20 11:57:53 +01:00
parent d1ed7652fd
commit a63c2ccd64

View File

@ -309,7 +309,7 @@
<p>If the Participants Node is not used, information on channel participants is not shared.</p> <p>If the Participants Node is not used, information on channel participants is not shared.</p>
<example caption="Value of Participants Node"><![CDATA[ <example caption="Value of Participants Node"><![CDATA[
<items node='urn:xmpp:mix:nodes:participants'> <items node='urn:xmpp:mix:nodes:participants'>
<item id='coven+123456@mix.shakespeare.example/8765'> <item id='coven+123456@mix.shakespeare.example'>
<participant xmlns='urn:xmpp:mix:0' <participant xmlns='urn:xmpp:mix:0'
nick='thirdwitch'/> nick='thirdwitch'/>
</item> </item>
@ -562,14 +562,66 @@
</section2> </section2>
<section2 topic="Determining Information about a Channel" anchor="find-channel-info"> <section2 topic="Determining Information about a Channel" anchor="find-channel-info">
<p>The Information Node contains various information about the channel that may be useful to the user. This can be read by the user.</p> <p>The Information Node contains various information about the channel that may be useful to the user. This can be read by the XMPP Client directly or by a MIX Proxy.</p>
<p>AUTHOR'S NOTE: Define new protocol. Add example</p>
<example caption='MIX Proxy Requests Channel Information'><![CDATA[
<iq from='hag66@shakespeare.lit'
id='kl2fax27'
to='coven@mix.shakespeare.lit'
type='get'>
<query xmlns='urn:xmpp:mix:0#channel-info'/>
</iq>
]]></example>
<example caption='MIX Service Returns Channel Information'><![CDATA[
<iq from='coven@mix.shakespeare.lit'
id='kl2fax27'
to='hag66@shakespeare.lit'
type='result'>
<query xmlns='urn:xmpp:mix:0#channel-info'>
<name>Witches Coven</name>
<description>A location not far from the blasted heath where the three witches meet</description>
<administrator>
<vCard xmlns='vcard-temp'>
<FN>Hecate</FN>
<TITLE>Chief Witch</TITLE>
</vCard>
</administrator>
<avatar>
<data xmlns='urn:xmpp:avatar:data'>
qANQR1DBwU4DX7jmYZnncm...
</data>
</avatar>
</iq>
]]></example>
</section2> </section2>
<section2 topic='Determining the Participants in a Channel' anchor='find-channel-participants'> <section2 topic='Determining the Participants in a Channel' anchor='find-channel-participants'>
<p> <p>
Online clients in the channel are determined from the presence node. Participants in the channel are determined from the "urn:xmpp:mix:nodes:participants" node which will give proxy JID and nick. The jidmap node is used to map to real JIDs. </p> Online clients in the channel are determined from the presence node. Participants in the channel are determined from the Participants Node which will give proxy JID and nick. The jidmap node is used to map to real JIDs. An operation is provided to list channel participants. For JID Hidden channels, only the nicks are returned. For JID Visible channels, nicks and real JIDs are returned.</p>
<p>AUTHOR'S NOTE: Define new protocol. Add example</p>
<example caption='MIX Proxy Requests Participant List'><![CDATA[
<iq from='hag66@shakespeare.lit'
id='kl2fax27'
to='coven@mix.shakespeare.lit'
type='get'>
<query xmlns='urn:xmpp:mix:0#get-participants'/>
</iq>
]]></example>
<example caption='MIX Service Returns Participant List for JID Visible Room'><![CDATA[
<iq from='coven@mix.shakespeare.lit'
id='kl2fax27'
to='hag66@shakespeare.lit'
type='result'>
<query xmlns='urn:xmpp:mix:0#get-participants'>
<items>
<item jid='hag66@shakespeare.lit' nick='thirdwitch'>
<item jid='hag01@shakespeare.lit' nick='top witch'>
</items>
</iq>
]]></example>
</section2> </section2>
@ -725,9 +777,10 @@
</message> </message>
]]></example> ]]></example>
</section3> </section3>
<section3 topic="Setting a Nick" anchor="usecase-setting-nick"></section3> <section3 topic="Setting a Nick" anchor="usecase-setting-nick">
<p> <p>
Each member of a channel may have a nick, which is how other users in the channel will see the user. In some cases a nick is not needed, for example where a user reads messages in a channel but does not send messages or share presence information. A nick MUST be present for a user to send a message to a channel or for a user's presence to be shared on a channel. There are four ways that a user's nick can be obtained. The choice of mechanism or mechanisms is dependent on channel policy: Each member of a channel may have a nick, which is how other users in the channel will see the user. In some cases a nick is not needed, for example where a user reads messages in a channel but does not send messages or share presence information. A nick MUST be present for a user to send a message to a channel or for a user's presence to be shared on a channel. There are four ways that a user's nick can be obtained. The choice of mechanism or mechanisms is dependent on channel policy:
</p> </p>
@ -766,6 +819,7 @@
</query> </query>
</iq> </iq>
]]></example> ]]></example>
</section3>
<section3 topic='Registering a Nick' anchor='usecase-user-register'> <section3 topic='Registering a Nick' anchor='usecase-user-register'>
<p>A user can register a nick with the MIX service. Nick registration can be used ensure that a user is able to use the same nick in all channels in the service and to prevent other users from using a registered nick. This can help achieve a consistent experience across a set of channels and prevent user confusion. Support for nick registration by a MIX service is optional. Where nick registration is supported, nick registration may be optional or mandatory. <p>A user can register a nick with the MIX service. Nick registration can be used ensure that a user is able to use the same nick in all channels in the service and to prevent other users from using a registered nick. This can help achieve a consistent experience across a set of channels and prevent user confusion. Support for nick registration by a MIX service is optional. Where nick registration is supported, nick registration may be optional or mandatory.
Where a user has registered a Nick with the MIX service, it may be used by each channel according to policy for the channel. A nick is associated with the user's bare JID. Where a user has registered a Nick with the MIX service, it may be used by each channel according to policy for the channel. A nick is associated with the user's bare JID.