diff --git a/xep-0060.xml b/xep-0060.xml index b55ab57a..b9d82659 100644 --- a/xep-0060.xml +++ b/xep-0060.xml @@ -49,10 +49,10 @@ &ralphm; - 1.10pre1 - in progress, last updated 2007-05-30 + 1.10pre2 + in progress, last updated 2007-07-17 psa -

In accordance with XMPP Council consensus, moved the auto-create, auto-subscribe, filtered-notifications, and last-published features from XEP-0163 to this specification and defined them more precisely; also defined one disco#info feature for each default access model.

+

In accordance with XMPP Council consensus, moved the auto-create, auto-subscribe, filtered-notifications, and last-published features from XEP-0163 to this specification and defined them more precisely; defined one disco#info feature for each default access model; added publish-options functionality.

@@ -2504,6 +2504,86 @@ And by opposing end them?

A pubsub service MAY automatically create a node when it receives a publish request sent to a node that does not exist (instead of returning an ¬found; error). When doing so, the service SHOULD apply the default node configuration. If a service supports this functionality, it MUST advertise that fact by including a feature of "http://jabber.org/protocol/pubsub#auto-create" in its disco#info responses.

+ +

A pubsub service MAY support the ability to specify options along with a publish request. Here is an example:

+ + + + + + Soliloquy + +To be, or not to be: that is the question: +Whether 'tis nobler in the mind to suffer +The slings and arrows of outrageous fortune, +Or to take arms against a sea of troubles, +And by opposing end them? + + + tag:denmark.lit,2003:entry-32397 + 2003-12-13T18:30:02Z + 2003-12-13T18:30:02Z + + + + + + + http://jabber.org/protocol/pubsub#publish-options + + + presence + + + + + + ]]> +

The following rules apply:

+
    +
  1. The <publish-options/> element MUST contain a data form (see XEP-0004).
  2. +
  3. The FORM_TYPE of the data form MUST be "http://jabber.org/protocol/pubsub#publish-options" (see XEP-0068).
  4. +
  5. Fields registered with the XMPP Registrar for that FORM_TYPE MUST specify how they are to be handled by the form-processing entity.
  6. +
+

Specifically, the following field handling methods are defined:

+ +

These are defined more fully below.

+ +

A service shall handle metadata fields as follows:

+
    +
  1. If the node exists, then the publish shall succeed and the service shall attach the metadata to the item.
  2. +
  3. If the node does not exist and the service supports the "auto-create" feature, then the service shall auto-create the node with default configuration and the publish shall succeed and the service shall attach the metadata to the item.
  4. +
  5. If the node does not exist and the service does not support the "auto-create" feature, then the publish shall fail.
  6. +
+
+ +

A service shall handle override fields as follows:

+
    +
  1. If the node exists and the override cannot be applied because the publisher lacks permissions to override the feature, then the publish shall fail with a &forbidden; error condition and a pubsub-specific condition of <override-forbidden/>.
  2. +
  3. If the node exists and the override can be applied, then the publish shall succeed.
  4. +
  5. If the node does not exist and the service supports the "auto-create" feature, then the service shall auto-create the node with default configuration but apply the override to the item, and the publish shall succeed.
  6. +
  7. If the node does not exist and the service does not support the "auto-create" feature, then the publish shall fail.
  8. +
+
+ +

A service shall handle precondition fields as follows:

+
    +
  1. If the node exists and the precondition is not met, then the publish shall fail with a &conflict; error condition and a pubsub-specific condition of <precondition-not-met/>.
  2. +
  3. If the node exists and the precondition is met, then the publish succeeds.
  4. +
  5. If the node does not exist and the service supports the "auto-create" feature, then the service shall auto-create the node with default configuration in all respects except those specified in the preconditions, and the publish succeeds.
  6. +
  7. If the node does not exist and the service does not support the "auto-create" feature, then the publish shall fail.
  8. +
+
+
@@ -5686,6 +5766,11 @@ O, what a rogue and peasant slave am I! Publishing items is supported. XEP-0060 + + http://jabber.org/protocol/pubsub#publish-options + Publication with publish options is supported. + XEP-0060 + http://jabber.org/protocol/pubsub#publisher-affiliation The publisher affiliation is supported. @@ -5775,7 +5860,7 @@ O, what a rogue and peasant slave am I! ]]> - + http://jabber.org/protocol/pubsub#subscribe_options @@ -6046,6 +6131,38 @@ O, what a rogue and peasant slave am I! type='text-single' label='Payload type'/> + + ]]> + + + + http://jabber.org/protocol/pubsub#publish-options + XEP-0060 + + 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. + + + + + + + + ]]>