Subject: RE: WebDAV and Open Pluggable Edge Services

From: "Clemm, Geoff" <[email-masked]>
Date: Fri, 22 Mar 2002 08:22:16 -0500

If you have a URL for the source (i.e. the one that PUT
can be applied to), what benefit would EDIT (previously
called GETSRC in the recent thread on this subject) have,
other than saving you one roundtrip, i.e. instead of a
"PROPFIND, GET" you would do an EDIT?  

In particular, if you are going to use locking for your
authoring (which you should :-), you don't want to issue the GET
until you have successfully LOCKed the URL (i.e. your sequence
will be PROPFIND(source)/LOCK(source-URL)/GET(source-URL).
So unless you also want to bundle an implict "LOCK" into the EDIT,
you need to do the PROPFIND first anyway.

Cheers,
Geoff 

-----Original Message-----
From: Stefan Eissing [mailto:[email-masked]]

I'm not really a fan of new HTTP methods, but just for interest:
Wouldn't a new method like "EDIT" which retrieves the editable
content of a resource make our life easier? It could respond
with a Content-Location where a PUT can be applied...

---

From: Stefan Eissing <[email-masked]>
Date: Fri, 22 Mar 2002 15:47:16 +0100

Good that I asked.

Besides locking, one would miss Versioning and Acls using
some kind of EDIT/GETSRC method (not caring about source
URLs).

So, coming back to HTTP, variants and no-transform, I
conclude that on editable "source" resources servers
should:
- send always "Cache-Control: no-transform" in GET responses
- not vary the response to a GET on any HTTP header
   (??? I'm not sure about this one. Julian keeps on
    editing variants in his arguments...)

That leaves the question: how does a WebDAV client know
that a resource is editable, e.g. that a GET will retrieve
someting that can be PUT back modified again later?

Users working on a local copy of resources for a week would
be a little disappointed when the server denies the upload
afterwards. And you cannot deduce from successful write LOCKs
that a resource content can be changed. Locking is also used
for property and acl modifications...

So what is a honest client supposed to do?

//Stefan

---

From: "Julian Reschke" <[email-masked]>
Date: Fri, 22 Mar 2002 15:56:23 +0100

> From: [email-masked]
> [mailto:[email-masked]]On Behalf Of Stefan Eissing
> Sent: Friday, March 22, 2002 3:47 PM
> To: [email-masked]
> Subject: Re: WebDAV and Open Pluggable Edge Services
>
>
> Good that I asked.
>

I think it can be possible that PUT is possible even if the GET varies. This
just means that the PUT will actually overwrite varying entity bodies as
well.

> So what is a honest client supposed to do?

May be we need a new live property indicating that it's "meaningful" to edit
a particular resource? Note that the absence of DAV:source (or it being
empty) wouldn't really mean the same thing...

---

From: "Julian Reschke" <[email-masked]>
Date: Fri, 22 Mar 2002 18:15:24 +0100

Hi,

I think we need to clarify how HTTP variants relate to WebDAV properties.

1) The headers returned upon HTTP's GET reflect meta-information about the
entity which was returned. This in turn depends on the variant that was
selected (based on context and request headers).

2) WebDAV's "get*" properties are defined to reflect whatever the entity
headers for this resource would have been.

I'd say this means that:

3) PROPFIND should use the same algorithm to internally select a version as
GET.

4) Does this also mean that properties other than the "get*" properties
reflect information about a specific variant and not the resource itself?

Julian