Network Working Group                                           A. Brown
Internet-Draft                                                  G. Clemm
Intended status: Informational                                       IBM
Expires: January 14, 2010                                J. Reschke, Ed.
                                                              greenbytes
                                                           July 13, 2009


              Link Relations for Simple Version Navigation
                draft-brown-versioning-link-relations-01

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 14, 2010.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   This specification defines Atom link relations for navigation between



Brown, et al.           Expires January 14, 2010                [Page 1]


Internet-Draft      Version Navigation Link Relations          July 2009


   a resource and its versions.

Editorial Note (To be removed by RFC Editor before publication)

   Please send comments to the Atom Syntax mailing list
   (<http://www.imc.org/atom-syntax/>).


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   3.  Link Relations  . . . . . . . . . . . . . . . . . . . . . . . . 4
   4.  Examples  . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
   5.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . . . 5
     7.2.  Informative References  . . . . . . . . . . . . . . . . . . 5
   Appendix A.  Relationship to JCR and WebDAV . . . . . . . . . . . . 5
   Appendix B.  Contributors . . . . . . . . . . . . . . . . . . . . . 5
   Appendix C.  Change Log (to be removed by RFC Editor before
                publication) . . . . . . . . . . . . . . . . . . . . . 6
     C.1.  Since draft-brown-link-relations-00 . . . . . . . . . . . . 6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 6


























Brown, et al.           Expires January 14, 2010                [Page 2]


Internet-Draft      Version Navigation Link Relations          July 2009


1.  Introduction

   This specification defines link relations that may be used on a
   resource that exists in a system that supports versioning to navigate
   among the different resources available, such as past versions.


2.  Terminology

   The terms below are borrowed from the Versioning Extensions to WebDAV
   (Web Distributed Authoring and Versioning) ([RFC3253]).

   Version-Controlled Resource, Checked-Out

      When a versionable resource is put under version control, it
      becomes a "version-controlled resource".  A version-controlled
      resource can be "checked out" to allow modification.

   Checked-Out Resource

      A "checked-out resource" is a resource under version control that
      is in the checked-out state.

   Version Resource

      A "version resource", or simply "version", is a resource that
      contains a copy of a particular state of a version-controlled
      resource.  A version is created by "checking in" a checked-out
      resource.  The server allocates a distinct new URL for each new
      version.

   Version History Resource

      A "version history resource", or simply "version history", is a
      resource that contains all the versions of a particular version-
      controlled resource.

   Predecessor, Successor, Ancestor, Descendant

      When a version-controlled resource is checked out and then
      subsequently checked in, the version that was checked out becomes
      a "predecessor" of the version created by the checkin.  A client
      can specify multiple predecessors for a new version if the new
      version is logically a merge of those predecessors.  When a
      version is connected to another version by traversing one or more
      predecessor relations, it is called an "ancestor" of that version.
      The inverse of the predecessor and ancestor relations are the
      "successor" and "descendant" relations.  Therefore, if X is a



Brown, et al.           Expires January 14, 2010                [Page 3]


Internet-Draft      Version Navigation Link Relations          July 2009


      predecessor of Y, then Y is a successor of X, and if X is an
      ancestor of Y, then Y is a descendant of X.

   Root Version Resource

      The "root version resource", or simply "root version", is the
      version in a version history that is an ancestor of every other
      version in that version history.

   Working Resource

      A "working resource" is a checked-out resource created by the
      server at a server-defined URL when a version (instead of a
      version-controlled resource) is checked out.
      [[issue.working.resource: Is this true for JCR and CMIS as well?
      Maybe we need to relax the definition? --jre]]


3.  Link Relations

   The following link relations are defined:

   version-history  When included on a version controlled resource, this
      link points to a resource containing the version history for this
      resource.

   latest-version  When included on a version controlled resource, this
      link points to a resource containing the latest (e.g., current)
      version. [[issue.latest.version: I think "latest" is misleading,
      as it may not be the "latest" when different branches are
      involved.  JCR 1.0 has "base version", defined as "The base
      version of a particular node N is the one that will serve as the
      default immediate predecessor of the next version of N that is
      created." -- can we adopt that? (see
      <http://www.day.com/specs/jcr/1.0/8.2.3_The_Base_Version.html>).
      --jre]]

   working-copy  When included on a version resource, this link points
      to a Working Resource.

   predecessor-version  When included on a version resource, this link
      points to a resource containing the predecessor version in the
      version history.

   successor-version  When included on a version resource, this link
      points to a resource containing the successor version in the
      version history.




Brown, et al.           Expires January 14, 2010                [Page 4]


Internet-Draft      Version Navigation Link Relations          July 2009


4.  Examples

   [[anchor2: To Be Done]]


5.  Security Considerations

   Automated agents should take care when these relation crosses
   administrative domains (e.g., the URI has a different authority than
   the current document).


6.  IANA Considerations

   The link relations defined in Section 3 are to be registered by IANA
   per [RFC4287].

   All link relations defined in this document will have the following
   expected display characteristics:

      Undefined; this relation can be used for background processing or
      to provide extended functionality without displaying its value.


7.  References

7.1.  Normative References

   [RFC4287]  Nottingham, M. and R. Sayre, "The Atom Syndication
              Format", RFC 4287, December 2005.

7.2.  Informative References

   [RFC3253]  Clemm, G., Amsden, J., Ellison, T., Kaler, C., and J.
              Whitehead, "Versioning Extensions to WebDAV (Web
              Distributed Authoring and Versioning)", RFC 3253,
              March 2002.


Appendix A.  Relationship to JCR and WebDAV

   [[anchor6: To Be Done: describe how versioning properties in JCR and
   in WebDAV/DeltaV map to the newly defined link relations.]]


Appendix B.  Contributors

   The content and concepts within are a product of the Content



Brown, et al.           Expires January 14, 2010                [Page 5]


Internet-Draft      Version Navigation Link Relations          July 2009


   Management Interoperability Services (CMIS) Technical Committee (TC)
   at OASIS.

   All members of the TC have contributed.


Appendix C.  Change Log (to be removed by RFC Editor before publication)

C.1.  Since draft-brown-link-relations-00

   Added Geoff Clemm as author.

   Renamed link relation "all-versions" to "version-history".  Fixed
   description of "working-resource" relation to state that it appears
   on a version resource.


Authors' Addresses

   Al Brown
   IBM
   3565 Harbor Blvd
   Costa Mesa, California  92626
   US

   Email: albertcbrown@us.ibm.com


   Geoffrey Clemm
   IBM
   20 Maguire Road
   Lexington, MA  02421
   US

   Email: geoffrey.clemm@us.ibm.com


   Julian F. Reschke (editor)
   greenbytes GmbH
   Hafenweg 16
   Muenster, NW  48155
   Germany

   Email: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/






Brown, et al.           Expires January 14, 2010                [Page 6]