Versioning TeleConf Agenda, 6/12/00 (Monday) 2pm-3pm EST

From: Clemm, Geoff (gclemm@Rational.Com)
Date: Mon, Jun 12 2000

  • Next message: Geoffrey M. Clemm: "new working draft (04.8) of versioning protocol available"

    Message-ID: <65B141FB11CCD211825700A0C9D609BC03105D5A@chef.lex.rational.com>
    From: "Clemm, Geoff" <gclemm@Rational.Com>
    To: "DeltaV (E-mail)" <ietf-dav-versioning@w3.org>
    Date: Mon, 12 Jun 2000 12:24:28 -0400
    Subject: Versioning TeleConf Agenda, 6/12/00 (Monday) 2pm-3pm EST
    
    
    phone: 888 819 8909  pass-code#97985 
    Agenda: 
    
    Are the following semantics correct/sufficient for how existing
    WebDAV methods act upon core versioning resource types?
    
    
    
      5	VERSIONING AND EXISTING METHODS
    For any request that supports a Target-Selector header, if the request-URL
    identifies a versioned resource, the request MUST act as if the state of the
    versioned resource was a copy of the revision selected by the
    Target-Selector header.
    For any method that updates a resource (e.g. PUT, PROPPATCH), when that
    method is applied to a versioned resource, the method MUST fail unless the
    versioned resource has a DAV:auto-version property.  If the versioned
    resource has a DAV:auto-version property, the versioned resource is checked
    out, the update is applied to the resulting working resource, and the
    working resource is checked in.  This functionality allows a versioning
    unaware client to add a revision to the history of a versioned resource. If
    any part of the checkout-update-checkin sequence fails, the server state
    preceding the request MUST be restored.
    
    5.1	New Status Codes
    4xx (No Revision Selected): The label specified in a Target-Selector header
    selects no revision of this versioned resource.
    4xx (Cannot modify contents or property of a revision)
    
    5.2	OPTIONS
    When a resource supports core versioning, the DAV response header for an
    OPTIONS request MUST contain "core-versioning".
    
    5.2.1	Example - OPTIONS
    >>REQUEST
    
      OPTIONS /foo.html HTTP/1.1 
      Host: www.webdav.org
       
    >>RESPONSE
    
      HTTP/1.1 200 OK
      DAV: 1, 2, core-versioning
      Allow: OPTIONS, GET, PUT, PROPFIND, PROPPATCH, VERSION
    
    5.3	PUT
    Additional Preconditions:
    If the request URL identifies a versioned resource, the PUT MUST fail unless
    DAV:auto-version is set for that versioned resource.
    If the request URL identifies a revision, the PUT MUST fail.
    
    5.4	PROPPATCH
    Additional Preconditions:
    If the request URL identifies a versioned resource, an attempt to modify a
    dead property MUST fail unless DAV:auto-version is set for that versioned
    resource.
    If the request-URL identifies a revision, the PROPPATCH MUST fail.
    An attempt to modify a property (either core or advanced) defined by this
    document as being protected MUST fail.
    An attempt to modify a property (either core or advanced) whose semantics
    defined by this document are not enforced by the server MUST fail.  This
    helps ensure that a client will be notified when it is trying to use a
    property whose semantics are not supported by the server.
    
    5.5	DELETE
    Additional Preconditions:
    If the request-URL is a revision URL, the result is undefined.
    
    5.6	COPY
    Additional Postconditions:
    The protected properties specified in this document are not copied, and MUST
    not exist on the new resource created by the copy.  A COPY request therefore
    never creates a revision, a working resource, or a versioned resource at the
    Destination URL.
    
    5.7	MOVE
    Additional Preconditions:
    If the request-URL is a revision URL, the request MUST fail.
    
    5.8	LOCK
    Additional Preconditions:
    A LOCK request MUST NOT include a Target-Selector request header.