RE: DAV:lockdiscovery on a checked-out resource

   From: Steve K Speicher [mailto:sspeiche@us.ibm.com]

   I guess I wasn't too clear...

   UserA performs a CHECKOUT on a VCR.
   UserB performs a PROPFIND of DAV:lockdiscovery to determine
   if the resource is "locked" (since the client is versioning
   unaware, ie only a class 2 DAV client)

   What will DAV:lockdiscovery be?

It will be whatever it was before the CHECKOUT.  A CHECKOUT does
not affect the DAV:lockdiscovery property of a resource.

   If UserB's client is unaware of the DAV:checked-out property, then
   how will they know it is "locked"?

The DAV:checked-out property has nothing to do with the locked status
of a resource.  If you want to know if a resource is in the
checked-out state, you look to see if it has a non-null
DAV:checked-out property.  If you want to know if a resource is
locked, you look at the DAV:lockdiscovery property.

   From: Jim Amsden

   If UserA does a CHECKOUT, the resource won't be locked, it will
   just be checked out. PROPFIND on DAV:lockdiscovery won't show any
   locks to anyone.

Right.

   Now UserB doesn't know anything about
   versioning. If UserB just looks for locks and upon not finding any
   assumes the resource is writable, the write will fail because the
   resource is already checked out.

The write will succeed unless the locks and acl's of a resource
do not allow it (it is irrelevant whether userA or userB did the
CHECKOUT ... the result is a writeable checked-out resource).

   LOCK will also fail for the same
   reason, it tries to do an implicit checkout.

LOCK does not do an implicit CHECKOUT.  When the DAV:auto-version
property is set, a write operation on a write-locked *checked-in*
resource can automatically cause a CHECKOUT, but it is the write
operation, not the LOCK that does the CHECKOUT, and this only occurs
when the write-locked resource is in a *checked-in* state.

   We assume that versioning unaware clients are not DAV unaware. That
   is, they can use PROPFIND and look at properties, including
   properties that indicate something is checked out. Its actually the
   user that's interperting this information, not the client. The
   client doesn't have to support any versioning specific protocol to
   access these properties. Although such clients make their users do
   extra work.

   From: Lisa Dusseault [mailto:lisa@xythos.com]

   That's impossible. Many clients won't show properties that they're
   not aware of.  C.F. Web Folders.

Impossible is a bit strong ... a WebDAV clients can (and arguably
should) show properties they are not aware of (otherwise dead
properties become rather useless).  And for clients that choose
to display only the properties they know about, it is pretty much
inevitable that a user of such a client will not be able to find
out about protocol extensions such as versioning.

Cheers,

Received on Friday, 23 March 2001 00:32:39 UTC