Thanks for responding to my review. I look forward to seeing a revised draft. Below I've excerpted the stuff that is still giving me serious problems.

On Dec 7, 2006, at 8:36 AM, Joe Gregorio wrote:


Can a client modify an entry to contain a link relation element in the
following cases:
 - To point to a resource on a different server entirely?

There is no reason to believe that any of these resource are on
the same machine to begin with. I could POST to media to machine A
and have the MLE could be created on machine B and the editable media
resource itself created on machine C.

This requirement has to be stated explicitly, at least as a SHOULD. This is the kind of thing that clients come to completely rely on, and then you find some special-purpose server that decides this doesn't fit in its model. "Well, the spec doesn't require me to accept link relations which point to other servers." Finger- pointing rather than interoperability.

If that's completely unacceptable, the only alternative that would allow good interoperability is to have an error code or feature advertisement that allows the client to detect that the server won't allow this. A generic "Forbidden" error (or other choice that could be made by the server) is not enough to know what is disallowed and whether it is always disallowed. "What did I do wrong?" the client plaintively asks.


Can a server ever ignore part of an edit and successfully process the rest?


Yes. Think of a client that throws in a slew of random link elements with relations my server implementation doesn't understand. Same with foreign
markup. The server is in charge.

I completely disagree with this. It is way too unpredictable for clients to deal with. Clients are left with the illusion of flexibility -- it *seems* you can use Atom syntax extensions and do creative things that other extended clients can understand -- but in fact the server can alter this at will leaving the client without any control over what it's really publishing. In many cases, the client won't even want the server to store some stripped version of what it POSTed, because it can really change the meaning of some entry to have the server strip some of the content and markup. Imagine removing the start time and location when I'm trying to publish an event entry to what I believe ought to be a calendar feed.

Some server changes to submitted documents is of course going to be allowable (edit dates, server-provided IDs, changes which are effectively XML canonicalization) but I believe these need to be limited. The general case, which is how servers deal with unrecognized elements, needs to be severely limited so that the server can either reject the whole request or store as provided.

Lisa


Reply via email to