[Standards-JIG] Proposed Changes to JEP-60 - PubSub

Fletcher, Boyd C. J9C534 Boyd.Fletcher at je.jfcom.mil
Thu Jun 3 22:27:01 UTC 2004

You could use the data form spec to specify what the separator for a node is, but I really think it belongs in the core specification for PubSub. My changes to sections 11.3 and 11.5 (which both deal with Node naming) are:

11.3 Node and item id uniqueness 
 NodeIDs and ItemIDs MUST be treated as unique identifiers. NodeIDs and ItemIDs can only contain AlphaNumeric characters. Implementations must have three methods to resolve NodeID and ItemID conflicts that are selectable by the client when creating the first node as part of the create request. These are:

*	OVERWRITE_ALLOWED=False  - The first publish succeeds, and others with the same ID fail. This is default behavior if OVERWRITE_ALLOWED is not specified. 
<create node="generic/pgm-mp3-player" OVERWRITE_ALLOWED="false" APPEND="false" />

*	OVERWRITE_ALLOWED=True - All publishes succeed, each one overwriting the older item. 

<create node="generic/pgm-mp3-player" OVERWRITE_ALLOWED="true" APPEND="false" />

*	APPEND - A new node/item is created with monotonically increasing number appended to the nodeID/itemID but separated by an underscore. APPEND is false by default. The original node would be:

<create node="generic/pgm-mp3-player" OVERWRITE_ALLOWED="false" APPEND="false" /> 

And the duplicate node would be

<create node="generic/pgm-mp3-player_1" OVERWRITE_ALLOWED="false" APPEND="false" />
Item identifiers MUST be treated as unique within the scope of the node. NodeID + ItemID MUST be unique within a given service, and MUST specify a single published item to a single node..

11.5 Handling node hierarchies 

NodeIDs MUST have semantic value in implementations of pubsub. A PubSub service is required to support hierarchical nodes. Parent NodeIDs are separated from their children by the SEPARATOR attribute to the create node command. There is no limit on the number of children a node may have or on the number of levels of children. The default SEPARATOR is "/".

Example 91: Node create with separator specified

<create node="email/bob" OVERWRITE_ALLOWED="false" APPEND="false" SEPARATOR="/" >

So a couple of email messages for the bob node would be:

<create node="email/bob/232.eml" OVERWRITE_ALLOWED="false" APPEND="false" SEPARATOR="/" > 
<create node="email/bob/1958.eml" OVERWRITE_ALLOWED="false" APPEND="false" SEPARATOR="/" >

> -----Original Message-----
> From: standards-jig-bounces at jabber.org 
> [mailto:standards-jig-bounces at jabber.org] On Behalf Of Joe Hildebrand
> Sent: Thursday, June 03, 2004 6:12 PM
> To: Jabber protocol discussion list
> Subject: Re: [Standards-JIG] Proposed Changes to JEP-60 - PubSub
> Is it possible that some of the tightening could take place using
> JEP-68 registered field names in the node configuration form?
> --
> Joe Hildebrand
> Denver, CO, USA
> On Jun 3, 2004, at 2:16 PM, Fletcher, Boyd C. J9C534 wrote:

More information about the Standards mailing list