WebDAV COPY/MOVE Question

Greetings,

I have a couple of questions regarding the WebDAV RFC 2518, specifically the
COPY (and MOVE) operations for collections. I'll just refer to the COPY
sections in the RFC, but Question 1) is applicable for MOVE as well.

Question 1) COPY (and MOVE) with infinite Depth:

a) Section 8.8.3:

i) 2nd para, 1st sentence states "A COPY of depth infinity instructs that
the collection resource identified by the Request-URI is to be copied to the
location identified by the URI in the Destination header, and all its
internal member resources...".

ii) 5th para, 2nd sentence states "When applied to members of the collection
identified by the Request-URI the value of the Destination is to be modified
to reflect the current location in the hierarchy." The example shows source
is /a, destination is /b, when copying /a/c/d, the destination is /b/c/d.

b) Section 8.8.8 Example of a COPY of a collection appears to perform in
principle the example in a) ii) above.

We interpret a) i) to mean that the source collection and its members are
copied to the destination.

Taking the RFC example in a) ii), i.e. the source is /a/c/d and destination
is /b. Possible outcomes we can think are:

c) Destination of /b/a and /b/c/d. Doesn't make a lot of sense.
d) Destination of /b/c/d i.e. no /b/a. Doesn't appear to meet a) i) because
the source collection /a is not copied.
e) Destination of /b/a/c/d. This is "logical", but doesn't match RFC
examples in a) ii) and b).

Side note, two implementations we've tested performed d) i.e. they appeared
to perform a) ii).

Our opinion is that e) should be correct, but obviously, our opinion could
be wrong (please correct us if we are).

However, neither the examples in the RFC as listed in a) ii) and b) appear
to meet 1) a) i) because the source collection itself is not copied.

Maybe our interpretation is wrong, but what exactly does the RFC mean?

Question 2) COPY with Depth 0

The RFC section 8.8.3 3rd para states that the collection and its properties
are copied, but no resources. We tested COPY with a Depth 0 using source of
/a to destination /d on two implementations. Both implementations tested did
not appear to copy the source collection. Our interpretation is that the
source collection /a should have been copied to the destination i.e.
resulting in /a/d.

Is our interpretation wrong ?

Regards

Shaun Hall
Xerox Europe
The opinions are my own and not necessarily those of my employer

Received on Wednesday, 19 April 2000 12:34:12 UTC