RE: Manual checkout, automatic checkin?

Lisa wrote:

> Server will checkout/checkin if a client does a PUT outside the
> context of a lock.

So that would be:
  DAV:auto-checkout includes DAV:unlocked-update
  DAV:auto-checkin includes DAV:unlocked-update

i.e., if the resource is not locked but is checked-in, a PUT does a
CHECKOUT, PUT, CHECKIN.

> Server will checkout/checkin only once for a series of PUT requests
> inside the context of a lock.

So that would be:
  DAV:auto-checkout includes DAV:locked-update
  DAV:auto-checkin includes DAV:unlocked-update

i.e., if the resource is locked and checked-in, a PUT does a CHECKOUT, PUT.
Subsequent PUTs are just PUT to the checked-out version-controlled resource,
and some time later when the lock is removed by UNLOCK (or timeout) the
resource is CHECKIN'd.

So to get both together you have the following properties' values:
  <DAV:auto-checkout>
     <DAV:unlocked-update/>
     <DAV:locked-update/>
  </DAV:auto-checkout>
  <DAV:auto-checkin>
     <DAV:unlocked-update/>
  </DAV:auto-checkin>

> Server supports CHECKOUT, CHECKIN, UNCHECKOUT for sophisticated clients.

Cool.

> Now my problem is what behaviour will the client expect if the server
> supports all these features, and the client does an UNLOCK or a PUT on a
> checked-out resource?  E.g.

Assume we start with an unlocked, checked-in version-controlled resource:

>  - CHECKOUT foo

Results in an unlocked, checked-out version-controlled resource.

>  - LOCK foo

It's now a locked, checked-out version-controlled resource.

>  - PUT foo

Still locked and checked-out but with new content.

>  - UNLOCK foo  --> the resource should now still be checked out, right?

Yes, it would simply be unlocked, checked-out with the new content.

> Section 3.2.3. seems to state that an automatic checkin is only
> done if the checkout was also automatic.  (That forces servers
> to keep track of how the checkout was done, but that seems
> desirable considering the alternatives).

Agreed.

> But Tim's latest mail said that automatic checkouts can be manually
> overridden or checked in.
>
> Is this intentional, or is it inconsistent?

It is intentional.  Can you explain why you think it is inconsistent?

Regards,
Tim

Received on Thursday, 12 July 2001 18:35:50 UTC