From 7d89f529163ddef9de736f2abcd1cf8c096fe34c Mon Sep 17 00:00:00 2001
From: Steve Kille
- Name and Description of the channel apply to the whole channel and are will usually be changed infrequently. This contrasts to Subject, which is more likely to change frequently and will often reflect the topic being discussed which has narrower scope than channel as a whole.
+ Name and Description of the channel apply to the whole channel and are will usually be changed infrequently.
The name and description values MUST contain a "text" element and MAY contain additional text elements. Where multiple text elements are provided, each MUST posses an xml:lang attribute that describes the natural language of the subject. The format of the Information node follows &xep0004;. This allows configuration to be updated by MIX defined commands and that the results of update commands are the same as the PubSub node.
+ The name and description values MUST contain a "text" element and MAY contain additional text elements. Where multiple text elements are provided, each MUST posses an xml:lang attribute that describes the natural language of the element. The format of the Information node follows &xep0004;. This allows configuration to be updated by MIX defined commands and that the results of update commands are the same as the PubSub node.
The following example shows the format of a item in the information node for the example coven@mix.shakespeare.example channel.
The subject node publishes the current subject of channel. Subject history is stored in MAM. A single item is stored in this node at a time which MUST contain a "text" element and MAY contain additional text elements. Where multiple text elements are provided, each MUST posses an xml:lang attribute that describes the natural language of the subject.
- Setting and sharing subject uses a message with subject element, in a manner compatible with &xep0045;. Clients MAY also write or access this node using pubsub. Writes to this node will lead to update of subject by sending messages. Setting the subject is controlled by configuration; in some channels it MAY be set by all users and in others restricted to administrators.
- The following example shows the format of a item in the subject node.
-
- When a user subscribes to the Subject Node, this will cause the channel to send Subject messages to the user's server using the user's bare JID. This is done on initial user subscription and on subject change. Clients MAY directly read the channel subject from the Subject Node using PubSub.
-
This node represents a list of JIDs that are allowed to become participants. If the allowed node is not present, all JIDs are allowed. This node is accessed and managed using standard pubsub. The allowed list is always considered in conjunction with the banned list, stored in the banned node. Only Administrators and Owners have write permission to the allowed node and are also the only roles that are allows to subscribe to this node. Each item contains a real bare JID. The following example shows how the allowed list can specify single JIDs and domains.
@@ -547,11 +530,11 @@ This approach enables flexible support of multiple clients for a MIX channel pa
A user joins a channel by sending a MIX "join" command. There is no default set of nodes, so user MUST specify the set of nodes to be subscribed to. To achieve the equivalent service to MUC, a user would subscribe to messages, presence and subject.
+ A user joins a channel by sending a MIX "join" command. There is no default set of nodes, so user MUST specify the set of nodes to be subscribed to. To achieve the equivalent service to MUC, a user would subscribe to messages, and presence.
This will lead to the server subscribing the user to each of the requested nodes associated with the channel. The MIX service will also add the user to the participant list by injecting a new item into the "urn:xmpp:mix:nodes:participants" node automatically.
If a user cannot be subscribed to one or more of the requested nodes (e.g., because the node does not exist), but can be subscribed to some the response simply lists the nodes successfully subscribed. If none of the nodes requested are successfully subscribed to, an error response is sent indicating the reason that the first node requested was not subscribed to. This response will also include other nodes requested where subscription failed for the same reason. The following response example shows a response to the initial request example where
-the participant is not be subscribed to all nodes associated with the channel (in this case only messages, participants, and subject). The following example is the message from the MIX channel to the user's server, which will be modified and sent to the client.JID Map 'urn:xmpp:mix:nodes:jidmap' For storing a list of anonymized bare JIDs from the participants node with a 1:1 mapping to the corresponding real JIDs. Automatic PubSub Presence 'urn:xmpp:mix:nodes:presence' For storing information about the availability status of online participants, which MAY include multiple clients for a single participant. Presence Presence
- Information 'urn:xmpp:mix:nodes:info' For storing general channel information, such as description. PubSub PubSub Subject 'urn:xmpp:mix:nodes:subject' For storing and sharing the current subject of a channel Message Message Allowed 'urn:xmpp:mix:nodes:allowed' For storing JIDs that are allowed to be channel participants. PubSub PubSub Banned 'urn:xmpp:mix:nodes:banned' For storing JIDs that are not allowed to be channel participants. PubSub PubSub
@@ -471,9 +470,9 @@ This approach enables flexible support of multiple clients for a MIX channel pa
Configuration 'urn:xmpp:mix:nodes:config' For storing channel configuration. PubSub PubSub 'Contact' The JID or JIDs of the person or role responsible for the channel. jid-multi - - 'Owner' Bare JIDs with Owner rights as defined in ACL node. When a channel is created, the JID creating the channel is configured as an owner, unless this attribute is explicitly configured to another value. jid-multi - - 'Administrator' Bare JIDs with Administrator rights. jid-multi - -
- 'End of Life' The date and time at which the channel will be automatically removed by the server. If this is not set, the channel is permanent. text-single - -
+ 'Nodes Present' Specifies which nodes are present. Presence of config nodes is implicit. Jidmap node MUST be present if participants node is present. 'avatar' means that both Avatar Data and Avatar Metadata nodes are present. list-multi 'participants'; 'presence'; 'subject'; 'information'; 'allowed'; 'banned'; 'avatar' - 'Nodes Present' Specifies which nodes are present. Presence of config nodes is implicit. Jidmap node MUST be present if participants node is present. 'avatar' means that both Avatar Data and Avatar Metadata nodes are present. list-multi 'participants'; 'presence'; 'information'; 'allowed'; 'banned'; 'avatar' - 'Message Node Subscription' Controls who can subscribe to messages node. list-single 'participants'; 'allowed'; 'anyone' 'participants' 'Presence Node Subscription' Controls who can subscribe to presence node. list-single 'participants'; 'allowed'; 'anyone' 'participants'
- 'Participants Node Subscription' Controls who can subscribe to participants node. list-single 'participants'; 'allowed'; 'anyone'; 'nobody'; 'admins'; 'owners' 'participants'
+
'Subject Node Subscription' Controls who can subscribe to subject node. list-single 'participants'; 'allowed'; 'anyone' 'participants' 'Information Node Subscription' Controls who can subscribe to the information node. list-single 'participants'; 'allowed'; 'anyone' 'participants' 'Allowed Node Subscription' Controls who can subscribe to allowed node. list-single 'participants'; 'allowed'; 'nobody'; 'admins'; 'owners' 'admins'
@@ -736,8 +719,6 @@ This approach enables flexible support of multiple clients for a MIX channel pa
node='urn:xmpp:mix:nodes:participants'/>
'Banned Node Subscription' Controls who can subscribe to banned node. list-single 'participants'; 'allowed'; 'nobody'; 'admins'; 'owners' 'admins'
- Setting the subject for a channel follows a similar procedure to sending a message. An XMPP client will send a message setting the subject directly to the MIX channel. Note that where multiple language variants are used, the subject is repeated and each subject MUST include a language reference. -
-- This message is received by the MIX channel, which will set the Subject Node for the channel, and then distribute the message to participants that are subscribed to the Subject Node, with the message addressed to the participant’s server using the participant's bare JID. -
-- When a new Participant joins a channel and subscribes to the Subject Node, the channel MUST send to the participant's server (using the participant's bare JID) a message with the current subject. An XMPP Client MAY directly read the Subject node using &xep0060;. -
-A convenient way to reference another channel is to use &xep0372; which enables the JID of a channel to be shared. This might be used simply to inform the message recipient about the channel or as mechanism to invite the user to join the channel. This is useful as an invitation mechanism to a channel that any user can join or where the invitee knows that the user is allowed to join (e.g., because the channel is for all users in an organization). @@ -1744,7 +1697,7 @@ the participant is not be subscribed to all nodes associated with the channel (i
- Messages sent to participants MUST be archived by both the MIX channel and by the user's server. This MUST include messages setting subject and MAY include presence messages. Correct MIX operation relies on messages being archived. + Messages sent to participants MUST be archived by both the MIX channel and by the user's server. This MAY include presence messages. Correct MIX operation relies on messages being archived.
&xep0045; provide a Subject capability to enable setting of the current topic of discussion. The Name and Description attributes provided by MIX enable descriptive information to be associated with a channel. These attributes can replace Subject in the way it is used in many MUC rooms, but they do not reflect the more limited topic nature of Subject.
+It is likely that a new XEP to be used with MIX will be written, perhaps using a "Sticky Messages" approach to fulfil the Subject capability using a different approach.
+MIX allows specification of a number of human readable strings associated with a MIX channel, in particular the subject of a MIX channel and name and description information. These strings MAY have language set using an xml:lang attribute, and multiple values MAY be set provided that each one is distinguished using xml:lang. +
MIX allows specification of a number of human readable strings associated with a MIX channel, in particular the name and description information of a MIX channel. These strings MAY have language set using an xml:lang attribute, and multiple values MAY be set provided that each one is distinguished using xml:lang.
Nicknames SHOULD be normalized using the "nickname" profile of the PRECIS OpaqueString class, as defined in &rfc7700;.