From: Greg Stein <gstein@lyra.org>
As a variant of my previous question, how would I fetch a particular file
from a particular baseline on a readonly server? Specifically, if I'm not
allowed to do a MKCOL, a BASELINE-CONTROL, or an UPDATE (on an existing
baseline selector), then how can I use a baseline?
OK, I was wavering before, but now you've pushed me over the edge. I
believe it is reasonable to do what you want, and you shouldn't have
to do a "write" operation to get it. So I propose the following:
Add a DAV:baseline-collection property on a baseline, which holds
a DAV:href containing a server-defined URL. This URL identifies
a read-only collection that exposes that baseline as a collection.
Access to that read-only collection would be the message to the
server to "cache" that baseline as a collection. The server
would then just have to automatically clean up that cache when it
needs the space, rather than counting on a DELETE from the client
to tell it when to do so.
This is a burden on the server, but probably not an unreasonable one.
In particular, I don't think that Greg's will be the only server that
will have very different performance/implementation tradeoffs for a
read-only view of a baseline (what Greg wants) and a writeable view of
a baseline (aka a workspace).
Conceivably, I could get the version-history for a given VCR, use a
DAV:baseline-version report to find the specific version of that collection,
get the collection version's members and execute DAV:baseline-version on
those, etc. But this is a far cry from random-access to a specific path
within a baseline.
Yes, that would be really gross.
Note that I can't simply use the Depth: header, as that would apply "once"
to the collection version history (which has no children); the Depth header
would not apply to the collection versions.
Yes, that wouldn't work.
So, Greg: Does the DAV:baseline-collection property on a baseline
give you what you want (I presume, yes).
So, everyone else: any objections? (For Greg at least, I presume, no :-).
Cheers,
Geoff