1
0
mirror of https://github.com/moparisthebest/xeps synced 2024-11-23 09:42:20 -05:00

XEP-0060: Introduce 1:1 mapping between publish-options and node configuration

This commit is contained in:
Daniel Gultsch 2017-12-12 17:26:30 +01:00
parent a66bf3ce0d
commit 830ce66011

View File

@ -50,12 +50,26 @@
&stpeter; &stpeter;
&ralphm; &ralphm;
<revision>
<version>1.15.0</version>
<date>2017-12-12</date>
<initials>dg</initials>
<remark>
<ul>
<li>Specify that unregistered publish-options are mapped 1:1 to node configurations</li>
<li>Get rid of per-item OVERRIDE</li>
<li>Get rid of METADATA publish-options</li>
<li>Remove registration for the obsolete pubsub#access_model publish-options</li>
</ul>
</remark>
</revision>
<revision> <revision>
<version>1.14</version> <version>1.14</version>
<date>2017-11-29</date> <date>2017-11-29</date>
<initials>jt</initials> <initials>jt</initials>
<remark><p>Add pubsub#multi-items to features.</p></remark> <remark><p>Add pubsub#multi-items to features.</p></remark>
</revision> </revision>
<revision> <revision>
<version>1.13.8</version> <version>1.13.8</version>
<date>2017-10-10</date> <date>2017-10-10</date>
@ -2969,8 +2983,8 @@ And by opposing end them?
</iq> </iq>
]]></example> ]]></example>
<p>The &lt;publish-options/&gt; element MUST contain a data form (see <cite>XEP-0004</cite>), whose FORM_TYPE MUST be "http://jabber.org/protocol/pubsub#publish-options" (see <cite>XEP-0068</cite>).</p> <p>The &lt;publish-options/&gt; element MUST contain a data form (see <cite>XEP-0004</cite>), whose FORM_TYPE MUST be "http://jabber.org/protocol/pubsub#publish-options" (see <cite>XEP-0068</cite>).</p>
<p>Fields and their behaviour MUST be registered with the XMPP Registrar. Each field MUST specify whether it defines METADATA to be attached to the item, a per-item OVERRIDE of the node configuration, or a PRECONDITION to be checked against the node configuration. A pubsub service advertising support for publishing options MUST reject publications with unknown fields.</p> <p>Each form field denotes a precondition to publishing the request. A pub-sub service advertising support for publishing options MUST check each precondition field against the node configuration of the same name, and it MUST reject the publication upon encountering unknown fields.</p>
<p>A field defined as a precondition MUST be processed as follows:</p> <p>Preconditions MUST be processed as follows:</p>
<ol> <ol>
<li>If the node exists and the precondition is not met, then the publish MUST fail with a &conflict; error condition and a pubsub-specific condition of &lt;precondition-not-met/&gt;.</li> <li>If the node exists and the precondition is not met, then the publish MUST fail with a &conflict; error condition and a pubsub-specific condition of &lt;precondition-not-met/&gt;.</li>
<li>If the node exists and the precondition is met, then the publish succeeds.</li> <li>If the node exists and the precondition is met, then the publish succeeds.</li>
@ -6423,38 +6437,6 @@ xmpp:pubsub.shakespeare.lit?pubsub;action=retrieve;node=princely_musings;item=ae
label='The type of node data, usually specified by label='The type of node data, usually specified by
the namespace of the payload (if any)'/> the namespace of the payload (if any)'/>
</form_type> </form_type>
]]></code>
</section3>
<section3 topic='pubsub#publish-options FORM_TYPE' anchor='registrar-formtypes-publish'>
<code><![CDATA[
<form_type>
<name>http://jabber.org/protocol/pubsub#publish-options</name>
<doc>XEP-0060</doc>
<desc>
Forms enabling publication with options; each field must specify whether it
defines METADATA to be attached to the item, a per-item OVERRIDE of the node
configuration, or a PRECONDITION to be checked against the node configuration.
</desc>
<field var='pubsub#access_model'
type='list-single'
label='Precondition: node configuration with the specified access model'>
<option label='Access model of authorize'>
<value>authorize</value>
</option>
<option label='Access model of open'>
<value>open</value>
</option>
<option label='Access model of presence'>
<value>presence</value>
</option>
<option label='Access model of roster'>
<value>roster</value>
</option>
<option label='Access model of whitelist'>
<value>whitelist</value>
</option>
</field>
</form_type>
]]></code> ]]></code>
</section3> </section3>
</section2> </section2>