Next message: Tim Ellison OTT: "RE: More recent version of the draft?"
Date: Fri, 7 Jan 2000 10:31:24 -0500
Message-Id: <10001071531.AA19582@tantalum>
From: "Geoffrey M. Clemm" <geoffrey.clemm@rational.com>
To: ietf-dav-versioning@w3.org
Subject: Re: Comments on versioning protocol
From: "Vasta, John" <jvasta@rational.com>
since only unversioned collections can contain unversioned
resources, then all parent collections of any unversioned resource must be
unversioned.
Yes.
So how do you version an unversioned resource?
Apply a CHECKOUT request to it.
If you version
the parent collection first, then you have a versioned collection containing
unversioned resources. But you cannot version the children first, since they
are in an unversioned collection.
You can have versioned resoures in unversioned collections (just apply a
CHECKOUT request to it). When you initially create a resource with PUT,
MKCOL, etc. in an unversioned collection, it is unversioned, but then
when you apply a CHECKOUT to it, it becomes versioned.
One way around this would be to say that versioning an unversioned
collection is always treated as an infinite depth operation. Is that what
was intended?
I'd rather have the client iterate through the tree, so that it can query
the user on problems/issues (locked resource, unversionable resources),
rather than having the server try to guess what to do and whether to
continue or not.
> 5.1 Shouldn't a precondition of MKRESOURCE for
> versioned-resources be that
> the parent collection is checked out?
>
> I'm tempted at the moment to just say that CHECKOUT is
> *always* used to
> created versioned resources (and not MKRESOURCE). Does anyone object?
It seems strange to me to have a general MKRESOURCE method that cannot be
applied to versioned resources, and that you can CHECKOUT a null resource.
Why not just apply the same versioned-resource-creation semantics to
MKRESOURCE as to any other resource creation method?
A versioned resource has two types: DAV:versioned-resourcetype
and the resource type of its revisions. In many cases, a
server can't create a versioned resource until it knows the
resource type of its revisions. We could add some special
arguments to the MKRESOURCE body to indicate the revision-resourcetype,
but it is simpler to just say that you always use CHECKOUT
to put something under version control.
Cheers,
Geoff