RE: Finding the version of a resource in a Version-Controlled-Col lect ion...

   From: Peter Raymond [mailto:Peter.Raymond@merant.com]

   Despite some excellent e-mail threads recently regarding
   Version-Controlled-Collections I am still not clear how to find the
   specific version of a resource which is referenced by a version of
   a collection resource.

   Section 14 goes to great lengths to explain why we chose to have
   the binding-set of a version of a collection point to a VHR not a
   version of a resource and this is fine, it makes sense.  But what
   is still not clear (at least to me) is how having found the binding
   (URL segment bound to a VHR) do I find the DAV:checked-in version
   of the resource identified by the VHR.

Only a version-controlled resource has a DAV:checked-in property,
and a version history resource is not a version-controlled resource.

   So I can do a PROPFIND with a Depth=0 for the
   DAV:version-controlled-binding-set of a version of a collection.
   This gives me the binding names and references to Version History
   Resources.  Now how do I find the DAV:checked-in version?

It doesn't have one, so you can't find it (:-).  If you want to
capture the DAV:checked-in versions of all members of a collection,
you need to create a baseline of that collection, not a version.

   This is something a client may do quite often, eg display directory
   structure (of a workspace) and when a directory is selected display
   versions of files contained within the directory.

A workspace contains version-controlled resources (not versions), so
you can do a depth PROPFIND to identify the DAV:checked-in property of
each version-controlled resource in the workspace.

Remember that there are three very different kinds of resources:
version-controlled resources, version resources, and version history
resources.  A version-controlled resource is just a resource that
has been placed under version-control.  A version is a particular
state of a version-controlled resource, and it lives off in some
server-defined namespace.  A version history tracks all the versions
of a version controlled resource, and also lives off in some
server-defined namespace.  So users will almost always encounter
version-controlled resources, not versions or version histories,
unless they are explicitly browsing for versioning metadata.

Cheers,
Geoff

Received on Wednesday, 11 July 2001 14:37:16 UTC