Minutes from IETF breakout meeting, 1-Aug-00

From: Tim Ellison (tim@peir.com)
Date: Wed, Aug 02 2000

  • Next message: Tim Ellison: "IETF Breakout Meeting"

    Message-ID: <398146D1000011EF@mail0.mailsender.net>
    Date: Wed, 2 Aug 2000 08:09:48 -0400
    From: "Tim Ellison" <tim@peir.com>
    To: "Delta-V" <ietf-dav-versioning@w3.org>
    Subject: Minutes from IETF breakout meeting, 1-Aug-00
    
    Minutes from the Delta-V Breakout Meeting
    held 9am - 5pm Tuesday 1 Aug 2000, IETF Pittsburg, PA
    
    Attendees:
      Jim Amsden (Chair)
      Geoff Clemm
      Jim Doubeck
      Tim Ellison
      Henry Harbury
      Chris Kaler
      Eric Sedlar
    
    
    - Meeting opened at 9am.
    
    - Set agenda.
    Discuss open issues relating to core versioning.
    Define scenarios for illustrating core versioning semantics and protocol,
    and advanced semantics.
    Discuss issues relating to advanced versioning.
    
    
    - Discussion of auto version and target selector header.
    Current prohibition of autoversion with target seletor header is to ensure
    that "civilized" VCM systems don't generate new revisions in history when
    a versioning aware client mistakenly thinks that they are working on a checked
    out resource.
    The protocol cannot distinguish between a versioning unaware client, and
    a versioning aware client that gives no indication that it is versioning
    aware, such as in a regular PUT request.
    Auto-version is described as a checkout-operation-checkin and is effectively
    the same as doing the three operations in succession (i.e. no working resource
    is left at the end).  Discussion as to whether it is sufficient to say the
    effect should be the same, rather than this is how it should be implemented.
     Agreed that servers may implement auto-checkout as they wish but MUST adhere
    to the pre and post conditions of EACH of CHECKOUT, operation, and CHECKIN
    as though they were done independently.  This is a semantics requirement
    not an implementation requirement.
    
    - Core versioning issues, typos and minor editorial issues were raised.
    
    - Consensus was that where PUT/MKCOL/etc. creates a new resource it is left
    undefined as to whether the resulting resource is a versionable, unversioned,
    or versioned resource (since some servers may be restrictive about what
    they will create).
    
    - LOCK with a target selector is undefined in the protocol document since
    it may be interpreted as (a) locking the target selector (i.e. label) against
    the target resource such that the label cannot be moved, or (b) lock the
    resource that is currently identified by the target selector (and allow
    the label to be subsequently moved).  Since there was no consensus as to
    what the 'correct' semantics should be it was decided to wait and see if
    the mailing list would produce consensus, or leave it undefined and let
    implementations agree on a consensus.
    
    - Discussion of distinction between versioned resource and history resource
    in advanced versioning and no such distinction in core versioning.  Tentativley
    agreed that both concepts should be introduced in core versioning although
    there will be a one-to-one correspondence between them in core.
    
    - Discussion of names stored as the state of a resource rather than member
    attributes of a collection.  It was agreed that systems that remember names
    as resource state can present 'regular' webdav collections through the protocol.
    
    - Discussion of the Target-Selector header being only a label and not, for
    example, a revision URL.  The argument was why should clients pass in a
    revision URL and a 'human readable' URL when the revision URL is sufficient
    to uniquely identify the resource?  The human readable URL is redundant.
     In this case the request URL would simply be the revision URL.
    In addition, there are properties (and REPORT results) that only report
    the revision URL of a resource, and it is infeasible to require clients
    to provide the human readable URL to these resources.
    Agreed that it is a philosophical discussion of the various marshaling alternatives
    and not fundamental to the semantics of the protcol.
    
    - Break for lunch
    
    - "versioned bindings" property of a history resource is to be removed.
    
    - Proposal that the names of the versioning artifacts be changed to better
    represent their roles.
    Various suggestions including history resource -> vesioned resource, and
    versioned resource -> revision selector.  Split vote on renames so will
    continue to discuss and take the issue to the mailing list.  Would like
    to ensure a swift resolution to maintain continuity between draft documents.
    
    - Promote the concepts of history and versioned resources to core versioning
    since the term versioned resource may be confusion when moving from core
    to advanced.
    
    - When would a revisino have checkout = ok and checkin = forbidden?  This
    allows parallel development whilst ensuring a linear checkin history.  It
    is useful for processes that do early manual merging.
    
    - Delete the sentence in 6.3 CHECKIN marshaling that says 'keep checked
    out'.
    
    - SET-TARGET discusion about the semantics and the reasons why its argumetns
    are different to those accepted by Target-Selector header.  Until a label
    is set, it must accept a revision URL to identify the resoruce.
    
    - 6.6 LABEL change the 'replace' directive to 'set'.
    
    - 6.5 SET-TARGET with depth >0 will fail if given a revision URL directive
    and the target is a collection, since revision URLs are allocated by the
    server and in general will be invalid across versioned resources.  The expected
    result would be a 207 multistat indicating the failures.
    
    - 6.5 SET-TARGET marshaling change 'label' to 'label-name'.
    
    - 7.3 Presently says if multiple revisions have the same timestamp all are
    selected, change this to the server picks one of the multiple revisions
    at its discression (and not guaranteed to be the same one each time).
    
    - 7.4.1 Should have a picture to represent the resource state so that the
    XML is more understandable.
    
    - Discussion of baselines and the property 'versioned baseline' URL.  The
    versioned baseline URL is the URL to the workspace to checkin and checkout
    a baseline of the workspace rather than the workspace collection itself.
     Proposed that we reintroduce the MKBASELINE method.
    
    - Stepped through the protocol for the creation of a workspace and its subsequent
    baselining.
    
    - Guaranteed that the versioned resources are recreated in the same namespace
    when a baseline is merged into a new workspace / workspace is created with
    a baseline initializer.  Servers can define how baselines are stored as
    a resource.
    
    - Agreed that workspaces MUST be collections, especially to support core
    and versioning unaware clients.
    
    - Creating baselines is conceptually the same as taking a snapshot of a
    workspace.
    
    - Discussion of private bindings and versioned collections.
    
    - Discussion of activities, why revisions cannot be members of multiple
    activities.  Activities can be used to represent branches of development,
    and change sets of related changes.  Each 'world' (branching & change set)
    will use activities in their own way.  The few systems that do both change
    sets and branching can do almost everything that they need to do using activities.
     Shared resources between activities produces an interdependency that does
    not allow merging of an activity without producing the partial merge of
    the second activity -- the changes might have well been all in the same
    activity.
    
    - Will allow revisions in multiple activities to support branching model
    and change sets, on the understanding that attempting to merge a 'branch
    activity' into a 'change set activity' may fail due to semantics violation.
    
    - Meeting closed at 6pm.
    
    
    
    TPE