Sigh. One of the goals of PEP was that it was supposed to be easy to implement on the clioent side.
On 7/8/07, Mridul Muralidharan <[EMAIL PROTECTED]> wrote:
Ian Paterson wrote: > Peter Saint-Andre wrote: >> So we'd have something like this: >> >> <iq from='juliet at capulet.com/balcony' type='set' id='foo'> >> <pubsub xmlns='http://jabber.org/protocol/pubsub'> >> <publish node='http://jabber.org/protocol/activity'> >> <item> >> <activity xmlns='http://jabber.org/protocol/activity'> >> <relaxing> >> <partying/> >> </relaxing> >> <text xml:lang='en'>My nurse's birthday!</text> >> </activity> >> </item> >> </publish> >> <preconditions> >> <x xmlns='jabber:x:data' type='submit'> >> <field var='FORM_TYPE' type='hidden'> >> <value>http://jabber.org/protocol/pubsub#node_config</value> >> </field> >> <field var='pubsub#access_model'> >> <option><value>whitelist</value></option> >> </field> >> </x> >> </preconditions> >> </pubsub> >> </iq> >> >> If the node exists and the precondition is not met (in this case, if the >> access model is something other than "whitelist"), then the publish >> fails with a suitable error condition (probably <conflict/> along with >> some pubsub-specific condition). >> >> If the node exists and the precondition is met, then the publish >> succeeds. >> >> If the node does not exist, then the service auto-creates the node with >> default configuration in all respects except those specified in the >> preconditions (in this case, the node would be created with an access >> model of "whitelist") and the publish succeeds. >> >> Correct? >> > > Correct. +1 > > Thank you Ralph, Peter. > > Wow! consensus on Personal Publishing! I'm off to celebrate :-) :-) > > - Ian > Whether to autocreate or to return error saying node does not exist (item-not-found) - can this be an implementation detail ? That is, are clients expected to handle the error path too and explictly create ? We do not have auto create in pubsub iirc (not sure if pubsub was modified to support this) - so supporting this for pep will implictly mean supporting it for pubsub too (same namespace, etc). But in general, preconditions are great way to assert access level for clients/nodes which require strict acl's. Regards, Mridul PS : Hope this is not going back to the same path's earlier, just wanted to get it clarified.
-- Joe Hildebrand