1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-28 04:02:20 -05:00
This commit is contained in:
Peter Saint-Andre 2013-01-03 15:49:00 -07:00
parent d17e6116cb
commit 381ce85cd5

View File

@ -9,8 +9,8 @@
<title>Hats</title> <title>Hats</title>
<abstract>This specification defines a more extensible model for roles and affiliations in Multi-User Chat rooms.</abstract> <abstract>This specification defines a more extensible model for roles and affiliations in Multi-User Chat rooms.</abstract>
&LEGALNOTICE; &LEGALNOTICE;
<number>xxxx</number> <number>0317</number>
<status>ProtoXEP</status> <status>Experimental</status>
<type>Standards Track</type> <type>Standards Track</type>
<sig>Standards</sig> <sig>Standards</sig>
<approver>Council</approver> <approver>Council</approver>
@ -23,6 +23,12 @@
<supersededby/> <supersededby/>
<shortname>NOT_YET_ASSIGNED</shortname> <shortname>NOT_YET_ASSIGNED</shortname>
&stpeter; &stpeter;
<revision>
<version>0.1</version>
<date>2013-01-03</date>
<initials>psa</initials>
<remark><p>Initial published version approved for publication by the XMPP Council; clarified ad-hoc commands logic and syntax.</p></remark>
</revision>
<revision> <revision>
<version>0.0.2</version> <version>0.0.2</version>
<date>2012-12-09</date> <date>2012-12-09</date>
@ -82,6 +88,21 @@
<p>Con: Clients won't show anything if they don't understand the custom namespace.</p> <p>Con: Clients won't show anything if they don't understand the custom namespace.</p>
</li> </li>
</ol> </ol>
<p>As noted, a participant can wear many hats. The following example shows a participant who is a MUC room owner and both a "host" and a "presenter" in an online meeting system.</p>
<example caption='Presence With Multiple Hats'><![CDATA[
<presence
from='meeting123@meetings.example.com/Harry'
id='D568A74F-E062-407C-83E9-531E91526516'
to='someone@example.com/foo'>
<x xmlns='http://jabber.org/protocol/muc#user'>
<item affiliation='owner' role='moderator'/>
</x>
<hats xmlns='urn:xmpp:hats:0'>
<hat displayName='Host' name='http://schemas.example.com/hats#host' xml:lang='en-us'/>
<hat displayName='Presenter' name='http://schemas.example.com/hats#presenter' xml:lang='en-us'/>
</hats>
</presence>
]]></example>
</section2> </section2>
<section2 topic='Adding a Hat' anchor='add'> <section2 topic='Adding a Hat' anchor='add'>
<p>Hats are added and removed using &xep0050;.</p> <p>Hats are added and removed using &xep0050;.</p>
@ -114,9 +135,9 @@
<field type='hidden' var='FORM_TYPE'> <field type='hidden' var='FORM_TYPE'>
<value>urn:xmpp:hats:commands</value> <value>urn:xmpp:hats:commands</value>
</field> </field>
<field label='The nickname' <field label='User Address'
type='text-single' type='jid-single'
var='nickname'> var='accountjid'>
<required/> <required/>
</field> </field>
<field label='The role' <field label='The role'
@ -143,8 +164,8 @@
<field type='hidden' var='FORM_TYPE'> <field type='hidden' var='FORM_TYPE'>
<value>urn:xmpp:hats:commands</value> <value>urn:xmpp:hats:commands</value>
</field> </field>
<field var='nickname'> <field var='accountjid'>
<value>Terry</value> <value>terry.anderson@example.edu</value>
</field> </field>
<field var='hat'> <field var='hat'>
<value>http://tech.example.edu/hats#TeacherAssistant</value> <value>http://tech.example.edu/hats#TeacherAssistant</value>
@ -165,6 +186,7 @@
status='completed'/> status='completed'/>
</iq> </iq>
]]></example> ]]></example>
<p>Note: only one hat is added at a time, and the form uses a field of type "list-single" to enforce that logic.</p>
</section2> </section2>
<section2 topic='Removing a Hat' anchor='remove'> <section2 topic='Removing a Hat' anchor='remove'>
<p>The following flow shows how to remove a hat.</p> <p>The following flow shows how to remove a hat.</p>
@ -176,7 +198,7 @@
xml:lang='en'> xml:lang='en'>
<command xmlns='http://jabber.org/protocol/commands' <command xmlns='http://jabber.org/protocol/commands'
action='execute' action='execute'
node='urn:xmpp:hats:commands:don'> node='urn:xmpp:hats:commands:doff'>
<x xmlns='jabber:x:data' type='submit'> <x xmlns='jabber:x:data' type='submit'>
<field type='hidden' var='FORM_TYPE'> <field type='hidden' var='FORM_TYPE'>
<value>urn:xmpp:hats:commands</value> <value>urn:xmpp:hats:commands</value>
@ -184,7 +206,9 @@
<field var='accountjid'> <field var='accountjid'>
<value>terry.anderson@example.edu</value> <value>terry.anderson@example.edu</value>
</field> </field>
<field var='hat'/> <field var='hat'>
<option label='Teacher&apos;s Assistant'><value>http://tech.example.edu/hats#TeacherAssistant</value></option>
</field>
</x> </x>
</command> </command>
</iq> </iq>
@ -196,7 +220,7 @@
type='result' type='result'
xml:lang='en'> xml:lang='en'>
<command xmlns='http://jabber.org/protocol/commands' <command xmlns='http://jabber.org/protocol/commands'
node='urn:xmpp:hats:commands:don' node='urn:xmpp:hats:commands:doff'
sessionid='A971D19A-2226-4DAD-B261-8D0886B9A026' sessionid='A971D19A-2226-4DAD-B261-8D0886B9A026'
status='completed'/> status='completed'/>
</iq> </iq>
@ -225,7 +249,7 @@
</section1> </section1>
<section1 topic='Acknowledgements' anchor='acks'> <section1 topic='Acknowledgements' anchor='acks'>
<p>The concepts underlying this specification were first discussed several years ago at an XMPP Summit in Brussels, Belgium. Special thanks to Joe Hildebrand and Ralph Meijer for their contributions to those discussions. Thanks also to Kevin Smith and Matthew Wild for the feedback.</p> <p>The concepts underlying this specification were first discussed several years ago at an XMPP Summit in Brussels, Belgium. Special thanks to Joe Hildebrand and Ralph Meijer for their contributions to those discussions. Thanks also to Matt Miller, Kevin Smith, and Matthew Wild for their feedback on the written specification.</p>
</section1> </section1>
</xep> </xep>