[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: I-D ACTION:draft-ietf-atompub-protocol-14.txt



You might think it's outrageous but it is reality.  Servers, not
clients, have complete control over the entries.  All a client can do is
pass a representation of what it wants to change and hope that the
server adheres as much as possible to the clients intent (which can only
be communicate via the representation sent)

Example,

the server has an entry...

<entry>
  ...
  <summary>foo</summary>
  <content>bar</content>
  <category term="baz" />
  ...
</entry>

the client updates the entry minus the summary tag...

<entry>
  ...
  <content>bar</content>
  <category term="bob" />
  ...
</entry>

The server has to determine the clients intent.  Unless there is a
specific prior agreement shared by the client and server, the only thing
can be inferred from this request is that the client wishes that the
summary be removed and the category be changed.  The server can ...

  1. reject the request
  2. remove the summary and change the category
  3. keep the summary and change the category
  4. drop the summary but ignore the category change
  5. ignore the summary change because it generates summaries
     automatically based on the content but change the category
  6. make any other modifications to the summary and category it wants
     regardless of whatever the client sent
  7. Probably lots of other options

the point is that the behavior implemented is going to depend entirely
on the application. I don't think it's too much to ask that clients know
the details of the application they're working with.

- James

Asbjørn Ulsberg wrote:
> [snip]
> I'll put my stake in the ground now and pretty bastantly proclaim that
> if APP doesn't declare whether PUT updates or replaces resources, it
> will hurt interoperability badly. Not being able to know beforehand what
> in your entry will and will not be preserved is pretty outrageuos if you
> ask me.
> [snip]