Re: Some more comments on the LABEL section...

Peter Raymond <Peter.Raymond@merant.com> wrote:

> I also have a couple more points/questions regarding section 8
(labels)....
>
> The last paragraph of the introduction to the LABEL feature (section 8)
seems
> out of place.  This text is non-normative and talks about distributed
servers
> and synchronization which is not discussed elsewhere in the
specification.
> It seems like the kinda text you would put in an implementers guide or a
> specification regarding synchronization between deltav servers.  I am
sure
> that other aspects of deltav would cause synchronization problems in a
> distributed server environment.  At the London IETF we talked about an
> "implementers guide" for deltav, if we have such a document I propose
this
> section is removed from the draft and placed in the implementers guide.

That's fine by me (its there because someone asked for that justification
to be added, but I'm equally happy for it to be moved out).

> Also I am not sure I understand why UPDATE (section 8.9) can take two
labels,
> one in the header and one in the DAV:label-name element.

I think that is a bug.

The Label: header should not apply to an UPDATE request.  A label should
only appear in the body (in the DAV:label-name element) of the UPDATE
request.  Then the Label: header simply means "apply this method to the
version with the given label in the version history of the
version-controlled resource".

> It seems the
> DAV:label-name is used to ensure that the VCR identified by the request
URL
> has a certain label, it is only mentioned in a Precondition and so it
does
> not affect the UPDATE, it simply prevents UPDATE on a VCR which has no
> versions that have that label.  The Label header on this method will
cause
> the UPDATE to change the VCR to point at the version that has the
specified
> label.  I guess my questions are:
>
> What's the use case for the DAV:label-name element? Why have it at all?

I recommend we disallow/ignore the Label: header on an UPDATE request, and
change the postcondition to read:

"(DAV:apply-request-to-labeled-version): If the request includes a
DAV:label-name element in the request body, the content and deep properties
of the version-controlled resource are updated to be those of the version
selected by that label."

> Why does the DAV:must-select-version-in-history precondition only affect
the
> request URL, for example when you specify a depth should this
precondition
> not apply to all VCRs that match that depth?

You're right, for each version-controlled resource matching the depth
header, UPDATE should select the labeled version in the version history of
that version-controlled resource.

Great feedback ... keep it coming<g>!

Regards,
Tim

Received on Friday, 7 September 2001 07:17:43 UTC