Network Working Group A. Brown Internet-Draft IBM Intended status: Informational J. Reschke Expires: December 14, 2009 greenbytes June 12, 2009 Link Relations for Simple Version Navigation draft-brown-versioning-link-relations-00 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 December 14, 2009. 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 a resource and its versions. Brown & Reschke Expires December 14, 2009 [Page 1] Internet-Draft Version Navigation Link Relations June 2009 Editorial Note (To be removed by RFC Editor before publication) Please send comments to the Atom Syntax mailing list (). 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 . . . . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6 Brown & Reschke Expires December 14, 2009 [Page 2] Internet-Draft Version Navigation Link Relations June 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 & Reschke Expires December 14, 2009 [Page 3] Internet-Draft Version Navigation Link Relations June 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: all-versions 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 ). --jre]] working-copy When included on a Checked-Out resource, this link points to a Working Resource. [[issue.working.resource.2: I think the working resource *is* checked out, and the link lives on either a version or version controlled resource (which stays checked in). --jre]] predecessor-version When included on a version resource, this link points to a resource containing the predecessor version in the version history. Brown & Reschke Expires December 14, 2009 [Page 4] Internet-Draft Version Navigation Link Relations June 2009 successor-version When included on a version resource, this link points to a resource containing the successor version in the version history. 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.]] Brown & Reschke Expires December 14, 2009 [Page 5] Internet-Draft Version Navigation Link Relations June 2009 Appendix B. Contributors The content and concepts within are a product of the Content Management Interoperability Services (CMIS) Technical Committee (TC) at OASIS. All members of the TC have contributed. Authors' Addresses Al Brown IBM 3565 Harbor Blvd Costa Mesa, California 92626 US Email: albertcbrown@us.ibm.com Julian F. Reschke greenbytes GmbH Hafenweg 16 Muenster, NW 48155 Germany Email: julian.reschke@greenbytes.de URI: http://greenbytes.de/tech/webdav/ Brown & Reschke Expires December 14, 2009 [Page 6]