Resource vs. Revision Properties

From: Jim Doubek (jdoubek@macromedia.com)
Date: Sun, Apr 30 2000

  • Next message: Tim Ellison/OTT/OTI: "Re: Resource vs. Revision Properties"

    From: "Jim Doubek" <jdoubek@macromedia.com>
    To: "Ietf-Dav-Versioning" <ietf-dav-versioning@w3.org>
    Date: Sun, 30 Apr 2000 16:02:09 -0700
    Message-ID: <NEBBKGCJHMKNLDINHHCEMEKCCBAA.jdoubek@macromedia.com>
    Subject: Resource vs. Revision Properties
    
    hi,
    
    I've been working through In version 4.4 of the spec and have some issues
    and questions about properties.
    
    - Section 3.2 Resource Properties
    While these props obviously apply to unversioned resources, it's not clear
    from the text how these apply to versioned resources vs. revisions.
    
    Here's my reading of the section:
    1) For non-versionable and unversioned versionable resources, DAV:author and
    DAV:comment apply to the resource itself, and can be updated via PROPPATCH
    as usual, subject to the normal interactions with locking, permissions, etc.
    
    2) For versioned versionable resources, DAV:author and DAV:comment apply to
    the resource itself, and optionally to each revision. I assume one checks
    out a revsion, modifies the working resource prop, and checks it in to
    effect a revsion prop change; it's not clear to me how one updates the base
    level property.
    
    I would propose that these props be made to act the same as the body/content
    of the resource. That is, they only apply to revisions of a versioned
    resource, and can only be changed via PROPPATCH on the working resource. You
    would also want them to work as does PUT for auto-version resources. There
    would be no author/comment attributes for the versioned resource itself.
    
    - Section 3.3
    DAV:linear and DAV:auto-version are both mutable properties of versioned
    resources. How does one set such a property? Should PROPPATCH apply to the
    base resource? Does calling PROPPATCH for these props on a revision
    constitute an error, or is the target implicilty the resource rather than
    the revision? Can one call PROPPATCH on a working resource, and what happens
    upon checkin?
    
    I _think_ the answer is that one calls PROPPATCH with the resource as a
    target, and does not checkout/checkin for these resources, but I couldn't
    see that explicitly in the text.
    
    - Section 3.3.4 : DAV:linear
    
    This states
    <quote>
    When the DAV:linear property of a versioned resource is true, only one
    working resource can be checked out from that versioned resource at any
    time, and only the revision that has no successors can be checked out. The
    default value of DAV:linear is false (F).
    </quote>
    
    Since this is mutable, it isn't guaranteed that the resource is linear at
    the time DAV:linear is set to 'T'. In such a case, there may be more than
    one revision with no successors. I would propose that it be an error to set
    the prop to true unless the single-tip condition is true.
    
    - jim
    ------------------------------------------
    Jim Doubek
    Macromedia, Inc.
    jdoubek@macromedia.com
    http://www.macromedia.com/